diff --git a/AGENTS.md b/AGENTS.md index 4d9358a..c952712 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # Linee guida generali per gli agenti -Questa libreria PHP fornisce un SDK per le API della Veeam Service Provider Console (VSPC) versione 8.1. Il file OpenAPI ufficiale è disponibile in `openapi/3.5.1/vspc-api.json` ed è la fonte di verità per rotta, parametri e modelli di payload. +Questa libreria PHP fornisce un SDK per le API della Veeam Service Provider Console (VSPC) versione 8.1. Il file OpenAPI ufficiale è disponibile in `openapi/vspc-api.json` ed è la fonte di verità per rotta, parametri e modelli di payload. ## Come pianificare una modifica - Leggi sempre lo swagger prima di implementare nuovi metodi o payload: ogni classe del namespace `Repositories` mappa una "categoria" (tag) del file OpenAPI. diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..86190e7 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,104 @@ +# Changelog + +## v2.0 - 2025-10-13 +### Added +- Published the official VSPC 3.5.1 OpenAPI specification (`openapi/vspc-api.json`) and added contributor guidance files to align generators and code style. +- Expanded documentation with a richer README and renamed the license to `LICENSE.md` for consistency. +- Introduced `GenericPayload`, the `CreatePutRequest` helper trait, and comprehensive repository coverage including new `BackupPolicyRepository`, `BackupServerJobRepository`, `LocationRepository`, and `ProviderRepository` classes alongside major extensions to company, cloud connect, backup server, licensing, organization, Microsoft 365, management agent, and alarm repositories. +- Implemented full sets of backup agent job endpoints across Windows, Linux, and macOS in `BackupAgentJobRepository`. + +### Changed +- `ModifyLicenseManagedInVCSPPulsePayload` now defaults modifiers to an empty list and provides `addWorkloadCount()` to patch workload counts when modifying VCSP Pulse licenses. +- `CreatePatchRequest` now guards against null payloads before reading the content type when building PATCH requests. + +### Documentation +- Added project-wide AGENTS guidelines for AI contributors. + +### New classes +- `GenericPayload` (payload helper for arbitrary JSON bodies). +- `BackupAgentJobRepository` (dedicated backup agent job orchestration). +- `BackupPolicyRepository` (policy CRUD for backup agents). +- `BackupServerJobRepository` (full catalog of VBR job endpoints). +- `LocationRepository` (manages infrastructure locations). +- `ProviderRepository` (exposes service provider profile endpoints). + +### Renamed methods +- `AlarmRepository::getAllTriggeredAlarms` → `AlarmRepository::getActiveAlarms`. +- `AlarmRepository::getAllAlarmTemplates` → `AlarmRepository::getAlarms`. +- `AlarmRepository::getAlarmStatusChanges` → `AlarmRepository::getActiveAlarmsByAlarm`. +- `AlarmRepository::postResolveAlarm` → `AlarmRepository::resolveActiveAlarm`. +- `AuthenticationRepository::postOAuthAuthentication` → `AuthenticationRepository::oAuth2IssueToken`. +- `BackupAgentRepository::delete` → `BackupAgentRepository::deleteBackupAgent`. +- `BackupAgentRepository::getAll` → `BackupAgentRepository::getBackupAgents`. +- `BackupAgentRepository::getAllVeeamBackupAgentJobs` → `BackupAgentJobRepository::getBackupAgentJobs` (moved to the new job repository). +- `BackupServerRepository::getAll` → `BackupServerRepository::getBackupServers`. +- `BackupServerRepository::getAllBackupRepositories` → `BackupServerRepository::getBackupRepositories`. +- `BackupServerRepository::getAllJobs` → `BackupServerJobRepository::*` (split into job-specific accessors). +- `CloudConnectRepository::getAllCloudGatewayPools` → `CloudConnectRepository::getCloudGatewayPools`. +- `CloudConnectRepository::getAllSites` → `CloudConnectRepository::getSites`. +- `CompanyRepository::getAll` → `CompanyRepository::getCompanies`. +- `CompanyRepository::postCreate` → `CompanyRepository::createCompany`. +- `CompanyRepository::get` → `CompanyRepository::getCompany`. +- `CompanyRepository::delete` → `CompanyRepository::deleteCompany`. +- `CompanyRepository::getAllSites` → `CompanyRepository::getCompanySiteResources`. +- `CompanyRepository::getAllCompanyBackupResources` → `CompanyRepository::getCompanySiteBackupResources`. +- `CompanyRepository::getBackupResourceUsage` → `CompanyRepository::getCompanySiteBackupResourcesUsage`. +- `CompanyRepository::postCreateCompanySiteResource` → `CompanyRepository::createCompanySiteResource`. +- `CompanyRepository::postCreateCompanyBackupResource` → `CompanyRepository::createCompanySiteBackupResource`. +- `CompanyRepository::patchEditCompanyBackupResource` → `CompanyRepository::patchCompanySiteBackupResource`. +- `CompanyRepository::patchModifyCompany` → `CompanyRepository::patchCompany`. +- `CompanyRepository::deleteCompanyBackupResource` → `CompanyRepository::deleteCompanySiteBackupResource`. +- `CompanyRepository::getAllCompanyVb365Resources` → `CompanyRepository::getCompanyVb365Resources`. +- `CompanyRepository::getAllCompanyVb365BackupResources` → `CompanyRepository::getCompanyVb365BackupResources`. +- `CompanyRepository::patchModifyCompanyVb365Resource` → `CompanyRepository::patchCompanyVb365BackupResource`. +- `CompanyRepository::deleteCompanyVb365BackupResources` → `CompanyRepository::deleteCompanyVb365BackupResource`. +- `LicensingRepository::getAllVeeamBackupReplicationLicenses` → `LicensingRepository::getBackupServersLicenses`. +- `LicensingRepository::getVeeamBackupReplicationLicense` → `LicensingRepository::getBackupServerLicense`. +- `LicensingRepository::getAllVeeamBackupForMicrosoft365Licenses` → `LicensingRepository::getVb365ServersLicenses`. +- `LicensingRepository::getVeeamBackupForMicrosoft365License` → `LicensingRepository::getVb365ServerLicense`. +- `LicensingRepository::getLicenseUsageByAllOrganizations` → `LicensingRepository::getOrganizationsLicenseUsage`. +- `ManagementAgentsRepository::downloadManagementAgentSetupFileForLinux` → `ManagementAgentsRepository::downloadLinuxManagementPackage`. +- `ManagementAgentsRepository::downloadManagementAgentSetupFileForMacOS` → `ManagementAgentsRepository::downloadMacManagementPackage`. +- `ManagementAgentsRepository::downloadManagementAgentSetupFileForWindows` → `ManagementAgentsRepository::downloadWindowsManagementPackage`. +- `Microsoft365ServerRepository::getAll` → `Microsoft365ServerRepository::getVb365Servers`. +- `Microsoft365ServerRepository::getAllProxiesForServer` → `Microsoft365ServerRepository::getVb365BackupProxies`. +- `Microsoft365ServerRepository::getAllRepositoriesForServer` → `Microsoft365ServerRepository::getVb365BackupRepositories`. +- `MiscRepository::getAllCountries` → `MiscRepository::getCountries`. +- `PulseRepository::getAllLicensesManagedInVcspPulse` → `PulseRepository::getPulseLicenses`. +- `PulseRepository::getAllRentalAgreementContracts` → `PulseRepository::getPulseLicenseContracts`. +- `PulseRepository::postAddLicenseToVCSPPulse` → `PulseRepository::createPulseLicense`. +- `PulseRepository::patchModifyLicenseManagedInVCSPPulse` → `PulseRepository::patchPulseLicense`. +- `PulseRepository::postCreatePulseTenantByCompany` → `PulseRepository::createPulseTenantByCompany`. + +### Removed methods +- `LicensingRepository::getConsoleUsages` (console usage endpoint removed). +- `LicensingRepository::getConsoleUsagesByCompany`. +- `LicensingRepository::getUsageOfAllVeeamBackupForMicrosoft365Licenses`. +- `LicensingRepository::getUsageOfVeeamBackupForMicrosoft365LicensesByCompany`. +- `LicensingRepository::getUsageOfAllVeeamBackupReplicationLicenses`. +- `LicensingRepository::getUsageOfVeeamBackupReplicationLicense`. +- `LicensingRepository::getUsageOfVeeamBackupReplicationLicensesByAllCompanies`. +- `LicensingRepository::getUsageOfVeeamBackupReplicationLicensesByCompany`. +- `BackupServerRepository::getAllJobs` (replaced by the granular `BackupServerJobRepository` operations listed below). + +### New methods +- `GenericPayload` (Payloads): `__construct`, `getBody`, `getContentType`. +- `ModifyLicenseManagedInVCSPPulsePayload` (Payloads): `addWorkloadCount`. +- `AlarmRepository` (Repositories): `acknowledgeActiveAlarm`, `cloneAlarm`, `deleteActiveAlarm`, `deleteAlarm`, `getActiveAlarm`, `getActiveAlarmHistory`, `getActiveAlarms`, `getActiveAlarmsByAlarm`, `getAlarm`, `getAlarms`, `resolveActiveAlarm`. +- `AuthenticationRepository` (Repositories): `asymmetricAlgorithmChallenge`, `asymmetricAlgorithmCompleteChallenge`, `decryptPkcs12Container`, `generateNewPkcs12KeyPair`, `generateNewRsaKeyPair`, `generateTotpSecret`, `oAuth2IssueToken`, `refreshTokenAuthenticate`, `usernamePasswordAuthenticate`. +- `BackupAgentJobRepository` (Repositories): `createLinuxBackupAgentJobConfiguration`, `createWindowsBackupAgentJobConfiguration`, `deleteLinuxBackupAgentJob`, `deleteMacBackupAgentJob`, `deleteWindowsBackupAgentJob`, `getBackupAgentJobs`, `getBaseRoute`, `getLinuxBackupAgentJob`, `getLinuxBackupAgentJobConfiguration`, `getLinuxBackupAgentJobs`, `getLinuxBackupAgentJobsByAgent`, `getMacBackupAgentJob`, `getMacBackupAgentJobs`, `getMacBackupAgentJobsByAgent`, `getWindowsBackupAgentJob`, `getWindowsBackupAgentJobConfiguration`, `getWindowsBackupAgentJobs`, `getWindowsBackupAgentJobsByAgent`, `patchLinuxBackupAgentJobConfiguration`, `patchWindowsBackupAgentJob`, `patchWindowsBackupAgentJobConfiguration`, `startBackupAgentJob`, `startLinuxBackupAgentJob`, `startMacBackupAgentJob`, `startWindowsBackupAgentJob`, `stopBackupAgentJob`, `stopLinuxBackupAgentJob`, `stopMacBackupAgentJob`, `stopWindowsBackupAgentJob`. +- `BackupAgentRepository` (Repositories): `activateBackupAgent`, `assignLinuxPolicyOnBackupAgent`, `assignMacPolicyOnBackupAgent`, `assignPolicyOnBackupAgent`, `deactivateBackupAgent`, `deleteBackupAgent`, `forceCollectBackupAgent`, `getAllBackupAgentAssignedPolicies`, `getAllLinuxBackupAgentAssignedPolicies`, `getAllMacBackupAgentAssignedPolicies`, `getBackupAgent`, `getBackupAgentAssignedPolicies`, `getBackupAgentSettings`, `getBackupAgents`, `getBackupAgentsSettings`, `getLinuxBackupAgent`, `getLinuxBackupAgentAssignedPolicies`, `getLinuxBackupAgents`, `getMacBackupAgent`, `getMacBackupAgentAssignedPolicies`, `getMacBackupAgents`, `getWindowsBackupAgent`, `getWindowsBackupAgents`, `installCbtDriver`, `patchBackupAgent`, `patchBackupAgentSettings`, `restartBackupAgentService`, `setBackupAgentSettings`, `uninstallCbtDriver`. +- `BackupPolicyRepository` (Repositories): `copyBackupPolicy`, `createLinuxBackupPolicy`, `createWindowsBackupPolicy`, `deleteBackupPolicy`, `getBackupPolicies`, `getBackupPoliciesToAssign`, `getBackupPolicy`, `getBaseRoute`, `getLinuxBackupPolicies`, `getLinuxBackupPolicy`, `getWindowsBackupPolicies`, `getWindowsBackupPolicy`, `patchBackupPolicy`, `patchLinuxBackupPolicy`, `patchWindowsBackupPolicy`. +- `BackupServerJobRepository` (Repositories): `assignBackupServerJob`, `getBackupServerAgentJob`, `getBackupServerAgentJobObjects`, `getBackupServerAgentJobs`, `getBackupServerAgentJobsByServer`, `getBackupServerAgentJobsObjects`, `getBackupServerBackupCopyJob`, `getBackupServerBackupCopyJobLinkedJobObjects`, `getBackupServerBackupCopyJobs`, `getBackupServerBackupCopyJobsByServer`, `getBackupServerBackupCopyJobsLinkedJobObjects`, `getBackupServerBackupCopyJobsLinkedJobObjectsByServer`, `getBackupServerBackupTapeJob`, `getBackupServerBackupTapeJobLinkedJobObjects`, `getBackupServerBackupTapeJobLinkedRepositoryObjects`, `getBackupServerBackupTapeJobs`, `getBackupServerBackupTapeJobsByServer`, `getBackupServerBackupTapeJobsLinkedJobObjects`, `getBackupServerBackupTapeJobsLinkedJobObjectsByServer`, `getBackupServerBackupTapeJobsLinkedRepositoryObjects`, `getBackupServerBackupTapeJobsLinkedRepositoryObjectsByServer`, `getBackupServerBackupVmJob`, `getBackupServerBackupVmJobObjects`, `getBackupServerBackupVmJobs`, `getBackupServerBackupVmJobsByServer`, `getBackupServerBackupVmJobsObjects`, `getBackupServerBackupVmJobsObjectsByServer`, `getBackupServerCdpReplicationJob`, `getBackupServerCdpReplicationJobObjects`, `getBackupServerCdpReplicationJobs`, `getBackupServerCdpReplicationJobsByServer`, `getBackupServerCdpReplicationJobsObjects`, `getBackupServerCdpReplicationJobsObjectsByServer`, `getBackupServerFileCopyJob`, `getBackupServerFileCopyJobs`, `getBackupServerFileCopyJobsByServer`, `getBackupServerFileShareCopyJob`, `getBackupServerFileShareCopyJobObjects`, `getBackupServerFileShareCopyJobs`, `getBackupServerFileShareCopyJobsByServer`, `getBackupServerFileShareCopyJobsObjects`, `getBackupServerFileShareCopyJobsObjectsByServer`, `getBackupServerFileShareJob`, `getBackupServerFileShareJobObjects`, `getBackupServerFileShareJobs`, `getBackupServerFileShareJobsByServer`, `getBackupServerFileShareJobsObjects`, `getBackupServerFileShareJobsObjectsByServer`, `getBackupServerFileTapeJob`, `getBackupServerFileTapeJobObjects`, `getBackupServerFileTapeJobs`, `getBackupServerFileTapeJobsByServer`, `getBackupServerFileTapeJobsObjects`, `getBackupServerFileTapeJobsObjectsByServer`, `getBackupServerJob`, `getBackupServerJobByServer`, `getBackupServerJobs`, `getBackupServerObjectStorageBackupCopyJob`, `getBackupServerObjectStorageBackupCopyJobObjects`, `getBackupServerObjectStorageBackupCopyJobs`, `getBackupServerObjectStorageBackupCopyJobsByServer`, `getBackupServerObjectStorageBackupCopyJobsObjects`, `getBackupServerObjectStorageBackupCopyJobsObjectsByServer`, `getBackupServerObjectStorageBackupJob`, `getBackupServerObjectStorageBackupJobObjects`, `getBackupServerObjectStorageBackupJobs`, `getBackupServerObjectStorageBackupJobsByServer`, `getBackupServerObjectStorageBackupJobsObjects`, `getBackupServerObjectStorageBackupJobsObjectsByServer`, `getBackupServerReplicationVmJob`, `getBackupServerReplicationVmJobObjects`, `getBackupServerReplicationVmJobs`, `getBackupServerReplicationVmJobsByServer`, `getBackupServerReplicationVmJobsObjects`, `getBackupServerReplicationVmJobsObjectsByServer`, `getBackupServerSimpleBackupCopyJob`, `getBackupServerSimpleBackupCopyJobLinkedJobObjects`, `getBackupServerSimpleBackupCopyJobs`, `getBackupServerSimpleBackupCopyJobsByServer`, `getBackupServerSimpleBackupCopyJobsLinkedJobObjects`, `getBackupServerSimpleBackupCopyJobsLinkedJobObjectsByServer`, `getBackupServerVmCopyJob`, `getBackupServerVmCopyJobs`, `getBackupServerVmCopyJobsByServer`, `getBaseRoute`, `patchBackupServerJob`, `retryBackupServerJob`, `startBackupServerJob`, `stopBackupServerJob`, `unassignBackupServerJob`. +- `BackupServerRepository` (Repositories): `forceCollectBackupServer`, `getBackupProxies`, `getBackupProxiesByServer`, `getBackupProxy`, `getBackupRepositories`, `getBackupRepositoriesByServer`, `getBackupServerAgent`, `getBackupServerAgentProtectionGroups`, `getBackupServerAgentProtectionGroupsByServer`, `getBackupServerAgentsByServer`, `getBackupServerHost`, `getBackupServerHosts`, `getBackupServerHostsByServer`, `getBackupServers`, `getBackupServersAgents`, `getBackupWanAccelerator`, `getBackupWanAccelerators`, `getBackupWanAcceleratorsByServer`, `getVcdOrganization`, `getVcdOrganizationUsers`, `getVcdOrganizationUsersByBackupServer`, `getVcdOrganizationUsersByOrganization`, `getVcdOrganizationVAppsByVcd`, `getVcdOrganizationVDC`, `getVcdOrganizationVDCs`, `getVcdOrganizationVDCsByBackupServer`, `getVcdOrganizationVDCsByOrganization`, `getVcdOrganizationVDCsByVcd`, `getVcdOrganizationVirtualMachinesByVcd`, `getVcdOrganizations`, `getVcdOrganizationsByBackupServer`, `getVcdOrganizationsByVcd`, `getVcdServer`, `getVcdServers`, `getVcdServersByBackupServer`. +- `CloudConnectRepository` (Repositories): `getBackupHardwarePlan`, `getBackupHardwarePlanStorages`, `getBackupHardwarePlans`, `getBackupHardwarePlansBySite`, `getBackupHardwarePlansStorages`, `getCloudBackup`, `getCloudBackups`, `getCloudBackupsBySite`, `getCloudGateway`, `getCloudGatewayPool`, `getCloudGatewayPools`, `getCloudGatewayPoolsBySite`, `getCloudGatewayPoolsByTenant`, `getCloudGateways`, `getCloudGatewaysByPool`, `getCloudGatewaysBySite`, `getCloudTenantsProducts`, `getCloudTenantsProductsBySite`, `getSite`, `getSiteVcdOrganization`, `getSiteVcdOrganizationUsersByOrganization`, `getSiteVcdOrganizationVDC`, `getSiteVcdServer`, `getSiteWanAcceleratorResource`, `getSiteWanAcceleratorResources`, `getSiteWanAcceleratorResourcesBySite`, `getSites`, `getSitesVcdOrganizationUsers`, `getSitesVcdOrganizationVDCs`, `getSitesVcdOrganizationVDCsByOrganization`, `getSitesVcdOrganizations`, `getSitesVcdOrganizationsByVcd`, `getSitesVcdServers`, `getSubTenant`, `getSubTenants`, `getSubTenantsBySite`, `getSubTenantsByTenant`, `getTenant`, `getTenants`, `getTenantsBySite`, `getVcdOrganizationUsersBySite`, `getVcdOrganizationVDCsBySite`, `getVcdOrganizationsBySite`, `getVcdServersBySite`, `patchSite`, `setSiteMaintenanceMode`, `setSiteTenantManagementMode`. +- `CompanyRepository` (Repositories): `createCompany`, `createCompanyHostedVbrBackupResource`, `createCompanyHostedVbrResource`, `createCompanyHostedVbrTagResource`, `createCompanyHostedVbrVcdOrganizationMapping`, `createCompanySiteBackupResource`, `createCompanySiteReplicationResource`, `createCompanySiteResource`, `createCompanySiteVcdReplicationResource`, `deleteCompany`, `deleteCompanyHostedVbrBackupResource`, `deleteCompanyHostedVbrResource`, `deleteCompanyHostedVbrTagResource`, `deleteCompanyHostedVbrVcdOrganizationMapping`, `deleteCompanySiteBackupResource`, `deleteCompanySiteReplicationResourceHardwarePlan`, `deleteCompanySiteResource`, `deleteCompanySiteVcdReplicationResourceDataCenter`, `deleteCompanyVb365BackupResource`, `getCompanies`, `getCompaniesAggregatedUsage`, `getCompaniesHostedVbrBackupResources`, `getCompaniesHostedVbrResources`, `getCompaniesHostedVbrTagResources`, `getCompaniesHostedVbrVcdOrganizationMappings`, `getCompaniesSiteBackupResources`, `getCompaniesSiteBackupResourcesUsages`, `getCompaniesSiteReplicationResources`, `getCompaniesSiteReplicationResourcesUsages`, `getCompaniesSiteResources`, `getCompaniesSiteVcdReplicationResources`, `getCompaniesSiteVcdReplicationResourcesUsages`, `getCompaniesVb365BackupResources`, `getCompaniesVb365Resources`, `getCompany`, `getCompanyAggregatedUsage`, `getCompanyHostedVbrBackupResource`, `getCompanyHostedVbrBackupResources`, `getCompanyHostedVbrResource`, `getCompanyHostedVbrResources`, `getCompanyHostedVbrTagResource`, `getCompanyHostedVbrTagResources`, `getCompanyHostedVbrVcdOrganizationMapping`, `getCompanyHostedVbrVcdOrganizationMappings`, `getCompanyPermissions`, `getCompanySiteBackupResource`, `getCompanySiteBackupResources`, `getCompanySiteBackupResourcesUsage`, `getCompanySiteReplicationResourceHardwarePlan`, `getCompanySiteReplicationResources`, `getCompanySiteReplicationResourcesNetworkAppliance`, `getCompanySiteReplicationResourcesNetworkAppliances`, `getCompanySiteReplicationResourcesUsage`, `getCompanySiteResource`, `getCompanySiteResources`, `getCompanySiteTrafficResource`, `getCompanySiteVcdReplicationResourceDataCenter`, `getCompanySiteVcdReplicationResources`, `getCompanySiteVcdReplicationResourcesNetworkAppliance`, `getCompanySiteVcdReplicationResourcesNetworkAppliances`, `getCompanySiteVcdReplicationResourcesUsage`, `getCompanyVb365BackupResources`, `getCompanyVb365Resource`, `getCompanyVb365Resources`, `patchCompany`, `patchCompanyHostedVbrBackupResource`, `patchCompanyHostedVbrResource`, `patchCompanyPermissions`, `patchCompanySiteBackupResource`, `patchCompanySiteReplicationResource`, `patchCompanySiteReplicationResourcesNetworkAppliance`, `patchCompanySiteResource`, `patchCompanySiteTrafficResource`, `patchCompanySiteVcdReplicationResource`, `patchCompanySiteVcdReplicationResourcesNetworkAppliance`, `patchCompanyVb365BackupResource`, `patchCompanyVb365Resource`, `sendWelcomeEmailToCompany`. +- `LicensingRepository` (Repositories): `deleteBackupServerLicense`, `deleteVOneServerLicense`, `downloadLicensingReportCsv`, `finalizeLicensingReports`, `getConsoleLicenseInformation`, `getConsoleLicenseSettings`, `getLatestLicensingReports`, `getLicensingReports`, `getLicensingReportsForDate`, `getLicensingReportsSettings`, `getOrganizationsLicenseUsage`, `getSiteLicense`, `getSiteLicenses`, `getVOneServerLicense`, `getVOneServersLicenses`, `installBackupServerLicense`, `installConsoleLicense`, `installSiteLicense`, `installVOneServerLicense`, `installVb365ServerLicense`, `patchBackupServerLicense`, `patchLicensingReportsSettings`, `patchSiteLicense`, `patchVOneServerLicense`, `patchVb365ServerLicense`, `updateBackupServerLicense`, `updateConsoleLicense`, `updateSiteLicense`, `updateVOneServerLicense`, `updateVb365ServerLicense`. +- `LocationRepository` (Repositories): `createLocation`, `deleteLocation`, `getBaseRoute`, `getLocation`, `getLocations`, `getLocationsByOrganization`, `patchLocation`. +- `ManagementAgentsRepository` (Repositories): `acceptUnverifiedAgent`, `deleteManagementAgent`, `downloadLinuxManagementPackage`, `downloadMacManagementPackage`, `downloadWindowsManagementPackage`, `getManagementAgent`, `getManagementAgents`, `getUnverifiedAgent`, `getUnverifiedAgents`, `patchManagementAgent`, `rebootSystemOnManagementAgent`, `restartManagementAgent`. +- `Microsoft365ServerRepository` (Repositories): `activateVb365Server`, `checkVb365Microsoft365OrganizationCertificateExistenceInTheStorage`, `createAzureDeviceCode`, `createVb365BackupJob`, `createVb365CopyJob`, `createVb365Microsoft365Organization`, `createVb365OrganizationToCompanyMapping`, `deleteVb365Job`, `deleteVb365Organization`, `deleteVb365OrganizationToCompanyMapping`, `deleteVb365Server`, `disableVb365Job`, `enableVb365Job`, `forceCollectVb365Server`, `getAzureDeviceCodeStatus`, `getUnactivatedVb365Server`, `getUnactivatedVb365Servers`, `getVb365BackupJob`, `getVb365BackupJobAvailableBackupRepositories`, `getVb365BackupJobs`, `getVb365BackupProxies`, `getVb365BackupProxyPools`, `getVb365BackupRepositories`, `getVb365CopyJob`, `getVb365CopyJobs`, `getVb365Jobs`, `getVb365Microsoft365Organization`, `getVb365Microsoft365Organizations`, `getVb365Organization`, `getVb365OrganizationGroups`, `getVb365OrganizationSites`, `getVb365OrganizationTeams`, `getVb365OrganizationToCompanyMapping`, `getVb365OrganizationUsers`, `getVb365Organizations`, `getVb365OrganizationsByVb365Server`, `getVb365OrganizationsToCompanyMappings`, `getVb365Server`, `getVb365Servers`, `patchVb365BackupJob`, `patchVb365CopyJob`, `patchVb365Microsoft365Organization`, `startVb365Job`, `stopVb365Job`. +- `MiscRepository` (Repositories): `getCountries`, `getCurrencies`, `getTimeZones`, `getUsaStates`. +- `OrganizationRepository` (Repositories): `completeSmtpOAuth2SignIn`, `createCustomWelcomeEmailTemplate`, `disableOrganizationAlarms`, `enableOrganizationAlarms`, `getCustomWelcomeEmailTemplate`, `getCustomWelcomeEmailTemplates`, `getOrganizationAlarms`, `getOrganizationAutoDeploymentSettings`, `getOrganizationBrandingSettings`, `getOrganizationLoginUrl`, `getOrganizationNotificationSettings`, `getOrganizationPolicySettings`, `getOrganizations`, `patchCustomWelcomeEmailTemplate`, `patchOrganization`, `patchOrganizationAutoDeploymentSettings`, `patchOrganizationBrandingSettings`, `patchOrganizationNotificationSettings`, `patchOrganizationPolicySettings`, `prepareSmtpOAuth2SignIn`, `refreshSecurityToken`, `replaceOrganizationLoginUrl`, `sendTestNotificationEmail`, `testNotificationSmtpSettings`. +- `ProviderRepository` (Repositories): `getBaseRoute`, `getProvider`, `getProviderCompanies`. +- `PulseRepository` (Repositories): `copyPulseLicense`, `createCompanyByPulseTenant`, `createPulseLicense`, `createPulseTenantByCompany`, `deletePulseLicense`, `downloadPulseLicense`, `getPulseConfiguration`, `getPulseLicense`, `getPulseLicenseContracts`, `getPulseLicenseProducts`, `getPulseLicenses`, `getPulseTenant`, `installPulseLicense`, `patchPulseConfiguration`, `patchPulseLicense`, `revokePulseLicense`, `syncPulseData`. +- `CreatePutRequest` (Support): `createPutRequest`. diff --git a/README.md b/README.md index dabd650..b9792db 100644 --- a/README.md +++ b/README.md @@ -85,7 +85,7 @@ $response = $client->jsonResponse($request); ``` ## OpenAPI Specification -The official VSPC OpenAPI definition used to generate the SDK is stored in [`openapi/3.5.1/vspc-api.json`](openapi/3.5.1/vspc-api.json). Refer to it for a complete list of available operations, parameters, and payload schemas. +The official VSPC OpenAPI definition used to generate the SDK is stored in [`openapi/vspc-api.json`](openapi/3.5.1/vspc-api.json). Refer to it for a complete list of available operations, parameters, and payload schemas. ## Contributing Contributions are welcome! If you plan to submit a pull request: diff --git a/composer.json b/composer.json index 2acf27f..0cbc705 100755 --- a/composer.json +++ b/composer.json @@ -7,7 +7,7 @@ "Veeam", "VSPC", "Api Client", - "PHP Api client" + "PHP Veeam" ], "autoload": { "psr-4": { @@ -16,8 +16,8 @@ }, "authors": [ { - "name": "Matteo Miotello", - "email": "matteo.miotello@shellrent.com" + "name": "Shellrent", + "email": "sviluppo@shellrent.com" } ], "require": { diff --git a/openapi/3.5.1/vspc-api.json b/openapi/vspc-api.json similarity index 100% rename from openapi/3.5.1/vspc-api.json rename to openapi/vspc-api.json diff --git a/src/Repositories/AGENTS.md b/src/Repositories/AGENTS.md index 33c895b..56d33c4 100644 --- a/src/Repositories/AGENTS.md +++ b/src/Repositories/AGENTS.md @@ -14,4 +14,4 @@ Ogni classe in questa cartella rappresenta il client per una categoria di endpoi ## Note pratiche - Se l'endpoint permette filtri o paginazione, documenta l'uso nelle docblock del metodo e, quando necessario, valorizza parametri default coerenti con l'API. - In caso di breaking change tra versioni dell'API, valuta se introdurre un nuovo metodo lasciando il precedente deprecato per retrocompatibilità. -- Ricontrolla sempre `openapi/3.5.1/vspc-api.json` per confermare request body, required fields e possibili valori enumerati. +- Ricontrolla sempre `openapi/vspc-api.json` per confermare request body, required fields e possibili valori enumerati.