Merge pull request #1 from tribufu/openapi

Auto generate api client
This commit is contained in:
Guilherme Werner 2025-12-16 19:20:19 -03:00 committed by GitHub
commit b3f5fd2d67
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
712 changed files with 277699 additions and 888 deletions

12
.editorconfig Normal file
View file

@ -0,0 +1,12 @@
root = true
[*]
end_of_line = lf
indent_style = space
indent_size = 4
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.md]
trim_trailing_whitespace = false

View file

@ -1,3 +1,3 @@
PROXMOX_CLUSTER_URL=""
PROXMOX_URL=""
PROXMOX_TOKEN_ID=""
PROXMOX_TOKEN_SECRET=""

3
.gitignore vendored
View file

@ -4,7 +4,8 @@ bin/
obj/
releases/*
!.vscode/settings.json
!.vscode/launch.json
!.vscode/tasks.json
!releases/.gitkeep
.DS_Store
.DS_Store

View file

@ -0,0 +1,9 @@
docs/
.gitignore
*.sln
**.csproj
api/openapi.yaml
appveyor.yml
git_push.sh
README.md

674
.openapi-generator/FILES Normal file
View file

@ -0,0 +1,674 @@
src/ProxmoxSharp/Api/ProxmoxGeneratedApi.cs
src/ProxmoxSharp/Client/ApiClient.cs
src/ProxmoxSharp/Client/ApiException.cs
src/ProxmoxSharp/Client/ApiResponse.cs
src/ProxmoxSharp/Client/ClientUtils.cs
src/ProxmoxSharp/Client/Configuration.cs
src/ProxmoxSharp/Client/ExceptionFactory.cs
src/ProxmoxSharp/Client/GlobalConfiguration.cs
src/ProxmoxSharp/Client/HttpMethod.cs
src/ProxmoxSharp/Client/IApiAccessor.cs
src/ProxmoxSharp/Client/IAsynchronousClient.cs
src/ProxmoxSharp/Client/IReadableConfiguration.cs
src/ProxmoxSharp/Client/ISynchronousClient.cs
src/ProxmoxSharp/Client/Multimap.cs
src/ProxmoxSharp/Client/OpenAPIDateConverter.cs
src/ProxmoxSharp/Client/RequestOptions.cs
src/ProxmoxSharp/Client/RetryConfiguration.cs
src/ProxmoxSharp/Model/AbstractOpenAPISchema.cs
src/ProxmoxSharp/Model/AddClusterFirewallGroupRuleRequest.cs
src/ProxmoxSharp/Model/AddClusterFirewallIPSetIPRequest.cs
src/ProxmoxSharp/Model/AddClusterFirewallRuleRequest.cs
src/ProxmoxSharp/Model/AddVMFirewallIPSetIPRequest.cs
src/ProxmoxSharp/Model/CloneVMRequest.cs
src/ProxmoxSharp/Model/CreateAccessDomainsRequest.cs
src/ProxmoxSharp/Model/CreateAccessDomainsSingleSync200Response.cs
src/ProxmoxSharp/Model/CreateAccessDomainsSingleSyncRequest.cs
src/ProxmoxSharp/Model/CreateAccessGroupsRequest.cs
src/ProxmoxSharp/Model/CreateAccessOpenidAuthurl200Response.cs
src/ProxmoxSharp/Model/CreateAccessOpenidAuthurlRequest.cs
src/ProxmoxSharp/Model/CreateAccessOpenidLoginRequest.cs
src/ProxmoxSharp/Model/CreateAccessRolesRequest.cs
src/ProxmoxSharp/Model/CreateAccessTfaSingle200Response.cs
src/ProxmoxSharp/Model/CreateAccessTfaSingle200ResponseData.cs
src/ProxmoxSharp/Model/CreateAccessTfaSingleRequest.cs
src/ProxmoxSharp/Model/CreateAccessTicket200Response.cs
src/ProxmoxSharp/Model/CreateAccessTicket200ResponseData.cs
src/ProxmoxSharp/Model/CreateAccessTicketRequest.cs
src/ProxmoxSharp/Model/CreateAccessUsersRequest.cs
src/ProxmoxSharp/Model/CreateAccessUsersSingleTokenSingle200Response.cs
src/ProxmoxSharp/Model/CreateAccessUsersSingleTokenSingle200ResponseData.cs
src/ProxmoxSharp/Model/CreateAccessUsersSingleTokenSingleRequest.cs
src/ProxmoxSharp/Model/CreateAccessVncticketRequest.cs
src/ProxmoxSharp/Model/CreateClusterAcmeAccountRequest.cs
src/ProxmoxSharp/Model/CreateClusterAcmePluginsRequest.cs
src/ProxmoxSharp/Model/CreateClusterBackupRequest.cs
src/ProxmoxSharp/Model/CreateClusterBulkactionGuestMigrateRequest.cs
src/ProxmoxSharp/Model/CreateClusterBulkactionGuestShutdownRequest.cs
src/ProxmoxSharp/Model/CreateClusterBulkactionGuestStart200Response.cs
src/ProxmoxSharp/Model/CreateClusterBulkactionGuestStartRequest.cs
src/ProxmoxSharp/Model/CreateClusterBulkactionGuestSuspendRequest.cs
src/ProxmoxSharp/Model/CreateClusterConfigJoinRequest.cs
src/ProxmoxSharp/Model/CreateClusterConfigNodesSingle200Response.cs
src/ProxmoxSharp/Model/CreateClusterConfigNodesSingle200ResponseData.cs
src/ProxmoxSharp/Model/CreateClusterConfigNodesSingleRequest.cs
src/ProxmoxSharp/Model/CreateClusterConfigRequest.cs
src/ProxmoxSharp/Model/CreateClusterFirewallAliasesRequest.cs
src/ProxmoxSharp/Model/CreateClusterFirewallGroupRequest.cs
src/ProxmoxSharp/Model/CreateClusterFirewallIPSetRequest.cs
src/ProxmoxSharp/Model/CreateClusterHaGroupsRequest.cs
src/ProxmoxSharp/Model/CreateClusterHaResourcesRequest.cs
src/ProxmoxSharp/Model/CreateClusterHaResourcesSingleMigrate200Response.cs
src/ProxmoxSharp/Model/CreateClusterHaResourcesSingleMigrate200ResponseData.cs
src/ProxmoxSharp/Model/CreateClusterHaResourcesSingleMigrate200ResponseDataBlockingResourcesInner.cs
src/ProxmoxSharp/Model/CreateClusterHaResourcesSingleMigrateRequest.cs
src/ProxmoxSharp/Model/CreateClusterHaResourcesSingleRelocate200Response.cs
src/ProxmoxSharp/Model/CreateClusterHaResourcesSingleRelocate200ResponseData.cs
src/ProxmoxSharp/Model/CreateClusterHaResourcesSingleRelocate200ResponseDataBlockingResourcesInner.cs
src/ProxmoxSharp/Model/CreateClusterHaResourcesSingleRelocateRequest.cs
src/ProxmoxSharp/Model/CreateClusterHaRulesRequest.cs
src/ProxmoxSharp/Model/CreateClusterJobsRealmsyncSingleRequest.cs
src/ProxmoxSharp/Model/CreateClusterMappingDirRequest.cs
src/ProxmoxSharp/Model/CreateClusterMappingPciRequest.cs
src/ProxmoxSharp/Model/CreateClusterMappingUsbRequest.cs
src/ProxmoxSharp/Model/CreateClusterMetricsServerSingleRequest.cs
src/ProxmoxSharp/Model/CreateClusterNotificationsEndpointsGotifyRequest.cs
src/ProxmoxSharp/Model/CreateClusterNotificationsEndpointsSendmailRequest.cs
src/ProxmoxSharp/Model/CreateClusterNotificationsEndpointsSmtpRequest.cs
src/ProxmoxSharp/Model/CreateClusterNotificationsEndpointsWebhookRequest.cs
src/ProxmoxSharp/Model/CreateClusterNotificationsMatchersRequest.cs
src/ProxmoxSharp/Model/CreateClusterReplication200Response.cs
src/ProxmoxSharp/Model/CreateClusterReplicationRequest.cs
src/ProxmoxSharp/Model/CreateClusterSDNControllerRequest.cs
src/ProxmoxSharp/Model/CreateClusterSDNVnetRequest.cs
src/ProxmoxSharp/Model/CreateClusterSDNZoneRequest.cs
src/ProxmoxSharp/Model/CreateClusterSdnDnsRequest.cs
src/ProxmoxSharp/Model/CreateClusterSdnFabricsFabricRequest.cs
src/ProxmoxSharp/Model/CreateClusterSdnFabricsNodeSingleRequest.cs
src/ProxmoxSharp/Model/CreateClusterSdnIpamsRequest.cs
src/ProxmoxSharp/Model/CreateClusterSdnLockRequest.cs
src/ProxmoxSharp/Model/CreateClusterSdnRollbackRequest.cs
src/ProxmoxSharp/Model/CreateClusterSdnVnetsSingleFirewallRulesRequest.cs
src/ProxmoxSharp/Model/CreateClusterSdnVnetsSingleIpsRequest.cs
src/ProxmoxSharp/Model/CreateClusterSdnVnetsSingleSubnetsRequest.cs
src/ProxmoxSharp/Model/CreateNodeFirewallRuleRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleAplinfoRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleAptRepositoriesRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleAptUpdateRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCephFsSingleRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCephInitRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCephMdsSingleRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCephMonSingleRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCephOsdRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCephOsdSingleScrubRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCephPoolRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCephRestartRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCephStartRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCephStopRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCertificatesAcmeCertificateRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleCertificatesCustom200Response.cs
src/ProxmoxSharp/Model/CreateNodesSingleCertificatesCustomRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleDisksDirectoryRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleDisksInitgptRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleDisksLvmRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleDisksLvmthinRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleDisksZfsRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleExecuteRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleHostsRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleCloneRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleFirewallAliasesRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleFirewallIpsetRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleFirewallIpsetSingleRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleFirewallRulesRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleMigrateRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleMovevolumeRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleMtunnelRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleRemotemigrateRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleSnapshotRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleSnapshotSingleRollbackRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleSpiceproxyRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleStatusRebootRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleStatusShutdownRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleStatusStartRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleStatusStopRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleLxcSingleVncproxyRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleMigrateallRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleNetworkRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleAgent200Response.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleAgentExec200Response.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleAgentExec200ResponseData.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleAgentExecRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleAgentFilewriteRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleAgentRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleAgentSetuserpasswordRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleDbusvmstateRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleFirewallAliasesRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleMigrateRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleMonitorRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleMovedisk200Response.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleMovediskRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleMtunnelRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleRemotemigrateRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleSpiceproxy200Response.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleSpiceproxyRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleTemplateRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleTermproxyRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleQemuSingleVncproxyRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleSpiceshellRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleStartallRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleStatusRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleStopallRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleStorageSingleContent200Response.cs
src/ProxmoxSharp/Model/CreateNodesSingleStorageSingleContentRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleStorageSingleContentSingleRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleStorageSingleDownloadurlRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleStorageSingleOciregistrypullRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleStorageSingleUploadRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleSubscriptionRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleSuspendallRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleTermproxyRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleVncshellRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleVzdumpRequest.cs
src/ProxmoxSharp/Model/CreateNodesSingleWakeonlan200Response.cs
src/ProxmoxSharp/Model/CreatePoolRequest.cs
src/ProxmoxSharp/Model/CreateStorage200Response.cs
src/ProxmoxSharp/Model/CreateStorage200ResponseData.cs
src/ProxmoxSharp/Model/CreateStorage200ResponseDataConfig.cs
src/ProxmoxSharp/Model/CreateStorageRequest.cs
src/ProxmoxSharp/Model/CreateVMFirewallIPSetRequest.cs
src/ProxmoxSharp/Model/CreateVMFirewallRuleRequest.cs
src/ProxmoxSharp/Model/CreateVMRequest.cs
src/ProxmoxSharp/Model/CreateVMSnapshotRequest.cs
src/ProxmoxSharp/Model/GetAccessAcl200Response.cs
src/ProxmoxSharp/Model/GetAccessAcl200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetAccessDomains200Response.cs
src/ProxmoxSharp/Model/GetAccessDomains200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetAccessGroups200Response.cs
src/ProxmoxSharp/Model/GetAccessGroups200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetAccessGroupsSingle200Response.cs
src/ProxmoxSharp/Model/GetAccessGroupsSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetAccessPermissions200Response.cs
src/ProxmoxSharp/Model/GetAccessRoles200Response.cs
src/ProxmoxSharp/Model/GetAccessRoles200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetAccessRolesSingle200Response.cs
src/ProxmoxSharp/Model/GetAccessRolesSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetAccessTfa200Response.cs
src/ProxmoxSharp/Model/GetAccessTfa200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetAccessTfa200ResponseDataInnerEntriesInner.cs
src/ProxmoxSharp/Model/GetAccessTfaSingle200Response.cs
src/ProxmoxSharp/Model/GetAccessTfaSingleSingle200Response.cs
src/ProxmoxSharp/Model/GetAccessUsers200Response.cs
src/ProxmoxSharp/Model/GetAccessUsers200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetAccessUsers200ResponseDataInnerTokensInner.cs
src/ProxmoxSharp/Model/GetAccessUsersSingle200Response.cs
src/ProxmoxSharp/Model/GetAccessUsersSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetAccessUsersSingleTfa200Response.cs
src/ProxmoxSharp/Model/GetAccessUsersSingleTfa200ResponseData.cs
src/ProxmoxSharp/Model/GetAccessUsersSingleToken200Response.cs
src/ProxmoxSharp/Model/GetAccessUsersSingleTokenSingle200Response.cs
src/ProxmoxSharp/Model/GetAccessUsersSingleTokenSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetCluster200Response.cs
src/ProxmoxSharp/Model/GetClusterAcmeAccountSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterAcmeAccountSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterAcmeChallengeschema200Response.cs
src/ProxmoxSharp/Model/GetClusterAcmeChallengeschema200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterAcmeDirectories200Response.cs
src/ProxmoxSharp/Model/GetClusterAcmeDirectories200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterAcmeMeta200Response.cs
src/ProxmoxSharp/Model/GetClusterAcmeMeta200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterAcmePlugins200Response.cs
src/ProxmoxSharp/Model/GetClusterAcmePlugins200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterAcmePluginsSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterAcmeTos200Response.cs
src/ProxmoxSharp/Model/GetClusterBackup200Response.cs
src/ProxmoxSharp/Model/GetClusterBackup200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterBackupSingleIncludedvolumes200Response.cs
src/ProxmoxSharp/Model/GetClusterBackupSingleIncludedvolumes200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterBackupSingleIncludedvolumes200ResponseDataChildrenInner.cs
src/ProxmoxSharp/Model/GetClusterBackupSingleIncludedvolumes200ResponseDataChildrenInnerChildrenInner.cs
src/ProxmoxSharp/Model/GetClusterBackupinfo200Response.cs
src/ProxmoxSharp/Model/GetClusterBackupinfo200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterBackupinfoNotbackedup200Response.cs
src/ProxmoxSharp/Model/GetClusterBackupinfoNotbackedup200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterCephFlags200Response.cs
src/ProxmoxSharp/Model/GetClusterCephFlags200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterCephFlagsSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterCephMetadata200Response.cs
src/ProxmoxSharp/Model/GetClusterCephMetadata200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterCephMetadata200ResponseDataMds.cs
src/ProxmoxSharp/Model/GetClusterCephMetadata200ResponseDataMdsId.cs
src/ProxmoxSharp/Model/GetClusterCephMetadata200ResponseDataMgr.cs
src/ProxmoxSharp/Model/GetClusterCephMetadata200ResponseDataMgrId.cs
src/ProxmoxSharp/Model/GetClusterCephMetadata200ResponseDataMon.cs
src/ProxmoxSharp/Model/GetClusterCephMetadata200ResponseDataMonId.cs
src/ProxmoxSharp/Model/GetClusterCephMetadata200ResponseDataNode.cs
src/ProxmoxSharp/Model/GetClusterCephMetadata200ResponseDataNodeNode.cs
src/ProxmoxSharp/Model/GetClusterCephMetadata200ResponseDataNodeNodeVersion.cs
src/ProxmoxSharp/Model/GetClusterConfigApiversion200Response.cs
src/ProxmoxSharp/Model/GetClusterConfigJoin200Response.cs
src/ProxmoxSharp/Model/GetClusterConfigJoin200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterConfigJoin200ResponseDataNodelistInner.cs
src/ProxmoxSharp/Model/GetClusterConfigNodes200Response.cs
src/ProxmoxSharp/Model/GetClusterConfigNodes200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterFirewallAliases200Response.cs
src/ProxmoxSharp/Model/GetClusterFirewallAliases200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterFirewallGroupRule200Response.cs
src/ProxmoxSharp/Model/GetClusterFirewallGroupRules200Response.cs
src/ProxmoxSharp/Model/GetClusterFirewallGroupRules200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterFirewallGroups200Response.cs
src/ProxmoxSharp/Model/GetClusterFirewallGroups200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterFirewallIPSet200Response.cs
src/ProxmoxSharp/Model/GetClusterFirewallIPSet200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterFirewallIPSets200Response.cs
src/ProxmoxSharp/Model/GetClusterFirewallIPSets200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterFirewallMacros200Response.cs
src/ProxmoxSharp/Model/GetClusterFirewallMacros200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterFirewallOptions200Response.cs
src/ProxmoxSharp/Model/GetClusterFirewallOptions200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterFirewallRefs200Response.cs
src/ProxmoxSharp/Model/GetClusterFirewallRefs200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterHa200Response.cs
src/ProxmoxSharp/Model/GetClusterHa200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterHaGroups200Response.cs
src/ProxmoxSharp/Model/GetClusterHaGroups200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterHaResources200Response.cs
src/ProxmoxSharp/Model/GetClusterHaResources200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterHaResourcesSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterHaResourcesSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterHaRules200Response.cs
src/ProxmoxSharp/Model/GetClusterHaRules200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterHaRulesSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterHaRulesSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterHaStatusCurrent200Response.cs
src/ProxmoxSharp/Model/GetClusterHaStatusCurrent200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterJobsRealmsync200Response.cs
src/ProxmoxSharp/Model/GetClusterJobsRealmsync200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterJobsScheduleanalyze200Response.cs
src/ProxmoxSharp/Model/GetClusterJobsScheduleanalyze200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterMapping200Response.cs
src/ProxmoxSharp/Model/GetClusterMappingDir200Response.cs
src/ProxmoxSharp/Model/GetClusterMappingDir200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterMappingDir200ResponseDataInnerChecksInner.cs
src/ProxmoxSharp/Model/GetClusterMappingPci200Response.cs
src/ProxmoxSharp/Model/GetClusterMappingPci200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterMappingUsb200Response.cs
src/ProxmoxSharp/Model/GetClusterMappingUsb200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterMetricsExport200Response.cs
src/ProxmoxSharp/Model/GetClusterMetricsExport200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterMetricsExport200ResponseDataDataInner.cs
src/ProxmoxSharp/Model/GetClusterMetricsServer200Response.cs
src/ProxmoxSharp/Model/GetClusterMetricsServer200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterMetricsServerSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterNextid200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsGotify200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsGotify200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsGotifySingle200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsGotifySingle200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsSendmail200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsSendmail200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsSendmailSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsSendmailSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsSmtp200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsSmtp200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsSmtpSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsSmtpSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsWebhook200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsWebhook200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsWebhookSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsEndpointsWebhookSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterNotificationsMatcherfields200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsMatcherfields200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterNotificationsMatcherfieldvalues200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsMatcherfieldvalues200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterNotificationsMatchers200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsMatchers200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterNotificationsMatchersSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsMatchersSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterNotificationsTargets200Response.cs
src/ProxmoxSharp/Model/GetClusterNotificationsTargets200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterReplication200Response.cs
src/ProxmoxSharp/Model/GetClusterReplication200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterReplicationSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterReplicationSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterResources200Response.cs
src/ProxmoxSharp/Model/GetClusterResources200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterSDNControllers200Response.cs
src/ProxmoxSharp/Model/GetClusterSDNControllers200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterSDNControllers200ResponseDataInnerPending.cs
src/ProxmoxSharp/Model/GetClusterSDNVnets200Response.cs
src/ProxmoxSharp/Model/GetClusterSDNVnets200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterSDNVnets200ResponseDataInnerPending.cs
src/ProxmoxSharp/Model/GetClusterSDNZones200Response.cs
src/ProxmoxSharp/Model/GetClusterSDNZones200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterSDNZones200ResponseDataInnerPending.cs
src/ProxmoxSharp/Model/GetClusterSdnDns200Response.cs
src/ProxmoxSharp/Model/GetClusterSdnDns200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterSdnFabrics200Response.cs
src/ProxmoxSharp/Model/GetClusterSdnFabrics200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterSdnFabricsAll200Response.cs
src/ProxmoxSharp/Model/GetClusterSdnFabricsAll200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterSdnFabricsFabric200Response.cs
src/ProxmoxSharp/Model/GetClusterSdnFabricsFabric200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterSdnFabricsFabricSingle200Response.cs
src/ProxmoxSharp/Model/GetClusterSdnFabricsNode200Response.cs
src/ProxmoxSharp/Model/GetClusterSdnFabricsNode200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterSdnIpams200Response.cs
src/ProxmoxSharp/Model/GetClusterSdnIpams200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterSdnIpamsSingleStatus200Response.cs
src/ProxmoxSharp/Model/GetClusterSdnVnetsSingleFirewallOptions200Response.cs
src/ProxmoxSharp/Model/GetClusterSdnVnetsSingleFirewallOptions200ResponseData.cs
src/ProxmoxSharp/Model/GetClusterStatus200Response.cs
src/ProxmoxSharp/Model/GetClusterStatus200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetClusterTasks200Response.cs
src/ProxmoxSharp/Model/GetClusterTasks200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetCurrentVMStatus200Response.cs
src/ProxmoxSharp/Model/GetCurrentVMStatus200ResponseData.cs
src/ProxmoxSharp/Model/GetNodeFirewallOptions200Response.cs
src/ProxmoxSharp/Model/GetNodeFirewallOptions200ResponseData.cs
src/ProxmoxSharp/Model/GetNodeSDNZoneContent200Response.cs
src/ProxmoxSharp/Model/GetNodeSDNZoneContent200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodeSDNZones200Response.cs
src/ProxmoxSharp/Model/GetNodeSDNZones200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodeTaskStatus200Response.cs
src/ProxmoxSharp/Model/GetNodeTaskStatus200ResponseData.cs
src/ProxmoxSharp/Model/GetNodeTasks200Response.cs
src/ProxmoxSharp/Model/GetNodeTasks200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodes200Response.cs
src/ProxmoxSharp/Model/GetNodes200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleAptRepositories200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleAptRepositories200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleAptRepositories200ResponseDataErrorsInner.cs
src/ProxmoxSharp/Model/GetNodesSingleAptRepositories200ResponseDataFilesInner.cs
src/ProxmoxSharp/Model/GetNodesSingleAptRepositories200ResponseDataFilesInnerRepositoriesInner.cs
src/ProxmoxSharp/Model/GetNodesSingleAptRepositories200ResponseDataFilesInnerRepositoriesInnerOptionsInner.cs
src/ProxmoxSharp/Model/GetNodesSingleAptRepositories200ResponseDataInfosInner.cs
src/ProxmoxSharp/Model/GetNodesSingleAptRepositories200ResponseDataStandardReposInner.cs
src/ProxmoxSharp/Model/GetNodesSingleAptUpdate200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleAptUpdate200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleAptVersions200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleAptVersions200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCapabilitiesQemuCpu200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCapabilitiesQemuCpu200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCapabilitiesQemuCpuflags200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCapabilitiesQemuCpuflags200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCapabilitiesQemuMachines200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCapabilitiesQemuMachines200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCapabilitiesQemuMigration200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCapabilitiesQemuMigration200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleCephCfgDb200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephCfgDb200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCephCfgValue200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephCmdsafety200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephCmdsafety200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleCephFs200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephFs200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCephMds200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephMds200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCephMgr200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephMgr200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCephMon200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephMon200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCephOsdSingleLvinfo200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephOsdSingleLvinfo200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleCephOsdSingleMetadata200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephOsdSingleMetadata200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleCephOsdSingleMetadata200ResponseDataDevicesInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCephOsdSingleMetadata200ResponseDataOsd.cs
src/ProxmoxSharp/Model/GetNodesSingleCephPool200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephPool200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCephPoolSingleStatus200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephPoolSingleStatus200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleCephRules200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCephRules200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleCertificatesInfo200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleCertificatesInfo200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleConfig200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleConfig200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksDirectory200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksDirectory200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksList200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksList200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksLvm200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksLvm200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksLvm200ResponseDataChildrenInner.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksLvm200ResponseDataChildrenInnerChildrenInner.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksLvmthin200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksLvmthin200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksSmart200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksSmart200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksZfs200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksZfs200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksZfsSingle200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksZfsSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleDisksZfsSingle200ResponseDataChildrenInner.cs
src/ProxmoxSharp/Model/GetNodesSingleDns200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleDns200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleHardware200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleHardware200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleHardwarePci200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleHardwarePci200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleHardwarePciSingleMdev200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleHardwarePciSingleMdev200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleHardwareUsb200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleHardwareUsb200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleHosts200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleHosts200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleJournal200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleLxc200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleLxc200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleConfig200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleConfig200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleFeature200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleFeature200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleInterfaces200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleInterfaces200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleInterfaces200ResponseDataInnerIpAddressesInner.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleMigrate200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleMigrate200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleMigrate200ResponseDataNotAllowedNodes.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSinglePending200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSinglePending200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleSnapshot200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleSnapshot200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleStatusCurrent200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleLxcSingleStatusCurrent200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleNetwork200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleNetwork200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleNetworkSingle200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleNetworkSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleAgent200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleAgentExecstatus200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleAgentExecstatus200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleAgentFileread200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleAgentFileread200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleCloudinit200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleCloudinit200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleFeature200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleFeature200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleFirewallLog200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleFirewallLog200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleMtunnelwebsocket200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleMtunnelwebsocket200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleVncwebsocket200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleQemuSingleVncwebsocket200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleQueryurlmetadata200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleQueryurlmetadata200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleScan200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleScan200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleScanCifs200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleScanCifs200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleScanIscsi200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleScanIscsi200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleScanLvm200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleScanLvm200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleScanLvmthin200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleScanLvmthin200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleScanNfs200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleScanNfs200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleScanPbs200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleScanPbs200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleScanZfs200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleScanZfs200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnFabricsSingleInterfaces200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnFabricsSingleInterfaces200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnFabricsSingleNeighbors200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnFabricsSingleNeighbors200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnFabricsSingleRoutes200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnFabricsSingleRoutes200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnVnetsSingleMacvrf200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnVnetsSingleMacvrf200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnZonesSingleBridges200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnZonesSingleBridges200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnZonesSingleBridges200ResponseDataInnerPortsInner.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnZonesSingleIpvrf200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleSdnZonesSingleIpvrf200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleServices200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleServices200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleServicesSingleState200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleStatus200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleStatus200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleStatus200ResponseDataBootInfo.cs
src/ProxmoxSharp/Model/GetNodesSingleStatus200ResponseDataCpuinfo.cs
src/ProxmoxSharp/Model/GetNodesSingleStatus200ResponseDataCurrentKernel.cs
src/ProxmoxSharp/Model/GetNodesSingleStatus200ResponseDataMemory.cs
src/ProxmoxSharp/Model/GetNodesSingleStatus200ResponseDataRootfs.cs
src/ProxmoxSharp/Model/GetNodesSingleStorage200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleStorage200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleStorage200ResponseDataInnerFormats.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleContent200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleContent200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleContent200ResponseDataInnerVerification.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleContentSingle200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleContentSingle200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleFilerestoreDownload200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleFilerestoreList200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleFilerestoreList200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleImportmetadata200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleImportmetadata200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleImportmetadata200ResponseDataWarningsInner.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSinglePrunebackups200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSinglePrunebackups200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleStatus200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleStorageSingleStatus200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleSubscription200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleSubscription200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleTime200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleTime200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleVersion200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleVersion200ResponseData.cs
src/ProxmoxSharp/Model/GetNodesSingleVzdumpDefaults200Response.cs
src/ProxmoxSharp/Model/GetNodesSingleVzdumpDefaults200ResponseData.cs
src/ProxmoxSharp/Model/GetPool200Response.cs
src/ProxmoxSharp/Model/GetPool200ResponseData.cs
src/ProxmoxSharp/Model/GetPools200Response.cs
src/ProxmoxSharp/Model/GetPools200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetPools200ResponseDataInnerMembersInner.cs
src/ProxmoxSharp/Model/GetStorage200Response.cs
src/ProxmoxSharp/Model/GetStorage200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetVMConfig200Response.cs
src/ProxmoxSharp/Model/GetVMConfig200ResponseData.cs
src/ProxmoxSharp/Model/GetVMConfigPending200Response.cs
src/ProxmoxSharp/Model/GetVMConfigPending200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetVMFirewallOptions200Response.cs
src/ProxmoxSharp/Model/GetVMFirewallOptions200ResponseData.cs
src/ProxmoxSharp/Model/GetVMRRD200Response.cs
src/ProxmoxSharp/Model/GetVMRRD200ResponseData.cs
src/ProxmoxSharp/Model/GetVMSnapshots200Response.cs
src/ProxmoxSharp/Model/GetVMSnapshots200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetVMs200Response.cs
src/ProxmoxSharp/Model/GetVMs200ResponseDataInner.cs
src/ProxmoxSharp/Model/GetVersion200Response.cs
src/ProxmoxSharp/Model/GetVersion200ResponseData.cs
src/ProxmoxSharp/Model/MigrateVM200Response.cs
src/ProxmoxSharp/Model/MigrateVM200ResponseData.cs
src/ProxmoxSharp/Model/MigrateVM200ResponseDataLocalDisksInner.cs
src/ProxmoxSharp/Model/MigrateVM200ResponseDataNotAllowedNodes.cs
src/ProxmoxSharp/Model/RebootVMRequest.cs
src/ProxmoxSharp/Model/ResetVMRequest.cs
src/ProxmoxSharp/Model/ResizeVMDiskRequest.cs
src/ProxmoxSharp/Model/ResumeVMRequest.cs
src/ProxmoxSharp/Model/RollbackVMSnapshotRequest.cs
src/ProxmoxSharp/Model/ShutdownVMRequest.cs
src/ProxmoxSharp/Model/StartVMRequest.cs
src/ProxmoxSharp/Model/StopVMRequest.cs
src/ProxmoxSharp/Model/SuspendVMRequest.cs
src/ProxmoxSharp/Model/UnlinkVMDiskImagesRequest.cs
src/ProxmoxSharp/Model/UpdateAccessAclRequest.cs
src/ProxmoxSharp/Model/UpdateAccessDomainsSingleRequest.cs
src/ProxmoxSharp/Model/UpdateAccessGroupsSingleRequest.cs
src/ProxmoxSharp/Model/UpdateAccessPasswordRequest.cs
src/ProxmoxSharp/Model/UpdateAccessRolesSingleRequest.cs
src/ProxmoxSharp/Model/UpdateAccessTfaSingleSingleRequest.cs
src/ProxmoxSharp/Model/UpdateAccessUsersSingleRequest.cs
src/ProxmoxSharp/Model/UpdateAccessUsersSingleTokenSingle200Response.cs
src/ProxmoxSharp/Model/UpdateAccessUsersSingleTokenSingle200ResponseData.cs
src/ProxmoxSharp/Model/UpdateAccessUsersSingleTokenSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterAcmeAccountSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterAcmePluginsSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterBackupSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterCephFlagsRequest.cs
src/ProxmoxSharp/Model/UpdateClusterCephFlagsSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterFirewallAliasesSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterFirewallGroupRuleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterFirewallIPSetIPRequest.cs
src/ProxmoxSharp/Model/UpdateClusterFirewallOptionsRequest.cs
src/ProxmoxSharp/Model/UpdateClusterFirewallRuleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterHaGroupsSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterHaResourcesSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterHaRulesSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterJobsRealmsyncSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterMappingDirSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterMappingPciSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterMappingUsbSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterMetricsServerSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterNotificationsEndpointsGotifySingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterNotificationsEndpointsSendmailSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterNotificationsEndpointsSmtpSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterNotificationsEndpointsWebhookSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterNotificationsMatchersSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterOptionsRequest.cs
src/ProxmoxSharp/Model/UpdateClusterReplicationSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSDNControllerRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSDNRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSDNVnetRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSDNZoneRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSdnDnsSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSdnFabricsFabricSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSdnFabricsNodeSingleSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSdnIpamsSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSdnVnetsSingleFirewallOptionsRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSdnVnetsSingleFirewallRulesSingleRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSdnVnetsSingleIpsRequest.cs
src/ProxmoxSharp/Model/UpdateClusterSdnVnetsSingleSubnetsSingleRequest.cs
src/ProxmoxSharp/Model/UpdateNodeFirewallOptionsRequest.cs
src/ProxmoxSharp/Model/UpdateNodeFirewallRuleRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleAptRepositoriesRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleCephPoolSingleRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleCertificatesAcmeCertificateRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleConfigRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleDisksWipediskRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleDnsRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleLxcSingleConfigRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleLxcSingleFirewallAliasesSingleRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleLxcSingleFirewallIpsetSingleSingleRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleLxcSingleFirewallOptionsRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleLxcSingleFirewallRulesSingleRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleLxcSingleResizeRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleLxcSingleSnapshotSingleConfigRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleNetworkRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleNetworkSingleRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleQemuSingleFirewallAliasesSingleRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleQemuSingleSendkeyRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleStorageSingleContentSingleRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleSubscriptionRequest.cs
src/ProxmoxSharp/Model/UpdateNodesSingleTimeRequest.cs
src/ProxmoxSharp/Model/UpdatePoolRequest.cs
src/ProxmoxSharp/Model/UpdatePoolsRequest.cs
src/ProxmoxSharp/Model/UpdateStorageSingleRequest.cs
src/ProxmoxSharp/Model/UpdateVMConfigRequest.cs
src/ProxmoxSharp/Model/UpdateVMConfigSyncRequest.cs
src/ProxmoxSharp/Model/UpdateVMFirewallIPSetIPRequest.cs
src/ProxmoxSharp/Model/UpdateVMFirewallOptionsRequest.cs
src/ProxmoxSharp/Model/UpdateVMFirewallRuleRequest.cs
src/ProxmoxSharp/Model/UpdateVMSnapshotConfigRequest.cs

View file

@ -0,0 +1 @@
7.12.0

15
.vscode/launch.json vendored Normal file
View file

@ -0,0 +1,15 @@
{
"version": "0.2.0",
"configurations": [
{
"name": "C#: Debug",
"preLaunchTask": "build",
"type": "coreclr",
"request": "launch",
"program": "dotnet",
"args": ["${workspaceFolder}/src/ProxmoxSharp.Tests/bin/Debug/net8.0/ProxmoxSharp.Tests.dll"],
"cwd": "${workspaceFolder}",
"console": "internalConsole"
}
]
}

12
.vscode/tasks.json vendored Normal file
View file

@ -0,0 +1,12 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": ["build", "${workspaceFolder}"],
"problemMatcher": "$msCompile"
}
]
}

View file

@ -3,8 +3,11 @@
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="dotenv.net" Version="3.2.0" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="RestSharp" Version="112.1.0" />
<PackageVersion Include="dotenv.net" Version="4.0.0" />
<PackageVersion Include="JsonSubTypes" Version="2.0.1" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
<PackageVersion Include="Polly" Version="8.1.0" />
<PackageVersion Include="RestSharp" Version="113.0.0" />
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0" />
</ItemGroup>
</Project>

View file

@ -8,17 +8,37 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Debug|x64.ActiveCfg = Debug|Any CPU
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Debug|x64.Build.0 = Debug|Any CPU
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Debug|x86.ActiveCfg = Debug|Any CPU
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Debug|x86.Build.0 = Debug|Any CPU
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Release|Any CPU.Build.0 = Release|Any CPU
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Release|x64.ActiveCfg = Release|Any CPU
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Release|x64.Build.0 = Release|Any CPU
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Release|x86.ActiveCfg = Release|Any CPU
{A2756937-8D07-4164-9CB7-2C94E9FE0A08}.Release|x86.Build.0 = Release|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Debug|x64.ActiveCfg = Debug|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Debug|x64.Build.0 = Debug|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Debug|x86.ActiveCfg = Debug|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Debug|x86.Build.0 = Debug|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Release|Any CPU.Build.0 = Release|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Release|x64.ActiveCfg = Release|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Release|x64.Build.0 = Release|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Release|x86.ActiveCfg = Release|Any CPU
{0A59E867-1A89-4E07-ABE7-E7DC2FEE9317}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

13
scripts/generate.ps1 Normal file
View file

@ -0,0 +1,13 @@
#!/usr/bin/env pwsh
$env:CSHARP_POST_PROCESS_FILE = ""
java -jar ./vendor/openapi-generator/openapi-generator-cli.jar generate `
-i ./vendor/spec.v2.yaml `
-g csharp `
-o . `
--global-property apis,models,supportingFiles,apiDocs=false,modelDocs=false,apiTests=false,modelTests=false `
--additional-properties=targetFramework=net47,packageName=ProxmoxSharp,library=restsharp,zeroBasedEnums=true `
--openapi-normalizer SET_TAGS_FOR_ALL_OPERATIONS=ProxmoxGenerated `
--type-mappings Any=object `
--skip-validate-spec

View file

@ -11,16 +11,19 @@ namespace ProxmoxSharp.Tests
{
DotEnv.Load(new DotEnvOptions(ignoreExceptions: true, envFilePaths: [".env", "../../.env"]));
var clusterUrl = Environment.GetEnvironmentVariable("PROXMOX_CLUSTER_URL");
var tokenId = Environment.GetEnvironmentVariable("PROXMOX_TOKEN_ID");
var tokenSecret = Environment.GetEnvironmentVariable("PROXMOX_TOKEN_SECRET");
var proxmox = new ProxmoxClient(clusterUrl, tokenId, tokenSecret);
var nodes = await proxmox.ListVirtualMachinesAsync("broadwell");
var proxmox = ProxmoxApi.FromEnv()!;
var nodes = (await proxmox.GetNodesAsync()).Data;
Console.WriteLine($"nodes:");
foreach (var node in nodes)
{
Console.WriteLine($"- {node.Name}");
Console.WriteLine($"- {node.Node}");
}
var vms = (await proxmox.GetVMsAsync(nodes[0].Node)).Data;
Console.WriteLine($"vms:");
foreach (var vm in vms)
{
Console.WriteLine($"- {vm.Name}");
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,824 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters;
using System.Text;
using System.Threading;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Web;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using RestSharp;
using RestSharp.Serializers;
using RestSharpMethod = RestSharp.Method;
using FileIO = System.IO.File;
using Polly;
using ProxmoxSharp.Model;
namespace ProxmoxSharp.Client
{
/// <summary>
/// Allows RestSharp to Serialize/Deserialize JSON using our custom logic, but only when ContentType is JSON.
/// </summary>
internal class CustomJsonCodec : IRestSerializer, ISerializer, IDeserializer
{
private readonly IReadableConfiguration _configuration;
private readonly JsonSerializerSettings _serializerSettings = new JsonSerializerSettings
{
// OpenAPI generated types generally hide default constructors.
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
ContractResolver = new DefaultContractResolver
{
NamingStrategy = new CamelCaseNamingStrategy
{
OverrideSpecifiedNames = false
}
}
};
public CustomJsonCodec(IReadableConfiguration configuration)
{
_configuration = configuration;
}
public CustomJsonCodec(JsonSerializerSettings serializerSettings, IReadableConfiguration configuration)
{
_serializerSettings = serializerSettings;
_configuration = configuration;
}
/// <summary>
/// Serialize the object into a JSON string.
/// </summary>
/// <param name="obj">Object to be serialized.</param>
/// <returns>A JSON string.</returns>
public string Serialize(object obj)
{
if (obj != null && obj is AbstractOpenAPISchema)
{
// the object to be serialized is an oneOf/anyOf schema
return ((AbstractOpenAPISchema)obj).ToJson();
}
else
{
return JsonConvert.SerializeObject(obj, _serializerSettings);
}
}
public string Serialize(Parameter bodyParameter) => Serialize(bodyParameter.Value);
public T Deserialize<T>(RestResponse response)
{
var result = (T)Deserialize(response, typeof(T));
return result;
}
/// <summary>
/// Deserialize the JSON string into a proper object.
/// </summary>
/// <param name="response">The HTTP response.</param>
/// <param name="type">Object type.</param>
/// <returns>Object representation of the JSON string.</returns>
internal object Deserialize(RestResponse response, Type type)
{
if (type == typeof(byte[])) // return byte array
{
return response.RawBytes;
}
// TODO: ? if (type.IsAssignableFrom(typeof(Stream)))
if (type == typeof(Stream))
{
var bytes = response.RawBytes;
if (response.Headers != null)
{
var filePath = string.IsNullOrEmpty(_configuration.TempFolderPath)
? global::System.IO.Path.GetTempPath()
: _configuration.TempFolderPath;
var regex = new Regex(@"Content-Disposition=.*filename=['""]?([^'""\s]+)['""]?$");
foreach (var header in response.Headers)
{
var match = regex.Match(header.ToString());
if (match.Success)
{
string fileName = filePath + ClientUtils.SanitizeFilename(match.Groups[1].Value.Replace("\"", "").Replace("'", ""));
FileIO.WriteAllBytes(fileName, bytes);
return new FileStream(fileName, FileMode.Open);
}
}
}
var stream = new MemoryStream(bytes);
return stream;
}
if (type.Name.StartsWith("System.Nullable`1[[System.DateTime")) // return a datetime object
{
return DateTime.Parse(response.Content, null, DateTimeStyles.RoundtripKind);
}
if (type == typeof(string) || type.Name.StartsWith("System.Nullable")) // return primitive type
{
return Convert.ChangeType(response.Content, type);
}
// at this point, it must be a model (json)
try
{
return JsonConvert.DeserializeObject(response.Content, type, _serializerSettings);
}
catch (Exception e)
{
throw new ApiException(500, e.Message);
}
}
public ISerializer Serializer => this;
public IDeserializer Deserializer => this;
public string[] AcceptedContentTypes => ContentType.JsonAccept;
public SupportsContentType SupportsContentType => contentType =>
contentType.Value.EndsWith("json", StringComparison.InvariantCultureIgnoreCase) ||
contentType.Value.EndsWith("javascript", StringComparison.InvariantCultureIgnoreCase);
public ContentType ContentType { get; set; } = ContentType.Json;
public DataFormat DataFormat => DataFormat.Json;
}
/// <summary>
/// Provides a default implementation of an Api client (both synchronous and asynchronous implementations),
/// encapsulating general REST accessor use cases.
/// </summary>
public partial class ApiClient : ISynchronousClient, IAsynchronousClient
{
private readonly string _baseUrl;
/// <summary>
/// Specifies the settings on a <see cref="JsonSerializer" /> object.
/// These settings can be adjusted to accommodate custom serialization rules.
/// </summary>
public JsonSerializerSettings SerializerSettings { get; set; } = new JsonSerializerSettings
{
// OpenAPI generated types generally hide default constructors.
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
ContractResolver = new DefaultContractResolver
{
NamingStrategy = new CamelCaseNamingStrategy
{
OverrideSpecifiedNames = false
}
}
};
/// <summary>
/// Allows for extending request processing for <see cref="ApiClient"/> generated code.
/// </summary>
/// <param name="request">The RestSharp request object</param>
partial void InterceptRequest(RestRequest request);
/// <summary>
/// Allows for extending response processing for <see cref="ApiClient"/> generated code.
/// </summary>
/// <param name="request">The RestSharp request object</param>
/// <param name="response">The RestSharp response object</param>
partial void InterceptResponse(RestRequest request, RestResponse response);
/// <summary>
/// Initializes a new instance of the <see cref="ApiClient" />, defaulting to the global configurations' base url.
/// </summary>
public ApiClient()
{
_baseUrl = GlobalConfiguration.Instance.BasePath;
}
/// <summary>
/// Initializes a new instance of the <see cref="ApiClient" />
/// </summary>
/// <param name="basePath">The target service's base path in URL format.</param>
/// <exception cref="ArgumentException"></exception>
public ApiClient(string basePath)
{
if (string.IsNullOrEmpty(basePath))
throw new ArgumentException("basePath cannot be empty");
_baseUrl = basePath;
}
/// <summary>
/// Constructs the RestSharp version of an http method
/// </summary>
/// <param name="method">Swagger Client Custom HttpMethod</param>
/// <returns>RestSharp's HttpMethod instance.</returns>
/// <exception cref="ArgumentOutOfRangeException"></exception>
private RestSharpMethod Method(HttpMethod method)
{
RestSharpMethod other;
switch (method)
{
case HttpMethod.Get:
other = RestSharpMethod.Get;
break;
case HttpMethod.Post:
other = RestSharpMethod.Post;
break;
case HttpMethod.Put:
other = RestSharpMethod.Put;
break;
case HttpMethod.Delete:
other = RestSharpMethod.Delete;
break;
case HttpMethod.Head:
other = RestSharpMethod.Head;
break;
case HttpMethod.Options:
other = RestSharpMethod.Options;
break;
case HttpMethod.Patch:
other = RestSharpMethod.Patch;
break;
default:
throw new ArgumentOutOfRangeException("method", method, null);
}
return other;
}
/// <summary>
/// Provides all logic for constructing a new RestSharp <see cref="RestRequest"/>.
/// At this point, all information for querying the service is known.
/// Here, it is simply mapped into the RestSharp request.
/// </summary>
/// <param name="method">The http verb.</param>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.</param>
/// <returns>[private] A new RestRequest instance.</returns>
/// <exception cref="ArgumentNullException"></exception>
private RestRequest NewRequest(
HttpMethod method,
string path,
RequestOptions options,
IReadableConfiguration configuration)
{
if (path == null) throw new ArgumentNullException("path");
if (options == null) throw new ArgumentNullException("options");
if (configuration == null) throw new ArgumentNullException("configuration");
RestRequest request = new RestRequest(path, Method(method));
if (options.PathParameters != null)
{
foreach (var pathParam in options.PathParameters)
{
request.AddParameter(pathParam.Key, pathParam.Value, ParameterType.UrlSegment);
}
}
if (options.QueryParameters != null)
{
foreach (var queryParam in options.QueryParameters)
{
foreach (var value in queryParam.Value)
{
request.AddQueryParameter(queryParam.Key, value);
}
}
}
if (configuration.DefaultHeaders != null)
{
foreach (var headerParam in configuration.DefaultHeaders)
{
request.AddHeader(headerParam.Key, headerParam.Value);
}
}
if (options.HeaderParameters != null)
{
foreach (var headerParam in options.HeaderParameters)
{
foreach (var value in headerParam.Value)
{
request.AddOrUpdateHeader(headerParam.Key, value);
}
}
}
if (options.FormParameters != null)
{
foreach (var formParam in options.FormParameters)
{
request.AddParameter(formParam.Key, formParam.Value);
}
}
if (options.Data != null)
{
if (options.Data is Stream stream)
{
var contentType = "application/octet-stream";
if (options.HeaderParameters != null)
{
var contentTypes = options.HeaderParameters["Content-Type"];
contentType = contentTypes[0];
}
var bytes = ClientUtils.ReadAsBytes(stream);
request.AddParameter(contentType, bytes, ParameterType.RequestBody);
}
else
{
if (options.HeaderParameters != null)
{
var contentTypes = options.HeaderParameters["Content-Type"];
if (contentTypes == null || contentTypes.Any(header => header.Contains("application/json")))
{
request.RequestFormat = DataFormat.Json;
}
else
{
// TODO: Generated client user should add additional handlers. RestSharp only supports XML and JSON, with XML as default.
}
}
else
{
// Here, we'll assume JSON APIs are more common. XML can be forced by adding produces/consumes to openapi spec explicitly.
request.RequestFormat = DataFormat.Json;
}
request.AddJsonBody(options.Data);
}
}
if (options.FileParameters != null)
{
foreach (var fileParam in options.FileParameters)
{
foreach (var file in fileParam.Value)
{
var bytes = ClientUtils.ReadAsBytes(file);
var fileStream = file as FileStream;
if (fileStream != null)
request.AddFile(fileParam.Key, bytes, global::System.IO.Path.GetFileName(fileStream.Name));
else
request.AddFile(fileParam.Key, bytes, "no_file_name_provided");
}
}
}
if (options.HeaderParameters != null)
{
if (options.HeaderParameters.TryGetValue("Content-Type", out var contentTypes) && contentTypes.Any(header => header.Contains("multipart/form-data")))
{
request.AlwaysMultipartFormData = true;
}
}
return request;
}
/// <summary>
/// Transforms a RestResponse instance into a new ApiResponse instance.
/// At this point, we have a concrete http response from the service.
/// Here, it is simply mapped into the [public] ApiResponse object.
/// </summary>
/// <param name="response">The RestSharp response object</param>
/// <returns>A new ApiResponse instance.</returns>
private ApiResponse<T> ToApiResponse<T>(RestResponse<T> response)
{
T result = response.Data;
string rawContent = response.Content;
var transformed = new ApiResponse<T>(response.StatusCode, new Multimap<string, string>(), result, rawContent)
{
ErrorText = response.ErrorMessage,
Cookies = new List<Cookie>()
};
if (response.Headers != null)
{
foreach (var responseHeader in response.Headers)
{
transformed.Headers.Add(responseHeader.Name, ClientUtils.ParameterToString(responseHeader.Value));
}
}
if (response.ContentHeaders != null)
{
foreach (var responseHeader in response.ContentHeaders)
{
transformed.Headers.Add(responseHeader.Name, ClientUtils.ParameterToString(responseHeader.Value));
}
}
if (response.Cookies != null)
{
foreach (var responseCookies in response.Cookies.Cast<Cookie>())
{
transformed.Cookies.Add(
new Cookie(
responseCookies.Name,
responseCookies.Value,
responseCookies.Path,
responseCookies.Domain)
);
}
}
return transformed;
}
/// <summary>
/// Executes the HTTP request for the current service.
/// Based on functions received it can be async or sync.
/// </summary>
/// <param name="getResponse">Local function that executes http request and returns http response.</param>
/// <param name="setOptions">Local function to specify options for the service.</param>
/// <param name="request">The RestSharp request object</param>
/// <param name="options">The RestSharp options object</param>
/// <param name="configuration">A per-request configuration object.
/// It is assumed that any merge with GlobalConfiguration has been done before calling this method.</param>
/// <returns>A new ApiResponse instance.</returns>
private async Task<ApiResponse<T>> ExecClientAsync<T>(Func<RestClient, Task<RestResponse<T>>> getResponse, Action<RestClientOptions> setOptions, RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
var baseUrl = configuration.GetOperationServerUrl(options.Operation, options.OperationIndex) ?? _baseUrl;
var clientOptions = new RestClientOptions(baseUrl)
{
ClientCertificates = configuration.ClientCertificates,
Timeout = configuration.Timeout,
Proxy = configuration.Proxy,
UserAgent = configuration.UserAgent,
UseDefaultCredentials = configuration.UseDefaultCredentials,
RemoteCertificateValidationCallback = configuration.RemoteCertificateValidationCallback
};
setOptions(clientOptions);
using (RestClient client = new RestClient(clientOptions,
configureSerialization: serializerConfig => serializerConfig.UseSerializer(() => new CustomJsonCodec(SerializerSettings, configuration))))
{
InterceptRequest(request);
RestResponse<T> response = await getResponse(client);
// if the response type is oneOf/anyOf, call FromJSON to deserialize the data
if (typeof(AbstractOpenAPISchema).IsAssignableFrom(typeof(T)))
{
try
{
response.Data = (T)typeof(T).GetMethod("FromJson").Invoke(null, new object[] { response.Content });
}
catch (Exception ex)
{
throw ex.InnerException != null ? ex.InnerException : ex;
}
}
else if (typeof(T).Name == "Stream") // for binary response
{
response.Data = (T)(object)new MemoryStream(response.RawBytes);
}
else if (typeof(T).Name == "Byte[]") // for byte response
{
response.Data = (T)(object)response.RawBytes;
}
else if (typeof(T).Name == "String") // for string response
{
response.Data = (T)(object)response.Content;
}
InterceptResponse(request, response);
var result = ToApiResponse(response);
if (response.ErrorMessage != null)
{
result.ErrorText = response.ErrorMessage;
}
if (response.Cookies != null && response.Cookies.Count > 0)
{
if (result.Cookies == null) result.Cookies = new List<Cookie>();
foreach (var restResponseCookie in response.Cookies.Cast<Cookie>())
{
var cookie = new Cookie(
restResponseCookie.Name,
restResponseCookie.Value,
restResponseCookie.Path,
restResponseCookie.Domain
)
{
Comment = restResponseCookie.Comment,
CommentUri = restResponseCookie.CommentUri,
Discard = restResponseCookie.Discard,
Expired = restResponseCookie.Expired,
Expires = restResponseCookie.Expires,
HttpOnly = restResponseCookie.HttpOnly,
Port = restResponseCookie.Port,
Secure = restResponseCookie.Secure,
Version = restResponseCookie.Version
};
result.Cookies.Add(cookie);
}
}
return result;
}
}
private async Task<RestResponse<T>> DeserializeRestResponseFromPolicyAsync<T>(RestClient client, RestRequest request, PolicyResult<RestResponse> policyResult, CancellationToken cancellationToken = default)
{
if (policyResult.Outcome == OutcomeType.Successful)
{
return await client.Deserialize<T>(policyResult.Result, cancellationToken);
}
else
{
return new RestResponse<T>(request)
{
ErrorException = policyResult.FinalException
};
}
}
private ApiResponse<T> Exec<T>(RestRequest request, RequestOptions options, IReadableConfiguration configuration)
{
Action<RestClientOptions> setOptions = (clientOptions) =>
{
var cookies = new CookieContainer();
if (options.Cookies != null && options.Cookies.Count > 0)
{
foreach (var cookie in options.Cookies)
{
cookies.Add(new Cookie(cookie.Name, cookie.Value));
}
}
clientOptions.CookieContainer = cookies;
};
Func<RestClient, Task<RestResponse<T>>> getResponse = (client) =>
{
if (RetryConfiguration.RetryPolicy != null)
{
var policy = RetryConfiguration.RetryPolicy;
var policyResult = policy.ExecuteAndCapture(() => client.Execute(request));
return DeserializeRestResponseFromPolicyAsync<T>(client, request, policyResult);
}
else
{
return Task.FromResult(client.Execute<T>(request));
}
};
return ExecClientAsync(getResponse, setOptions, request, options, configuration).GetAwaiter().GetResult();
}
private Task<ApiResponse<T>> ExecAsync<T>(RestRequest request, RequestOptions options, IReadableConfiguration configuration, CancellationToken cancellationToken = default(CancellationToken))
{
Action<RestClientOptions> setOptions = (clientOptions) =>
{
//no extra options
};
Func<RestClient, Task<RestResponse<T>>> getResponse = async (client) =>
{
if (RetryConfiguration.AsyncRetryPolicy != null)
{
var policy = RetryConfiguration.AsyncRetryPolicy;
var policyResult = await policy.ExecuteAndCaptureAsync((ct) => client.ExecuteAsync(request, ct), cancellationToken).ConfigureAwait(false);
return await DeserializeRestResponseFromPolicyAsync<T>(client, request, policyResult, cancellationToken);
}
else
{
return await client.ExecuteAsync<T>(request, cancellationToken).ConfigureAwait(false);
}
};
return ExecClientAsync(getResponse, setOptions, request, options, configuration);
}
#region IAsynchronousClient
/// <summary>
/// Make a HTTP GET request (async).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <param name="cancellationToken">Token that enables callers to cancel the request.</param>
/// <returns>A Task containing ApiResponse</returns>
public Task<ApiResponse<T>> GetAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
{
var config = configuration ?? GlobalConfiguration.Instance;
return ExecAsync<T>(NewRequest(HttpMethod.Get, path, options, config), options, config, cancellationToken);
}
/// <summary>
/// Make a HTTP POST request (async).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <param name="cancellationToken">Token that enables callers to cancel the request.</param>
/// <returns>A Task containing ApiResponse</returns>
public Task<ApiResponse<T>> PostAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
{
var config = configuration ?? GlobalConfiguration.Instance;
return ExecAsync<T>(NewRequest(HttpMethod.Post, path, options, config), options, config, cancellationToken);
}
/// <summary>
/// Make a HTTP PUT request (async).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <param name="cancellationToken">Token that enables callers to cancel the request.</param>
/// <returns>A Task containing ApiResponse</returns>
public Task<ApiResponse<T>> PutAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
{
var config = configuration ?? GlobalConfiguration.Instance;
return ExecAsync<T>(NewRequest(HttpMethod.Put, path, options, config), options, config, cancellationToken);
}
/// <summary>
/// Make a HTTP DELETE request (async).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <param name="cancellationToken">Token that enables callers to cancel the request.</param>
/// <returns>A Task containing ApiResponse</returns>
public Task<ApiResponse<T>> DeleteAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
{
var config = configuration ?? GlobalConfiguration.Instance;
return ExecAsync<T>(NewRequest(HttpMethod.Delete, path, options, config), options, config, cancellationToken);
}
/// <summary>
/// Make a HTTP HEAD request (async).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <param name="cancellationToken">Token that enables callers to cancel the request.</param>
/// <returns>A Task containing ApiResponse</returns>
public Task<ApiResponse<T>> HeadAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
{
var config = configuration ?? GlobalConfiguration.Instance;
return ExecAsync<T>(NewRequest(HttpMethod.Head, path, options, config), options, config, cancellationToken);
}
/// <summary>
/// Make a HTTP OPTION request (async).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <param name="cancellationToken">Token that enables callers to cancel the request.</param>
/// <returns>A Task containing ApiResponse</returns>
public Task<ApiResponse<T>> OptionsAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
{
var config = configuration ?? GlobalConfiguration.Instance;
return ExecAsync<T>(NewRequest(HttpMethod.Options, path, options, config), options, config, cancellationToken);
}
/// <summary>
/// Make a HTTP PATCH request (async).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <param name="cancellationToken">Token that enables callers to cancel the request.</param>
/// <returns>A Task containing ApiResponse</returns>
public Task<ApiResponse<T>> PatchAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, CancellationToken cancellationToken = default)
{
var config = configuration ?? GlobalConfiguration.Instance;
return ExecAsync<T>(NewRequest(HttpMethod.Patch, path, options, config), options, config, cancellationToken);
}
#endregion IAsynchronousClient
#region ISynchronousClient
/// <summary>
/// Make a HTTP GET request (synchronous).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <returns>A Task containing ApiResponse</returns>
public ApiResponse<T> Get<T>(string path, RequestOptions options, IReadableConfiguration configuration = null)
{
var config = configuration ?? GlobalConfiguration.Instance;
return Exec<T>(NewRequest(HttpMethod.Get, path, options, config), options, config);
}
/// <summary>
/// Make a HTTP POST request (synchronous).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <returns>A Task containing ApiResponse</returns>
public ApiResponse<T> Post<T>(string path, RequestOptions options, IReadableConfiguration configuration = null)
{
var config = configuration ?? GlobalConfiguration.Instance;
return Exec<T>(NewRequest(HttpMethod.Post, path, options, config), options, config);
}
/// <summary>
/// Make a HTTP PUT request (synchronous).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <returns>A Task containing ApiResponse</returns>
public ApiResponse<T> Put<T>(string path, RequestOptions options, IReadableConfiguration configuration = null)
{
var config = configuration ?? GlobalConfiguration.Instance;
return Exec<T>(NewRequest(HttpMethod.Put, path, options, config), options, config);
}
/// <summary>
/// Make a HTTP DELETE request (synchronous).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <returns>A Task containing ApiResponse</returns>
public ApiResponse<T> Delete<T>(string path, RequestOptions options, IReadableConfiguration configuration = null)
{
var config = configuration ?? GlobalConfiguration.Instance;
return Exec<T>(NewRequest(HttpMethod.Delete, path, options, config), options, config);
}
/// <summary>
/// Make a HTTP HEAD request (synchronous).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <returns>A Task containing ApiResponse</returns>
public ApiResponse<T> Head<T>(string path, RequestOptions options, IReadableConfiguration configuration = null)
{
var config = configuration ?? GlobalConfiguration.Instance;
return Exec<T>(NewRequest(HttpMethod.Head, path, options, config), options, config);
}
/// <summary>
/// Make a HTTP OPTION request (synchronous).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <returns>A Task containing ApiResponse</returns>
public ApiResponse<T> Options<T>(string path, RequestOptions options, IReadableConfiguration configuration = null)
{
var config = configuration ?? GlobalConfiguration.Instance;
return Exec<T>(NewRequest(HttpMethod.Options, path, options, config), options, config);
}
/// <summary>
/// Make a HTTP PATCH request (synchronous).
/// </summary>
/// <param name="path">The target path (or resource).</param>
/// <param name="options">The additional request options.</param>
/// <param name="configuration">A per-request configuration object. It is assumed that any merge with
/// GlobalConfiguration has been done before calling this method.</param>
/// <returns>A Task containing ApiResponse</returns>
public ApiResponse<T> Patch<T>(string path, RequestOptions options, IReadableConfiguration configuration = null)
{
var config = configuration ?? GlobalConfiguration.Instance;
return Exec<T>(NewRequest(HttpMethod.Patch, path, options, config), options, config);
}
#endregion ISynchronousClient
}
}

View file

@ -0,0 +1,69 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
namespace ProxmoxSharp.Client
{
/// <summary>
/// API Exception
/// </summary>
public class ApiException : Exception
{
/// <summary>
/// Gets or sets the error code (HTTP status code)
/// </summary>
/// <value>The error code (HTTP status code).</value>
public int ErrorCode { get; set; }
/// <summary>
/// Gets or sets the error content (body json object)
/// </summary>
/// <value>The error content (Http response body).</value>
public object ErrorContent { get; private set; }
/// <summary>
/// Gets or sets the HTTP headers
/// </summary>
/// <value>HTTP headers</value>
public Multimap<string, string> Headers { get; private set; }
/// <summary>
/// Initializes a new instance of the <see cref="ApiException"/> class.
/// </summary>
public ApiException() { }
/// <summary>
/// Initializes a new instance of the <see cref="ApiException"/> class.
/// </summary>
/// <param name="errorCode">HTTP status code.</param>
/// <param name="message">Error message.</param>
public ApiException(int errorCode, string message) : base(message)
{
this.ErrorCode = errorCode;
}
/// <summary>
/// Initializes a new instance of the <see cref="ApiException"/> class.
/// </summary>
/// <param name="errorCode">HTTP status code.</param>
/// <param name="message">Error message.</param>
/// <param name="errorContent">Error content.</param>
/// <param name="headers">HTTP Headers.</param>
public ApiException(int errorCode, string message, object errorContent = null, Multimap<string, string> headers = null) : base(message)
{
this.ErrorCode = errorCode;
this.ErrorContent = errorContent;
this.Headers = headers;
}
}
}

View file

@ -0,0 +1,167 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections.Generic;
using System.Net;
namespace ProxmoxSharp.Client
{
/// <summary>
/// Provides a non-generic contract for the ApiResponse wrapper.
/// </summary>
public interface IApiResponse
{
/// <summary>
/// The data type of <see cref="Content"/>
/// </summary>
Type ResponseType { get; }
/// <summary>
/// The content of this response
/// </summary>
Object Content { get; }
/// <summary>
/// Gets or sets the status code (HTTP status code)
/// </summary>
/// <value>The status code.</value>
HttpStatusCode StatusCode { get; }
/// <summary>
/// Gets or sets the HTTP headers
/// </summary>
/// <value>HTTP headers</value>
Multimap<string, string> Headers { get; }
/// <summary>
/// Gets or sets any error text defined by the calling client.
/// </summary>
string ErrorText { get; set; }
/// <summary>
/// Gets or sets any cookies passed along on the response.
/// </summary>
List<Cookie> Cookies { get; set; }
/// <summary>
/// The raw content of this response
/// </summary>
string RawContent { get; }
}
/// <summary>
/// API Response
/// </summary>
public class ApiResponse<T> : IApiResponse
{
#region Properties
/// <summary>
/// Gets or sets the status code (HTTP status code)
/// </summary>
/// <value>The status code.</value>
public HttpStatusCode StatusCode { get; }
/// <summary>
/// Gets or sets the HTTP headers
/// </summary>
/// <value>HTTP headers</value>
public Multimap<string, string> Headers { get; }
/// <summary>
/// Gets or sets the data (parsed HTTP body)
/// </summary>
/// <value>The data.</value>
public T Data { get; }
/// <summary>
/// Gets or sets any error text defined by the calling client.
/// </summary>
public string ErrorText { get; set; }
/// <summary>
/// Gets or sets any cookies passed along on the response.
/// </summary>
public List<Cookie> Cookies { get; set; }
/// <summary>
/// The content of this response
/// </summary>
public Type ResponseType
{
get { return typeof(T); }
}
/// <summary>
/// The data type of <see cref="Content"/>
/// </summary>
public object Content
{
get { return Data; }
}
/// <summary>
/// The raw content
/// </summary>
public string RawContent { get; }
#endregion Properties
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="ApiResponse{T}" /> class.
/// </summary>
/// <param name="statusCode">HTTP status code.</param>
/// <param name="headers">HTTP headers.</param>
/// <param name="data">Data (parsed HTTP body)</param>
/// <param name="rawContent">Raw content.</param>
public ApiResponse(HttpStatusCode statusCode, Multimap<string, string> headers, T data, string rawContent)
{
StatusCode = statusCode;
Headers = headers;
Data = data;
RawContent = rawContent;
}
/// <summary>
/// Initializes a new instance of the <see cref="ApiResponse{T}" /> class.
/// </summary>
/// <param name="statusCode">HTTP status code.</param>
/// <param name="headers">HTTP headers.</param>
/// <param name="data">Data (parsed HTTP body)</param>
public ApiResponse(HttpStatusCode statusCode, Multimap<string, string> headers, T data) : this(statusCode, headers, data, null)
{
}
/// <summary>
/// Initializes a new instance of the <see cref="ApiResponse{T}" /> class.
/// </summary>
/// <param name="statusCode">HTTP status code.</param>
/// <param name="data">Data (parsed HTTP body)</param>
/// <param name="rawContent">Raw content.</param>
public ApiResponse(HttpStatusCode statusCode, T data, string rawContent) : this(statusCode, null, data, rawContent)
{
}
/// <summary>
/// Initializes a new instance of the <see cref="ApiResponse{T}" /> class.
/// </summary>
/// <param name="statusCode">HTTP status code.</param>
/// <param name="data">Data (parsed HTTP body)</param>
public ApiResponse(HttpStatusCode statusCode, T data) : this(statusCode, data, null)
{
}
#endregion Constructors
}
}

View file

@ -0,0 +1,248 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
namespace ProxmoxSharp.Client
{
/// <summary>
/// Utility functions providing some benefit to API client consumers.
/// </summary>
public static class ClientUtils
{
/// <summary>
/// Sanitize filename by removing the path
/// </summary>
/// <param name="filename">Filename</param>
/// <returns>Filename</returns>
public static string SanitizeFilename(string filename)
{
Match match = Regex.Match(filename, @".*[/\\](.*)$");
return match.Success ? match.Groups[1].Value : filename;
}
/// <summary>
/// Convert params to key/value pairs.
/// Use collectionFormat to properly format lists and collections.
/// </summary>
/// <param name="collectionFormat">The swagger-supported collection format, one of: csv, tsv, ssv, pipes, multi</param>
/// <param name="name">Key name.</param>
/// <param name="value">Value object.</param>
/// <returns>A multimap of keys with 1..n associated values.</returns>
public static Multimap<string, string> ParameterToMultiMap(string collectionFormat, string name, object value)
{
var parameters = new Multimap<string, string>();
if (value is ICollection collection && collectionFormat == "multi")
{
foreach (var item in collection)
{
parameters.Add(name, ParameterToString(item));
}
}
else if (value is IDictionary dictionary)
{
if(collectionFormat == "deepObject") {
foreach (DictionaryEntry entry in dictionary)
{
parameters.Add(name + "[" + entry.Key + "]", ParameterToString(entry.Value));
}
}
else {
foreach (DictionaryEntry entry in dictionary)
{
parameters.Add(entry.Key.ToString(), ParameterToString(entry.Value));
}
}
}
else
{
parameters.Add(name, ParameterToString(value));
}
return parameters;
}
/// <summary>
/// If parameter is DateTime, output in a formatted string (default ISO 8601), customizable with Configuration.DateTime.
/// If parameter is a list, join the list with ",".
/// Otherwise just return the string.
/// </summary>
/// <param name="obj">The parameter (header, path, query, form).</param>
/// <param name="configuration">An optional configuration instance, providing formatting options used in processing.</param>
/// <returns>Formatted string.</returns>
public static string ParameterToString(object obj, IReadableConfiguration configuration = null)
{
if (obj is DateTime dateTime)
// Return a formatted date string - Can be customized with Configuration.DateTimeFormat
// Defaults to an ISO 8601, using the known as a Round-trip date/time pattern ("o")
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
// For example: 2009-06-15T13:45:30.0000000
return dateTime.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
if (obj is DateTimeOffset dateTimeOffset)
// Return a formatted date string - Can be customized with Configuration.DateTimeFormat
// Defaults to an ISO 8601, using the known as a Round-trip date/time pattern ("o")
// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8
// For example: 2009-06-15T13:45:30.0000000
return dateTimeOffset.ToString((configuration ?? GlobalConfiguration.Instance).DateTimeFormat);
if (obj is bool boolean)
return boolean ? "true" : "false";
if (obj is ICollection collection) {
List<string> entries = new List<string>();
foreach (var entry in collection)
entries.Add(ParameterToString(entry, configuration));
return string.Join(",", entries);
}
if (obj is Enum && HasEnumMemberAttrValue(obj))
return GetEnumMemberAttrValue(obj);
return Convert.ToString(obj, CultureInfo.InvariantCulture);
}
/// <summary>
/// Serializes the given object when not null. Otherwise return null.
/// </summary>
/// <param name="obj">The object to serialize.</param>
/// <returns>Serialized string.</returns>
public static string Serialize(object obj)
{
return obj != null ? Newtonsoft.Json.JsonConvert.SerializeObject(obj) : null;
}
/// <summary>
/// Encode string in base64 format.
/// </summary>
/// <param name="text">string to be encoded.</param>
/// <returns>Encoded string.</returns>
public static string Base64Encode(string text)
{
return Convert.ToBase64String(global::System.Text.Encoding.UTF8.GetBytes(text));
}
/// <summary>
/// Convert stream to byte array
/// </summary>
/// <param name="inputStream">Input stream to be converted</param>
/// <returns>Byte array</returns>
public static byte[] ReadAsBytes(Stream inputStream)
{
using (var ms = new MemoryStream())
{
inputStream.CopyTo(ms);
return ms.ToArray();
}
}
/// <summary>
/// Select the Content-Type header's value from the given content-type array:
/// if JSON type exists in the given array, use it;
/// otherwise use the first one defined in 'consumes'
/// </summary>
/// <param name="contentTypes">The Content-Type array to select from.</param>
/// <returns>The Content-Type header to use.</returns>
public static string SelectHeaderContentType(string[] contentTypes)
{
if (contentTypes.Length == 0)
return null;
foreach (var contentType in contentTypes)
{
if (IsJsonMime(contentType))
return contentType;
}
return contentTypes[0]; // use the first content type specified in 'consumes'
}
/// <summary>
/// Select the Accept header's value from the given accepts array:
/// if JSON exists in the given array, use it;
/// otherwise use all of them (joining into a string)
/// </summary>
/// <param name="accepts">The accepts array to select from.</param>
/// <returns>The Accept header to use.</returns>
public static string SelectHeaderAccept(string[] accepts)
{
if (accepts.Length == 0)
return null;
if (accepts.Contains("application/json", StringComparer.OrdinalIgnoreCase))
return "application/json";
return string.Join(",", accepts);
}
/// <summary>
/// Provides a case-insensitive check that a provided content type is a known JSON-like content type.
/// </summary>
public static readonly Regex JsonRegex = new Regex("(?i)^(application/json|[^;/ \t]+/[^;/ \t]+[+]json)[ \t]*(;.*)?$");
/// <summary>
/// Check if the given MIME is a JSON MIME.
/// JSON MIME examples:
/// application/json
/// application/json; charset=UTF8
/// APPLICATION/JSON
/// application/vnd.company+json
/// </summary>
/// <param name="mime">MIME</param>
/// <returns>Returns True if MIME type is json.</returns>
public static bool IsJsonMime(string mime)
{
if (string.IsNullOrWhiteSpace(mime)) return false;
return JsonRegex.IsMatch(mime) || mime.Equals("application/json-patch+json");
}
/// <summary>
/// Is the Enum decorated with EnumMember Attribute
/// </summary>
/// <param name="enumVal"></param>
/// <returns>true if found</returns>
private static bool HasEnumMemberAttrValue(object enumVal)
{
if (enumVal == null)
throw new ArgumentNullException(nameof(enumVal));
var enumType = enumVal.GetType();
var memInfo = enumType.GetMember(enumVal.ToString() ?? throw new InvalidOperationException());
var attr = memInfo.FirstOrDefault()?.GetCustomAttributes(false).OfType<EnumMemberAttribute>().FirstOrDefault();
if (attr != null) return true;
return false;
}
/// <summary>
/// Get the EnumMember value
/// </summary>
/// <param name="enumVal"></param>
/// <returns>EnumMember value as string otherwise null</returns>
private static string GetEnumMemberAttrValue(object enumVal)
{
if (enumVal == null)
throw new ArgumentNullException(nameof(enumVal));
var enumType = enumVal.GetType();
var memInfo = enumType.GetMember(enumVal.ToString() ?? throw new InvalidOperationException());
var attr = memInfo.FirstOrDefault()?.GetCustomAttributes(false).OfType<EnumMemberAttribute>().FirstOrDefault();
if (attr != null)
{
return attr.Value;
}
return null;
}
}
}

View file

@ -0,0 +1,613 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Net.Http;
using System.Net.Security;
namespace ProxmoxSharp.Client
{
/// <summary>
/// Represents a set of configuration settings
/// </summary>
public class Configuration : IReadableConfiguration
{
#region Constants
/// <summary>
/// Version of the package.
/// </summary>
/// <value>Version of the package.</value>
public const string Version = "1.0.0";
/// <summary>
/// Identifier for ISO 8601 DateTime Format
/// </summary>
/// <remarks>See https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx#Anchor_8 for more information.</remarks>
// ReSharper disable once InconsistentNaming
public const string ISO8601_DATETIME_FORMAT = "o";
#endregion Constants
#region Static Members
/// <summary>
/// Default creation of exceptions for a given method name and response object
/// </summary>
public static readonly ExceptionFactory DefaultExceptionFactory = (methodName, response) =>
{
var status = (int)response.StatusCode;
if (status >= 400)
{
return new ApiException(status,
string.Format("Error calling {0}: {1}", methodName, response.RawContent),
response.RawContent, response.Headers);
}
if (status == 0)
{
return new ApiException(status,
string.Format("Error calling {0}: {1}", methodName, response.ErrorText), response.ErrorText);
}
return null;
};
#endregion Static Members
#region Private Members
/// <summary>
/// Defines the base path of the target API server.
/// Example: http://localhost:3000/v1/
/// </summary>
private string _basePath;
private bool _useDefaultCredentials = false;
/// <summary>
/// Gets or sets the API key based on the authentication name.
/// This is the key and value comprising the "secret" for accessing an API.
/// </summary>
/// <value>The API key.</value>
private IDictionary<string, string> _apiKey;
/// <summary>
/// Gets or sets the prefix (e.g. Token) of the API key based on the authentication name.
/// </summary>
/// <value>The prefix of the API key.</value>
private IDictionary<string, string> _apiKeyPrefix;
private string _dateTimeFormat = ISO8601_DATETIME_FORMAT;
private string _tempFolderPath = Path.GetTempPath();
/// <summary>
/// Gets or sets the servers defined in the OpenAPI spec.
/// </summary>
/// <value>The servers</value>
private IList<IReadOnlyDictionary<string, object>> _servers;
/// <summary>
/// Gets or sets the operation servers defined in the OpenAPI spec.
/// </summary>
/// <value>The operation servers</value>
private IReadOnlyDictionary<string, List<IReadOnlyDictionary<string, object>>> _operationServers;
#endregion Private Members
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="Configuration" /> class
/// </summary>
[global::System.Diagnostics.CodeAnalysis.SuppressMessage("ReSharper", "VirtualMemberCallInConstructor")]
public Configuration()
{
Proxy = null;
UserAgent = WebUtility.UrlEncode("OpenAPI-Generator/1.0.0/csharp");
BasePath = "https://cluster.local:8006/api2/json";
DefaultHeaders = new ConcurrentDictionary<string, string>();
ApiKey = new ConcurrentDictionary<string, string>();
ApiKeyPrefix = new ConcurrentDictionary<string, string>();
Servers = new List<IReadOnlyDictionary<string, object>>()
{
{
new Dictionary<string, object> {
{"url", "https://cluster.local:8006/api2/json"},
{"description", "local"},
}
}
};
OperationServers = new Dictionary<string, List<IReadOnlyDictionary<string, object>>>()
{
};
// Setting Timeout has side effects (forces ApiClient creation).
Timeout = TimeSpan.FromSeconds(100);
}
/// <summary>
/// Initializes a new instance of the <see cref="Configuration" /> class
/// </summary>
[global::System.Diagnostics.CodeAnalysis.SuppressMessage("ReSharper", "VirtualMemberCallInConstructor")]
public Configuration(
IDictionary<string, string> defaultHeaders,
IDictionary<string, string> apiKey,
IDictionary<string, string> apiKeyPrefix,
string basePath = "https://cluster.local:8006/api2/json") : this()
{
if (string.IsNullOrWhiteSpace(basePath))
throw new ArgumentException("The provided basePath is invalid.", "basePath");
if (defaultHeaders == null)
throw new ArgumentNullException("defaultHeaders");
if (apiKey == null)
throw new ArgumentNullException("apiKey");
if (apiKeyPrefix == null)
throw new ArgumentNullException("apiKeyPrefix");
BasePath = basePath;
foreach (var keyValuePair in defaultHeaders)
{
DefaultHeaders.Add(keyValuePair);
}
foreach (var keyValuePair in apiKey)
{
ApiKey.Add(keyValuePair);
}
foreach (var keyValuePair in apiKeyPrefix)
{
ApiKeyPrefix.Add(keyValuePair);
}
}
#endregion Constructors
#region Properties
/// <summary>
/// Gets or sets the base path for API access.
/// </summary>
public virtual string BasePath
{
get { return _basePath; }
set { _basePath = value; }
}
/// <summary>
/// Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) will be sent along to the server. The default is false.
/// </summary>
public virtual bool UseDefaultCredentials
{
get { return _useDefaultCredentials; }
set { _useDefaultCredentials = value; }
}
/// <summary>
/// Gets or sets the default header.
/// </summary>
[Obsolete("Use DefaultHeaders instead.")]
public virtual IDictionary<string, string> DefaultHeader
{
get
{
return DefaultHeaders;
}
set
{
DefaultHeaders = value;
}
}
/// <summary>
/// Gets or sets the default headers.
/// </summary>
public virtual IDictionary<string, string> DefaultHeaders { get; set; }
/// <summary>
/// Gets or sets the HTTP timeout of ApiClient. Defaults to 100 seconds.
/// </summary>
public virtual TimeSpan Timeout { get; set; }
/// <summary>
/// Gets or sets the proxy
/// </summary>
/// <value>Proxy.</value>
public virtual WebProxy Proxy { get; set; }
/// <summary>
/// Gets or sets the HTTP user agent.
/// </summary>
/// <value>Http user agent.</value>
public virtual string UserAgent { get; set; }
/// <summary>
/// Gets or sets the username (HTTP basic authentication).
/// </summary>
/// <value>The username.</value>
public virtual string Username { get; set; }
/// <summary>
/// Gets or sets the password (HTTP basic authentication).
/// </summary>
/// <value>The password.</value>
public virtual string Password { get; set; }
/// <summary>
/// Gets the API key with prefix.
/// </summary>
/// <param name="apiKeyIdentifier">API key identifier (authentication scheme).</param>
/// <returns>API key with prefix.</returns>
public string GetApiKeyWithPrefix(string apiKeyIdentifier)
{
string apiKeyValue;
ApiKey.TryGetValue(apiKeyIdentifier, out apiKeyValue);
string apiKeyPrefix;
if (ApiKeyPrefix.TryGetValue(apiKeyIdentifier, out apiKeyPrefix))
{
return apiKeyPrefix + " " + apiKeyValue;
}
return apiKeyValue;
}
/// <summary>
/// Gets or sets certificate collection to be sent with requests.
/// </summary>
/// <value>X509 Certificate collection.</value>
public X509CertificateCollection ClientCertificates { get; set; }
/// <summary>
/// Gets or sets the access token for OAuth2 authentication.
///
/// This helper property simplifies code generation.
/// </summary>
/// <value>The access token.</value>
public virtual string AccessToken { get; set; }
/// <summary>
/// Gets or sets the temporary folder path to store the files downloaded from the server.
/// </summary>
/// <value>Folder path.</value>
public virtual string TempFolderPath
{
get { return _tempFolderPath; }
set
{
if (string.IsNullOrEmpty(value))
{
_tempFolderPath = Path.GetTempPath();
return;
}
// create the directory if it does not exist
if (!Directory.Exists(value))
{
Directory.CreateDirectory(value);
}
// check if the path contains directory separator at the end
if (value[value.Length - 1] == Path.DirectorySeparatorChar)
{
_tempFolderPath = value;
}
else
{
_tempFolderPath = value + Path.DirectorySeparatorChar;
}
}
}
/// <summary>
/// Gets or sets the date time format used when serializing in the ApiClient
/// By default, it's set to ISO 8601 - "o", for others see:
/// https://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx
/// and https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
/// No validation is done to ensure that the string you're providing is valid
/// </summary>
/// <value>The DateTimeFormat string</value>
public virtual string DateTimeFormat
{
get { return _dateTimeFormat; }
set
{
if (string.IsNullOrEmpty(value))
{
// Never allow a blank or null string, go back to the default
_dateTimeFormat = ISO8601_DATETIME_FORMAT;
return;
}
// Caution, no validation when you choose date time format other than ISO 8601
// Take a look at the above links
_dateTimeFormat = value;
}
}
/// <summary>
/// Gets or sets the prefix (e.g. Token) of the API key based on the authentication name.
///
/// Whatever you set here will be prepended to the value defined in AddApiKey.
///
/// An example invocation here might be:
/// <example>
/// ApiKeyPrefix["Authorization"] = "Bearer";
/// </example>
/// … where ApiKey["Authorization"] would then be used to set the value of your bearer token.
///
/// <remarks>
/// OAuth2 workflows should set tokens via AccessToken.
/// </remarks>
/// </summary>
/// <value>The prefix of the API key.</value>
public virtual IDictionary<string, string> ApiKeyPrefix
{
get { return _apiKeyPrefix; }
set
{
if (value == null)
{
throw new InvalidOperationException("ApiKeyPrefix collection may not be null.");
}
_apiKeyPrefix = value;
}
}
/// <summary>
/// Gets or sets the API key based on the authentication name.
/// </summary>
/// <value>The API key.</value>
public virtual IDictionary<string, string> ApiKey
{
get { return _apiKey; }
set
{
if (value == null)
{
throw new InvalidOperationException("ApiKey collection may not be null.");
}
_apiKey = value;
}
}
/// <summary>
/// Gets or sets the servers.
/// </summary>
/// <value>The servers.</value>
public virtual IList<IReadOnlyDictionary<string, object>> Servers
{
get { return _servers; }
set
{
if (value == null)
{
throw new InvalidOperationException("Servers may not be null.");
}
_servers = value;
}
}
/// <summary>
/// Gets or sets the operation servers.
/// </summary>
/// <value>The operation servers.</value>
public virtual IReadOnlyDictionary<string, List<IReadOnlyDictionary<string, object>>> OperationServers
{
get { return _operationServers; }
set
{
if (value == null)
{
throw new InvalidOperationException("Operation servers may not be null.");
}
_operationServers = value;
}
}
/// <summary>
/// Returns URL based on server settings without providing values
/// for the variables
/// </summary>
/// <param name="index">Array index of the server settings.</param>
/// <return>The server URL.</return>
public string GetServerUrl(int index)
{
return GetServerUrl(Servers, index, null);
}
/// <summary>
/// Returns URL based on server settings.
/// </summary>
/// <param name="index">Array index of the server settings.</param>
/// <param name="inputVariables">Dictionary of the variables and the corresponding values.</param>
/// <return>The server URL.</return>
public string GetServerUrl(int index, Dictionary<string, string> inputVariables)
{
return GetServerUrl(Servers, index, inputVariables);
}
/// <summary>
/// Returns URL based on operation server settings.
/// </summary>
/// <param name="operation">Operation associated with the request path.</param>
/// <param name="index">Array index of the server settings.</param>
/// <return>The operation server URL.</return>
public string GetOperationServerUrl(string operation, int index)
{
return GetOperationServerUrl(operation, index, null);
}
/// <summary>
/// Returns URL based on operation server settings.
/// </summary>
/// <param name="operation">Operation associated with the request path.</param>
/// <param name="index">Array index of the server settings.</param>
/// <param name="inputVariables">Dictionary of the variables and the corresponding values.</param>
/// <return>The operation server URL.</return>
public string GetOperationServerUrl(string operation, int index, Dictionary<string, string> inputVariables)
{
if (operation != null && OperationServers.TryGetValue(operation, out var operationServer))
{
return GetServerUrl(operationServer, index, inputVariables);
}
return null;
}
/// <summary>
/// Returns URL based on server settings.
/// </summary>
/// <param name="servers">Dictionary of server settings.</param>
/// <param name="index">Array index of the server settings.</param>
/// <param name="inputVariables">Dictionary of the variables and the corresponding values.</param>
/// <return>The server URL.</return>
private string GetServerUrl(IList<IReadOnlyDictionary<string, object>> servers, int index, Dictionary<string, string> inputVariables)
{
if (index < 0 || index >= servers.Count)
{
throw new InvalidOperationException($"Invalid index {index} when selecting the server. Must be less than {servers.Count}.");
}
if (inputVariables == null)
{
inputVariables = new Dictionary<string, string>();
}
IReadOnlyDictionary<string, object> server = servers[index];
string url = (string)server["url"];
if (server.ContainsKey("variables"))
{
// go through each variable and assign a value
foreach (KeyValuePair<string, object> variable in (IReadOnlyDictionary<string, object>)server["variables"])
{
IReadOnlyDictionary<string, object> serverVariables = (IReadOnlyDictionary<string, object>)(variable.Value);
if (inputVariables.ContainsKey(variable.Key))
{
if (((List<string>)serverVariables["enum_values"]).Contains(inputVariables[variable.Key]))
{
url = url.Replace("{" + variable.Key + "}", inputVariables[variable.Key]);
}
else
{
throw new InvalidOperationException($"The variable `{variable.Key}` in the server URL has invalid value #{inputVariables[variable.Key]}. Must be {(List<string>)serverVariables["enum_values"]}");
}
}
else
{
// use default value
url = url.Replace("{" + variable.Key + "}", (string)serverVariables["default_value"]);
}
}
}
return url;
}
/// <summary>
/// Gets and Sets the RemoteCertificateValidationCallback
/// </summary>
public RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; set; }
#endregion Properties
#region Methods
/// <summary>
/// Returns a string with essential information for debugging.
/// </summary>
public static string ToDebugReport()
{
string report = "C# SDK (ProxmoxSharp) Debug Report:\n";
report += " OS: " + System.Environment.OSVersion + "\n";
report += " .NET Framework Version: " + System.Environment.Version + "\n";
report += " Version of the API: 2.0\n";
report += " SDK Package Version: 1.0.0\n";
return report;
}
/// <summary>
/// Add Api Key Header.
/// </summary>
/// <param name="key">Api Key name.</param>
/// <param name="value">Api Key value.</param>
/// <returns></returns>
public void AddApiKey(string key, string value)
{
ApiKey[key] = value;
}
/// <summary>
/// Sets the API key prefix.
/// </summary>
/// <param name="key">Api Key name.</param>
/// <param name="value">Api Key value.</param>
public void AddApiKeyPrefix(string key, string value)
{
ApiKeyPrefix[key] = value;
}
#endregion Methods
#region Static Members
/// <summary>
/// Merge configurations.
/// </summary>
/// <param name="first">First configuration.</param>
/// <param name="second">Second configuration.</param>
/// <return>Merged configuration.</return>
public static IReadableConfiguration MergeConfigurations(IReadableConfiguration first, IReadableConfiguration second)
{
if (second == null) return first ?? GlobalConfiguration.Instance;
Dictionary<string, string> apiKey = first.ApiKey.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
Dictionary<string, string> apiKeyPrefix = first.ApiKeyPrefix.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
Dictionary<string, string> defaultHeaders = first.DefaultHeaders.ToDictionary(kvp => kvp.Key, kvp => kvp.Value);
foreach (var kvp in second.ApiKey) apiKey[kvp.Key] = kvp.Value;
foreach (var kvp in second.ApiKeyPrefix) apiKeyPrefix[kvp.Key] = kvp.Value;
foreach (var kvp in second.DefaultHeaders) defaultHeaders[kvp.Key] = kvp.Value;
var config = new Configuration
{
ApiKey = apiKey,
ApiKeyPrefix = apiKeyPrefix,
DefaultHeaders = defaultHeaders,
BasePath = second.BasePath ?? first.BasePath,
Timeout = second.Timeout,
Proxy = second.Proxy ?? first.Proxy,
UserAgent = second.UserAgent ?? first.UserAgent,
Username = second.Username ?? first.Username,
Password = second.Password ?? first.Password,
AccessToken = second.AccessToken ?? first.AccessToken,
TempFolderPath = second.TempFolderPath ?? first.TempFolderPath,
DateTimeFormat = second.DateTimeFormat ?? first.DateTimeFormat,
ClientCertificates = second.ClientCertificates ?? first.ClientCertificates,
UseDefaultCredentials = second.UseDefaultCredentials,
RemoteCertificateValidationCallback = second.RemoteCertificateValidationCallback ?? first.RemoteCertificateValidationCallback,
};
return config;
}
#endregion Static Members
}
}

View file

@ -0,0 +1,23 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
namespace ProxmoxSharp.Client
{
/// <summary>
/// A delegate to ExceptionFactory method
/// </summary>
/// <param name="methodName">Method name</param>
/// <param name="response">Response</param>
/// <returns>Exceptions</returns>
public delegate Exception ExceptionFactory(string methodName, IApiResponse response);
}

View file

@ -0,0 +1,68 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System.Collections.Generic;
namespace ProxmoxSharp.Client
{
/// <summary>
/// <see cref="GlobalConfiguration"/> provides a compile-time extension point for globally configuring
/// API Clients.
/// </summary>
/// <remarks>
/// A customized implementation via partial class may reside in another file and may
/// be excluded from automatic generation via a .openapi-generator-ignore file.
/// </remarks>
public partial class GlobalConfiguration : Configuration
{
#region Private Members
private static readonly object GlobalConfigSync = new { };
private static IReadableConfiguration _globalConfiguration;
#endregion Private Members
#region Constructors
/// <inheritdoc />
private GlobalConfiguration()
{
}
/// <inheritdoc />
public GlobalConfiguration(IDictionary<string, string> defaultHeader, IDictionary<string, string> apiKey, IDictionary<string, string> apiKeyPrefix, string basePath = "http://localhost:3000/api") : base(defaultHeader, apiKey, apiKeyPrefix, basePath)
{
}
static GlobalConfiguration()
{
Instance = new GlobalConfiguration();
}
#endregion Constructors
/// <summary>
/// Gets or sets the default Configuration.
/// </summary>
/// <value>Configuration.</value>
public static IReadableConfiguration Instance
{
get { return _globalConfiguration; }
set
{
lock (GlobalConfigSync)
{
_globalConfiguration = value;
}
}
}
}
}

View file

@ -0,0 +1,34 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
namespace ProxmoxSharp.Client
{
/// <summary>
/// Http methods supported by swagger
/// </summary>
public enum HttpMethod
{
/// <summary>HTTP GET request.</summary>
Get,
/// <summary>HTTP POST request.</summary>
Post,
/// <summary>HTTP PUT request.</summary>
Put,
/// <summary>HTTP DELETE request.</summary>
Delete,
/// <summary>HTTP HEAD request.</summary>
Head,
/// <summary>HTTP OPTIONS request.</summary>
Options,
/// <summary>HTTP PATCH request.</summary>
Patch
}
}

View file

@ -0,0 +1,38 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
namespace ProxmoxSharp.Client
{
/// <summary>
/// Represents configuration aspects required to interact with the API endpoints.
/// </summary>
public interface IApiAccessor
{
/// <summary>
/// Gets or sets the configuration object
/// </summary>
/// <value>An instance of the Configuration</value>
IReadableConfiguration Configuration { get; set; }
/// <summary>
/// Gets the base path of the API client.
/// </summary>
/// <value>The base path</value>
string GetBasePath();
/// <summary>
/// Provides a factory method hook for the creation of exceptions.
/// </summary>
ExceptionFactory ExceptionFactory { get; set; }
}
}

View file

@ -0,0 +1,101 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Threading.Tasks;
namespace ProxmoxSharp.Client
{
/// <summary>
/// Contract for Asynchronous RESTful API interactions.
///
/// This interface allows consumers to provide a custom API accessor client.
/// </summary>
public interface IAsynchronousClient
{
/// <summary>
/// Executes a non-blocking call to some <paramref name="path"/> using the GET http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>A task eventually representing the response data, decorated with <see cref="ApiResponse{T}"/></returns>
Task<ApiResponse<T>> GetAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
/// <summary>
/// Executes a non-blocking call to some <paramref name="path"/> using the POST http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>A task eventually representing the response data, decorated with <see cref="ApiResponse{T}"/></returns>
Task<ApiResponse<T>> PostAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
/// <summary>
/// Executes a non-blocking call to some <paramref name="path"/> using the PUT http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>A task eventually representing the response data, decorated with <see cref="ApiResponse{T}"/></returns>
Task<ApiResponse<T>> PutAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
/// <summary>
/// Executes a non-blocking call to some <paramref name="path"/> using the DELETE http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>A task eventually representing the response data, decorated with <see cref="ApiResponse{T}"/></returns>
Task<ApiResponse<T>> DeleteAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
/// <summary>
/// Executes a non-blocking call to some <paramref name="path"/> using the HEAD http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>A task eventually representing the response data, decorated with <see cref="ApiResponse{T}"/></returns>
Task<ApiResponse<T>> HeadAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
/// <summary>
/// Executes a non-blocking call to some <paramref name="path"/> using the OPTIONS http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>A task eventually representing the response data, decorated with <see cref="ApiResponse{T}"/></returns>
Task<ApiResponse<T>> OptionsAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
/// <summary>
/// Executes a non-blocking call to some <paramref name="path"/> using the PATCH http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <param name="cancellationToken">Cancellation Token to cancel the request.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>A task eventually representing the response data, decorated with <see cref="ApiResponse{T}"/></returns>
Task<ApiResponse<T>> PatchAsync<T>(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
}
}

View file

@ -0,0 +1,142 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
namespace ProxmoxSharp.Client
{
/// <summary>
/// Represents a readable-only configuration contract.
/// </summary>
public interface IReadableConfiguration
{
/// <summary>
/// Gets the access token.
/// </summary>
/// <value>Access token.</value>
string AccessToken { get; }
/// <summary>
/// Gets the API key.
/// </summary>
/// <value>API key.</value>
IDictionary<string, string> ApiKey { get; }
/// <summary>
/// Gets the API key prefix.
/// </summary>
/// <value>API key prefix.</value>
IDictionary<string, string> ApiKeyPrefix { get; }
/// <summary>
/// Gets the base path.
/// </summary>
/// <value>Base path.</value>
string BasePath { get; }
/// <summary>
/// Gets the date time format.
/// </summary>
/// <value>Date time format.</value>
string DateTimeFormat { get; }
/// <summary>
/// Gets the default header.
/// </summary>
/// <value>Default header.</value>
[Obsolete("Use DefaultHeaders instead.")]
IDictionary<string, string> DefaultHeader { get; }
/// <summary>
/// Gets the default headers.
/// </summary>
/// <value>Default headers.</value>
IDictionary<string, string> DefaultHeaders { get; }
/// <summary>
/// Gets the temp folder path.
/// </summary>
/// <value>Temp folder path.</value>
string TempFolderPath { get; }
/// <summary>
/// Gets the HTTP connection timeout.
/// </summary>
/// <value>HTTP connection timeout.</value>
TimeSpan Timeout { get; }
/// <summary>
/// Gets the proxy.
/// </summary>
/// <value>Proxy.</value>
WebProxy Proxy { get; }
/// <summary>
/// Gets the user agent.
/// </summary>
/// <value>User agent.</value>
string UserAgent { get; }
/// <summary>
/// Gets the username.
/// </summary>
/// <value>Username.</value>
string Username { get; }
/// <summary>
/// Gets the password.
/// </summary>
/// <value>Password.</value>
string Password { get; }
/// <summary>
/// Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) will be sent along to the server. The default is false.
/// </summary>
bool UseDefaultCredentials { get; }
/// <summary>
/// Get the servers associated with the operation.
/// </summary>
/// <value>Operation servers.</value>
IReadOnlyDictionary<string, List<IReadOnlyDictionary<string, object>>> OperationServers { get; }
/// <summary>
/// Gets the API key with prefix.
/// </summary>
/// <param name="apiKeyIdentifier">API key identifier (authentication scheme).</param>
/// <returns>API key with prefix.</returns>
string GetApiKeyWithPrefix(string apiKeyIdentifier);
/// <summary>
/// Gets the Operation server url at the provided index.
/// </summary>
/// <param name="operation">Operation server name.</param>
/// <param name="index">Index of the operation server settings.</param>
/// <returns></returns>
string GetOperationServerUrl(string operation, int index);
/// <summary>
/// Gets certificate collection to be sent with requests.
/// </summary>
/// <value>X509 Certificate collection.</value>
X509CertificateCollection ClientCertificates { get; }
/// <summary>
/// Callback function for handling the validation of remote certificates. Useful for certificate pinning and
/// overriding certificate errors in the scope of a request.
/// </summary>
RemoteCertificateValidationCallback RemoteCertificateValidationCallback { get; }
}
}

View file

@ -0,0 +1,94 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.IO;
namespace ProxmoxSharp.Client
{
/// <summary>
/// Contract for Synchronous RESTful API interactions.
///
/// This interface allows consumers to provide a custom API accessor client.
/// </summary>
public interface ISynchronousClient
{
/// <summary>
/// Executes a blocking call to some <paramref name="path"/> using the GET http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>The response data, decorated with <see cref="ApiResponse{T}"/></returns>
ApiResponse<T> Get<T>(string path, RequestOptions options, IReadableConfiguration configuration = null);
/// <summary>
/// Executes a blocking call to some <paramref name="path"/> using the POST http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>The response data, decorated with <see cref="ApiResponse{T}"/></returns>
ApiResponse<T> Post<T>(string path, RequestOptions options, IReadableConfiguration configuration = null);
/// <summary>
/// Executes a blocking call to some <paramref name="path"/> using the PUT http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>The response data, decorated with <see cref="ApiResponse{T}"/></returns>
ApiResponse<T> Put<T>(string path, RequestOptions options, IReadableConfiguration configuration = null);
/// <summary>
/// Executes a blocking call to some <paramref name="path"/> using the DELETE http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>The response data, decorated with <see cref="ApiResponse{T}"/></returns>
ApiResponse<T> Delete<T>(string path, RequestOptions options, IReadableConfiguration configuration = null);
/// <summary>
/// Executes a blocking call to some <paramref name="path"/> using the HEAD http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>The response data, decorated with <see cref="ApiResponse{T}"/></returns>
ApiResponse<T> Head<T>(string path, RequestOptions options, IReadableConfiguration configuration = null);
/// <summary>
/// Executes a blocking call to some <paramref name="path"/> using the OPTIONS http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>The response data, decorated with <see cref="ApiResponse{T}"/></returns>
ApiResponse<T> Options<T>(string path, RequestOptions options, IReadableConfiguration configuration = null);
/// <summary>
/// Executes a blocking call to some <paramref name="path"/> using the PATCH http verb.
/// </summary>
/// <param name="path">The relative path to invoke.</param>
/// <param name="options">The request parameters to pass along to the client.</param>
/// <param name="configuration">Per-request configurable settings.</param>
/// <typeparam name="T">The return type.</typeparam>
/// <returns>The response data, decorated with <see cref="ApiResponse{T}"/></returns>
ApiResponse<T> Patch<T>(string path, RequestOptions options, IReadableConfiguration configuration = null);
}
}

View file

@ -0,0 +1,296 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
namespace ProxmoxSharp.Client
{
/// <summary>
/// A dictionary in which one key has many associated values.
/// </summary>
/// <typeparam name="TKey">The type of the key</typeparam>
/// <typeparam name="TValue">The type of the value associated with the key.</typeparam>
public class Multimap<TKey, TValue> : IDictionary<TKey, IList<TValue>>
{
#region Private Fields
private readonly Dictionary<TKey, IList<TValue>> _dictionary;
#endregion Private Fields
#region Constructors
/// <summary>
/// Empty Constructor.
/// </summary>
public Multimap()
{
_dictionary = new Dictionary<TKey, IList<TValue>>();
}
/// <summary>
/// Constructor with comparer.
/// </summary>
/// <param name="comparer"></param>
public Multimap(IEqualityComparer<TKey> comparer)
{
_dictionary = new Dictionary<TKey, IList<TValue>>(comparer);
}
#endregion Constructors
#region Enumerators
/// <summary>
/// To get the enumerator.
/// </summary>
/// <returns>Enumerator</returns>
public IEnumerator<KeyValuePair<TKey, IList<TValue>>> GetEnumerator()
{
return _dictionary.GetEnumerator();
}
/// <summary>
/// To get the enumerator.
/// </summary>
/// <returns>Enumerator</returns>
IEnumerator IEnumerable.GetEnumerator()
{
return _dictionary.GetEnumerator();
}
#endregion Enumerators
#region Public Members
/// <summary>
/// Add values to Multimap
/// </summary>
/// <param name="item">Key value pair</param>
public void Add(KeyValuePair<TKey, IList<TValue>> item)
{
if (!TryAdd(item.Key, item.Value))
throw new InvalidOperationException("Could not add values to Multimap.");
}
/// <summary>
/// Add Multimap to Multimap
/// </summary>
/// <param name="multimap">Multimap</param>
public void Add(Multimap<TKey, TValue> multimap)
{
foreach (var item in multimap)
{
if (!TryAdd(item.Key, item.Value))
throw new InvalidOperationException("Could not add values to Multimap.");
}
}
/// <summary>
/// Clear Multimap
/// </summary>
public void Clear()
{
_dictionary.Clear();
}
/// <summary>
/// Determines whether Multimap contains the specified item.
/// </summary>
/// <param name="item">Key value pair</param>
/// <exception cref="NotImplementedException">Method needs to be implemented</exception>
/// <returns>true if the Multimap contains the item; otherwise, false.</returns>
public bool Contains(KeyValuePair<TKey, IList<TValue>> item)
{
throw new NotImplementedException();
}
/// <summary>
/// Copy items of the Multimap to an array,
/// starting at a particular array index.
/// </summary>
/// <param name="array">The array that is the destination of the items copied
/// from Multimap. The array must have zero-based indexing.</param>
/// <param name="arrayIndex">The zero-based index in array at which copying begins.</param>
/// <exception cref="NotImplementedException">Method needs to be implemented</exception>
public void CopyTo(KeyValuePair<TKey, IList<TValue>>[] array, int arrayIndex)
{
throw new NotImplementedException();
}
/// <summary>
/// Removes the specified item from the Multimap.
/// </summary>
/// <param name="item">Key value pair</param>
/// <returns>true if the item is successfully removed; otherwise, false.</returns>
/// <exception cref="NotImplementedException">Method needs to be implemented</exception>
public bool Remove(KeyValuePair<TKey, IList<TValue>> item)
{
throw new NotImplementedException();
}
/// <summary>
/// Gets the number of items contained in the Multimap.
/// </summary>
public int Count => _dictionary.Count;
/// <summary>
/// Gets a value indicating whether the Multimap is read-only.
/// </summary>
public bool IsReadOnly => false;
/// <summary>
/// Adds an item with the provided key and value to the Multimap.
/// </summary>
/// <param name="key">The object to use as the key of the item to add.</param>
/// <param name="value">The object to use as the value of the item to add.</param>
/// <exception cref="InvalidOperationException">Thrown when couldn't add the value to Multimap.</exception>
public void Add(TKey key, IList<TValue> value)
{
if (value != null && value.Count > 0)
{
if (_dictionary.TryGetValue(key, out var list))
{
foreach (var k in value) list.Add(k);
}
else
{
list = new List<TValue>(value);
if (!TryAdd(key, list))
throw new InvalidOperationException("Could not add values to Multimap.");
}
}
}
/// <summary>
/// Determines whether the Multimap contains an item with the specified key.
/// </summary>
/// <param name="key">The key to locate in the Multimap.</param>
/// <returns>true if the Multimap contains an item with
/// the key; otherwise, false.</returns>
public bool ContainsKey(TKey key)
{
return _dictionary.ContainsKey(key);
}
/// <summary>
/// Removes item with the specified key from the Multimap.
/// </summary>
/// <param name="key">The key to locate in the Multimap.</param>
/// <returns>true if the item is successfully removed; otherwise, false.</returns>
public bool Remove(TKey key)
{
return TryRemove(key, out var _);
}
/// <summary>
/// Gets the value associated with the specified key.
/// </summary>
/// <param name="key">The key whose value to get.</param>
/// <param name="value">When this method returns, the value associated with the specified key, if the
/// key is found; otherwise, the default value for the type of the value parameter.
/// This parameter is passed uninitialized.</param>
/// <returns> true if the object that implements Multimap contains
/// an item with the specified key; otherwise, false.</returns>
public bool TryGetValue(TKey key, out IList<TValue> value)
{
return _dictionary.TryGetValue(key, out value);
}
/// <summary>
/// Gets or sets the item with the specified key.
/// </summary>
/// <param name="key">The key of the item to get or set.</param>
/// <returns>The value of the specified key.</returns>
public IList<TValue> this[TKey key]
{
get => _dictionary[key];
set => _dictionary[key] = value;
}
/// <summary>
/// Gets a System.Collections.Generic.ICollection containing the keys of the Multimap.
/// </summary>
public ICollection<TKey> Keys => _dictionary.Keys;
/// <summary>
/// Gets a System.Collections.Generic.ICollection containing the values of the Multimap.
/// </summary>
public ICollection<IList<TValue>> Values => _dictionary.Values;
/// <summary>
/// Copy the items of the Multimap to an System.Array,
/// starting at a particular System.Array index.
/// </summary>
/// <param name="array">The one-dimensional System.Array that is the destination of the items copied
/// from Multimap. The System.Array must have zero-based indexing.</param>
/// <param name="index">The zero-based index in array at which copying begins.</param>
public void CopyTo(Array array, int index)
{
((ICollection)_dictionary).CopyTo(array, index);
}
/// <summary>
/// Adds an item with the provided key and value to the Multimap.
/// </summary>
/// <param name="key">The object to use as the key of the item to add.</param>
/// <param name="value">The object to use as the value of the item to add.</param>
/// <exception cref="InvalidOperationException">Thrown when couldn't add value to Multimap.</exception>
public void Add(TKey key, TValue value)
{
if (value != null)
{
if (_dictionary.TryGetValue(key, out var list))
{
list.Add(value);
}
else
{
list = new List<TValue> { value };
if (!TryAdd(key, list))
throw new InvalidOperationException("Could not add value to Multimap.");
}
}
}
#endregion Public Members
#region Private Members
/**
* Helper method to encapsulate generator differences between dictionary types.
*/
private bool TryRemove(TKey key, out IList<TValue> value)
{
_dictionary.TryGetValue(key, out value);
return _dictionary.Remove(key);
}
/**
* Helper method to encapsulate generator differences between dictionary types.
*/
private bool TryAdd(TKey key, IList<TValue> value)
{
try
{
_dictionary.Add(key, value);
}
catch (ArgumentException)
{
return false;
}
return true;
}
#endregion Private Members
}
}

View file

@ -0,0 +1,30 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using Newtonsoft.Json.Converters;
namespace ProxmoxSharp.Client
{
/// <summary>
/// Formatter for 'date' openapi formats ss defined by full-date - RFC3339
/// see https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#data-types
/// </summary>
public class OpenAPIDateConverter : IsoDateTimeConverter
{
/// <summary>
/// Initializes a new instance of the <see cref="OpenAPIDateConverter" /> class.
/// </summary>
public OpenAPIDateConverter()
{
// full-date = date-fullyear "-" date-month "-" date-mday
DateTimeFormat = "yyyy-MM-dd";
}
}
}

View file

@ -0,0 +1,85 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
namespace ProxmoxSharp.Client
{
/// <summary>
/// A container for generalized request inputs. This type allows consumers to extend the request functionality
/// by abstracting away from the default (built-in) request framework (e.g. RestSharp).
/// </summary>
public class RequestOptions
{
/// <summary>
/// Parameters to be bound to path parts of the Request's URL
/// </summary>
public Dictionary<string, string> PathParameters { get; set; }
/// <summary>
/// Query parameters to be applied to the request.
/// Keys may have 1 or more values associated.
/// </summary>
public Multimap<string, string> QueryParameters { get; set; }
/// <summary>
/// Header parameters to be applied to the request.
/// Keys may have 1 or more values associated.
/// </summary>
public Multimap<string, string> HeaderParameters { get; set; }
/// <summary>
/// Form parameters to be sent along with the request.
/// </summary>
public Dictionary<string, string> FormParameters { get; set; }
/// <summary>
/// File parameters to be sent along with the request.
/// </summary>
public Multimap<string, Stream> FileParameters { get; set; }
/// <summary>
/// Cookies to be sent along with the request.
/// </summary>
public List<Cookie> Cookies { get; set; }
/// <summary>
/// Operation associated with the request path.
/// </summary>
public string Operation { get; set; }
/// <summary>
/// Index associated with the operation.
/// </summary>
public int OperationIndex { get; set; }
/// <summary>
/// Any data associated with a request body.
/// </summary>
public Object Data { get; set; }
/// <summary>
/// Constructs a new instance of <see cref="RequestOptions"/>
/// </summary>
public RequestOptions()
{
PathParameters = new Dictionary<string, string>();
QueryParameters = new Multimap<string, string>();
HeaderParameters = new Multimap<string, string>();
FormParameters = new Dictionary<string, string>();
FileParameters = new Multimap<string, Stream>();
Cookies = new List<Cookie>();
}
}
}

View file

@ -0,0 +1,32 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using Polly;
using RestSharp;
namespace ProxmoxSharp.Client
{
/// <summary>
/// Configuration class to set the polly retry policies to be applied to the requests.
/// </summary>
public static class RetryConfiguration
{
/// <summary>
/// Retry policy
/// </summary>
public static Policy<RestResponse> RetryPolicy { get; set; }
/// <summary>
/// Async retry policy
/// </summary>
public static AsyncPolicy<RestResponse> AsyncRetryPolicy { get; set; }
}
}

View file

@ -1,40 +0,0 @@
// Copyright (c) Tribufu. All Rights Reserved.
// SPDX-License-Identifier: MIT
using ProxmoxSharp.Models;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace ProxmoxSharp.Interfaces
{
public interface IProxmoxClient
{
Task<bool> LoginAsync(string username, string password);
Task<List<ProxmoxNode>> ListNodesAsync();
Task<ProxmoxNodeStatus> GetNodeStatusAsync(string node);
Task<List<ProxmoxVirtualMachine>> ListVirtualMachinesAsync(string node);
Task<ProxmoxVirtualMachineStatus> GetVirtualMachineStatusAsync(string node, int vmid);
Task<bool> CreateVirtualMachineAsync(string node, int vmid, string name, int memoryMb, int cores, string storage, string iso, string netConfig = "virtio,bridge=vmbr0");
Task<bool> StartVirtualMachineAsync(string node, int vmid);
Task<bool> RebootVirtualMachineAsync(string node, int vmid);
Task<bool> ResetVirtualMachineAsync(string node, int vmid);
Task<bool> SuspendVirtualMachineAsync(string node, int vmid);
Task<bool> ResumeVirtualMachineAsync(string node, int vmid);
Task<bool> ShutdownVirtualMachineAsync(string node, int vmid);
Task<bool> StopVirtualMachineAsync(string node, int vmid);
Task<List<ProxmoxContainer>> ListContainersAsync(string node);
}
}

View file

@ -0,0 +1,77 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
namespace ProxmoxSharp.Model
{
/// <summary>
/// Abstract base class for oneOf, anyOf schemas in the OpenAPI specification
/// </summary>
public abstract partial class AbstractOpenAPISchema
{
/// <summary>
/// Custom JSON serializer
/// </summary>
static public readonly JsonSerializerSettings SerializerSettings = new JsonSerializerSettings
{
// OpenAPI generated types generally hide default constructors.
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
MissingMemberHandling = MissingMemberHandling.Error,
ContractResolver = new DefaultContractResolver
{
NamingStrategy = new CamelCaseNamingStrategy
{
OverrideSpecifiedNames = false
}
}
};
/// <summary>
/// Custom JSON serializer for objects with additional properties
/// </summary>
static public readonly JsonSerializerSettings AdditionalPropertiesSerializerSettings = new JsonSerializerSettings
{
// OpenAPI generated types generally hide default constructors.
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor,
MissingMemberHandling = MissingMemberHandling.Ignore,
ContractResolver = new DefaultContractResolver
{
NamingStrategy = new CamelCaseNamingStrategy
{
OverrideSpecifiedNames = false
}
}
};
/// <summary>
/// Gets or Sets the actual instance
/// </summary>
public abstract Object ActualInstance { get; set; }
/// <summary>
/// Gets or Sets IsNullable to indicate whether the instance is nullable
/// </summary>
public bool IsNullable { get; protected set; }
/// <summary>
/// Gets or Sets the schema type, which can be either `oneOf` or `anyOf`
/// </summary>
public string SchemaType { get; protected set; }
/// <summary>
/// Converts the instance into JSON string.
/// </summary>
public abstract string ToJson();
}
}

View file

@ -0,0 +1,224 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// AddClusterFirewallGroupRuleRequest
/// </summary>
[DataContract(Name = "AddClusterFirewallGroupRuleRequest")]
public partial class AddClusterFirewallGroupRuleRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="AddClusterFirewallGroupRuleRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected AddClusterFirewallGroupRuleRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="AddClusterFirewallGroupRuleRequest" /> class.
/// </summary>
/// <param name="action">action (required).</param>
/// <param name="comment">comment.</param>
/// <param name="dest">dest.</param>
/// <param name="digest">digest.</param>
/// <param name="dport">dport.</param>
/// <param name="enable">enable.</param>
/// <param name="icmpType">icmpType.</param>
/// <param name="iface">iface.</param>
/// <param name="log">log.</param>
/// <param name="macro">macro.</param>
/// <param name="pos">pos.</param>
/// <param name="proto">proto.</param>
/// <param name="source">source.</param>
/// <param name="sport">sport.</param>
/// <param name="type">type (required).</param>
public AddClusterFirewallGroupRuleRequest(string action = default(string), string comment = default(string), string dest = default(string), string digest = default(string), string dport = default(string), int enable = default(int), string icmpType = default(string), string iface = default(string), string log = default(string), string macro = default(string), int pos = default(int), string proto = default(string), string source = default(string), string sport = default(string), string type = default(string))
{
// to ensure "action" is required (not null)
if (action == null)
{
throw new ArgumentNullException("action is a required property for AddClusterFirewallGroupRuleRequest and cannot be null");
}
this.Action = action;
// to ensure "type" is required (not null)
if (type == null)
{
throw new ArgumentNullException("type is a required property for AddClusterFirewallGroupRuleRequest and cannot be null");
}
this.Type = type;
this.Comment = comment;
this.Dest = dest;
this.Digest = digest;
this.Dport = dport;
this.Enable = enable;
this.IcmpType = icmpType;
this.Iface = iface;
this.Log = log;
this.Macro = macro;
this.Pos = pos;
this.Proto = proto;
this.Source = source;
this.Sport = sport;
}
/// <summary>
/// Gets or Sets Action
/// </summary>
[DataMember(Name = "action", IsRequired = true, EmitDefaultValue = true)]
public string Action { get; set; }
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Dest
/// </summary>
[DataMember(Name = "dest", EmitDefaultValue = false)]
public string Dest { get; set; }
/// <summary>
/// Gets or Sets Digest
/// </summary>
[DataMember(Name = "digest", EmitDefaultValue = false)]
public string Digest { get; set; }
/// <summary>
/// Gets or Sets Dport
/// </summary>
[DataMember(Name = "dport", EmitDefaultValue = false)]
public string Dport { get; set; }
/// <summary>
/// Gets or Sets Enable
/// </summary>
[DataMember(Name = "enable", EmitDefaultValue = false)]
public int Enable { get; set; }
/// <summary>
/// Gets or Sets IcmpType
/// </summary>
[DataMember(Name = "icmp-type", EmitDefaultValue = false)]
public string IcmpType { get; set; }
/// <summary>
/// Gets or Sets Iface
/// </summary>
[DataMember(Name = "iface", EmitDefaultValue = false)]
public string Iface { get; set; }
/// <summary>
/// Gets or Sets Log
/// </summary>
[DataMember(Name = "log", EmitDefaultValue = false)]
public string Log { get; set; }
/// <summary>
/// Gets or Sets Macro
/// </summary>
[DataMember(Name = "macro", EmitDefaultValue = false)]
public string Macro { get; set; }
/// <summary>
/// Gets or Sets Pos
/// </summary>
[DataMember(Name = "pos", EmitDefaultValue = false)]
public int Pos { get; set; }
/// <summary>
/// Gets or Sets Proto
/// </summary>
[DataMember(Name = "proto", EmitDefaultValue = false)]
public string Proto { get; set; }
/// <summary>
/// Gets or Sets Source
/// </summary>
[DataMember(Name = "source", EmitDefaultValue = false)]
public string Source { get; set; }
/// <summary>
/// Gets or Sets Sport
/// </summary>
[DataMember(Name = "sport", EmitDefaultValue = false)]
public string Sport { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public string Type { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class AddClusterFirewallGroupRuleRequest {\n");
sb.Append(" Action: ").Append(Action).Append("\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Dest: ").Append(Dest).Append("\n");
sb.Append(" Digest: ").Append(Digest).Append("\n");
sb.Append(" Dport: ").Append(Dport).Append("\n");
sb.Append(" Enable: ").Append(Enable).Append("\n");
sb.Append(" IcmpType: ").Append(IcmpType).Append("\n");
sb.Append(" Iface: ").Append(Iface).Append("\n");
sb.Append(" Log: ").Append(Log).Append("\n");
sb.Append(" Macro: ").Append(Macro).Append("\n");
sb.Append(" Pos: ").Append(Pos).Append("\n");
sb.Append(" Proto: ").Append(Proto).Append("\n");
sb.Append(" Source: ").Append(Source).Append("\n");
sb.Append(" Sport: ").Append(Sport).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,111 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// AddClusterFirewallIPSetIPRequest
/// </summary>
[DataContract(Name = "AddClusterFirewallIPSetIPRequest")]
public partial class AddClusterFirewallIPSetIPRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="AddClusterFirewallIPSetIPRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected AddClusterFirewallIPSetIPRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="AddClusterFirewallIPSetIPRequest" /> class.
/// </summary>
/// <param name="cidr">cidr (required).</param>
/// <param name="comment">comment.</param>
/// <param name="nomatch">nomatch.</param>
public AddClusterFirewallIPSetIPRequest(string cidr = default(string), string comment = default(string), bool nomatch = default(bool))
{
// to ensure "cidr" is required (not null)
if (cidr == null)
{
throw new ArgumentNullException("cidr is a required property for AddClusterFirewallIPSetIPRequest and cannot be null");
}
this.Cidr = cidr;
this.Comment = comment;
this.Nomatch = nomatch;
}
/// <summary>
/// Gets or Sets Cidr
/// </summary>
[DataMember(Name = "cidr", IsRequired = true, EmitDefaultValue = true)]
public string Cidr { get; set; }
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Nomatch
/// </summary>
[DataMember(Name = "nomatch", EmitDefaultValue = true)]
public bool Nomatch { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class AddClusterFirewallIPSetIPRequest {\n");
sb.Append(" Cidr: ").Append(Cidr).Append("\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Nomatch: ").Append(Nomatch).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,224 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// AddClusterFirewallRuleRequest
/// </summary>
[DataContract(Name = "AddClusterFirewallRuleRequest")]
public partial class AddClusterFirewallRuleRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="AddClusterFirewallRuleRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected AddClusterFirewallRuleRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="AddClusterFirewallRuleRequest" /> class.
/// </summary>
/// <param name="action">action (required).</param>
/// <param name="comment">comment.</param>
/// <param name="dest">dest.</param>
/// <param name="digest">digest.</param>
/// <param name="dport">dport.</param>
/// <param name="enable">enable.</param>
/// <param name="icmpType">icmpType.</param>
/// <param name="iface">iface.</param>
/// <param name="log">log.</param>
/// <param name="macro">macro.</param>
/// <param name="pos">pos.</param>
/// <param name="proto">proto.</param>
/// <param name="source">source.</param>
/// <param name="sport">sport.</param>
/// <param name="type">type (required).</param>
public AddClusterFirewallRuleRequest(string action = default(string), string comment = default(string), string dest = default(string), string digest = default(string), string dport = default(string), int enable = default(int), string icmpType = default(string), string iface = default(string), string log = default(string), string macro = default(string), int pos = default(int), string proto = default(string), string source = default(string), string sport = default(string), string type = default(string))
{
// to ensure "action" is required (not null)
if (action == null)
{
throw new ArgumentNullException("action is a required property for AddClusterFirewallRuleRequest and cannot be null");
}
this.Action = action;
// to ensure "type" is required (not null)
if (type == null)
{
throw new ArgumentNullException("type is a required property for AddClusterFirewallRuleRequest and cannot be null");
}
this.Type = type;
this.Comment = comment;
this.Dest = dest;
this.Digest = digest;
this.Dport = dport;
this.Enable = enable;
this.IcmpType = icmpType;
this.Iface = iface;
this.Log = log;
this.Macro = macro;
this.Pos = pos;
this.Proto = proto;
this.Source = source;
this.Sport = sport;
}
/// <summary>
/// Gets or Sets Action
/// </summary>
[DataMember(Name = "action", IsRequired = true, EmitDefaultValue = true)]
public string Action { get; set; }
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Dest
/// </summary>
[DataMember(Name = "dest", EmitDefaultValue = false)]
public string Dest { get; set; }
/// <summary>
/// Gets or Sets Digest
/// </summary>
[DataMember(Name = "digest", EmitDefaultValue = false)]
public string Digest { get; set; }
/// <summary>
/// Gets or Sets Dport
/// </summary>
[DataMember(Name = "dport", EmitDefaultValue = false)]
public string Dport { get; set; }
/// <summary>
/// Gets or Sets Enable
/// </summary>
[DataMember(Name = "enable", EmitDefaultValue = false)]
public int Enable { get; set; }
/// <summary>
/// Gets or Sets IcmpType
/// </summary>
[DataMember(Name = "icmp-type", EmitDefaultValue = false)]
public string IcmpType { get; set; }
/// <summary>
/// Gets or Sets Iface
/// </summary>
[DataMember(Name = "iface", EmitDefaultValue = false)]
public string Iface { get; set; }
/// <summary>
/// Gets or Sets Log
/// </summary>
[DataMember(Name = "log", EmitDefaultValue = false)]
public string Log { get; set; }
/// <summary>
/// Gets or Sets Macro
/// </summary>
[DataMember(Name = "macro", EmitDefaultValue = false)]
public string Macro { get; set; }
/// <summary>
/// Gets or Sets Pos
/// </summary>
[DataMember(Name = "pos", EmitDefaultValue = false)]
public int Pos { get; set; }
/// <summary>
/// Gets or Sets Proto
/// </summary>
[DataMember(Name = "proto", EmitDefaultValue = false)]
public string Proto { get; set; }
/// <summary>
/// Gets or Sets Source
/// </summary>
[DataMember(Name = "source", EmitDefaultValue = false)]
public string Source { get; set; }
/// <summary>
/// Gets or Sets Sport
/// </summary>
[DataMember(Name = "sport", EmitDefaultValue = false)]
public string Sport { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public string Type { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class AddClusterFirewallRuleRequest {\n");
sb.Append(" Action: ").Append(Action).Append("\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Dest: ").Append(Dest).Append("\n");
sb.Append(" Digest: ").Append(Digest).Append("\n");
sb.Append(" Dport: ").Append(Dport).Append("\n");
sb.Append(" Enable: ").Append(Enable).Append("\n");
sb.Append(" IcmpType: ").Append(IcmpType).Append("\n");
sb.Append(" Iface: ").Append(Iface).Append("\n");
sb.Append(" Log: ").Append(Log).Append("\n");
sb.Append(" Macro: ").Append(Macro).Append("\n");
sb.Append(" Pos: ").Append(Pos).Append("\n");
sb.Append(" Proto: ").Append(Proto).Append("\n");
sb.Append(" Source: ").Append(Source).Append("\n");
sb.Append(" Sport: ").Append(Sport).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,111 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// AddVMFirewallIPSetIPRequest
/// </summary>
[DataContract(Name = "AddVMFirewallIPSetIPRequest")]
public partial class AddVMFirewallIPSetIPRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="AddVMFirewallIPSetIPRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected AddVMFirewallIPSetIPRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="AddVMFirewallIPSetIPRequest" /> class.
/// </summary>
/// <param name="cidr">cidr (required).</param>
/// <param name="comment">comment.</param>
/// <param name="nomatch">nomatch.</param>
public AddVMFirewallIPSetIPRequest(string cidr = default(string), string comment = default(string), bool nomatch = default(bool))
{
// to ensure "cidr" is required (not null)
if (cidr == null)
{
throw new ArgumentNullException("cidr is a required property for AddVMFirewallIPSetIPRequest and cannot be null");
}
this.Cidr = cidr;
this.Comment = comment;
this.Nomatch = nomatch;
}
/// <summary>
/// Gets or Sets Cidr
/// </summary>
[DataMember(Name = "cidr", IsRequired = true, EmitDefaultValue = true)]
public string Cidr { get; set; }
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Nomatch
/// </summary>
[DataMember(Name = "nomatch", EmitDefaultValue = true)]
public bool Nomatch { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class AddVMFirewallIPSetIPRequest {\n");
sb.Append(" Cidr: ").Append(Cidr).Append("\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Nomatch: ").Append(Nomatch).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,169 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CloneVMRequest
/// </summary>
[DataContract(Name = "CloneVMRequest")]
public partial class CloneVMRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CloneVMRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CloneVMRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CloneVMRequest" /> class.
/// </summary>
/// <param name="bwlimit">bwlimit.</param>
/// <param name="description">description.</param>
/// <param name="format">format.</param>
/// <param name="full">full.</param>
/// <param name="name">name.</param>
/// <param name="newid">newid (required).</param>
/// <param name="pool">pool.</param>
/// <param name="snapname">snapname.</param>
/// <param name="storage">storage.</param>
/// <param name="target">target.</param>
public CloneVMRequest(int bwlimit = default(int), string description = default(string), string format = default(string), bool full = default(bool), string name = default(string), int newid = default(int), string pool = default(string), string snapname = default(string), string storage = default(string), string target = default(string))
{
this.Newid = newid;
this.Bwlimit = bwlimit;
this.Description = description;
this.Format = format;
this.Full = full;
this.Name = name;
this.Pool = pool;
this.Snapname = snapname;
this.Storage = storage;
this.Target = target;
}
/// <summary>
/// Gets or Sets Bwlimit
/// </summary>
[DataMember(Name = "bwlimit", EmitDefaultValue = false)]
public int Bwlimit { get; set; }
/// <summary>
/// Gets or Sets Description
/// </summary>
[DataMember(Name = "description", EmitDefaultValue = false)]
public string Description { get; set; }
/// <summary>
/// Gets or Sets Format
/// </summary>
[DataMember(Name = "format", EmitDefaultValue = false)]
public string Format { get; set; }
/// <summary>
/// Gets or Sets Full
/// </summary>
[DataMember(Name = "full", EmitDefaultValue = true)]
public bool Full { get; set; }
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", EmitDefaultValue = false)]
public string Name { get; set; }
/// <summary>
/// Gets or Sets Newid
/// </summary>
[DataMember(Name = "newid", IsRequired = true, EmitDefaultValue = true)]
public int Newid { get; set; }
/// <summary>
/// Gets or Sets Pool
/// </summary>
[DataMember(Name = "pool", EmitDefaultValue = false)]
public string Pool { get; set; }
/// <summary>
/// Gets or Sets Snapname
/// </summary>
[DataMember(Name = "snapname", EmitDefaultValue = false)]
public string Snapname { get; set; }
/// <summary>
/// Gets or Sets Storage
/// </summary>
[DataMember(Name = "storage", EmitDefaultValue = false)]
public string Storage { get; set; }
/// <summary>
/// Gets or Sets Target
/// </summary>
[DataMember(Name = "target", EmitDefaultValue = false)]
public string Target { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CloneVMRequest {\n");
sb.Append(" Bwlimit: ").Append(Bwlimit).Append("\n");
sb.Append(" Description: ").Append(Description).Append("\n");
sb.Append(" Format: ").Append(Format).Append("\n");
sb.Append(" Full: ").Append(Full).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" Newid: ").Append(Newid).Append("\n");
sb.Append(" Pool: ").Append(Pool).Append("\n");
sb.Append(" Snapname: ").Append(Snapname).Append("\n");
sb.Append(" Storage: ").Append(Storage).Append("\n");
sb.Append(" Target: ").Append(Target).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,467 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessDomainsRequest
/// </summary>
[DataContract(Name = "CreateAccessDomainsRequest")]
public partial class CreateAccessDomainsRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessDomainsRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateAccessDomainsRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessDomainsRequest" /> class.
/// </summary>
/// <param name="acrValues">acrValues.</param>
/// <param name="autocreate">autocreate.</param>
/// <param name="baseDn">baseDn.</param>
/// <param name="bindDn">bindDn.</param>
/// <param name="capath">capath.</param>
/// <param name="caseSensitive">caseSensitive.</param>
/// <param name="cert">cert.</param>
/// <param name="certkey">certkey.</param>
/// <param name="checkConnection">checkConnection.</param>
/// <param name="clientId">clientId.</param>
/// <param name="clientKey">clientKey.</param>
/// <param name="comment">comment.</param>
/// <param name="varDefault">varDefault.</param>
/// <param name="domain">domain.</param>
/// <param name="filter">filter.</param>
/// <param name="groupClasses">groupClasses.</param>
/// <param name="groupDn">groupDn.</param>
/// <param name="groupFilter">groupFilter.</param>
/// <param name="groupNameAttr">groupNameAttr.</param>
/// <param name="groupsAutocreate">groupsAutocreate.</param>
/// <param name="groupsClaim">groupsClaim.</param>
/// <param name="groupsOverwrite">groupsOverwrite.</param>
/// <param name="issuerUrl">issuerUrl.</param>
/// <param name="mode">mode.</param>
/// <param name="password">password.</param>
/// <param name="port">port.</param>
/// <param name="prompt">prompt.</param>
/// <param name="queryUserinfo">queryUserinfo.</param>
/// <param name="realm">realm (required).</param>
/// <param name="scopes">scopes.</param>
/// <param name="secure">secure.</param>
/// <param name="server1">server1.</param>
/// <param name="server2">server2.</param>
/// <param name="sslversion">sslversion.</param>
/// <param name="syncDefaultsOptions">syncDefaultsOptions.</param>
/// <param name="syncAttributes">syncAttributes.</param>
/// <param name="tfa">tfa.</param>
/// <param name="type">type (required).</param>
/// <param name="userAttr">userAttr.</param>
/// <param name="userClasses">userClasses.</param>
/// <param name="usernameClaim">usernameClaim.</param>
/// <param name="verify">verify.</param>
public CreateAccessDomainsRequest(string acrValues = default(string), bool autocreate = default(bool), string baseDn = default(string), string bindDn = default(string), string capath = default(string), bool caseSensitive = default(bool), string cert = default(string), string certkey = default(string), bool checkConnection = default(bool), string clientId = default(string), string clientKey = default(string), string comment = default(string), bool varDefault = default(bool), string domain = default(string), string filter = default(string), string groupClasses = default(string), string groupDn = default(string), string groupFilter = default(string), string groupNameAttr = default(string), bool groupsAutocreate = default(bool), string groupsClaim = default(string), bool groupsOverwrite = default(bool), string issuerUrl = default(string), string mode = default(string), string password = default(string), int port = default(int), string prompt = default(string), bool queryUserinfo = default(bool), string realm = default(string), string scopes = default(string), bool secure = default(bool), string server1 = default(string), string server2 = default(string), string sslversion = default(string), string syncDefaultsOptions = default(string), string syncAttributes = default(string), string tfa = default(string), string type = default(string), string userAttr = default(string), string userClasses = default(string), string usernameClaim = default(string), bool verify = default(bool))
{
// to ensure "realm" is required (not null)
if (realm == null)
{
throw new ArgumentNullException("realm is a required property for CreateAccessDomainsRequest and cannot be null");
}
this.Realm = realm;
// to ensure "type" is required (not null)
if (type == null)
{
throw new ArgumentNullException("type is a required property for CreateAccessDomainsRequest and cannot be null");
}
this.Type = type;
this.AcrValues = acrValues;
this.Autocreate = autocreate;
this.BaseDn = baseDn;
this.BindDn = bindDn;
this.Capath = capath;
this.CaseSensitive = caseSensitive;
this.Cert = cert;
this.Certkey = certkey;
this.CheckConnection = checkConnection;
this.ClientId = clientId;
this.ClientKey = clientKey;
this.Comment = comment;
this.Default = varDefault;
this.Domain = domain;
this.Filter = filter;
this.GroupClasses = groupClasses;
this.GroupDn = groupDn;
this.GroupFilter = groupFilter;
this.GroupNameAttr = groupNameAttr;
this.GroupsAutocreate = groupsAutocreate;
this.GroupsClaim = groupsClaim;
this.GroupsOverwrite = groupsOverwrite;
this.IssuerUrl = issuerUrl;
this.Mode = mode;
this.Password = password;
this.Port = port;
this.Prompt = prompt;
this.QueryUserinfo = queryUserinfo;
this.Scopes = scopes;
this.Secure = secure;
this.Server1 = server1;
this.Server2 = server2;
this.Sslversion = sslversion;
this.SyncDefaultsOptions = syncDefaultsOptions;
this.SyncAttributes = syncAttributes;
this.Tfa = tfa;
this.UserAttr = userAttr;
this.UserClasses = userClasses;
this.UsernameClaim = usernameClaim;
this.Verify = verify;
}
/// <summary>
/// Gets or Sets AcrValues
/// </summary>
[DataMember(Name = "acr-values", EmitDefaultValue = false)]
public string AcrValues { get; set; }
/// <summary>
/// Gets or Sets Autocreate
/// </summary>
[DataMember(Name = "autocreate", EmitDefaultValue = true)]
public bool Autocreate { get; set; }
/// <summary>
/// Gets or Sets BaseDn
/// </summary>
[DataMember(Name = "base_dn", EmitDefaultValue = false)]
public string BaseDn { get; set; }
/// <summary>
/// Gets or Sets BindDn
/// </summary>
[DataMember(Name = "bind_dn", EmitDefaultValue = false)]
public string BindDn { get; set; }
/// <summary>
/// Gets or Sets Capath
/// </summary>
[DataMember(Name = "capath", EmitDefaultValue = false)]
public string Capath { get; set; }
/// <summary>
/// Gets or Sets CaseSensitive
/// </summary>
[DataMember(Name = "case-sensitive", EmitDefaultValue = true)]
public bool CaseSensitive { get; set; }
/// <summary>
/// Gets or Sets Cert
/// </summary>
[DataMember(Name = "cert", EmitDefaultValue = false)]
public string Cert { get; set; }
/// <summary>
/// Gets or Sets Certkey
/// </summary>
[DataMember(Name = "certkey", EmitDefaultValue = false)]
public string Certkey { get; set; }
/// <summary>
/// Gets or Sets CheckConnection
/// </summary>
[DataMember(Name = "check-connection", EmitDefaultValue = true)]
public bool CheckConnection { get; set; }
/// <summary>
/// Gets or Sets ClientId
/// </summary>
[DataMember(Name = "client-id", EmitDefaultValue = false)]
public string ClientId { get; set; }
/// <summary>
/// Gets or Sets ClientKey
/// </summary>
[DataMember(Name = "client-key", EmitDefaultValue = false)]
public string ClientKey { get; set; }
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Default
/// </summary>
[DataMember(Name = "default", EmitDefaultValue = true)]
public bool Default { get; set; }
/// <summary>
/// Gets or Sets Domain
/// </summary>
[DataMember(Name = "domain", EmitDefaultValue = false)]
public string Domain { get; set; }
/// <summary>
/// Gets or Sets Filter
/// </summary>
[DataMember(Name = "filter", EmitDefaultValue = false)]
public string Filter { get; set; }
/// <summary>
/// Gets or Sets GroupClasses
/// </summary>
[DataMember(Name = "group_classes", EmitDefaultValue = false)]
public string GroupClasses { get; set; }
/// <summary>
/// Gets or Sets GroupDn
/// </summary>
[DataMember(Name = "group_dn", EmitDefaultValue = false)]
public string GroupDn { get; set; }
/// <summary>
/// Gets or Sets GroupFilter
/// </summary>
[DataMember(Name = "group_filter", EmitDefaultValue = false)]
public string GroupFilter { get; set; }
/// <summary>
/// Gets or Sets GroupNameAttr
/// </summary>
[DataMember(Name = "group_name_attr", EmitDefaultValue = false)]
public string GroupNameAttr { get; set; }
/// <summary>
/// Gets or Sets GroupsAutocreate
/// </summary>
[DataMember(Name = "groups-autocreate", EmitDefaultValue = true)]
public bool GroupsAutocreate { get; set; }
/// <summary>
/// Gets or Sets GroupsClaim
/// </summary>
[DataMember(Name = "groups-claim", EmitDefaultValue = false)]
public string GroupsClaim { get; set; }
/// <summary>
/// Gets or Sets GroupsOverwrite
/// </summary>
[DataMember(Name = "groups-overwrite", EmitDefaultValue = true)]
public bool GroupsOverwrite { get; set; }
/// <summary>
/// Gets or Sets IssuerUrl
/// </summary>
[DataMember(Name = "issuer-url", EmitDefaultValue = false)]
public string IssuerUrl { get; set; }
/// <summary>
/// Gets or Sets Mode
/// </summary>
[DataMember(Name = "mode", EmitDefaultValue = false)]
public string Mode { get; set; }
/// <summary>
/// Gets or Sets Password
/// </summary>
[DataMember(Name = "password", EmitDefaultValue = false)]
public string Password { get; set; }
/// <summary>
/// Gets or Sets Port
/// </summary>
[DataMember(Name = "port", EmitDefaultValue = false)]
public int Port { get; set; }
/// <summary>
/// Gets or Sets Prompt
/// </summary>
[DataMember(Name = "prompt", EmitDefaultValue = false)]
public string Prompt { get; set; }
/// <summary>
/// Gets or Sets QueryUserinfo
/// </summary>
[DataMember(Name = "query-userinfo", EmitDefaultValue = true)]
public bool QueryUserinfo { get; set; }
/// <summary>
/// Gets or Sets Realm
/// </summary>
[DataMember(Name = "realm", IsRequired = true, EmitDefaultValue = true)]
public string Realm { get; set; }
/// <summary>
/// Gets or Sets Scopes
/// </summary>
[DataMember(Name = "scopes", EmitDefaultValue = false)]
public string Scopes { get; set; }
/// <summary>
/// Gets or Sets Secure
/// </summary>
[DataMember(Name = "secure", EmitDefaultValue = true)]
public bool Secure { get; set; }
/// <summary>
/// Gets or Sets Server1
/// </summary>
[DataMember(Name = "server1", EmitDefaultValue = false)]
public string Server1 { get; set; }
/// <summary>
/// Gets or Sets Server2
/// </summary>
[DataMember(Name = "server2", EmitDefaultValue = false)]
public string Server2 { get; set; }
/// <summary>
/// Gets or Sets Sslversion
/// </summary>
[DataMember(Name = "sslversion", EmitDefaultValue = false)]
public string Sslversion { get; set; }
/// <summary>
/// Gets or Sets SyncDefaultsOptions
/// </summary>
[DataMember(Name = "sync-defaults-options", EmitDefaultValue = false)]
public string SyncDefaultsOptions { get; set; }
/// <summary>
/// Gets or Sets SyncAttributes
/// </summary>
[DataMember(Name = "sync_attributes", EmitDefaultValue = false)]
public string SyncAttributes { get; set; }
/// <summary>
/// Gets or Sets Tfa
/// </summary>
[DataMember(Name = "tfa", EmitDefaultValue = false)]
public string Tfa { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public string Type { get; set; }
/// <summary>
/// Gets or Sets UserAttr
/// </summary>
[DataMember(Name = "user_attr", EmitDefaultValue = false)]
public string UserAttr { get; set; }
/// <summary>
/// Gets or Sets UserClasses
/// </summary>
[DataMember(Name = "user_classes", EmitDefaultValue = false)]
public string UserClasses { get; set; }
/// <summary>
/// Gets or Sets UsernameClaim
/// </summary>
[DataMember(Name = "username-claim", EmitDefaultValue = false)]
public string UsernameClaim { get; set; }
/// <summary>
/// Gets or Sets Verify
/// </summary>
[DataMember(Name = "verify", EmitDefaultValue = true)]
public bool Verify { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessDomainsRequest {\n");
sb.Append(" AcrValues: ").Append(AcrValues).Append("\n");
sb.Append(" Autocreate: ").Append(Autocreate).Append("\n");
sb.Append(" BaseDn: ").Append(BaseDn).Append("\n");
sb.Append(" BindDn: ").Append(BindDn).Append("\n");
sb.Append(" Capath: ").Append(Capath).Append("\n");
sb.Append(" CaseSensitive: ").Append(CaseSensitive).Append("\n");
sb.Append(" Cert: ").Append(Cert).Append("\n");
sb.Append(" Certkey: ").Append(Certkey).Append("\n");
sb.Append(" CheckConnection: ").Append(CheckConnection).Append("\n");
sb.Append(" ClientId: ").Append(ClientId).Append("\n");
sb.Append(" ClientKey: ").Append(ClientKey).Append("\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Default: ").Append(Default).Append("\n");
sb.Append(" Domain: ").Append(Domain).Append("\n");
sb.Append(" Filter: ").Append(Filter).Append("\n");
sb.Append(" GroupClasses: ").Append(GroupClasses).Append("\n");
sb.Append(" GroupDn: ").Append(GroupDn).Append("\n");
sb.Append(" GroupFilter: ").Append(GroupFilter).Append("\n");
sb.Append(" GroupNameAttr: ").Append(GroupNameAttr).Append("\n");
sb.Append(" GroupsAutocreate: ").Append(GroupsAutocreate).Append("\n");
sb.Append(" GroupsClaim: ").Append(GroupsClaim).Append("\n");
sb.Append(" GroupsOverwrite: ").Append(GroupsOverwrite).Append("\n");
sb.Append(" IssuerUrl: ").Append(IssuerUrl).Append("\n");
sb.Append(" Mode: ").Append(Mode).Append("\n");
sb.Append(" Password: ").Append(Password).Append("\n");
sb.Append(" Port: ").Append(Port).Append("\n");
sb.Append(" Prompt: ").Append(Prompt).Append("\n");
sb.Append(" QueryUserinfo: ").Append(QueryUserinfo).Append("\n");
sb.Append(" Realm: ").Append(Realm).Append("\n");
sb.Append(" Scopes: ").Append(Scopes).Append("\n");
sb.Append(" Secure: ").Append(Secure).Append("\n");
sb.Append(" Server1: ").Append(Server1).Append("\n");
sb.Append(" Server2: ").Append(Server2).Append("\n");
sb.Append(" Sslversion: ").Append(Sslversion).Append("\n");
sb.Append(" SyncDefaultsOptions: ").Append(SyncDefaultsOptions).Append("\n");
sb.Append(" SyncAttributes: ").Append(SyncAttributes).Append("\n");
sb.Append(" Tfa: ").Append(Tfa).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append(" UserAttr: ").Append(UserAttr).Append("\n");
sb.Append(" UserClasses: ").Append(UserClasses).Append("\n");
sb.Append(" UsernameClaim: ").Append(UsernameClaim).Append("\n");
sb.Append(" Verify: ").Append(Verify).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,93 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessDomainsSingleSync200Response
/// </summary>
[DataContract(Name = "createAccessDomainsSingleSync_200_response")]
public partial class CreateAccessDomainsSingleSync200Response : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessDomainsSingleSync200Response" /> class.
/// </summary>
/// <param name="errors">errors.</param>
/// <param name="data">Worker Task-UPID.</param>
public CreateAccessDomainsSingleSync200Response(List<string> errors = default(List<string>), string data = default(string))
{
this.Errors = errors;
this.Data = data;
}
/// <summary>
/// Gets or Sets Errors
/// </summary>
[DataMember(Name = "errors", EmitDefaultValue = false)]
public List<string> Errors { get; set; }
/// <summary>
/// Worker Task-UPID
/// </summary>
/// <value>Worker Task-UPID</value>
[DataMember(Name = "data", EmitDefaultValue = false)]
public string Data { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessDomainsSingleSync200Response {\n");
sb.Append(" Errors: ").Append(Errors).Append("\n");
sb.Append(" Data: ").Append(Data).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,143 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessDomainsSingleSyncRequest
/// </summary>
[DataContract(Name = "CreateAccessDomainsSingleSyncRequest")]
public partial class CreateAccessDomainsSingleSyncRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessDomainsSingleSyncRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateAccessDomainsSingleSyncRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessDomainsSingleSyncRequest" /> class.
/// </summary>
/// <param name="dryRun">dryRun.</param>
/// <param name="enableNew">enableNew (required).</param>
/// <param name="full">full (required).</param>
/// <param name="purge">purge (required).</param>
/// <param name="removeVanished">removeVanished (required).</param>
/// <param name="scope">scope (required).</param>
public CreateAccessDomainsSingleSyncRequest(bool dryRun = default(bool), bool enableNew = default(bool), bool full = default(bool), bool purge = default(bool), string removeVanished = default(string), string scope = default(string))
{
this.EnableNew = enableNew;
this.Full = full;
this.Purge = purge;
// to ensure "removeVanished" is required (not null)
if (removeVanished == null)
{
throw new ArgumentNullException("removeVanished is a required property for CreateAccessDomainsSingleSyncRequest and cannot be null");
}
this.RemoveVanished = removeVanished;
// to ensure "scope" is required (not null)
if (scope == null)
{
throw new ArgumentNullException("scope is a required property for CreateAccessDomainsSingleSyncRequest and cannot be null");
}
this.Scope = scope;
this.DryRun = dryRun;
}
/// <summary>
/// Gets or Sets DryRun
/// </summary>
[DataMember(Name = "dry-run", EmitDefaultValue = true)]
public bool DryRun { get; set; }
/// <summary>
/// Gets or Sets EnableNew
/// </summary>
[DataMember(Name = "enable-new", IsRequired = true, EmitDefaultValue = true)]
public bool EnableNew { get; set; }
/// <summary>
/// Gets or Sets Full
/// </summary>
[DataMember(Name = "full", IsRequired = true, EmitDefaultValue = true)]
public bool Full { get; set; }
/// <summary>
/// Gets or Sets Purge
/// </summary>
[DataMember(Name = "purge", IsRequired = true, EmitDefaultValue = true)]
public bool Purge { get; set; }
/// <summary>
/// Gets or Sets RemoveVanished
/// </summary>
[DataMember(Name = "remove-vanished", IsRequired = true, EmitDefaultValue = true)]
public string RemoveVanished { get; set; }
/// <summary>
/// Gets or Sets Scope
/// </summary>
[DataMember(Name = "scope", IsRequired = true, EmitDefaultValue = true)]
public string Scope { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessDomainsSingleSyncRequest {\n");
sb.Append(" DryRun: ").Append(DryRun).Append("\n");
sb.Append(" EnableNew: ").Append(EnableNew).Append("\n");
sb.Append(" Full: ").Append(Full).Append("\n");
sb.Append(" Purge: ").Append(Purge).Append("\n");
sb.Append(" RemoveVanished: ").Append(RemoveVanished).Append("\n");
sb.Append(" Scope: ").Append(Scope).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,102 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessGroupsRequest
/// </summary>
[DataContract(Name = "CreateAccessGroupsRequest")]
public partial class CreateAccessGroupsRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessGroupsRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateAccessGroupsRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessGroupsRequest" /> class.
/// </summary>
/// <param name="comment">comment.</param>
/// <param name="groupid">groupid (required).</param>
public CreateAccessGroupsRequest(string comment = default(string), string groupid = default(string))
{
// to ensure "groupid" is required (not null)
if (groupid == null)
{
throw new ArgumentNullException("groupid is a required property for CreateAccessGroupsRequest and cannot be null");
}
this.Groupid = groupid;
this.Comment = comment;
}
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Groupid
/// </summary>
[DataMember(Name = "groupid", IsRequired = true, EmitDefaultValue = true)]
public string Groupid { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessGroupsRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Groupid: ").Append(Groupid).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,93 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessOpenidAuthurl200Response
/// </summary>
[DataContract(Name = "createAccessOpenidAuthurl_200_response")]
public partial class CreateAccessOpenidAuthurl200Response : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessOpenidAuthurl200Response" /> class.
/// </summary>
/// <param name="errors">errors.</param>
/// <param name="data">Redirection URL..</param>
public CreateAccessOpenidAuthurl200Response(List<string> errors = default(List<string>), string data = default(string))
{
this.Errors = errors;
this.Data = data;
}
/// <summary>
/// Gets or Sets Errors
/// </summary>
[DataMember(Name = "errors", EmitDefaultValue = false)]
public List<string> Errors { get; set; }
/// <summary>
/// Redirection URL.
/// </summary>
/// <value>Redirection URL.</value>
[DataMember(Name = "data", EmitDefaultValue = false)]
public string Data { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessOpenidAuthurl200Response {\n");
sb.Append(" Errors: ").Append(Errors).Append("\n");
sb.Append(" Data: ").Append(Data).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,107 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessOpenidAuthurlRequest
/// </summary>
[DataContract(Name = "CreateAccessOpenidAuthurlRequest")]
public partial class CreateAccessOpenidAuthurlRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessOpenidAuthurlRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateAccessOpenidAuthurlRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessOpenidAuthurlRequest" /> class.
/// </summary>
/// <param name="realm">realm (required).</param>
/// <param name="redirectUrl">redirectUrl (required).</param>
public CreateAccessOpenidAuthurlRequest(string realm = default(string), string redirectUrl = default(string))
{
// to ensure "realm" is required (not null)
if (realm == null)
{
throw new ArgumentNullException("realm is a required property for CreateAccessOpenidAuthurlRequest and cannot be null");
}
this.Realm = realm;
// to ensure "redirectUrl" is required (not null)
if (redirectUrl == null)
{
throw new ArgumentNullException("redirectUrl is a required property for CreateAccessOpenidAuthurlRequest and cannot be null");
}
this.RedirectUrl = redirectUrl;
}
/// <summary>
/// Gets or Sets Realm
/// </summary>
[DataMember(Name = "realm", IsRequired = true, EmitDefaultValue = true)]
public string Realm { get; set; }
/// <summary>
/// Gets or Sets RedirectUrl
/// </summary>
[DataMember(Name = "redirect-url", IsRequired = true, EmitDefaultValue = true)]
public string RedirectUrl { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessOpenidAuthurlRequest {\n");
sb.Append(" Realm: ").Append(Realm).Append("\n");
sb.Append(" RedirectUrl: ").Append(RedirectUrl).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,121 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessOpenidLoginRequest
/// </summary>
[DataContract(Name = "CreateAccessOpenidLoginRequest")]
public partial class CreateAccessOpenidLoginRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessOpenidLoginRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateAccessOpenidLoginRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessOpenidLoginRequest" /> class.
/// </summary>
/// <param name="code">code (required).</param>
/// <param name="redirectUrl">redirectUrl (required).</param>
/// <param name="state">state (required).</param>
public CreateAccessOpenidLoginRequest(string code = default(string), string redirectUrl = default(string), string state = default(string))
{
// to ensure "code" is required (not null)
if (code == null)
{
throw new ArgumentNullException("code is a required property for CreateAccessOpenidLoginRequest and cannot be null");
}
this.Code = code;
// to ensure "redirectUrl" is required (not null)
if (redirectUrl == null)
{
throw new ArgumentNullException("redirectUrl is a required property for CreateAccessOpenidLoginRequest and cannot be null");
}
this.RedirectUrl = redirectUrl;
// to ensure "state" is required (not null)
if (state == null)
{
throw new ArgumentNullException("state is a required property for CreateAccessOpenidLoginRequest and cannot be null");
}
this.State = state;
}
/// <summary>
/// Gets or Sets Code
/// </summary>
[DataMember(Name = "code", IsRequired = true, EmitDefaultValue = true)]
public string Code { get; set; }
/// <summary>
/// Gets or Sets RedirectUrl
/// </summary>
[DataMember(Name = "redirect-url", IsRequired = true, EmitDefaultValue = true)]
public string RedirectUrl { get; set; }
/// <summary>
/// Gets or Sets State
/// </summary>
[DataMember(Name = "state", IsRequired = true, EmitDefaultValue = true)]
public string State { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessOpenidLoginRequest {\n");
sb.Append(" Code: ").Append(Code).Append("\n");
sb.Append(" RedirectUrl: ").Append(RedirectUrl).Append("\n");
sb.Append(" State: ").Append(State).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,102 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessRolesRequest
/// </summary>
[DataContract(Name = "CreateAccessRolesRequest")]
public partial class CreateAccessRolesRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessRolesRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateAccessRolesRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessRolesRequest" /> class.
/// </summary>
/// <param name="privs">privs.</param>
/// <param name="roleid">roleid (required).</param>
public CreateAccessRolesRequest(string privs = default(string), string roleid = default(string))
{
// to ensure "roleid" is required (not null)
if (roleid == null)
{
throw new ArgumentNullException("roleid is a required property for CreateAccessRolesRequest and cannot be null");
}
this.Roleid = roleid;
this.Privs = privs;
}
/// <summary>
/// Gets or Sets Privs
/// </summary>
[DataMember(Name = "privs", EmitDefaultValue = false)]
public string Privs { get; set; }
/// <summary>
/// Gets or Sets Roleid
/// </summary>
[DataMember(Name = "roleid", IsRequired = true, EmitDefaultValue = true)]
public string Roleid { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessRolesRequest {\n");
sb.Append(" Privs: ").Append(Privs).Append("\n");
sb.Append(" Roleid: ").Append(Roleid).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,92 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessTfaSingle200Response
/// </summary>
[DataContract(Name = "createAccessTfaSingle_200_response")]
public partial class CreateAccessTfaSingle200Response : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessTfaSingle200Response" /> class.
/// </summary>
/// <param name="errors">errors.</param>
/// <param name="data">data.</param>
public CreateAccessTfaSingle200Response(List<string> errors = default(List<string>), CreateAccessTfaSingle200ResponseData data = default(CreateAccessTfaSingle200ResponseData))
{
this.Errors = errors;
this.Data = data;
}
/// <summary>
/// Gets or Sets Errors
/// </summary>
[DataMember(Name = "errors", EmitDefaultValue = false)]
public List<string> Errors { get; set; }
/// <summary>
/// Gets or Sets Data
/// </summary>
[DataMember(Name = "data", EmitDefaultValue = false)]
public CreateAccessTfaSingle200ResponseData Data { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessTfaSingle200Response {\n");
sb.Append(" Errors: ").Append(Errors).Append("\n");
sb.Append(" Data: ").Append(Data).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,104 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessTfaSingle200ResponseData
/// </summary>
[DataContract(Name = "createAccessTfaSingle_200_response_data")]
public partial class CreateAccessTfaSingle200ResponseData : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessTfaSingle200ResponseData" /> class.
/// </summary>
/// <param name="challenge">When adding u2f entries, this contains a challenge the user must respond to in order to finish the registration..</param>
/// <param name="id">The id of a newly added TFA entry..</param>
/// <param name="recovery">When adding recovery codes, this contains the list of codes to be displayed to the user.</param>
public CreateAccessTfaSingle200ResponseData(string challenge = default(string), string id = default(string), List<string> recovery = default(List<string>))
{
this.Challenge = challenge;
this.Id = id;
this.Recovery = recovery;
}
/// <summary>
/// When adding u2f entries, this contains a challenge the user must respond to in order to finish the registration.
/// </summary>
/// <value>When adding u2f entries, this contains a challenge the user must respond to in order to finish the registration.</value>
[DataMember(Name = "challenge", EmitDefaultValue = false)]
public string Challenge { get; set; }
/// <summary>
/// The id of a newly added TFA entry.
/// </summary>
/// <value>The id of a newly added TFA entry.</value>
[DataMember(Name = "id", EmitDefaultValue = false)]
public string Id { get; set; }
/// <summary>
/// When adding recovery codes, this contains the list of codes to be displayed to the user
/// </summary>
/// <value>When adding recovery codes, this contains the list of codes to be displayed to the user</value>
[DataMember(Name = "recovery", EmitDefaultValue = false)]
public List<string> Recovery { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessTfaSingle200ResponseData {\n");
sb.Append(" Challenge: ").Append(Challenge).Append("\n");
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Recovery: ").Append(Recovery).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,138 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessTfaSingleRequest
/// </summary>
[DataContract(Name = "CreateAccessTfaSingleRequest")]
public partial class CreateAccessTfaSingleRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessTfaSingleRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateAccessTfaSingleRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessTfaSingleRequest" /> class.
/// </summary>
/// <param name="challenge">challenge.</param>
/// <param name="description">description.</param>
/// <param name="password">password.</param>
/// <param name="totp">totp.</param>
/// <param name="type">type (required).</param>
/// <param name="value">value.</param>
public CreateAccessTfaSingleRequest(string challenge = default(string), string description = default(string), string password = default(string), string totp = default(string), string type = default(string), string value = default(string))
{
// to ensure "type" is required (not null)
if (type == null)
{
throw new ArgumentNullException("type is a required property for CreateAccessTfaSingleRequest and cannot be null");
}
this.Type = type;
this.Challenge = challenge;
this.Description = description;
this.Password = password;
this.Totp = totp;
this.Value = value;
}
/// <summary>
/// Gets or Sets Challenge
/// </summary>
[DataMember(Name = "challenge", EmitDefaultValue = false)]
public string Challenge { get; set; }
/// <summary>
/// Gets or Sets Description
/// </summary>
[DataMember(Name = "description", EmitDefaultValue = false)]
public string Description { get; set; }
/// <summary>
/// Gets or Sets Password
/// </summary>
[DataMember(Name = "password", EmitDefaultValue = false)]
public string Password { get; set; }
/// <summary>
/// Gets or Sets Totp
/// </summary>
[DataMember(Name = "totp", EmitDefaultValue = false)]
public string Totp { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public string Type { get; set; }
/// <summary>
/// Gets or Sets Value
/// </summary>
[DataMember(Name = "value", EmitDefaultValue = false)]
public string Value { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessTfaSingleRequest {\n");
sb.Append(" Challenge: ").Append(Challenge).Append("\n");
sb.Append(" Description: ").Append(Description).Append("\n");
sb.Append(" Password: ").Append(Password).Append("\n");
sb.Append(" Totp: ").Append(Totp).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append(" Value: ").Append(Value).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,92 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessTicket200Response
/// </summary>
[DataContract(Name = "createAccessTicket_200_response")]
public partial class CreateAccessTicket200Response : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessTicket200Response" /> class.
/// </summary>
/// <param name="errors">errors.</param>
/// <param name="data">data.</param>
public CreateAccessTicket200Response(List<string> errors = default(List<string>), CreateAccessTicket200ResponseData data = default(CreateAccessTicket200ResponseData))
{
this.Errors = errors;
this.Data = data;
}
/// <summary>
/// Gets or Sets Errors
/// </summary>
[DataMember(Name = "errors", EmitDefaultValue = false)]
public List<string> Errors { get; set; }
/// <summary>
/// Gets or Sets Data
/// </summary>
[DataMember(Name = "data", EmitDefaultValue = false)]
public CreateAccessTicket200ResponseData Data { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessTicket200Response {\n");
sb.Append(" Errors: ").Append(Errors).Append("\n");
sb.Append(" Data: ").Append(Data).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,110 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessTicket200ResponseData
/// </summary>
[DataContract(Name = "createAccessTicket_200_response_data")]
public partial class CreateAccessTicket200ResponseData : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessTicket200ResponseData" /> class.
/// </summary>
/// <param name="cSRFPreventionToken">cSRFPreventionToken.</param>
/// <param name="clustername">clustername.</param>
/// <param name="ticket">ticket.</param>
/// <param name="username">username.</param>
public CreateAccessTicket200ResponseData(string cSRFPreventionToken = default(string), string clustername = default(string), string ticket = default(string), string username = default(string))
{
this.CSRFPreventionToken = cSRFPreventionToken;
this.Clustername = clustername;
this.Ticket = ticket;
this.Username = username;
}
/// <summary>
/// Gets or Sets CSRFPreventionToken
/// </summary>
[DataMember(Name = "CSRFPreventionToken", EmitDefaultValue = false)]
public string CSRFPreventionToken { get; set; }
/// <summary>
/// Gets or Sets Clustername
/// </summary>
[DataMember(Name = "clustername", EmitDefaultValue = false)]
public string Clustername { get; set; }
/// <summary>
/// Gets or Sets Ticket
/// </summary>
[DataMember(Name = "ticket", EmitDefaultValue = false)]
public string Ticket { get; set; }
/// <summary>
/// Gets or Sets Username
/// </summary>
[DataMember(Name = "username", EmitDefaultValue = false)]
public string Username { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessTicket200ResponseData {\n");
sb.Append(" CSRFPreventionToken: ").Append(CSRFPreventionToken).Append("\n");
sb.Append(" Clustername: ").Append(Clustername).Append("\n");
sb.Append(" Ticket: ").Append(Ticket).Append("\n");
sb.Append(" Username: ").Append(Username).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,161 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessTicketRequest
/// </summary>
[DataContract(Name = "CreateAccessTicketRequest")]
public partial class CreateAccessTicketRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessTicketRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateAccessTicketRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessTicketRequest" /> class.
/// </summary>
/// <param name="newFormat">newFormat.</param>
/// <param name="otp">otp.</param>
/// <param name="password">password (required).</param>
/// <param name="path">path.</param>
/// <param name="privs">privs.</param>
/// <param name="realm">realm.</param>
/// <param name="tfaChallenge">tfaChallenge.</param>
/// <param name="username">username (required).</param>
public CreateAccessTicketRequest(bool newFormat = default(bool), string otp = default(string), string password = default(string), string path = default(string), string privs = default(string), string realm = default(string), string tfaChallenge = default(string), string username = default(string))
{
// to ensure "password" is required (not null)
if (password == null)
{
throw new ArgumentNullException("password is a required property for CreateAccessTicketRequest and cannot be null");
}
this.Password = password;
// to ensure "username" is required (not null)
if (username == null)
{
throw new ArgumentNullException("username is a required property for CreateAccessTicketRequest and cannot be null");
}
this.Username = username;
this.NewFormat = newFormat;
this.Otp = otp;
this.Path = path;
this.Privs = privs;
this.Realm = realm;
this.TfaChallenge = tfaChallenge;
}
/// <summary>
/// Gets or Sets NewFormat
/// </summary>
[DataMember(Name = "new-format", EmitDefaultValue = true)]
public bool NewFormat { get; set; }
/// <summary>
/// Gets or Sets Otp
/// </summary>
[DataMember(Name = "otp", EmitDefaultValue = false)]
public string Otp { get; set; }
/// <summary>
/// Gets or Sets Password
/// </summary>
[DataMember(Name = "password", IsRequired = true, EmitDefaultValue = true)]
public string Password { get; set; }
/// <summary>
/// Gets or Sets Path
/// </summary>
[DataMember(Name = "path", EmitDefaultValue = false)]
public string Path { get; set; }
/// <summary>
/// Gets or Sets Privs
/// </summary>
[DataMember(Name = "privs", EmitDefaultValue = false)]
public string Privs { get; set; }
/// <summary>
/// Gets or Sets Realm
/// </summary>
[DataMember(Name = "realm", EmitDefaultValue = false)]
public string Realm { get; set; }
/// <summary>
/// Gets or Sets TfaChallenge
/// </summary>
[DataMember(Name = "tfa-challenge", EmitDefaultValue = false)]
public string TfaChallenge { get; set; }
/// <summary>
/// Gets or Sets Username
/// </summary>
[DataMember(Name = "username", IsRequired = true, EmitDefaultValue = true)]
public string Username { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessTicketRequest {\n");
sb.Append(" NewFormat: ").Append(NewFormat).Append("\n");
sb.Append(" Otp: ").Append(Otp).Append("\n");
sb.Append(" Password: ").Append(Password).Append("\n");
sb.Append(" Path: ").Append(Path).Append("\n");
sb.Append(" Privs: ").Append(Privs).Append("\n");
sb.Append(" Realm: ").Append(Realm).Append("\n");
sb.Append(" TfaChallenge: ").Append(TfaChallenge).Append("\n");
sb.Append(" Username: ").Append(Username).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,174 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessUsersRequest
/// </summary>
[DataContract(Name = "CreateAccessUsersRequest")]
public partial class CreateAccessUsersRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessUsersRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateAccessUsersRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessUsersRequest" /> class.
/// </summary>
/// <param name="comment">comment.</param>
/// <param name="email">email.</param>
/// <param name="enable">enable.</param>
/// <param name="expire">expire.</param>
/// <param name="firstname">firstname.</param>
/// <param name="groups">groups.</param>
/// <param name="keys">keys.</param>
/// <param name="lastname">lastname.</param>
/// <param name="password">password.</param>
/// <param name="userid">userid (required).</param>
public CreateAccessUsersRequest(string comment = default(string), string email = default(string), bool enable = default(bool), int expire = default(int), string firstname = default(string), string groups = default(string), string keys = default(string), string lastname = default(string), string password = default(string), string userid = default(string))
{
// to ensure "userid" is required (not null)
if (userid == null)
{
throw new ArgumentNullException("userid is a required property for CreateAccessUsersRequest and cannot be null");
}
this.Userid = userid;
this.Comment = comment;
this.Email = email;
this.Enable = enable;
this.Expire = expire;
this.Firstname = firstname;
this.Groups = groups;
this.Keys = keys;
this.Lastname = lastname;
this.Password = password;
}
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Email
/// </summary>
[DataMember(Name = "email", EmitDefaultValue = false)]
public string Email { get; set; }
/// <summary>
/// Gets or Sets Enable
/// </summary>
[DataMember(Name = "enable", EmitDefaultValue = true)]
public bool Enable { get; set; }
/// <summary>
/// Gets or Sets Expire
/// </summary>
[DataMember(Name = "expire", EmitDefaultValue = false)]
public int Expire { get; set; }
/// <summary>
/// Gets or Sets Firstname
/// </summary>
[DataMember(Name = "firstname", EmitDefaultValue = false)]
public string Firstname { get; set; }
/// <summary>
/// Gets or Sets Groups
/// </summary>
[DataMember(Name = "groups", EmitDefaultValue = false)]
public string Groups { get; set; }
/// <summary>
/// Gets or Sets Keys
/// </summary>
[DataMember(Name = "keys", EmitDefaultValue = false)]
public string Keys { get; set; }
/// <summary>
/// Gets or Sets Lastname
/// </summary>
[DataMember(Name = "lastname", EmitDefaultValue = false)]
public string Lastname { get; set; }
/// <summary>
/// Gets or Sets Password
/// </summary>
[DataMember(Name = "password", EmitDefaultValue = false)]
public string Password { get; set; }
/// <summary>
/// Gets or Sets Userid
/// </summary>
[DataMember(Name = "userid", IsRequired = true, EmitDefaultValue = true)]
public string Userid { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessUsersRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Email: ").Append(Email).Append("\n");
sb.Append(" Enable: ").Append(Enable).Append("\n");
sb.Append(" Expire: ").Append(Expire).Append("\n");
sb.Append(" Firstname: ").Append(Firstname).Append("\n");
sb.Append(" Groups: ").Append(Groups).Append("\n");
sb.Append(" Keys: ").Append(Keys).Append("\n");
sb.Append(" Lastname: ").Append(Lastname).Append("\n");
sb.Append(" Password: ").Append(Password).Append("\n");
sb.Append(" Userid: ").Append(Userid).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,92 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessUsersSingleTokenSingle200Response
/// </summary>
[DataContract(Name = "createAccessUsersSingleTokenSingle_200_response")]
public partial class CreateAccessUsersSingleTokenSingle200Response : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessUsersSingleTokenSingle200Response" /> class.
/// </summary>
/// <param name="errors">errors.</param>
/// <param name="data">data.</param>
public CreateAccessUsersSingleTokenSingle200Response(List<string> errors = default(List<string>), CreateAccessUsersSingleTokenSingle200ResponseData data = default(CreateAccessUsersSingleTokenSingle200ResponseData))
{
this.Errors = errors;
this.Data = data;
}
/// <summary>
/// Gets or Sets Errors
/// </summary>
[DataMember(Name = "errors", EmitDefaultValue = false)]
public List<string> Errors { get; set; }
/// <summary>
/// Gets or Sets Data
/// </summary>
[DataMember(Name = "data", EmitDefaultValue = false)]
public CreateAccessUsersSingleTokenSingle200ResponseData Data { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessUsersSingleTokenSingle200Response {\n");
sb.Append(" Errors: ").Append(Errors).Append("\n");
sb.Append(" Data: ").Append(Data).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,103 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessUsersSingleTokenSingle200ResponseData
/// </summary>
[DataContract(Name = "createAccessUsersSingleTokenSingle_200_response_data")]
public partial class CreateAccessUsersSingleTokenSingle200ResponseData : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessUsersSingleTokenSingle200ResponseData" /> class.
/// </summary>
/// <param name="fullTokenid">The full token id..</param>
/// <param name="info">info.</param>
/// <param name="value">API token value used for authentication..</param>
public CreateAccessUsersSingleTokenSingle200ResponseData(string fullTokenid = default(string), GetAccessUsersSingleTokenSingle200ResponseData info = default(GetAccessUsersSingleTokenSingle200ResponseData), string value = default(string))
{
this.FullTokenid = fullTokenid;
this.Info = info;
this.Value = value;
}
/// <summary>
/// The full token id.
/// </summary>
/// <value>The full token id.</value>
[DataMember(Name = "full-tokenid", EmitDefaultValue = false)]
public string FullTokenid { get; set; }
/// <summary>
/// Gets or Sets Info
/// </summary>
[DataMember(Name = "info", EmitDefaultValue = false)]
public GetAccessUsersSingleTokenSingle200ResponseData Info { get; set; }
/// <summary>
/// API token value used for authentication.
/// </summary>
/// <value>API token value used for authentication.</value>
[DataMember(Name = "value", EmitDefaultValue = false)]
public string Value { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessUsersSingleTokenSingle200ResponseData {\n");
sb.Append(" FullTokenid: ").Append(FullTokenid).Append("\n");
sb.Append(" Info: ").Append(Info).Append("\n");
sb.Append(" Value: ").Append(Value).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,101 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessUsersSingleTokenSingleRequest
/// </summary>
[DataContract(Name = "CreateAccessUsersSingleTokenSingleRequest")]
public partial class CreateAccessUsersSingleTokenSingleRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessUsersSingleTokenSingleRequest" /> class.
/// </summary>
/// <param name="comment">comment.</param>
/// <param name="expire">expire.</param>
/// <param name="privsep">privsep.</param>
public CreateAccessUsersSingleTokenSingleRequest(string comment = default(string), int expire = default(int), bool privsep = default(bool))
{
this.Comment = comment;
this.Expire = expire;
this.Privsep = privsep;
}
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Expire
/// </summary>
[DataMember(Name = "expire", EmitDefaultValue = false)]
public int Expire { get; set; }
/// <summary>
/// Gets or Sets Privsep
/// </summary>
[DataMember(Name = "privsep", EmitDefaultValue = true)]
public bool Privsep { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessUsersSingleTokenSingleRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Expire: ").Append(Expire).Append("\n");
sb.Append(" Privsep: ").Append(Privsep).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,135 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateAccessVncticketRequest
/// </summary>
[DataContract(Name = "CreateAccessVncticketRequest")]
public partial class CreateAccessVncticketRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessVncticketRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateAccessVncticketRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateAccessVncticketRequest" /> class.
/// </summary>
/// <param name="authid">authid (required).</param>
/// <param name="path">path (required).</param>
/// <param name="privs">privs (required).</param>
/// <param name="vncticket">vncticket (required).</param>
public CreateAccessVncticketRequest(string authid = default(string), string path = default(string), string privs = default(string), string vncticket = default(string))
{
// to ensure "authid" is required (not null)
if (authid == null)
{
throw new ArgumentNullException("authid is a required property for CreateAccessVncticketRequest and cannot be null");
}
this.Authid = authid;
// to ensure "path" is required (not null)
if (path == null)
{
throw new ArgumentNullException("path is a required property for CreateAccessVncticketRequest and cannot be null");
}
this.Path = path;
// to ensure "privs" is required (not null)
if (privs == null)
{
throw new ArgumentNullException("privs is a required property for CreateAccessVncticketRequest and cannot be null");
}
this.Privs = privs;
// to ensure "vncticket" is required (not null)
if (vncticket == null)
{
throw new ArgumentNullException("vncticket is a required property for CreateAccessVncticketRequest and cannot be null");
}
this.Vncticket = vncticket;
}
/// <summary>
/// Gets or Sets Authid
/// </summary>
[DataMember(Name = "authid", IsRequired = true, EmitDefaultValue = true)]
public string Authid { get; set; }
/// <summary>
/// Gets or Sets Path
/// </summary>
[DataMember(Name = "path", IsRequired = true, EmitDefaultValue = true)]
public string Path { get; set; }
/// <summary>
/// Gets or Sets Privs
/// </summary>
[DataMember(Name = "privs", IsRequired = true, EmitDefaultValue = true)]
public string Privs { get; set; }
/// <summary>
/// Gets or Sets Vncticket
/// </summary>
[DataMember(Name = "vncticket", IsRequired = true, EmitDefaultValue = true)]
public string Vncticket { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateAccessVncticketRequest {\n");
sb.Append(" Authid: ").Append(Authid).Append("\n");
sb.Append(" Path: ").Append(Path).Append("\n");
sb.Append(" Privs: ").Append(Privs).Append("\n");
sb.Append(" Vncticket: ").Append(Vncticket).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,138 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterAcmeAccountRequest
/// </summary>
[DataContract(Name = "CreateClusterAcmeAccountRequest")]
public partial class CreateClusterAcmeAccountRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterAcmeAccountRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterAcmeAccountRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterAcmeAccountRequest" /> class.
/// </summary>
/// <param name="contact">contact (required).</param>
/// <param name="directory">directory.</param>
/// <param name="eabHmacKey">eabHmacKey.</param>
/// <param name="eabKid">eabKid.</param>
/// <param name="name">name.</param>
/// <param name="tosUrl">tosUrl.</param>
public CreateClusterAcmeAccountRequest(string contact = default(string), string directory = default(string), string eabHmacKey = default(string), string eabKid = default(string), string name = default(string), string tosUrl = default(string))
{
// to ensure "contact" is required (not null)
if (contact == null)
{
throw new ArgumentNullException("contact is a required property for CreateClusterAcmeAccountRequest and cannot be null");
}
this.Contact = contact;
this.Directory = directory;
this.EabHmacKey = eabHmacKey;
this.EabKid = eabKid;
this.Name = name;
this.TosUrl = tosUrl;
}
/// <summary>
/// Gets or Sets Contact
/// </summary>
[DataMember(Name = "contact", IsRequired = true, EmitDefaultValue = true)]
public string Contact { get; set; }
/// <summary>
/// Gets or Sets Directory
/// </summary>
[DataMember(Name = "directory", EmitDefaultValue = false)]
public string Directory { get; set; }
/// <summary>
/// Gets or Sets EabHmacKey
/// </summary>
[DataMember(Name = "eab-hmac-key", EmitDefaultValue = false)]
public string EabHmacKey { get; set; }
/// <summary>
/// Gets or Sets EabKid
/// </summary>
[DataMember(Name = "eab-kid", EmitDefaultValue = false)]
public string EabKid { get; set; }
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", EmitDefaultValue = false)]
public string Name { get; set; }
/// <summary>
/// Gets or Sets TosUrl
/// </summary>
[DataMember(Name = "tos_url", EmitDefaultValue = false)]
public string TosUrl { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterAcmeAccountRequest {\n");
sb.Append(" Contact: ").Append(Contact).Append("\n");
sb.Append(" Directory: ").Append(Directory).Append("\n");
sb.Append(" EabHmacKey: ").Append(EabHmacKey).Append("\n");
sb.Append(" EabKid: ").Append(EabKid).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" TosUrl: ").Append(TosUrl).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,152 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterAcmePluginsRequest
/// </summary>
[DataContract(Name = "CreateClusterAcmePluginsRequest")]
public partial class CreateClusterAcmePluginsRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterAcmePluginsRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterAcmePluginsRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterAcmePluginsRequest" /> class.
/// </summary>
/// <param name="api">api.</param>
/// <param name="data">data.</param>
/// <param name="disable">disable.</param>
/// <param name="id">id (required).</param>
/// <param name="nodes">nodes.</param>
/// <param name="type">type (required).</param>
/// <param name="validationDelay">validationDelay.</param>
public CreateClusterAcmePluginsRequest(string api = default(string), string data = default(string), bool disable = default(bool), string id = default(string), string nodes = default(string), string type = default(string), int validationDelay = default(int))
{
// to ensure "id" is required (not null)
if (id == null)
{
throw new ArgumentNullException("id is a required property for CreateClusterAcmePluginsRequest and cannot be null");
}
this.Id = id;
// to ensure "type" is required (not null)
if (type == null)
{
throw new ArgumentNullException("type is a required property for CreateClusterAcmePluginsRequest and cannot be null");
}
this.Type = type;
this.Api = api;
this.Data = data;
this.Disable = disable;
this.Nodes = nodes;
this.ValidationDelay = validationDelay;
}
/// <summary>
/// Gets or Sets Api
/// </summary>
[DataMember(Name = "api", EmitDefaultValue = false)]
public string Api { get; set; }
/// <summary>
/// Gets or Sets Data
/// </summary>
[DataMember(Name = "data", EmitDefaultValue = false)]
public string Data { get; set; }
/// <summary>
/// Gets or Sets Disable
/// </summary>
[DataMember(Name = "disable", EmitDefaultValue = true)]
public bool Disable { get; set; }
/// <summary>
/// Gets or Sets Id
/// </summary>
[DataMember(Name = "id", IsRequired = true, EmitDefaultValue = true)]
public string Id { get; set; }
/// <summary>
/// Gets or Sets Nodes
/// </summary>
[DataMember(Name = "nodes", EmitDefaultValue = false)]
public string Nodes { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public string Type { get; set; }
/// <summary>
/// Gets or Sets ValidationDelay
/// </summary>
[DataMember(Name = "validation-delay", EmitDefaultValue = false)]
public int ValidationDelay { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterAcmePluginsRequest {\n");
sb.Append(" Api: ").Append(Api).Append("\n");
sb.Append(" Data: ").Append(Data).Append("\n");
sb.Append(" Disable: ").Append(Disable).Append("\n");
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Nodes: ").Append(Nodes).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append(" ValidationDelay: ").Append(ValidationDelay).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,425 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterBackupRequest
/// </summary>
[DataContract(Name = "CreateClusterBackupRequest")]
public partial class CreateClusterBackupRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterBackupRequest" /> class.
/// </summary>
/// <param name="all">all.</param>
/// <param name="bwlimit">bwlimit.</param>
/// <param name="comment">comment.</param>
/// <param name="compress">compress.</param>
/// <param name="dow">dow.</param>
/// <param name="dumpdir">dumpdir.</param>
/// <param name="enabled">enabled.</param>
/// <param name="exclude">exclude.</param>
/// <param name="excludePath">excludePath.</param>
/// <param name="fleecing">fleecing.</param>
/// <param name="id">id.</param>
/// <param name="ionice">ionice.</param>
/// <param name="lockwait">lockwait.</param>
/// <param name="mailnotification">mailnotification.</param>
/// <param name="mailto">mailto.</param>
/// <param name="maxfiles">maxfiles.</param>
/// <param name="mode">mode.</param>
/// <param name="node">node.</param>
/// <param name="notesTemplate">notesTemplate.</param>
/// <param name="notificationMode">notificationMode.</param>
/// <param name="pbsChangeDetectionMode">pbsChangeDetectionMode.</param>
/// <param name="performance">performance.</param>
/// <param name="pigz">pigz.</param>
/// <param name="pool">pool.</param>
/// <param name="varProtected">varProtected.</param>
/// <param name="pruneBackups">pruneBackups.</param>
/// <param name="quiet">quiet.</param>
/// <param name="remove">remove.</param>
/// <param name="repeatMissed">repeatMissed.</param>
/// <param name="schedule">schedule.</param>
/// <param name="script">script.</param>
/// <param name="starttime">starttime.</param>
/// <param name="stdexcludes">stdexcludes.</param>
/// <param name="stop">stop.</param>
/// <param name="stopwait">stopwait.</param>
/// <param name="storage">storage.</param>
/// <param name="tmpdir">tmpdir.</param>
/// <param name="vmid">vmid.</param>
/// <param name="zstd">zstd.</param>
public CreateClusterBackupRequest(bool all = default(bool), int bwlimit = default(int), string comment = default(string), string compress = default(string), string dow = default(string), string dumpdir = default(string), bool enabled = default(bool), string exclude = default(string), List<string> excludePath = default(List<string>), string fleecing = default(string), string id = default(string), int ionice = default(int), int lockwait = default(int), string mailnotification = default(string), string mailto = default(string), int maxfiles = default(int), string mode = default(string), string node = default(string), string notesTemplate = default(string), string notificationMode = default(string), string pbsChangeDetectionMode = default(string), string performance = default(string), int pigz = default(int), string pool = default(string), bool varProtected = default(bool), string pruneBackups = default(string), bool quiet = default(bool), bool remove = default(bool), bool repeatMissed = default(bool), string schedule = default(string), string script = default(string), string starttime = default(string), bool stdexcludes = default(bool), bool stop = default(bool), int stopwait = default(int), string storage = default(string), string tmpdir = default(string), string vmid = default(string), int zstd = default(int))
{
this.All = all;
this.Bwlimit = bwlimit;
this.Comment = comment;
this.Compress = compress;
this.Dow = dow;
this.Dumpdir = dumpdir;
this.Enabled = enabled;
this.Exclude = exclude;
this.ExcludePath = excludePath;
this.Fleecing = fleecing;
this.Id = id;
this.Ionice = ionice;
this.Lockwait = lockwait;
this.Mailnotification = mailnotification;
this.Mailto = mailto;
this.Maxfiles = maxfiles;
this.Mode = mode;
this.Node = node;
this.NotesTemplate = notesTemplate;
this.NotificationMode = notificationMode;
this.PbsChangeDetectionMode = pbsChangeDetectionMode;
this.Performance = performance;
this.Pigz = pigz;
this.Pool = pool;
this.Protected = varProtected;
this.PruneBackups = pruneBackups;
this.Quiet = quiet;
this.Remove = remove;
this.RepeatMissed = repeatMissed;
this.Schedule = schedule;
this.Script = script;
this.Starttime = starttime;
this.Stdexcludes = stdexcludes;
this.Stop = stop;
this.Stopwait = stopwait;
this.Storage = storage;
this.Tmpdir = tmpdir;
this.Vmid = vmid;
this.Zstd = zstd;
}
/// <summary>
/// Gets or Sets All
/// </summary>
[DataMember(Name = "all", EmitDefaultValue = true)]
public bool All { get; set; }
/// <summary>
/// Gets or Sets Bwlimit
/// </summary>
[DataMember(Name = "bwlimit", EmitDefaultValue = false)]
public int Bwlimit { get; set; }
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Compress
/// </summary>
[DataMember(Name = "compress", EmitDefaultValue = false)]
public string Compress { get; set; }
/// <summary>
/// Gets or Sets Dow
/// </summary>
[DataMember(Name = "dow", EmitDefaultValue = false)]
public string Dow { get; set; }
/// <summary>
/// Gets or Sets Dumpdir
/// </summary>
[DataMember(Name = "dumpdir", EmitDefaultValue = false)]
public string Dumpdir { get; set; }
/// <summary>
/// Gets or Sets Enabled
/// </summary>
[DataMember(Name = "enabled", EmitDefaultValue = true)]
public bool Enabled { get; set; }
/// <summary>
/// Gets or Sets Exclude
/// </summary>
[DataMember(Name = "exclude", EmitDefaultValue = false)]
public string Exclude { get; set; }
/// <summary>
/// Gets or Sets ExcludePath
/// </summary>
[DataMember(Name = "exclude-path", EmitDefaultValue = false)]
public List<string> ExcludePath { get; set; }
/// <summary>
/// Gets or Sets Fleecing
/// </summary>
[DataMember(Name = "fleecing", EmitDefaultValue = false)]
public string Fleecing { get; set; }
/// <summary>
/// Gets or Sets Id
/// </summary>
[DataMember(Name = "id", EmitDefaultValue = false)]
public string Id { get; set; }
/// <summary>
/// Gets or Sets Ionice
/// </summary>
[DataMember(Name = "ionice", EmitDefaultValue = false)]
public int Ionice { get; set; }
/// <summary>
/// Gets or Sets Lockwait
/// </summary>
[DataMember(Name = "lockwait", EmitDefaultValue = false)]
public int Lockwait { get; set; }
/// <summary>
/// Gets or Sets Mailnotification
/// </summary>
[DataMember(Name = "mailnotification", EmitDefaultValue = false)]
public string Mailnotification { get; set; }
/// <summary>
/// Gets or Sets Mailto
/// </summary>
[DataMember(Name = "mailto", EmitDefaultValue = false)]
public string Mailto { get; set; }
/// <summary>
/// Gets or Sets Maxfiles
/// </summary>
[DataMember(Name = "maxfiles", EmitDefaultValue = false)]
public int Maxfiles { get; set; }
/// <summary>
/// Gets or Sets Mode
/// </summary>
[DataMember(Name = "mode", EmitDefaultValue = false)]
public string Mode { get; set; }
/// <summary>
/// Gets or Sets Node
/// </summary>
[DataMember(Name = "node", EmitDefaultValue = false)]
public string Node { get; set; }
/// <summary>
/// Gets or Sets NotesTemplate
/// </summary>
[DataMember(Name = "notes-template", EmitDefaultValue = false)]
public string NotesTemplate { get; set; }
/// <summary>
/// Gets or Sets NotificationMode
/// </summary>
[DataMember(Name = "notification-mode", EmitDefaultValue = false)]
public string NotificationMode { get; set; }
/// <summary>
/// Gets or Sets PbsChangeDetectionMode
/// </summary>
[DataMember(Name = "pbs-change-detection-mode", EmitDefaultValue = false)]
public string PbsChangeDetectionMode { get; set; }
/// <summary>
/// Gets or Sets Performance
/// </summary>
[DataMember(Name = "performance", EmitDefaultValue = false)]
public string Performance { get; set; }
/// <summary>
/// Gets or Sets Pigz
/// </summary>
[DataMember(Name = "pigz", EmitDefaultValue = false)]
public int Pigz { get; set; }
/// <summary>
/// Gets or Sets Pool
/// </summary>
[DataMember(Name = "pool", EmitDefaultValue = false)]
public string Pool { get; set; }
/// <summary>
/// Gets or Sets Protected
/// </summary>
[DataMember(Name = "protected", EmitDefaultValue = true)]
public bool Protected { get; set; }
/// <summary>
/// Gets or Sets PruneBackups
/// </summary>
[DataMember(Name = "prune-backups", EmitDefaultValue = false)]
public string PruneBackups { get; set; }
/// <summary>
/// Gets or Sets Quiet
/// </summary>
[DataMember(Name = "quiet", EmitDefaultValue = true)]
public bool Quiet { get; set; }
/// <summary>
/// Gets or Sets Remove
/// </summary>
[DataMember(Name = "remove", EmitDefaultValue = true)]
public bool Remove { get; set; }
/// <summary>
/// Gets or Sets RepeatMissed
/// </summary>
[DataMember(Name = "repeat-missed", EmitDefaultValue = true)]
public bool RepeatMissed { get; set; }
/// <summary>
/// Gets or Sets Schedule
/// </summary>
[DataMember(Name = "schedule", EmitDefaultValue = false)]
public string Schedule { get; set; }
/// <summary>
/// Gets or Sets Script
/// </summary>
[DataMember(Name = "script", EmitDefaultValue = false)]
public string Script { get; set; }
/// <summary>
/// Gets or Sets Starttime
/// </summary>
[DataMember(Name = "starttime", EmitDefaultValue = false)]
public string Starttime { get; set; }
/// <summary>
/// Gets or Sets Stdexcludes
/// </summary>
[DataMember(Name = "stdexcludes", EmitDefaultValue = true)]
public bool Stdexcludes { get; set; }
/// <summary>
/// Gets or Sets Stop
/// </summary>
[DataMember(Name = "stop", EmitDefaultValue = true)]
public bool Stop { get; set; }
/// <summary>
/// Gets or Sets Stopwait
/// </summary>
[DataMember(Name = "stopwait", EmitDefaultValue = false)]
public int Stopwait { get; set; }
/// <summary>
/// Gets or Sets Storage
/// </summary>
[DataMember(Name = "storage", EmitDefaultValue = false)]
public string Storage { get; set; }
/// <summary>
/// Gets or Sets Tmpdir
/// </summary>
[DataMember(Name = "tmpdir", EmitDefaultValue = false)]
public string Tmpdir { get; set; }
/// <summary>
/// Gets or Sets Vmid
/// </summary>
[DataMember(Name = "vmid", EmitDefaultValue = false)]
public string Vmid { get; set; }
/// <summary>
/// Gets or Sets Zstd
/// </summary>
[DataMember(Name = "zstd", EmitDefaultValue = false)]
public int Zstd { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterBackupRequest {\n");
sb.Append(" All: ").Append(All).Append("\n");
sb.Append(" Bwlimit: ").Append(Bwlimit).Append("\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Compress: ").Append(Compress).Append("\n");
sb.Append(" Dow: ").Append(Dow).Append("\n");
sb.Append(" Dumpdir: ").Append(Dumpdir).Append("\n");
sb.Append(" Enabled: ").Append(Enabled).Append("\n");
sb.Append(" Exclude: ").Append(Exclude).Append("\n");
sb.Append(" ExcludePath: ").Append(ExcludePath).Append("\n");
sb.Append(" Fleecing: ").Append(Fleecing).Append("\n");
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Ionice: ").Append(Ionice).Append("\n");
sb.Append(" Lockwait: ").Append(Lockwait).Append("\n");
sb.Append(" Mailnotification: ").Append(Mailnotification).Append("\n");
sb.Append(" Mailto: ").Append(Mailto).Append("\n");
sb.Append(" Maxfiles: ").Append(Maxfiles).Append("\n");
sb.Append(" Mode: ").Append(Mode).Append("\n");
sb.Append(" Node: ").Append(Node).Append("\n");
sb.Append(" NotesTemplate: ").Append(NotesTemplate).Append("\n");
sb.Append(" NotificationMode: ").Append(NotificationMode).Append("\n");
sb.Append(" PbsChangeDetectionMode: ").Append(PbsChangeDetectionMode).Append("\n");
sb.Append(" Performance: ").Append(Performance).Append("\n");
sb.Append(" Pigz: ").Append(Pigz).Append("\n");
sb.Append(" Pool: ").Append(Pool).Append("\n");
sb.Append(" Protected: ").Append(Protected).Append("\n");
sb.Append(" PruneBackups: ").Append(PruneBackups).Append("\n");
sb.Append(" Quiet: ").Append(Quiet).Append("\n");
sb.Append(" Remove: ").Append(Remove).Append("\n");
sb.Append(" RepeatMissed: ").Append(RepeatMissed).Append("\n");
sb.Append(" Schedule: ").Append(Schedule).Append("\n");
sb.Append(" Script: ").Append(Script).Append("\n");
sb.Append(" Starttime: ").Append(Starttime).Append("\n");
sb.Append(" Stdexcludes: ").Append(Stdexcludes).Append("\n");
sb.Append(" Stop: ").Append(Stop).Append("\n");
sb.Append(" Stopwait: ").Append(Stopwait).Append("\n");
sb.Append(" Storage: ").Append(Storage).Append("\n");
sb.Append(" Tmpdir: ").Append(Tmpdir).Append("\n");
sb.Append(" Vmid: ").Append(Vmid).Append("\n");
sb.Append(" Zstd: ").Append(Zstd).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,129 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterBulkactionGuestMigrateRequest
/// </summary>
[DataContract(Name = "CreateClusterBulkactionGuestMigrateRequest")]
public partial class CreateClusterBulkactionGuestMigrateRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterBulkactionGuestMigrateRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterBulkactionGuestMigrateRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterBulkactionGuestMigrateRequest" /> class.
/// </summary>
/// <param name="maxworkers">maxworkers.</param>
/// <param name="online">online.</param>
/// <param name="target">target (required).</param>
/// <param name="vms">vms.</param>
/// <param name="withLocalDisks">withLocalDisks.</param>
public CreateClusterBulkactionGuestMigrateRequest(int maxworkers = default(int), bool online = default(bool), string target = default(string), List<int> vms = default(List<int>), bool withLocalDisks = default(bool))
{
// to ensure "target" is required (not null)
if (target == null)
{
throw new ArgumentNullException("target is a required property for CreateClusterBulkactionGuestMigrateRequest and cannot be null");
}
this.Target = target;
this.Maxworkers = maxworkers;
this.Online = online;
this.Vms = vms;
this.WithLocalDisks = withLocalDisks;
}
/// <summary>
/// Gets or Sets Maxworkers
/// </summary>
[DataMember(Name = "maxworkers", EmitDefaultValue = false)]
public int Maxworkers { get; set; }
/// <summary>
/// Gets or Sets Online
/// </summary>
[DataMember(Name = "online", EmitDefaultValue = true)]
public bool Online { get; set; }
/// <summary>
/// Gets or Sets Target
/// </summary>
[DataMember(Name = "target", IsRequired = true, EmitDefaultValue = true)]
public string Target { get; set; }
/// <summary>
/// Gets or Sets Vms
/// </summary>
[DataMember(Name = "vms", EmitDefaultValue = false)]
public List<int> Vms { get; set; }
/// <summary>
/// Gets or Sets WithLocalDisks
/// </summary>
[DataMember(Name = "with-local-disks", EmitDefaultValue = true)]
public bool WithLocalDisks { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterBulkactionGuestMigrateRequest {\n");
sb.Append(" Maxworkers: ").Append(Maxworkers).Append("\n");
sb.Append(" Online: ").Append(Online).Append("\n");
sb.Append(" Target: ").Append(Target).Append("\n");
sb.Append(" Vms: ").Append(Vms).Append("\n");
sb.Append(" WithLocalDisks: ").Append(WithLocalDisks).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,110 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterBulkactionGuestShutdownRequest
/// </summary>
[DataContract(Name = "CreateClusterBulkactionGuestShutdownRequest")]
public partial class CreateClusterBulkactionGuestShutdownRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterBulkactionGuestShutdownRequest" /> class.
/// </summary>
/// <param name="forceStop">forceStop.</param>
/// <param name="maxworkers">maxworkers.</param>
/// <param name="timeout">timeout.</param>
/// <param name="vms">vms.</param>
public CreateClusterBulkactionGuestShutdownRequest(bool forceStop = default(bool), int maxworkers = default(int), int timeout = default(int), List<int> vms = default(List<int>))
{
this.ForceStop = forceStop;
this.Maxworkers = maxworkers;
this.Timeout = timeout;
this.Vms = vms;
}
/// <summary>
/// Gets or Sets ForceStop
/// </summary>
[DataMember(Name = "force-stop", EmitDefaultValue = true)]
public bool ForceStop { get; set; }
/// <summary>
/// Gets or Sets Maxworkers
/// </summary>
[DataMember(Name = "maxworkers", EmitDefaultValue = false)]
public int Maxworkers { get; set; }
/// <summary>
/// Gets or Sets Timeout
/// </summary>
[DataMember(Name = "timeout", EmitDefaultValue = false)]
public int Timeout { get; set; }
/// <summary>
/// Gets or Sets Vms
/// </summary>
[DataMember(Name = "vms", EmitDefaultValue = false)]
public List<int> Vms { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterBulkactionGuestShutdownRequest {\n");
sb.Append(" ForceStop: ").Append(ForceStop).Append("\n");
sb.Append(" Maxworkers: ").Append(Maxworkers).Append("\n");
sb.Append(" Timeout: ").Append(Timeout).Append("\n");
sb.Append(" Vms: ").Append(Vms).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,93 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterBulkactionGuestStart200Response
/// </summary>
[DataContract(Name = "createClusterBulkactionGuestStart_200_response")]
public partial class CreateClusterBulkactionGuestStart200Response : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterBulkactionGuestStart200Response" /> class.
/// </summary>
/// <param name="errors">errors.</param>
/// <param name="data">UPID of the worker.</param>
public CreateClusterBulkactionGuestStart200Response(List<string> errors = default(List<string>), string data = default(string))
{
this.Errors = errors;
this.Data = data;
}
/// <summary>
/// Gets or Sets Errors
/// </summary>
[DataMember(Name = "errors", EmitDefaultValue = false)]
public List<string> Errors { get; set; }
/// <summary>
/// UPID of the worker
/// </summary>
/// <value>UPID of the worker</value>
[DataMember(Name = "data", EmitDefaultValue = false)]
public string Data { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterBulkactionGuestStart200Response {\n");
sb.Append(" Errors: ").Append(Errors).Append("\n");
sb.Append(" Data: ").Append(Data).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,101 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterBulkactionGuestStartRequest
/// </summary>
[DataContract(Name = "CreateClusterBulkactionGuestStartRequest")]
public partial class CreateClusterBulkactionGuestStartRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterBulkactionGuestStartRequest" /> class.
/// </summary>
/// <param name="maxworkers">maxworkers.</param>
/// <param name="timeout">timeout.</param>
/// <param name="vms">vms.</param>
public CreateClusterBulkactionGuestStartRequest(int maxworkers = default(int), int timeout = default(int), List<int> vms = default(List<int>))
{
this.Maxworkers = maxworkers;
this.Timeout = timeout;
this.Vms = vms;
}
/// <summary>
/// Gets or Sets Maxworkers
/// </summary>
[DataMember(Name = "maxworkers", EmitDefaultValue = false)]
public int Maxworkers { get; set; }
/// <summary>
/// Gets or Sets Timeout
/// </summary>
[DataMember(Name = "timeout", EmitDefaultValue = false)]
public int Timeout { get; set; }
/// <summary>
/// Gets or Sets Vms
/// </summary>
[DataMember(Name = "vms", EmitDefaultValue = false)]
public List<int> Vms { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterBulkactionGuestStartRequest {\n");
sb.Append(" Maxworkers: ").Append(Maxworkers).Append("\n");
sb.Append(" Timeout: ").Append(Timeout).Append("\n");
sb.Append(" Vms: ").Append(Vms).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,110 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterBulkactionGuestSuspendRequest
/// </summary>
[DataContract(Name = "CreateClusterBulkactionGuestSuspendRequest")]
public partial class CreateClusterBulkactionGuestSuspendRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterBulkactionGuestSuspendRequest" /> class.
/// </summary>
/// <param name="maxworkers">maxworkers.</param>
/// <param name="statestorage">statestorage.</param>
/// <param name="toDisk">toDisk.</param>
/// <param name="vms">vms.</param>
public CreateClusterBulkactionGuestSuspendRequest(int maxworkers = default(int), string statestorage = default(string), bool toDisk = default(bool), List<int> vms = default(List<int>))
{
this.Maxworkers = maxworkers;
this.Statestorage = statestorage;
this.ToDisk = toDisk;
this.Vms = vms;
}
/// <summary>
/// Gets or Sets Maxworkers
/// </summary>
[DataMember(Name = "maxworkers", EmitDefaultValue = false)]
public int Maxworkers { get; set; }
/// <summary>
/// Gets or Sets Statestorage
/// </summary>
[DataMember(Name = "statestorage", EmitDefaultValue = false)]
public string Statestorage { get; set; }
/// <summary>
/// Gets or Sets ToDisk
/// </summary>
[DataMember(Name = "to-disk", EmitDefaultValue = true)]
public bool ToDisk { get; set; }
/// <summary>
/// Gets or Sets Vms
/// </summary>
[DataMember(Name = "vms", EmitDefaultValue = false)]
public List<int> Vms { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterBulkactionGuestSuspendRequest {\n");
sb.Append(" Maxworkers: ").Append(Maxworkers).Append("\n");
sb.Append(" Statestorage: ").Append(Statestorage).Append("\n");
sb.Append(" ToDisk: ").Append(ToDisk).Append("\n");
sb.Append(" Vms: ").Append(Vms).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,418 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterConfigJoinRequest
/// </summary>
[DataContract(Name = "CreateClusterConfigJoinRequest")]
public partial class CreateClusterConfigJoinRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterConfigJoinRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterConfigJoinRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterConfigJoinRequest" /> class.
/// </summary>
/// <param name="fingerprint">fingerprint (required).</param>
/// <param name="force">force.</param>
/// <param name="hostname">hostname (required).</param>
/// <param name="link0">link0.</param>
/// <param name="link1">link1.</param>
/// <param name="link2">link2.</param>
/// <param name="link3">link3.</param>
/// <param name="link4">link4.</param>
/// <param name="link5">link5.</param>
/// <param name="link6">link6.</param>
/// <param name="link7">link7.</param>
/// <param name="link8">link8.</param>
/// <param name="link9">link9.</param>
/// <param name="link10">link10.</param>
/// <param name="link11">link11.</param>
/// <param name="link12">link12.</param>
/// <param name="link13">link13.</param>
/// <param name="link14">link14.</param>
/// <param name="link15">link15.</param>
/// <param name="link16">link16.</param>
/// <param name="link17">link17.</param>
/// <param name="link18">link18.</param>
/// <param name="link19">link19.</param>
/// <param name="link20">link20.</param>
/// <param name="link21">link21.</param>
/// <param name="link22">link22.</param>
/// <param name="link23">link23.</param>
/// <param name="link24">link24.</param>
/// <param name="link25">link25.</param>
/// <param name="link26">link26.</param>
/// <param name="link27">link27.</param>
/// <param name="link28">link28.</param>
/// <param name="link29">link29.</param>
/// <param name="nodeid">nodeid.</param>
/// <param name="password">password (required).</param>
/// <param name="votes">votes.</param>
public CreateClusterConfigJoinRequest(string fingerprint = default(string), bool force = default(bool), string hostname = default(string), string link0 = default(string), string link1 = default(string), string link2 = default(string), string link3 = default(string), string link4 = default(string), string link5 = default(string), string link6 = default(string), string link7 = default(string), string link8 = default(string), string link9 = default(string), string link10 = default(string), string link11 = default(string), string link12 = default(string), string link13 = default(string), string link14 = default(string), string link15 = default(string), string link16 = default(string), string link17 = default(string), string link18 = default(string), string link19 = default(string), string link20 = default(string), string link21 = default(string), string link22 = default(string), string link23 = default(string), string link24 = default(string), string link25 = default(string), string link26 = default(string), string link27 = default(string), string link28 = default(string), string link29 = default(string), int nodeid = default(int), string password = default(string), int votes = default(int))
{
// to ensure "fingerprint" is required (not null)
if (fingerprint == null)
{
throw new ArgumentNullException("fingerprint is a required property for CreateClusterConfigJoinRequest and cannot be null");
}
this.Fingerprint = fingerprint;
// to ensure "hostname" is required (not null)
if (hostname == null)
{
throw new ArgumentNullException("hostname is a required property for CreateClusterConfigJoinRequest and cannot be null");
}
this.Hostname = hostname;
// to ensure "password" is required (not null)
if (password == null)
{
throw new ArgumentNullException("password is a required property for CreateClusterConfigJoinRequest and cannot be null");
}
this.Password = password;
this.Force = force;
this.Link0 = link0;
this.Link1 = link1;
this.Link2 = link2;
this.Link3 = link3;
this.Link4 = link4;
this.Link5 = link5;
this.Link6 = link6;
this.Link7 = link7;
this.Link8 = link8;
this.Link9 = link9;
this.Link10 = link10;
this.Link11 = link11;
this.Link12 = link12;
this.Link13 = link13;
this.Link14 = link14;
this.Link15 = link15;
this.Link16 = link16;
this.Link17 = link17;
this.Link18 = link18;
this.Link19 = link19;
this.Link20 = link20;
this.Link21 = link21;
this.Link22 = link22;
this.Link23 = link23;
this.Link24 = link24;
this.Link25 = link25;
this.Link26 = link26;
this.Link27 = link27;
this.Link28 = link28;
this.Link29 = link29;
this.Nodeid = nodeid;
this.Votes = votes;
}
/// <summary>
/// Gets or Sets Fingerprint
/// </summary>
[DataMember(Name = "fingerprint", IsRequired = true, EmitDefaultValue = true)]
public string Fingerprint { get; set; }
/// <summary>
/// Gets or Sets Force
/// </summary>
[DataMember(Name = "force", EmitDefaultValue = true)]
public bool Force { get; set; }
/// <summary>
/// Gets or Sets Hostname
/// </summary>
[DataMember(Name = "hostname", IsRequired = true, EmitDefaultValue = true)]
public string Hostname { get; set; }
/// <summary>
/// Gets or Sets Link0
/// </summary>
[DataMember(Name = "link0", EmitDefaultValue = false)]
public string Link0 { get; set; }
/// <summary>
/// Gets or Sets Link1
/// </summary>
[DataMember(Name = "link1", EmitDefaultValue = false)]
public string Link1 { get; set; }
/// <summary>
/// Gets or Sets Link2
/// </summary>
[DataMember(Name = "link2", EmitDefaultValue = false)]
public string Link2 { get; set; }
/// <summary>
/// Gets or Sets Link3
/// </summary>
[DataMember(Name = "link3", EmitDefaultValue = false)]
public string Link3 { get; set; }
/// <summary>
/// Gets or Sets Link4
/// </summary>
[DataMember(Name = "link4", EmitDefaultValue = false)]
public string Link4 { get; set; }
/// <summary>
/// Gets or Sets Link5
/// </summary>
[DataMember(Name = "link5", EmitDefaultValue = false)]
public string Link5 { get; set; }
/// <summary>
/// Gets or Sets Link6
/// </summary>
[DataMember(Name = "link6", EmitDefaultValue = false)]
public string Link6 { get; set; }
/// <summary>
/// Gets or Sets Link7
/// </summary>
[DataMember(Name = "link7", EmitDefaultValue = false)]
public string Link7 { get; set; }
/// <summary>
/// Gets or Sets Link8
/// </summary>
[DataMember(Name = "link8", EmitDefaultValue = false)]
public string Link8 { get; set; }
/// <summary>
/// Gets or Sets Link9
/// </summary>
[DataMember(Name = "link9", EmitDefaultValue = false)]
public string Link9 { get; set; }
/// <summary>
/// Gets or Sets Link10
/// </summary>
[DataMember(Name = "link10", EmitDefaultValue = false)]
public string Link10 { get; set; }
/// <summary>
/// Gets or Sets Link11
/// </summary>
[DataMember(Name = "link11", EmitDefaultValue = false)]
public string Link11 { get; set; }
/// <summary>
/// Gets or Sets Link12
/// </summary>
[DataMember(Name = "link12", EmitDefaultValue = false)]
public string Link12 { get; set; }
/// <summary>
/// Gets or Sets Link13
/// </summary>
[DataMember(Name = "link13", EmitDefaultValue = false)]
public string Link13 { get; set; }
/// <summary>
/// Gets or Sets Link14
/// </summary>
[DataMember(Name = "link14", EmitDefaultValue = false)]
public string Link14 { get; set; }
/// <summary>
/// Gets or Sets Link15
/// </summary>
[DataMember(Name = "link15", EmitDefaultValue = false)]
public string Link15 { get; set; }
/// <summary>
/// Gets or Sets Link16
/// </summary>
[DataMember(Name = "link16", EmitDefaultValue = false)]
public string Link16 { get; set; }
/// <summary>
/// Gets or Sets Link17
/// </summary>
[DataMember(Name = "link17", EmitDefaultValue = false)]
public string Link17 { get; set; }
/// <summary>
/// Gets or Sets Link18
/// </summary>
[DataMember(Name = "link18", EmitDefaultValue = false)]
public string Link18 { get; set; }
/// <summary>
/// Gets or Sets Link19
/// </summary>
[DataMember(Name = "link19", EmitDefaultValue = false)]
public string Link19 { get; set; }
/// <summary>
/// Gets or Sets Link20
/// </summary>
[DataMember(Name = "link20", EmitDefaultValue = false)]
public string Link20 { get; set; }
/// <summary>
/// Gets or Sets Link21
/// </summary>
[DataMember(Name = "link21", EmitDefaultValue = false)]
public string Link21 { get; set; }
/// <summary>
/// Gets or Sets Link22
/// </summary>
[DataMember(Name = "link22", EmitDefaultValue = false)]
public string Link22 { get; set; }
/// <summary>
/// Gets or Sets Link23
/// </summary>
[DataMember(Name = "link23", EmitDefaultValue = false)]
public string Link23 { get; set; }
/// <summary>
/// Gets or Sets Link24
/// </summary>
[DataMember(Name = "link24", EmitDefaultValue = false)]
public string Link24 { get; set; }
/// <summary>
/// Gets or Sets Link25
/// </summary>
[DataMember(Name = "link25", EmitDefaultValue = false)]
public string Link25 { get; set; }
/// <summary>
/// Gets or Sets Link26
/// </summary>
[DataMember(Name = "link26", EmitDefaultValue = false)]
public string Link26 { get; set; }
/// <summary>
/// Gets or Sets Link27
/// </summary>
[DataMember(Name = "link27", EmitDefaultValue = false)]
public string Link27 { get; set; }
/// <summary>
/// Gets or Sets Link28
/// </summary>
[DataMember(Name = "link28", EmitDefaultValue = false)]
public string Link28 { get; set; }
/// <summary>
/// Gets or Sets Link29
/// </summary>
[DataMember(Name = "link29", EmitDefaultValue = false)]
public string Link29 { get; set; }
/// <summary>
/// Gets or Sets Nodeid
/// </summary>
[DataMember(Name = "nodeid", EmitDefaultValue = false)]
public int Nodeid { get; set; }
/// <summary>
/// Gets or Sets Password
/// </summary>
[DataMember(Name = "password", IsRequired = true, EmitDefaultValue = true)]
public string Password { get; set; }
/// <summary>
/// Gets or Sets Votes
/// </summary>
[DataMember(Name = "votes", EmitDefaultValue = false)]
public int Votes { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterConfigJoinRequest {\n");
sb.Append(" Fingerprint: ").Append(Fingerprint).Append("\n");
sb.Append(" Force: ").Append(Force).Append("\n");
sb.Append(" Hostname: ").Append(Hostname).Append("\n");
sb.Append(" Link0: ").Append(Link0).Append("\n");
sb.Append(" Link1: ").Append(Link1).Append("\n");
sb.Append(" Link2: ").Append(Link2).Append("\n");
sb.Append(" Link3: ").Append(Link3).Append("\n");
sb.Append(" Link4: ").Append(Link4).Append("\n");
sb.Append(" Link5: ").Append(Link5).Append("\n");
sb.Append(" Link6: ").Append(Link6).Append("\n");
sb.Append(" Link7: ").Append(Link7).Append("\n");
sb.Append(" Link8: ").Append(Link8).Append("\n");
sb.Append(" Link9: ").Append(Link9).Append("\n");
sb.Append(" Link10: ").Append(Link10).Append("\n");
sb.Append(" Link11: ").Append(Link11).Append("\n");
sb.Append(" Link12: ").Append(Link12).Append("\n");
sb.Append(" Link13: ").Append(Link13).Append("\n");
sb.Append(" Link14: ").Append(Link14).Append("\n");
sb.Append(" Link15: ").Append(Link15).Append("\n");
sb.Append(" Link16: ").Append(Link16).Append("\n");
sb.Append(" Link17: ").Append(Link17).Append("\n");
sb.Append(" Link18: ").Append(Link18).Append("\n");
sb.Append(" Link19: ").Append(Link19).Append("\n");
sb.Append(" Link20: ").Append(Link20).Append("\n");
sb.Append(" Link21: ").Append(Link21).Append("\n");
sb.Append(" Link22: ").Append(Link22).Append("\n");
sb.Append(" Link23: ").Append(Link23).Append("\n");
sb.Append(" Link24: ").Append(Link24).Append("\n");
sb.Append(" Link25: ").Append(Link25).Append("\n");
sb.Append(" Link26: ").Append(Link26).Append("\n");
sb.Append(" Link27: ").Append(Link27).Append("\n");
sb.Append(" Link28: ").Append(Link28).Append("\n");
sb.Append(" Link29: ").Append(Link29).Append("\n");
sb.Append(" Nodeid: ").Append(Nodeid).Append("\n");
sb.Append(" Password: ").Append(Password).Append("\n");
sb.Append(" Votes: ").Append(Votes).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,92 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterConfigNodesSingle200Response
/// </summary>
[DataContract(Name = "createClusterConfigNodesSingle_200_response")]
public partial class CreateClusterConfigNodesSingle200Response : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterConfigNodesSingle200Response" /> class.
/// </summary>
/// <param name="errors">errors.</param>
/// <param name="data">data.</param>
public CreateClusterConfigNodesSingle200Response(List<string> errors = default(List<string>), CreateClusterConfigNodesSingle200ResponseData data = default(CreateClusterConfigNodesSingle200ResponseData))
{
this.Errors = errors;
this.Data = data;
}
/// <summary>
/// Gets or Sets Errors
/// </summary>
[DataMember(Name = "errors", EmitDefaultValue = false)]
public List<string> Errors { get; set; }
/// <summary>
/// Gets or Sets Data
/// </summary>
[DataMember(Name = "data", EmitDefaultValue = false)]
public CreateClusterConfigNodesSingle200ResponseData Data { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterConfigNodesSingle200Response {\n");
sb.Append(" Errors: ").Append(Errors).Append("\n");
sb.Append(" Data: ").Append(Data).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,101 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterConfigNodesSingle200ResponseData
/// </summary>
[DataContract(Name = "createClusterConfigNodesSingle_200_response_data")]
public partial class CreateClusterConfigNodesSingle200ResponseData : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterConfigNodesSingle200ResponseData" /> class.
/// </summary>
/// <param name="corosyncAuthkey">corosyncAuthkey.</param>
/// <param name="corosyncConf">corosyncConf.</param>
/// <param name="warnings">warnings.</param>
public CreateClusterConfigNodesSingle200ResponseData(string corosyncAuthkey = default(string), string corosyncConf = default(string), List<string> warnings = default(List<string>))
{
this.CorosyncAuthkey = corosyncAuthkey;
this.CorosyncConf = corosyncConf;
this.Warnings = warnings;
}
/// <summary>
/// Gets or Sets CorosyncAuthkey
/// </summary>
[DataMember(Name = "corosync_authkey", EmitDefaultValue = false)]
public string CorosyncAuthkey { get; set; }
/// <summary>
/// Gets or Sets CorosyncConf
/// </summary>
[DataMember(Name = "corosync_conf", EmitDefaultValue = false)]
public string CorosyncConf { get; set; }
/// <summary>
/// Gets or Sets Warnings
/// </summary>
[DataMember(Name = "warnings", EmitDefaultValue = false)]
public List<string> Warnings { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterConfigNodesSingle200ResponseData {\n");
sb.Append(" CorosyncAuthkey: ").Append(CorosyncAuthkey).Append("\n");
sb.Append(" CorosyncConf: ").Append(CorosyncConf).Append("\n");
sb.Append(" Warnings: ").Append(Warnings).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,389 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterConfigNodesSingleRequest
/// </summary>
[DataContract(Name = "CreateClusterConfigNodesSingleRequest")]
public partial class CreateClusterConfigNodesSingleRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterConfigNodesSingleRequest" /> class.
/// </summary>
/// <param name="apiversion">apiversion.</param>
/// <param name="force">force.</param>
/// <param name="link0">link0.</param>
/// <param name="link1">link1.</param>
/// <param name="link2">link2.</param>
/// <param name="link3">link3.</param>
/// <param name="link4">link4.</param>
/// <param name="link5">link5.</param>
/// <param name="link6">link6.</param>
/// <param name="link7">link7.</param>
/// <param name="link8">link8.</param>
/// <param name="link9">link9.</param>
/// <param name="link10">link10.</param>
/// <param name="link11">link11.</param>
/// <param name="link12">link12.</param>
/// <param name="link13">link13.</param>
/// <param name="link14">link14.</param>
/// <param name="link15">link15.</param>
/// <param name="link16">link16.</param>
/// <param name="link17">link17.</param>
/// <param name="link18">link18.</param>
/// <param name="link19">link19.</param>
/// <param name="link20">link20.</param>
/// <param name="link21">link21.</param>
/// <param name="link22">link22.</param>
/// <param name="link23">link23.</param>
/// <param name="link24">link24.</param>
/// <param name="link25">link25.</param>
/// <param name="link26">link26.</param>
/// <param name="link27">link27.</param>
/// <param name="link28">link28.</param>
/// <param name="link29">link29.</param>
/// <param name="newNodeIp">newNodeIp.</param>
/// <param name="nodeid">nodeid.</param>
/// <param name="votes">votes.</param>
public CreateClusterConfigNodesSingleRequest(int apiversion = default(int), bool force = default(bool), string link0 = default(string), string link1 = default(string), string link2 = default(string), string link3 = default(string), string link4 = default(string), string link5 = default(string), string link6 = default(string), string link7 = default(string), string link8 = default(string), string link9 = default(string), string link10 = default(string), string link11 = default(string), string link12 = default(string), string link13 = default(string), string link14 = default(string), string link15 = default(string), string link16 = default(string), string link17 = default(string), string link18 = default(string), string link19 = default(string), string link20 = default(string), string link21 = default(string), string link22 = default(string), string link23 = default(string), string link24 = default(string), string link25 = default(string), string link26 = default(string), string link27 = default(string), string link28 = default(string), string link29 = default(string), string newNodeIp = default(string), int nodeid = default(int), int votes = default(int))
{
this.Apiversion = apiversion;
this.Force = force;
this.Link0 = link0;
this.Link1 = link1;
this.Link2 = link2;
this.Link3 = link3;
this.Link4 = link4;
this.Link5 = link5;
this.Link6 = link6;
this.Link7 = link7;
this.Link8 = link8;
this.Link9 = link9;
this.Link10 = link10;
this.Link11 = link11;
this.Link12 = link12;
this.Link13 = link13;
this.Link14 = link14;
this.Link15 = link15;
this.Link16 = link16;
this.Link17 = link17;
this.Link18 = link18;
this.Link19 = link19;
this.Link20 = link20;
this.Link21 = link21;
this.Link22 = link22;
this.Link23 = link23;
this.Link24 = link24;
this.Link25 = link25;
this.Link26 = link26;
this.Link27 = link27;
this.Link28 = link28;
this.Link29 = link29;
this.NewNodeIp = newNodeIp;
this.Nodeid = nodeid;
this.Votes = votes;
}
/// <summary>
/// Gets or Sets Apiversion
/// </summary>
[DataMember(Name = "apiversion", EmitDefaultValue = false)]
public int Apiversion { get; set; }
/// <summary>
/// Gets or Sets Force
/// </summary>
[DataMember(Name = "force", EmitDefaultValue = true)]
public bool Force { get; set; }
/// <summary>
/// Gets or Sets Link0
/// </summary>
[DataMember(Name = "link0", EmitDefaultValue = false)]
public string Link0 { get; set; }
/// <summary>
/// Gets or Sets Link1
/// </summary>
[DataMember(Name = "link1", EmitDefaultValue = false)]
public string Link1 { get; set; }
/// <summary>
/// Gets or Sets Link2
/// </summary>
[DataMember(Name = "link2", EmitDefaultValue = false)]
public string Link2 { get; set; }
/// <summary>
/// Gets or Sets Link3
/// </summary>
[DataMember(Name = "link3", EmitDefaultValue = false)]
public string Link3 { get; set; }
/// <summary>
/// Gets or Sets Link4
/// </summary>
[DataMember(Name = "link4", EmitDefaultValue = false)]
public string Link4 { get; set; }
/// <summary>
/// Gets or Sets Link5
/// </summary>
[DataMember(Name = "link5", EmitDefaultValue = false)]
public string Link5 { get; set; }
/// <summary>
/// Gets or Sets Link6
/// </summary>
[DataMember(Name = "link6", EmitDefaultValue = false)]
public string Link6 { get; set; }
/// <summary>
/// Gets or Sets Link7
/// </summary>
[DataMember(Name = "link7", EmitDefaultValue = false)]
public string Link7 { get; set; }
/// <summary>
/// Gets or Sets Link8
/// </summary>
[DataMember(Name = "link8", EmitDefaultValue = false)]
public string Link8 { get; set; }
/// <summary>
/// Gets or Sets Link9
/// </summary>
[DataMember(Name = "link9", EmitDefaultValue = false)]
public string Link9 { get; set; }
/// <summary>
/// Gets or Sets Link10
/// </summary>
[DataMember(Name = "link10", EmitDefaultValue = false)]
public string Link10 { get; set; }
/// <summary>
/// Gets or Sets Link11
/// </summary>
[DataMember(Name = "link11", EmitDefaultValue = false)]
public string Link11 { get; set; }
/// <summary>
/// Gets or Sets Link12
/// </summary>
[DataMember(Name = "link12", EmitDefaultValue = false)]
public string Link12 { get; set; }
/// <summary>
/// Gets or Sets Link13
/// </summary>
[DataMember(Name = "link13", EmitDefaultValue = false)]
public string Link13 { get; set; }
/// <summary>
/// Gets or Sets Link14
/// </summary>
[DataMember(Name = "link14", EmitDefaultValue = false)]
public string Link14 { get; set; }
/// <summary>
/// Gets or Sets Link15
/// </summary>
[DataMember(Name = "link15", EmitDefaultValue = false)]
public string Link15 { get; set; }
/// <summary>
/// Gets or Sets Link16
/// </summary>
[DataMember(Name = "link16", EmitDefaultValue = false)]
public string Link16 { get; set; }
/// <summary>
/// Gets or Sets Link17
/// </summary>
[DataMember(Name = "link17", EmitDefaultValue = false)]
public string Link17 { get; set; }
/// <summary>
/// Gets or Sets Link18
/// </summary>
[DataMember(Name = "link18", EmitDefaultValue = false)]
public string Link18 { get; set; }
/// <summary>
/// Gets or Sets Link19
/// </summary>
[DataMember(Name = "link19", EmitDefaultValue = false)]
public string Link19 { get; set; }
/// <summary>
/// Gets or Sets Link20
/// </summary>
[DataMember(Name = "link20", EmitDefaultValue = false)]
public string Link20 { get; set; }
/// <summary>
/// Gets or Sets Link21
/// </summary>
[DataMember(Name = "link21", EmitDefaultValue = false)]
public string Link21 { get; set; }
/// <summary>
/// Gets or Sets Link22
/// </summary>
[DataMember(Name = "link22", EmitDefaultValue = false)]
public string Link22 { get; set; }
/// <summary>
/// Gets or Sets Link23
/// </summary>
[DataMember(Name = "link23", EmitDefaultValue = false)]
public string Link23 { get; set; }
/// <summary>
/// Gets or Sets Link24
/// </summary>
[DataMember(Name = "link24", EmitDefaultValue = false)]
public string Link24 { get; set; }
/// <summary>
/// Gets or Sets Link25
/// </summary>
[DataMember(Name = "link25", EmitDefaultValue = false)]
public string Link25 { get; set; }
/// <summary>
/// Gets or Sets Link26
/// </summary>
[DataMember(Name = "link26", EmitDefaultValue = false)]
public string Link26 { get; set; }
/// <summary>
/// Gets or Sets Link27
/// </summary>
[DataMember(Name = "link27", EmitDefaultValue = false)]
public string Link27 { get; set; }
/// <summary>
/// Gets or Sets Link28
/// </summary>
[DataMember(Name = "link28", EmitDefaultValue = false)]
public string Link28 { get; set; }
/// <summary>
/// Gets or Sets Link29
/// </summary>
[DataMember(Name = "link29", EmitDefaultValue = false)]
public string Link29 { get; set; }
/// <summary>
/// Gets or Sets NewNodeIp
/// </summary>
[DataMember(Name = "new_node_ip", EmitDefaultValue = false)]
public string NewNodeIp { get; set; }
/// <summary>
/// Gets or Sets Nodeid
/// </summary>
[DataMember(Name = "nodeid", EmitDefaultValue = false)]
public int Nodeid { get; set; }
/// <summary>
/// Gets or Sets Votes
/// </summary>
[DataMember(Name = "votes", EmitDefaultValue = false)]
public int Votes { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterConfigNodesSingleRequest {\n");
sb.Append(" Apiversion: ").Append(Apiversion).Append("\n");
sb.Append(" Force: ").Append(Force).Append("\n");
sb.Append(" Link0: ").Append(Link0).Append("\n");
sb.Append(" Link1: ").Append(Link1).Append("\n");
sb.Append(" Link2: ").Append(Link2).Append("\n");
sb.Append(" Link3: ").Append(Link3).Append("\n");
sb.Append(" Link4: ").Append(Link4).Append("\n");
sb.Append(" Link5: ").Append(Link5).Append("\n");
sb.Append(" Link6: ").Append(Link6).Append("\n");
sb.Append(" Link7: ").Append(Link7).Append("\n");
sb.Append(" Link8: ").Append(Link8).Append("\n");
sb.Append(" Link9: ").Append(Link9).Append("\n");
sb.Append(" Link10: ").Append(Link10).Append("\n");
sb.Append(" Link11: ").Append(Link11).Append("\n");
sb.Append(" Link12: ").Append(Link12).Append("\n");
sb.Append(" Link13: ").Append(Link13).Append("\n");
sb.Append(" Link14: ").Append(Link14).Append("\n");
sb.Append(" Link15: ").Append(Link15).Append("\n");
sb.Append(" Link16: ").Append(Link16).Append("\n");
sb.Append(" Link17: ").Append(Link17).Append("\n");
sb.Append(" Link18: ").Append(Link18).Append("\n");
sb.Append(" Link19: ").Append(Link19).Append("\n");
sb.Append(" Link20: ").Append(Link20).Append("\n");
sb.Append(" Link21: ").Append(Link21).Append("\n");
sb.Append(" Link22: ").Append(Link22).Append("\n");
sb.Append(" Link23: ").Append(Link23).Append("\n");
sb.Append(" Link24: ").Append(Link24).Append("\n");
sb.Append(" Link25: ").Append(Link25).Append("\n");
sb.Append(" Link26: ").Append(Link26).Append("\n");
sb.Append(" Link27: ").Append(Link27).Append("\n");
sb.Append(" Link28: ").Append(Link28).Append("\n");
sb.Append(" Link29: ").Append(Link29).Append("\n");
sb.Append(" NewNodeIp: ").Append(NewNodeIp).Append("\n");
sb.Append(" Nodeid: ").Append(Nodeid).Append("\n");
sb.Append(" Votes: ").Append(Votes).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,381 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterConfigRequest
/// </summary>
[DataContract(Name = "CreateClusterConfigRequest")]
public partial class CreateClusterConfigRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterConfigRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterConfigRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterConfigRequest" /> class.
/// </summary>
/// <param name="clustername">clustername (required).</param>
/// <param name="link0">link0.</param>
/// <param name="link1">link1.</param>
/// <param name="link2">link2.</param>
/// <param name="link3">link3.</param>
/// <param name="link4">link4.</param>
/// <param name="link5">link5.</param>
/// <param name="link6">link6.</param>
/// <param name="link7">link7.</param>
/// <param name="link8">link8.</param>
/// <param name="link9">link9.</param>
/// <param name="link10">link10.</param>
/// <param name="link11">link11.</param>
/// <param name="link12">link12.</param>
/// <param name="link13">link13.</param>
/// <param name="link14">link14.</param>
/// <param name="link15">link15.</param>
/// <param name="link16">link16.</param>
/// <param name="link17">link17.</param>
/// <param name="link18">link18.</param>
/// <param name="link19">link19.</param>
/// <param name="link20">link20.</param>
/// <param name="link21">link21.</param>
/// <param name="link22">link22.</param>
/// <param name="link23">link23.</param>
/// <param name="link24">link24.</param>
/// <param name="link25">link25.</param>
/// <param name="link26">link26.</param>
/// <param name="link27">link27.</param>
/// <param name="link28">link28.</param>
/// <param name="link29">link29.</param>
/// <param name="nodeid">nodeid.</param>
/// <param name="votes">votes.</param>
public CreateClusterConfigRequest(string clustername = default(string), string link0 = default(string), string link1 = default(string), string link2 = default(string), string link3 = default(string), string link4 = default(string), string link5 = default(string), string link6 = default(string), string link7 = default(string), string link8 = default(string), string link9 = default(string), string link10 = default(string), string link11 = default(string), string link12 = default(string), string link13 = default(string), string link14 = default(string), string link15 = default(string), string link16 = default(string), string link17 = default(string), string link18 = default(string), string link19 = default(string), string link20 = default(string), string link21 = default(string), string link22 = default(string), string link23 = default(string), string link24 = default(string), string link25 = default(string), string link26 = default(string), string link27 = default(string), string link28 = default(string), string link29 = default(string), int nodeid = default(int), int votes = default(int))
{
// to ensure "clustername" is required (not null)
if (clustername == null)
{
throw new ArgumentNullException("clustername is a required property for CreateClusterConfigRequest and cannot be null");
}
this.Clustername = clustername;
this.Link0 = link0;
this.Link1 = link1;
this.Link2 = link2;
this.Link3 = link3;
this.Link4 = link4;
this.Link5 = link5;
this.Link6 = link6;
this.Link7 = link7;
this.Link8 = link8;
this.Link9 = link9;
this.Link10 = link10;
this.Link11 = link11;
this.Link12 = link12;
this.Link13 = link13;
this.Link14 = link14;
this.Link15 = link15;
this.Link16 = link16;
this.Link17 = link17;
this.Link18 = link18;
this.Link19 = link19;
this.Link20 = link20;
this.Link21 = link21;
this.Link22 = link22;
this.Link23 = link23;
this.Link24 = link24;
this.Link25 = link25;
this.Link26 = link26;
this.Link27 = link27;
this.Link28 = link28;
this.Link29 = link29;
this.Nodeid = nodeid;
this.Votes = votes;
}
/// <summary>
/// Gets or Sets Clustername
/// </summary>
[DataMember(Name = "clustername", IsRequired = true, EmitDefaultValue = true)]
public string Clustername { get; set; }
/// <summary>
/// Gets or Sets Link0
/// </summary>
[DataMember(Name = "link0", EmitDefaultValue = false)]
public string Link0 { get; set; }
/// <summary>
/// Gets or Sets Link1
/// </summary>
[DataMember(Name = "link1", EmitDefaultValue = false)]
public string Link1 { get; set; }
/// <summary>
/// Gets or Sets Link2
/// </summary>
[DataMember(Name = "link2", EmitDefaultValue = false)]
public string Link2 { get; set; }
/// <summary>
/// Gets or Sets Link3
/// </summary>
[DataMember(Name = "link3", EmitDefaultValue = false)]
public string Link3 { get; set; }
/// <summary>
/// Gets or Sets Link4
/// </summary>
[DataMember(Name = "link4", EmitDefaultValue = false)]
public string Link4 { get; set; }
/// <summary>
/// Gets or Sets Link5
/// </summary>
[DataMember(Name = "link5", EmitDefaultValue = false)]
public string Link5 { get; set; }
/// <summary>
/// Gets or Sets Link6
/// </summary>
[DataMember(Name = "link6", EmitDefaultValue = false)]
public string Link6 { get; set; }
/// <summary>
/// Gets or Sets Link7
/// </summary>
[DataMember(Name = "link7", EmitDefaultValue = false)]
public string Link7 { get; set; }
/// <summary>
/// Gets or Sets Link8
/// </summary>
[DataMember(Name = "link8", EmitDefaultValue = false)]
public string Link8 { get; set; }
/// <summary>
/// Gets or Sets Link9
/// </summary>
[DataMember(Name = "link9", EmitDefaultValue = false)]
public string Link9 { get; set; }
/// <summary>
/// Gets or Sets Link10
/// </summary>
[DataMember(Name = "link10", EmitDefaultValue = false)]
public string Link10 { get; set; }
/// <summary>
/// Gets or Sets Link11
/// </summary>
[DataMember(Name = "link11", EmitDefaultValue = false)]
public string Link11 { get; set; }
/// <summary>
/// Gets or Sets Link12
/// </summary>
[DataMember(Name = "link12", EmitDefaultValue = false)]
public string Link12 { get; set; }
/// <summary>
/// Gets or Sets Link13
/// </summary>
[DataMember(Name = "link13", EmitDefaultValue = false)]
public string Link13 { get; set; }
/// <summary>
/// Gets or Sets Link14
/// </summary>
[DataMember(Name = "link14", EmitDefaultValue = false)]
public string Link14 { get; set; }
/// <summary>
/// Gets or Sets Link15
/// </summary>
[DataMember(Name = "link15", EmitDefaultValue = false)]
public string Link15 { get; set; }
/// <summary>
/// Gets or Sets Link16
/// </summary>
[DataMember(Name = "link16", EmitDefaultValue = false)]
public string Link16 { get; set; }
/// <summary>
/// Gets or Sets Link17
/// </summary>
[DataMember(Name = "link17", EmitDefaultValue = false)]
public string Link17 { get; set; }
/// <summary>
/// Gets or Sets Link18
/// </summary>
[DataMember(Name = "link18", EmitDefaultValue = false)]
public string Link18 { get; set; }
/// <summary>
/// Gets or Sets Link19
/// </summary>
[DataMember(Name = "link19", EmitDefaultValue = false)]
public string Link19 { get; set; }
/// <summary>
/// Gets or Sets Link20
/// </summary>
[DataMember(Name = "link20", EmitDefaultValue = false)]
public string Link20 { get; set; }
/// <summary>
/// Gets or Sets Link21
/// </summary>
[DataMember(Name = "link21", EmitDefaultValue = false)]
public string Link21 { get; set; }
/// <summary>
/// Gets or Sets Link22
/// </summary>
[DataMember(Name = "link22", EmitDefaultValue = false)]
public string Link22 { get; set; }
/// <summary>
/// Gets or Sets Link23
/// </summary>
[DataMember(Name = "link23", EmitDefaultValue = false)]
public string Link23 { get; set; }
/// <summary>
/// Gets or Sets Link24
/// </summary>
[DataMember(Name = "link24", EmitDefaultValue = false)]
public string Link24 { get; set; }
/// <summary>
/// Gets or Sets Link25
/// </summary>
[DataMember(Name = "link25", EmitDefaultValue = false)]
public string Link25 { get; set; }
/// <summary>
/// Gets or Sets Link26
/// </summary>
[DataMember(Name = "link26", EmitDefaultValue = false)]
public string Link26 { get; set; }
/// <summary>
/// Gets or Sets Link27
/// </summary>
[DataMember(Name = "link27", EmitDefaultValue = false)]
public string Link27 { get; set; }
/// <summary>
/// Gets or Sets Link28
/// </summary>
[DataMember(Name = "link28", EmitDefaultValue = false)]
public string Link28 { get; set; }
/// <summary>
/// Gets or Sets Link29
/// </summary>
[DataMember(Name = "link29", EmitDefaultValue = false)]
public string Link29 { get; set; }
/// <summary>
/// Gets or Sets Nodeid
/// </summary>
[DataMember(Name = "nodeid", EmitDefaultValue = false)]
public int Nodeid { get; set; }
/// <summary>
/// Gets or Sets Votes
/// </summary>
[DataMember(Name = "votes", EmitDefaultValue = false)]
public int Votes { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterConfigRequest {\n");
sb.Append(" Clustername: ").Append(Clustername).Append("\n");
sb.Append(" Link0: ").Append(Link0).Append("\n");
sb.Append(" Link1: ").Append(Link1).Append("\n");
sb.Append(" Link2: ").Append(Link2).Append("\n");
sb.Append(" Link3: ").Append(Link3).Append("\n");
sb.Append(" Link4: ").Append(Link4).Append("\n");
sb.Append(" Link5: ").Append(Link5).Append("\n");
sb.Append(" Link6: ").Append(Link6).Append("\n");
sb.Append(" Link7: ").Append(Link7).Append("\n");
sb.Append(" Link8: ").Append(Link8).Append("\n");
sb.Append(" Link9: ").Append(Link9).Append("\n");
sb.Append(" Link10: ").Append(Link10).Append("\n");
sb.Append(" Link11: ").Append(Link11).Append("\n");
sb.Append(" Link12: ").Append(Link12).Append("\n");
sb.Append(" Link13: ").Append(Link13).Append("\n");
sb.Append(" Link14: ").Append(Link14).Append("\n");
sb.Append(" Link15: ").Append(Link15).Append("\n");
sb.Append(" Link16: ").Append(Link16).Append("\n");
sb.Append(" Link17: ").Append(Link17).Append("\n");
sb.Append(" Link18: ").Append(Link18).Append("\n");
sb.Append(" Link19: ").Append(Link19).Append("\n");
sb.Append(" Link20: ").Append(Link20).Append("\n");
sb.Append(" Link21: ").Append(Link21).Append("\n");
sb.Append(" Link22: ").Append(Link22).Append("\n");
sb.Append(" Link23: ").Append(Link23).Append("\n");
sb.Append(" Link24: ").Append(Link24).Append("\n");
sb.Append(" Link25: ").Append(Link25).Append("\n");
sb.Append(" Link26: ").Append(Link26).Append("\n");
sb.Append(" Link27: ").Append(Link27).Append("\n");
sb.Append(" Link28: ").Append(Link28).Append("\n");
sb.Append(" Link29: ").Append(Link29).Append("\n");
sb.Append(" Nodeid: ").Append(Nodeid).Append("\n");
sb.Append(" Votes: ").Append(Votes).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,116 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterFirewallAliasesRequest
/// </summary>
[DataContract(Name = "CreateClusterFirewallAliasesRequest")]
public partial class CreateClusterFirewallAliasesRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterFirewallAliasesRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterFirewallAliasesRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterFirewallAliasesRequest" /> class.
/// </summary>
/// <param name="cidr">cidr (required).</param>
/// <param name="comment">comment.</param>
/// <param name="name">name (required).</param>
public CreateClusterFirewallAliasesRequest(string cidr = default(string), string comment = default(string), string name = default(string))
{
// to ensure "cidr" is required (not null)
if (cidr == null)
{
throw new ArgumentNullException("cidr is a required property for CreateClusterFirewallAliasesRequest and cannot be null");
}
this.Cidr = cidr;
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for CreateClusterFirewallAliasesRequest and cannot be null");
}
this.Name = name;
this.Comment = comment;
}
/// <summary>
/// Gets or Sets Cidr
/// </summary>
[DataMember(Name = "cidr", IsRequired = true, EmitDefaultValue = true)]
public string Cidr { get; set; }
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterFirewallAliasesRequest {\n");
sb.Append(" Cidr: ").Append(Cidr).Append("\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,120 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterFirewallGroupRequest
/// </summary>
[DataContract(Name = "CreateClusterFirewallGroupRequest")]
public partial class CreateClusterFirewallGroupRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterFirewallGroupRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterFirewallGroupRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterFirewallGroupRequest" /> class.
/// </summary>
/// <param name="comment">comment.</param>
/// <param name="digest">digest.</param>
/// <param name="group">group (required).</param>
/// <param name="rename">rename.</param>
public CreateClusterFirewallGroupRequest(string comment = default(string), string digest = default(string), string group = default(string), string rename = default(string))
{
// to ensure "group" is required (not null)
if (group == null)
{
throw new ArgumentNullException("group is a required property for CreateClusterFirewallGroupRequest and cannot be null");
}
this.Group = group;
this.Comment = comment;
this.Digest = digest;
this.Rename = rename;
}
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Digest
/// </summary>
[DataMember(Name = "digest", EmitDefaultValue = false)]
public string Digest { get; set; }
/// <summary>
/// Gets or Sets Group
/// </summary>
[DataMember(Name = "group", IsRequired = true, EmitDefaultValue = true)]
public string Group { get; set; }
/// <summary>
/// Gets or Sets Rename
/// </summary>
[DataMember(Name = "rename", EmitDefaultValue = false)]
public string Rename { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterFirewallGroupRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Digest: ").Append(Digest).Append("\n");
sb.Append(" Group: ").Append(Group).Append("\n");
sb.Append(" Rename: ").Append(Rename).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,120 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterFirewallIPSetRequest
/// </summary>
[DataContract(Name = "CreateClusterFirewallIPSetRequest")]
public partial class CreateClusterFirewallIPSetRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterFirewallIPSetRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterFirewallIPSetRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterFirewallIPSetRequest" /> class.
/// </summary>
/// <param name="comment">comment.</param>
/// <param name="digest">digest.</param>
/// <param name="name">name (required).</param>
/// <param name="rename">rename.</param>
public CreateClusterFirewallIPSetRequest(string comment = default(string), string digest = default(string), string name = default(string), string rename = default(string))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for CreateClusterFirewallIPSetRequest and cannot be null");
}
this.Name = name;
this.Comment = comment;
this.Digest = digest;
this.Rename = rename;
}
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Digest
/// </summary>
[DataMember(Name = "digest", EmitDefaultValue = false)]
public string Digest { get; set; }
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
/// Gets or Sets Rename
/// </summary>
[DataMember(Name = "rename", EmitDefaultValue = false)]
public string Rename { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterFirewallIPSetRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Digest: ").Append(Digest).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" Rename: ").Append(Rename).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,143 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterHaGroupsRequest
/// </summary>
[DataContract(Name = "CreateClusterHaGroupsRequest")]
public partial class CreateClusterHaGroupsRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaGroupsRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterHaGroupsRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaGroupsRequest" /> class.
/// </summary>
/// <param name="comment">comment.</param>
/// <param name="group">group (required).</param>
/// <param name="nodes">nodes (required).</param>
/// <param name="nofailback">nofailback.</param>
/// <param name="restricted">restricted.</param>
/// <param name="type">type.</param>
public CreateClusterHaGroupsRequest(string comment = default(string), string group = default(string), string nodes = default(string), bool nofailback = default(bool), bool restricted = default(bool), string type = default(string))
{
// to ensure "group" is required (not null)
if (group == null)
{
throw new ArgumentNullException("group is a required property for CreateClusterHaGroupsRequest and cannot be null");
}
this.Group = group;
// to ensure "nodes" is required (not null)
if (nodes == null)
{
throw new ArgumentNullException("nodes is a required property for CreateClusterHaGroupsRequest and cannot be null");
}
this.Nodes = nodes;
this.Comment = comment;
this.Nofailback = nofailback;
this.Restricted = restricted;
this.Type = type;
}
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Group
/// </summary>
[DataMember(Name = "group", IsRequired = true, EmitDefaultValue = true)]
public string Group { get; set; }
/// <summary>
/// Gets or Sets Nodes
/// </summary>
[DataMember(Name = "nodes", IsRequired = true, EmitDefaultValue = true)]
public string Nodes { get; set; }
/// <summary>
/// Gets or Sets Nofailback
/// </summary>
[DataMember(Name = "nofailback", EmitDefaultValue = true)]
public bool Nofailback { get; set; }
/// <summary>
/// Gets or Sets Restricted
/// </summary>
[DataMember(Name = "restricted", EmitDefaultValue = true)]
public bool Restricted { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", EmitDefaultValue = false)]
public string Type { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaGroupsRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Group: ").Append(Group).Append("\n");
sb.Append(" Nodes: ").Append(Nodes).Append("\n");
sb.Append(" Nofailback: ").Append(Nofailback).Append("\n");
sb.Append(" Restricted: ").Append(Restricted).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,156 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterHaResourcesRequest
/// </summary>
[DataContract(Name = "CreateClusterHaResourcesRequest")]
public partial class CreateClusterHaResourcesRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterHaResourcesRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesRequest" /> class.
/// </summary>
/// <param name="comment">comment.</param>
/// <param name="failback">failback.</param>
/// <param name="group">group.</param>
/// <param name="maxRelocate">maxRelocate.</param>
/// <param name="maxRestart">maxRestart.</param>
/// <param name="sid">sid (required).</param>
/// <param name="state">state.</param>
/// <param name="type">type.</param>
public CreateClusterHaResourcesRequest(string comment = default(string), bool failback = default(bool), string group = default(string), int maxRelocate = default(int), int maxRestart = default(int), string sid = default(string), string state = default(string), string type = default(string))
{
// to ensure "sid" is required (not null)
if (sid == null)
{
throw new ArgumentNullException("sid is a required property for CreateClusterHaResourcesRequest and cannot be null");
}
this.Sid = sid;
this.Comment = comment;
this.Failback = failback;
this.Group = group;
this.MaxRelocate = maxRelocate;
this.MaxRestart = maxRestart;
this.State = state;
this.Type = type;
}
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Failback
/// </summary>
[DataMember(Name = "failback", EmitDefaultValue = true)]
public bool Failback { get; set; }
/// <summary>
/// Gets or Sets Group
/// </summary>
[DataMember(Name = "group", EmitDefaultValue = false)]
public string Group { get; set; }
/// <summary>
/// Gets or Sets MaxRelocate
/// </summary>
[DataMember(Name = "max_relocate", EmitDefaultValue = false)]
public int MaxRelocate { get; set; }
/// <summary>
/// Gets or Sets MaxRestart
/// </summary>
[DataMember(Name = "max_restart", EmitDefaultValue = false)]
public int MaxRestart { get; set; }
/// <summary>
/// Gets or Sets Sid
/// </summary>
[DataMember(Name = "sid", IsRequired = true, EmitDefaultValue = true)]
public string Sid { get; set; }
/// <summary>
/// Gets or Sets State
/// </summary>
[DataMember(Name = "state", EmitDefaultValue = false)]
public string State { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", EmitDefaultValue = false)]
public string Type { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaResourcesRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Failback: ").Append(Failback).Append("\n");
sb.Append(" Group: ").Append(Group).Append("\n");
sb.Append(" MaxRelocate: ").Append(MaxRelocate).Append("\n");
sb.Append(" MaxRestart: ").Append(MaxRestart).Append("\n");
sb.Append(" Sid: ").Append(Sid).Append("\n");
sb.Append(" State: ").Append(State).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,92 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterHaResourcesSingleMigrate200Response
/// </summary>
[DataContract(Name = "createClusterHaResourcesSingleMigrate_200_response")]
public partial class CreateClusterHaResourcesSingleMigrate200Response : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesSingleMigrate200Response" /> class.
/// </summary>
/// <param name="errors">errors.</param>
/// <param name="data">data.</param>
public CreateClusterHaResourcesSingleMigrate200Response(List<string> errors = default(List<string>), CreateClusterHaResourcesSingleMigrate200ResponseData data = default(CreateClusterHaResourcesSingleMigrate200ResponseData))
{
this.Errors = errors;
this.Data = data;
}
/// <summary>
/// Gets or Sets Errors
/// </summary>
[DataMember(Name = "errors", EmitDefaultValue = false)]
public List<string> Errors { get; set; }
/// <summary>
/// Gets or Sets Data
/// </summary>
[DataMember(Name = "data", EmitDefaultValue = false)]
public CreateClusterHaResourcesSingleMigrate200ResponseData Data { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaResourcesSingleMigrate200Response {\n");
sb.Append(" Errors: ").Append(Errors).Append("\n");
sb.Append(" Data: ").Append(Data).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,114 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterHaResourcesSingleMigrate200ResponseData
/// </summary>
[DataContract(Name = "createClusterHaResourcesSingleMigrate_200_response_data")]
public partial class CreateClusterHaResourcesSingleMigrate200ResponseData : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesSingleMigrate200ResponseData" /> class.
/// </summary>
/// <param name="blockingResources">HA resources, which are blocking the given HA resource from being migrated to the requested target node..</param>
/// <param name="comigratedResources">HA resources, which are migrated to the same requested target node as the given HA resource, because these are in positive affinity with the HA resource..</param>
/// <param name="requestedNode">Node, which was requested to be migrated to..</param>
/// <param name="sid">HA resource, which is requested to be migrated..</param>
public CreateClusterHaResourcesSingleMigrate200ResponseData(List<CreateClusterHaResourcesSingleMigrate200ResponseDataBlockingResourcesInner> blockingResources = default(List<CreateClusterHaResourcesSingleMigrate200ResponseDataBlockingResourcesInner>), List<string> comigratedResources = default(List<string>), string requestedNode = default(string), string sid = default(string))
{
this.BlockingResources = blockingResources;
this.ComigratedResources = comigratedResources;
this.RequestedNode = requestedNode;
this.Sid = sid;
}
/// <summary>
/// HA resources, which are blocking the given HA resource from being migrated to the requested target node.
/// </summary>
/// <value>HA resources, which are blocking the given HA resource from being migrated to the requested target node.</value>
[DataMember(Name = "blocking-resources", EmitDefaultValue = false)]
public List<CreateClusterHaResourcesSingleMigrate200ResponseDataBlockingResourcesInner> BlockingResources { get; set; }
/// <summary>
/// HA resources, which are migrated to the same requested target node as the given HA resource, because these are in positive affinity with the HA resource.
/// </summary>
/// <value>HA resources, which are migrated to the same requested target node as the given HA resource, because these are in positive affinity with the HA resource.</value>
[DataMember(Name = "comigrated-resources", EmitDefaultValue = false)]
public List<string> ComigratedResources { get; set; }
/// <summary>
/// Node, which was requested to be migrated to.
/// </summary>
/// <value>Node, which was requested to be migrated to.</value>
[DataMember(Name = "requested-node", EmitDefaultValue = false)]
public string RequestedNode { get; set; }
/// <summary>
/// HA resource, which is requested to be migrated.
/// </summary>
/// <value>HA resource, which is requested to be migrated.</value>
[DataMember(Name = "sid", EmitDefaultValue = false)]
public string Sid { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaResourcesSingleMigrate200ResponseData {\n");
sb.Append(" BlockingResources: ").Append(BlockingResources).Append("\n");
sb.Append(" ComigratedResources: ").Append(ComigratedResources).Append("\n");
sb.Append(" RequestedNode: ").Append(RequestedNode).Append("\n");
sb.Append(" Sid: ").Append(Sid).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,94 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// A blocking HA resource
/// </summary>
[DataContract(Name = "createClusterHaResourcesSingleMigrate_200_response_data_blocking_resources_inner")]
public partial class CreateClusterHaResourcesSingleMigrate200ResponseDataBlockingResourcesInner : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesSingleMigrate200ResponseDataBlockingResourcesInner" /> class.
/// </summary>
/// <param name="cause">The reason why the HA resource is blocking the migration..</param>
/// <param name="sid">The blocking HA resource id.</param>
public CreateClusterHaResourcesSingleMigrate200ResponseDataBlockingResourcesInner(string cause = default(string), string sid = default(string))
{
this.Cause = cause;
this.Sid = sid;
}
/// <summary>
/// The reason why the HA resource is blocking the migration.
/// </summary>
/// <value>The reason why the HA resource is blocking the migration.</value>
[DataMember(Name = "cause", EmitDefaultValue = false)]
public string Cause { get; set; }
/// <summary>
/// The blocking HA resource id
/// </summary>
/// <value>The blocking HA resource id</value>
[DataMember(Name = "sid", EmitDefaultValue = false)]
public string Sid { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaResourcesSingleMigrate200ResponseDataBlockingResourcesInner {\n");
sb.Append(" Cause: ").Append(Cause).Append("\n");
sb.Append(" Sid: ").Append(Sid).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,93 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterHaResourcesSingleMigrateRequest
/// </summary>
[DataContract(Name = "CreateClusterHaResourcesSingleMigrateRequest")]
public partial class CreateClusterHaResourcesSingleMigrateRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesSingleMigrateRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterHaResourcesSingleMigrateRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesSingleMigrateRequest" /> class.
/// </summary>
/// <param name="node">node (required).</param>
public CreateClusterHaResourcesSingleMigrateRequest(string node = default(string))
{
// to ensure "node" is required (not null)
if (node == null)
{
throw new ArgumentNullException("node is a required property for CreateClusterHaResourcesSingleMigrateRequest and cannot be null");
}
this.Node = node;
}
/// <summary>
/// Gets or Sets Node
/// </summary>
[DataMember(Name = "node", IsRequired = true, EmitDefaultValue = true)]
public string Node { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaResourcesSingleMigrateRequest {\n");
sb.Append(" Node: ").Append(Node).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,92 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterHaResourcesSingleRelocate200Response
/// </summary>
[DataContract(Name = "createClusterHaResourcesSingleRelocate_200_response")]
public partial class CreateClusterHaResourcesSingleRelocate200Response : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesSingleRelocate200Response" /> class.
/// </summary>
/// <param name="errors">errors.</param>
/// <param name="data">data.</param>
public CreateClusterHaResourcesSingleRelocate200Response(List<string> errors = default(List<string>), CreateClusterHaResourcesSingleRelocate200ResponseData data = default(CreateClusterHaResourcesSingleRelocate200ResponseData))
{
this.Errors = errors;
this.Data = data;
}
/// <summary>
/// Gets or Sets Errors
/// </summary>
[DataMember(Name = "errors", EmitDefaultValue = false)]
public List<string> Errors { get; set; }
/// <summary>
/// Gets or Sets Data
/// </summary>
[DataMember(Name = "data", EmitDefaultValue = false)]
public CreateClusterHaResourcesSingleRelocate200ResponseData Data { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaResourcesSingleRelocate200Response {\n");
sb.Append(" Errors: ").Append(Errors).Append("\n");
sb.Append(" Data: ").Append(Data).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,114 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterHaResourcesSingleRelocate200ResponseData
/// </summary>
[DataContract(Name = "createClusterHaResourcesSingleRelocate_200_response_data")]
public partial class CreateClusterHaResourcesSingleRelocate200ResponseData : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesSingleRelocate200ResponseData" /> class.
/// </summary>
/// <param name="blockingResources">HA resources, which are blocking the given HA resource from being relocated to the requested target node..</param>
/// <param name="comigratedResources">HA resources, which are relocated to the same requested target node as the given HA resource, because these are in positive affinity with the HA resource..</param>
/// <param name="requestedNode">Node, which was requested to be relocated to..</param>
/// <param name="sid">HA resource, which is requested to be relocated..</param>
public CreateClusterHaResourcesSingleRelocate200ResponseData(List<CreateClusterHaResourcesSingleRelocate200ResponseDataBlockingResourcesInner> blockingResources = default(List<CreateClusterHaResourcesSingleRelocate200ResponseDataBlockingResourcesInner>), List<string> comigratedResources = default(List<string>), string requestedNode = default(string), string sid = default(string))
{
this.BlockingResources = blockingResources;
this.ComigratedResources = comigratedResources;
this.RequestedNode = requestedNode;
this.Sid = sid;
}
/// <summary>
/// HA resources, which are blocking the given HA resource from being relocated to the requested target node.
/// </summary>
/// <value>HA resources, which are blocking the given HA resource from being relocated to the requested target node.</value>
[DataMember(Name = "blocking-resources", EmitDefaultValue = false)]
public List<CreateClusterHaResourcesSingleRelocate200ResponseDataBlockingResourcesInner> BlockingResources { get; set; }
/// <summary>
/// HA resources, which are relocated to the same requested target node as the given HA resource, because these are in positive affinity with the HA resource.
/// </summary>
/// <value>HA resources, which are relocated to the same requested target node as the given HA resource, because these are in positive affinity with the HA resource.</value>
[DataMember(Name = "comigrated-resources", EmitDefaultValue = false)]
public List<string> ComigratedResources { get; set; }
/// <summary>
/// Node, which was requested to be relocated to.
/// </summary>
/// <value>Node, which was requested to be relocated to.</value>
[DataMember(Name = "requested-node", EmitDefaultValue = false)]
public string RequestedNode { get; set; }
/// <summary>
/// HA resource, which is requested to be relocated.
/// </summary>
/// <value>HA resource, which is requested to be relocated.</value>
[DataMember(Name = "sid", EmitDefaultValue = false)]
public string Sid { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaResourcesSingleRelocate200ResponseData {\n");
sb.Append(" BlockingResources: ").Append(BlockingResources).Append("\n");
sb.Append(" ComigratedResources: ").Append(ComigratedResources).Append("\n");
sb.Append(" RequestedNode: ").Append(RequestedNode).Append("\n");
sb.Append(" Sid: ").Append(Sid).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,94 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// A blocking HA resource
/// </summary>
[DataContract(Name = "createClusterHaResourcesSingleRelocate_200_response_data_blocking_resources_inner")]
public partial class CreateClusterHaResourcesSingleRelocate200ResponseDataBlockingResourcesInner : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesSingleRelocate200ResponseDataBlockingResourcesInner" /> class.
/// </summary>
/// <param name="cause">The reason why the HA resource is blocking the relocation..</param>
/// <param name="sid">The blocking HA resource id.</param>
public CreateClusterHaResourcesSingleRelocate200ResponseDataBlockingResourcesInner(string cause = default(string), string sid = default(string))
{
this.Cause = cause;
this.Sid = sid;
}
/// <summary>
/// The reason why the HA resource is blocking the relocation.
/// </summary>
/// <value>The reason why the HA resource is blocking the relocation.</value>
[DataMember(Name = "cause", EmitDefaultValue = false)]
public string Cause { get; set; }
/// <summary>
/// The blocking HA resource id
/// </summary>
/// <value>The blocking HA resource id</value>
[DataMember(Name = "sid", EmitDefaultValue = false)]
public string Sid { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaResourcesSingleRelocate200ResponseDataBlockingResourcesInner {\n");
sb.Append(" Cause: ").Append(Cause).Append("\n");
sb.Append(" Sid: ").Append(Sid).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,93 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterHaResourcesSingleRelocateRequest
/// </summary>
[DataContract(Name = "CreateClusterHaResourcesSingleRelocateRequest")]
public partial class CreateClusterHaResourcesSingleRelocateRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesSingleRelocateRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterHaResourcesSingleRelocateRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaResourcesSingleRelocateRequest" /> class.
/// </summary>
/// <param name="node">node (required).</param>
public CreateClusterHaResourcesSingleRelocateRequest(string node = default(string))
{
// to ensure "node" is required (not null)
if (node == null)
{
throw new ArgumentNullException("node is a required property for CreateClusterHaResourcesSingleRelocateRequest and cannot be null");
}
this.Node = node;
}
/// <summary>
/// Gets or Sets Node
/// </summary>
[DataMember(Name = "node", IsRequired = true, EmitDefaultValue = true)]
public string Node { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaResourcesSingleRelocateRequest {\n");
sb.Append(" Node: ").Append(Node).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,166 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterHaRulesRequest
/// </summary>
[DataContract(Name = "CreateClusterHaRulesRequest")]
public partial class CreateClusterHaRulesRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaRulesRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterHaRulesRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterHaRulesRequest" /> class.
/// </summary>
/// <param name="affinity">affinity.</param>
/// <param name="comment">comment.</param>
/// <param name="disable">disable.</param>
/// <param name="nodes">nodes.</param>
/// <param name="resources">resources (required).</param>
/// <param name="rule">rule (required).</param>
/// <param name="strict">strict.</param>
/// <param name="type">type (required).</param>
public CreateClusterHaRulesRequest(string affinity = default(string), string comment = default(string), bool disable = default(bool), string nodes = default(string), string resources = default(string), string rule = default(string), bool strict = default(bool), string type = default(string))
{
// to ensure "resources" is required (not null)
if (resources == null)
{
throw new ArgumentNullException("resources is a required property for CreateClusterHaRulesRequest and cannot be null");
}
this.Resources = resources;
// to ensure "rule" is required (not null)
if (rule == null)
{
throw new ArgumentNullException("rule is a required property for CreateClusterHaRulesRequest and cannot be null");
}
this.Rule = rule;
// to ensure "type" is required (not null)
if (type == null)
{
throw new ArgumentNullException("type is a required property for CreateClusterHaRulesRequest and cannot be null");
}
this.Type = type;
this.Affinity = affinity;
this.Comment = comment;
this.Disable = disable;
this.Nodes = nodes;
this.Strict = strict;
}
/// <summary>
/// Gets or Sets Affinity
/// </summary>
[DataMember(Name = "affinity", EmitDefaultValue = false)]
public string Affinity { get; set; }
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Disable
/// </summary>
[DataMember(Name = "disable", EmitDefaultValue = true)]
public bool Disable { get; set; }
/// <summary>
/// Gets or Sets Nodes
/// </summary>
[DataMember(Name = "nodes", EmitDefaultValue = false)]
public string Nodes { get; set; }
/// <summary>
/// Gets or Sets Resources
/// </summary>
[DataMember(Name = "resources", IsRequired = true, EmitDefaultValue = true)]
public string Resources { get; set; }
/// <summary>
/// Gets or Sets Rule
/// </summary>
[DataMember(Name = "rule", IsRequired = true, EmitDefaultValue = true)]
public string Rule { get; set; }
/// <summary>
/// Gets or Sets Strict
/// </summary>
[DataMember(Name = "strict", EmitDefaultValue = true)]
public bool Strict { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public string Type { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterHaRulesRequest {\n");
sb.Append(" Affinity: ").Append(Affinity).Append("\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Disable: ").Append(Disable).Append("\n");
sb.Append(" Nodes: ").Append(Nodes).Append("\n");
sb.Append(" Resources: ").Append(Resources).Append("\n");
sb.Append(" Rule: ").Append(Rule).Append("\n");
sb.Append(" Strict: ").Append(Strict).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,147 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterJobsRealmsyncSingleRequest
/// </summary>
[DataContract(Name = "CreateClusterJobsRealmsyncSingleRequest")]
public partial class CreateClusterJobsRealmsyncSingleRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterJobsRealmsyncSingleRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterJobsRealmsyncSingleRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterJobsRealmsyncSingleRequest" /> class.
/// </summary>
/// <param name="comment">comment.</param>
/// <param name="enableNew">enableNew.</param>
/// <param name="enabled">enabled.</param>
/// <param name="realm">realm.</param>
/// <param name="removeVanished">removeVanished.</param>
/// <param name="schedule">schedule (required).</param>
/// <param name="scope">scope.</param>
public CreateClusterJobsRealmsyncSingleRequest(string comment = default(string), bool enableNew = default(bool), bool enabled = default(bool), string realm = default(string), string removeVanished = default(string), string schedule = default(string), string scope = default(string))
{
// to ensure "schedule" is required (not null)
if (schedule == null)
{
throw new ArgumentNullException("schedule is a required property for CreateClusterJobsRealmsyncSingleRequest and cannot be null");
}
this.Schedule = schedule;
this.Comment = comment;
this.EnableNew = enableNew;
this.Enabled = enabled;
this.Realm = realm;
this.RemoveVanished = removeVanished;
this.Scope = scope;
}
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets EnableNew
/// </summary>
[DataMember(Name = "enable-new", EmitDefaultValue = true)]
public bool EnableNew { get; set; }
/// <summary>
/// Gets or Sets Enabled
/// </summary>
[DataMember(Name = "enabled", EmitDefaultValue = true)]
public bool Enabled { get; set; }
/// <summary>
/// Gets or Sets Realm
/// </summary>
[DataMember(Name = "realm", EmitDefaultValue = false)]
public string Realm { get; set; }
/// <summary>
/// Gets or Sets RemoveVanished
/// </summary>
[DataMember(Name = "remove-vanished", EmitDefaultValue = false)]
public string RemoveVanished { get; set; }
/// <summary>
/// Gets or Sets Schedule
/// </summary>
[DataMember(Name = "schedule", IsRequired = true, EmitDefaultValue = true)]
public string Schedule { get; set; }
/// <summary>
/// Gets or Sets Scope
/// </summary>
[DataMember(Name = "scope", EmitDefaultValue = false)]
public string Scope { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterJobsRealmsyncSingleRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" EnableNew: ").Append(EnableNew).Append("\n");
sb.Append(" Enabled: ").Append(Enabled).Append("\n");
sb.Append(" Realm: ").Append(Realm).Append("\n");
sb.Append(" RemoveVanished: ").Append(RemoveVanished).Append("\n");
sb.Append(" Schedule: ").Append(Schedule).Append("\n");
sb.Append(" Scope: ").Append(Scope).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,116 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterMappingDirRequest
/// </summary>
[DataContract(Name = "CreateClusterMappingDirRequest")]
public partial class CreateClusterMappingDirRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterMappingDirRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterMappingDirRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterMappingDirRequest" /> class.
/// </summary>
/// <param name="description">description.</param>
/// <param name="id">id (required).</param>
/// <param name="map">map (required).</param>
public CreateClusterMappingDirRequest(string description = default(string), string id = default(string), List<string> map = default(List<string>))
{
// to ensure "id" is required (not null)
if (id == null)
{
throw new ArgumentNullException("id is a required property for CreateClusterMappingDirRequest and cannot be null");
}
this.Id = id;
// to ensure "map" is required (not null)
if (map == null)
{
throw new ArgumentNullException("map is a required property for CreateClusterMappingDirRequest and cannot be null");
}
this.Map = map;
this.Description = description;
}
/// <summary>
/// Gets or Sets Description
/// </summary>
[DataMember(Name = "description", EmitDefaultValue = false)]
public string Description { get; set; }
/// <summary>
/// Gets or Sets Id
/// </summary>
[DataMember(Name = "id", IsRequired = true, EmitDefaultValue = true)]
public string Id { get; set; }
/// <summary>
/// Gets or Sets Map
/// </summary>
[DataMember(Name = "map", IsRequired = true, EmitDefaultValue = true)]
public List<string> Map { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterMappingDirRequest {\n");
sb.Append(" Description: ").Append(Description).Append("\n");
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Map: ").Append(Map).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,134 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterMappingPciRequest
/// </summary>
[DataContract(Name = "CreateClusterMappingPciRequest")]
public partial class CreateClusterMappingPciRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterMappingPciRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterMappingPciRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterMappingPciRequest" /> class.
/// </summary>
/// <param name="description">description.</param>
/// <param name="id">id (required).</param>
/// <param name="liveMigrationCapable">liveMigrationCapable.</param>
/// <param name="map">map (required).</param>
/// <param name="mdev">mdev.</param>
public CreateClusterMappingPciRequest(string description = default(string), string id = default(string), bool liveMigrationCapable = default(bool), List<string> map = default(List<string>), bool mdev = default(bool))
{
// to ensure "id" is required (not null)
if (id == null)
{
throw new ArgumentNullException("id is a required property for CreateClusterMappingPciRequest and cannot be null");
}
this.Id = id;
// to ensure "map" is required (not null)
if (map == null)
{
throw new ArgumentNullException("map is a required property for CreateClusterMappingPciRequest and cannot be null");
}
this.Map = map;
this.Description = description;
this.LiveMigrationCapable = liveMigrationCapable;
this.Mdev = mdev;
}
/// <summary>
/// Gets or Sets Description
/// </summary>
[DataMember(Name = "description", EmitDefaultValue = false)]
public string Description { get; set; }
/// <summary>
/// Gets or Sets Id
/// </summary>
[DataMember(Name = "id", IsRequired = true, EmitDefaultValue = true)]
public string Id { get; set; }
/// <summary>
/// Gets or Sets LiveMigrationCapable
/// </summary>
[DataMember(Name = "live-migration-capable", EmitDefaultValue = true)]
public bool LiveMigrationCapable { get; set; }
/// <summary>
/// Gets or Sets Map
/// </summary>
[DataMember(Name = "map", IsRequired = true, EmitDefaultValue = true)]
public List<string> Map { get; set; }
/// <summary>
/// Gets or Sets Mdev
/// </summary>
[DataMember(Name = "mdev", EmitDefaultValue = true)]
public bool Mdev { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterMappingPciRequest {\n");
sb.Append(" Description: ").Append(Description).Append("\n");
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" LiveMigrationCapable: ").Append(LiveMigrationCapable).Append("\n");
sb.Append(" Map: ").Append(Map).Append("\n");
sb.Append(" Mdev: ").Append(Mdev).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,116 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterMappingUsbRequest
/// </summary>
[DataContract(Name = "CreateClusterMappingUsbRequest")]
public partial class CreateClusterMappingUsbRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterMappingUsbRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterMappingUsbRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterMappingUsbRequest" /> class.
/// </summary>
/// <param name="description">description.</param>
/// <param name="id">id (required).</param>
/// <param name="map">map (required).</param>
public CreateClusterMappingUsbRequest(string description = default(string), string id = default(string), List<string> map = default(List<string>))
{
// to ensure "id" is required (not null)
if (id == null)
{
throw new ArgumentNullException("id is a required property for CreateClusterMappingUsbRequest and cannot be null");
}
this.Id = id;
// to ensure "map" is required (not null)
if (map == null)
{
throw new ArgumentNullException("map is a required property for CreateClusterMappingUsbRequest and cannot be null");
}
this.Map = map;
this.Description = description;
}
/// <summary>
/// Gets or Sets Description
/// </summary>
[DataMember(Name = "description", EmitDefaultValue = false)]
public string Description { get; set; }
/// <summary>
/// Gets or Sets Id
/// </summary>
[DataMember(Name = "id", IsRequired = true, EmitDefaultValue = true)]
public string Id { get; set; }
/// <summary>
/// Gets or Sets Map
/// </summary>
[DataMember(Name = "map", IsRequired = true, EmitDefaultValue = true)]
public List<string> Map { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterMappingUsbRequest {\n");
sb.Append(" Description: ").Append(Description).Append("\n");
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Map: ").Append(Map).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,296 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterMetricsServerSingleRequest
/// </summary>
[DataContract(Name = "CreateClusterMetricsServerSingleRequest")]
public partial class CreateClusterMetricsServerSingleRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterMetricsServerSingleRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterMetricsServerSingleRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterMetricsServerSingleRequest" /> class.
/// </summary>
/// <param name="apiPathPrefix">apiPathPrefix.</param>
/// <param name="bucket">bucket.</param>
/// <param name="disable">disable.</param>
/// <param name="influxdbproto">influxdbproto.</param>
/// <param name="maxBodySize">maxBodySize.</param>
/// <param name="mtu">mtu.</param>
/// <param name="organization">organization.</param>
/// <param name="otelCompression">otelCompression.</param>
/// <param name="otelHeaders">otelHeaders.</param>
/// <param name="otelMaxBodySize">otelMaxBodySize.</param>
/// <param name="otelPath">otelPath.</param>
/// <param name="otelProtocol">otelProtocol.</param>
/// <param name="otelResourceAttributes">otelResourceAttributes.</param>
/// <param name="otelTimeout">otelTimeout.</param>
/// <param name="otelVerifySsl">otelVerifySsl.</param>
/// <param name="path">path.</param>
/// <param name="port">port (required).</param>
/// <param name="proto">proto.</param>
/// <param name="server">server (required).</param>
/// <param name="timeout">timeout.</param>
/// <param name="token">token.</param>
/// <param name="type">type (required).</param>
/// <param name="verifyCertificate">verifyCertificate.</param>
public CreateClusterMetricsServerSingleRequest(string apiPathPrefix = default(string), string bucket = default(string), bool disable = default(bool), string influxdbproto = default(string), int maxBodySize = default(int), int mtu = default(int), string organization = default(string), string otelCompression = default(string), string otelHeaders = default(string), int otelMaxBodySize = default(int), string otelPath = default(string), string otelProtocol = default(string), string otelResourceAttributes = default(string), int otelTimeout = default(int), bool otelVerifySsl = default(bool), string path = default(string), int port = default(int), string proto = default(string), string server = default(string), int timeout = default(int), string token = default(string), string type = default(string), bool verifyCertificate = default(bool))
{
this.Port = port;
// to ensure "server" is required (not null)
if (server == null)
{
throw new ArgumentNullException("server is a required property for CreateClusterMetricsServerSingleRequest and cannot be null");
}
this.Server = server;
// to ensure "type" is required (not null)
if (type == null)
{
throw new ArgumentNullException("type is a required property for CreateClusterMetricsServerSingleRequest and cannot be null");
}
this.Type = type;
this.ApiPathPrefix = apiPathPrefix;
this.Bucket = bucket;
this.Disable = disable;
this.Influxdbproto = influxdbproto;
this.MaxBodySize = maxBodySize;
this.Mtu = mtu;
this.Organization = organization;
this.OtelCompression = otelCompression;
this.OtelHeaders = otelHeaders;
this.OtelMaxBodySize = otelMaxBodySize;
this.OtelPath = otelPath;
this.OtelProtocol = otelProtocol;
this.OtelResourceAttributes = otelResourceAttributes;
this.OtelTimeout = otelTimeout;
this.OtelVerifySsl = otelVerifySsl;
this.Path = path;
this.Proto = proto;
this.Timeout = timeout;
this.Token = token;
this.VerifyCertificate = verifyCertificate;
}
/// <summary>
/// Gets or Sets ApiPathPrefix
/// </summary>
[DataMember(Name = "api-path-prefix", EmitDefaultValue = false)]
public string ApiPathPrefix { get; set; }
/// <summary>
/// Gets or Sets Bucket
/// </summary>
[DataMember(Name = "bucket", EmitDefaultValue = false)]
public string Bucket { get; set; }
/// <summary>
/// Gets or Sets Disable
/// </summary>
[DataMember(Name = "disable", EmitDefaultValue = true)]
public bool Disable { get; set; }
/// <summary>
/// Gets or Sets Influxdbproto
/// </summary>
[DataMember(Name = "influxdbproto", EmitDefaultValue = false)]
public string Influxdbproto { get; set; }
/// <summary>
/// Gets or Sets MaxBodySize
/// </summary>
[DataMember(Name = "max-body-size", EmitDefaultValue = false)]
public int MaxBodySize { get; set; }
/// <summary>
/// Gets or Sets Mtu
/// </summary>
[DataMember(Name = "mtu", EmitDefaultValue = false)]
public int Mtu { get; set; }
/// <summary>
/// Gets or Sets Organization
/// </summary>
[DataMember(Name = "organization", EmitDefaultValue = false)]
public string Organization { get; set; }
/// <summary>
/// Gets or Sets OtelCompression
/// </summary>
[DataMember(Name = "otel-compression", EmitDefaultValue = false)]
public string OtelCompression { get; set; }
/// <summary>
/// Gets or Sets OtelHeaders
/// </summary>
[DataMember(Name = "otel-headers", EmitDefaultValue = false)]
public string OtelHeaders { get; set; }
/// <summary>
/// Gets or Sets OtelMaxBodySize
/// </summary>
[DataMember(Name = "otel-max-body-size", EmitDefaultValue = false)]
public int OtelMaxBodySize { get; set; }
/// <summary>
/// Gets or Sets OtelPath
/// </summary>
[DataMember(Name = "otel-path", EmitDefaultValue = false)]
public string OtelPath { get; set; }
/// <summary>
/// Gets or Sets OtelProtocol
/// </summary>
[DataMember(Name = "otel-protocol", EmitDefaultValue = false)]
public string OtelProtocol { get; set; }
/// <summary>
/// Gets or Sets OtelResourceAttributes
/// </summary>
[DataMember(Name = "otel-resource-attributes", EmitDefaultValue = false)]
public string OtelResourceAttributes { get; set; }
/// <summary>
/// Gets or Sets OtelTimeout
/// </summary>
[DataMember(Name = "otel-timeout", EmitDefaultValue = false)]
public int OtelTimeout { get; set; }
/// <summary>
/// Gets or Sets OtelVerifySsl
/// </summary>
[DataMember(Name = "otel-verify-ssl", EmitDefaultValue = true)]
public bool OtelVerifySsl { get; set; }
/// <summary>
/// Gets or Sets Path
/// </summary>
[DataMember(Name = "path", EmitDefaultValue = false)]
public string Path { get; set; }
/// <summary>
/// Gets or Sets Port
/// </summary>
[DataMember(Name = "port", IsRequired = true, EmitDefaultValue = true)]
public int Port { get; set; }
/// <summary>
/// Gets or Sets Proto
/// </summary>
[DataMember(Name = "proto", EmitDefaultValue = false)]
public string Proto { get; set; }
/// <summary>
/// Gets or Sets Server
/// </summary>
[DataMember(Name = "server", IsRequired = true, EmitDefaultValue = true)]
public string Server { get; set; }
/// <summary>
/// Gets or Sets Timeout
/// </summary>
[DataMember(Name = "timeout", EmitDefaultValue = false)]
public int Timeout { get; set; }
/// <summary>
/// Gets or Sets Token
/// </summary>
[DataMember(Name = "token", EmitDefaultValue = false)]
public string Token { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public string Type { get; set; }
/// <summary>
/// Gets or Sets VerifyCertificate
/// </summary>
[DataMember(Name = "verify-certificate", EmitDefaultValue = true)]
public bool VerifyCertificate { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterMetricsServerSingleRequest {\n");
sb.Append(" ApiPathPrefix: ").Append(ApiPathPrefix).Append("\n");
sb.Append(" Bucket: ").Append(Bucket).Append("\n");
sb.Append(" Disable: ").Append(Disable).Append("\n");
sb.Append(" Influxdbproto: ").Append(Influxdbproto).Append("\n");
sb.Append(" MaxBodySize: ").Append(MaxBodySize).Append("\n");
sb.Append(" Mtu: ").Append(Mtu).Append("\n");
sb.Append(" Organization: ").Append(Organization).Append("\n");
sb.Append(" OtelCompression: ").Append(OtelCompression).Append("\n");
sb.Append(" OtelHeaders: ").Append(OtelHeaders).Append("\n");
sb.Append(" OtelMaxBodySize: ").Append(OtelMaxBodySize).Append("\n");
sb.Append(" OtelPath: ").Append(OtelPath).Append("\n");
sb.Append(" OtelProtocol: ").Append(OtelProtocol).Append("\n");
sb.Append(" OtelResourceAttributes: ").Append(OtelResourceAttributes).Append("\n");
sb.Append(" OtelTimeout: ").Append(OtelTimeout).Append("\n");
sb.Append(" OtelVerifySsl: ").Append(OtelVerifySsl).Append("\n");
sb.Append(" Path: ").Append(Path).Append("\n");
sb.Append(" Port: ").Append(Port).Append("\n");
sb.Append(" Proto: ").Append(Proto).Append("\n");
sb.Append(" Server: ").Append(Server).Append("\n");
sb.Append(" Timeout: ").Append(Timeout).Append("\n");
sb.Append(" Token: ").Append(Token).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append(" VerifyCertificate: ").Append(VerifyCertificate).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,139 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterNotificationsEndpointsGotifyRequest
/// </summary>
[DataContract(Name = "CreateClusterNotificationsEndpointsGotifyRequest")]
public partial class CreateClusterNotificationsEndpointsGotifyRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterNotificationsEndpointsGotifyRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterNotificationsEndpointsGotifyRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterNotificationsEndpointsGotifyRequest" /> class.
/// </summary>
/// <param name="comment">comment.</param>
/// <param name="disable">disable.</param>
/// <param name="name">name (required).</param>
/// <param name="server">server (required).</param>
/// <param name="token">token (required).</param>
public CreateClusterNotificationsEndpointsGotifyRequest(string comment = default(string), bool disable = default(bool), string name = default(string), string server = default(string), string token = default(string))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for CreateClusterNotificationsEndpointsGotifyRequest and cannot be null");
}
this.Name = name;
// to ensure "server" is required (not null)
if (server == null)
{
throw new ArgumentNullException("server is a required property for CreateClusterNotificationsEndpointsGotifyRequest and cannot be null");
}
this.Server = server;
// to ensure "token" is required (not null)
if (token == null)
{
throw new ArgumentNullException("token is a required property for CreateClusterNotificationsEndpointsGotifyRequest and cannot be null");
}
this.Token = token;
this.Comment = comment;
this.Disable = disable;
}
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Disable
/// </summary>
[DataMember(Name = "disable", EmitDefaultValue = true)]
public bool Disable { get; set; }
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
/// Gets or Sets Server
/// </summary>
[DataMember(Name = "server", IsRequired = true, EmitDefaultValue = true)]
public string Server { get; set; }
/// <summary>
/// Gets or Sets Token
/// </summary>
[DataMember(Name = "token", IsRequired = true, EmitDefaultValue = true)]
public string Token { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterNotificationsEndpointsGotifyRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Disable: ").Append(Disable).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" Server: ").Append(Server).Append("\n");
sb.Append(" Token: ").Append(Token).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,147 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterNotificationsEndpointsSendmailRequest
/// </summary>
[DataContract(Name = "CreateClusterNotificationsEndpointsSendmailRequest")]
public partial class CreateClusterNotificationsEndpointsSendmailRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterNotificationsEndpointsSendmailRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterNotificationsEndpointsSendmailRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterNotificationsEndpointsSendmailRequest" /> class.
/// </summary>
/// <param name="author">author.</param>
/// <param name="comment">comment.</param>
/// <param name="disable">disable.</param>
/// <param name="fromAddress">fromAddress.</param>
/// <param name="mailto">mailto.</param>
/// <param name="mailtoUser">mailtoUser.</param>
/// <param name="name">name (required).</param>
public CreateClusterNotificationsEndpointsSendmailRequest(string author = default(string), string comment = default(string), bool disable = default(bool), string fromAddress = default(string), List<string> mailto = default(List<string>), List<string> mailtoUser = default(List<string>), string name = default(string))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for CreateClusterNotificationsEndpointsSendmailRequest and cannot be null");
}
this.Name = name;
this.Author = author;
this.Comment = comment;
this.Disable = disable;
this.FromAddress = fromAddress;
this.Mailto = mailto;
this.MailtoUser = mailtoUser;
}
/// <summary>
/// Gets or Sets Author
/// </summary>
[DataMember(Name = "author", EmitDefaultValue = false)]
public string Author { get; set; }
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Disable
/// </summary>
[DataMember(Name = "disable", EmitDefaultValue = true)]
public bool Disable { get; set; }
/// <summary>
/// Gets or Sets FromAddress
/// </summary>
[DataMember(Name = "from-address", EmitDefaultValue = false)]
public string FromAddress { get; set; }
/// <summary>
/// Gets or Sets Mailto
/// </summary>
[DataMember(Name = "mailto", EmitDefaultValue = false)]
public List<string> Mailto { get; set; }
/// <summary>
/// Gets or Sets MailtoUser
/// </summary>
[DataMember(Name = "mailto-user", EmitDefaultValue = false)]
public List<string> MailtoUser { get; set; }
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterNotificationsEndpointsSendmailRequest {\n");
sb.Append(" Author: ").Append(Author).Append("\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Disable: ").Append(Disable).Append("\n");
sb.Append(" FromAddress: ").Append(FromAddress).Append("\n");
sb.Append(" Mailto: ").Append(Mailto).Append("\n");
sb.Append(" MailtoUser: ").Append(MailtoUser).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,202 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterNotificationsEndpointsSmtpRequest
/// </summary>
[DataContract(Name = "CreateClusterNotificationsEndpointsSmtpRequest")]
public partial class CreateClusterNotificationsEndpointsSmtpRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterNotificationsEndpointsSmtpRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterNotificationsEndpointsSmtpRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterNotificationsEndpointsSmtpRequest" /> class.
/// </summary>
/// <param name="author">author.</param>
/// <param name="comment">comment.</param>
/// <param name="disable">disable.</param>
/// <param name="fromAddress">fromAddress (required).</param>
/// <param name="mailto">mailto.</param>
/// <param name="mailtoUser">mailtoUser.</param>
/// <param name="mode">mode.</param>
/// <param name="name">name (required).</param>
/// <param name="password">password.</param>
/// <param name="port">port.</param>
/// <param name="server">server (required).</param>
/// <param name="username">username.</param>
public CreateClusterNotificationsEndpointsSmtpRequest(string author = default(string), string comment = default(string), bool disable = default(bool), string fromAddress = default(string), List<string> mailto = default(List<string>), List<string> mailtoUser = default(List<string>), string mode = default(string), string name = default(string), string password = default(string), int port = default(int), string server = default(string), string username = default(string))
{
// to ensure "fromAddress" is required (not null)
if (fromAddress == null)
{
throw new ArgumentNullException("fromAddress is a required property for CreateClusterNotificationsEndpointsSmtpRequest and cannot be null");
}
this.FromAddress = fromAddress;
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for CreateClusterNotificationsEndpointsSmtpRequest and cannot be null");
}
this.Name = name;
// to ensure "server" is required (not null)
if (server == null)
{
throw new ArgumentNullException("server is a required property for CreateClusterNotificationsEndpointsSmtpRequest and cannot be null");
}
this.Server = server;
this.Author = author;
this.Comment = comment;
this.Disable = disable;
this.Mailto = mailto;
this.MailtoUser = mailtoUser;
this.Mode = mode;
this.Password = password;
this.Port = port;
this.Username = username;
}
/// <summary>
/// Gets or Sets Author
/// </summary>
[DataMember(Name = "author", EmitDefaultValue = false)]
public string Author { get; set; }
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Disable
/// </summary>
[DataMember(Name = "disable", EmitDefaultValue = true)]
public bool Disable { get; set; }
/// <summary>
/// Gets or Sets FromAddress
/// </summary>
[DataMember(Name = "from-address", IsRequired = true, EmitDefaultValue = true)]
public string FromAddress { get; set; }
/// <summary>
/// Gets or Sets Mailto
/// </summary>
[DataMember(Name = "mailto", EmitDefaultValue = false)]
public List<string> Mailto { get; set; }
/// <summary>
/// Gets or Sets MailtoUser
/// </summary>
[DataMember(Name = "mailto-user", EmitDefaultValue = false)]
public List<string> MailtoUser { get; set; }
/// <summary>
/// Gets or Sets Mode
/// </summary>
[DataMember(Name = "mode", EmitDefaultValue = false)]
public string Mode { get; set; }
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
/// Gets or Sets Password
/// </summary>
[DataMember(Name = "password", EmitDefaultValue = false)]
public string Password { get; set; }
/// <summary>
/// Gets or Sets Port
/// </summary>
[DataMember(Name = "port", EmitDefaultValue = false)]
public int Port { get; set; }
/// <summary>
/// Gets or Sets Server
/// </summary>
[DataMember(Name = "server", IsRequired = true, EmitDefaultValue = true)]
public string Server { get; set; }
/// <summary>
/// Gets or Sets Username
/// </summary>
[DataMember(Name = "username", EmitDefaultValue = false)]
public string Username { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterNotificationsEndpointsSmtpRequest {\n");
sb.Append(" Author: ").Append(Author).Append("\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Disable: ").Append(Disable).Append("\n");
sb.Append(" FromAddress: ").Append(FromAddress).Append("\n");
sb.Append(" Mailto: ").Append(Mailto).Append("\n");
sb.Append(" MailtoUser: ").Append(MailtoUser).Append("\n");
sb.Append(" Mode: ").Append(Mode).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" Password: ").Append(Password).Append("\n");
sb.Append(" Port: ").Append(Port).Append("\n");
sb.Append(" Server: ").Append(Server).Append("\n");
sb.Append(" Username: ").Append(Username).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,166 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterNotificationsEndpointsWebhookRequest
/// </summary>
[DataContract(Name = "CreateClusterNotificationsEndpointsWebhookRequest")]
public partial class CreateClusterNotificationsEndpointsWebhookRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterNotificationsEndpointsWebhookRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterNotificationsEndpointsWebhookRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterNotificationsEndpointsWebhookRequest" /> class.
/// </summary>
/// <param name="body">body.</param>
/// <param name="comment">comment.</param>
/// <param name="disable">disable.</param>
/// <param name="header">header.</param>
/// <param name="method">method (required).</param>
/// <param name="name">name (required).</param>
/// <param name="secret">secret.</param>
/// <param name="url">url (required).</param>
public CreateClusterNotificationsEndpointsWebhookRequest(string body = default(string), string comment = default(string), bool disable = default(bool), List<string> header = default(List<string>), string method = default(string), string name = default(string), List<string> secret = default(List<string>), string url = default(string))
{
// to ensure "method" is required (not null)
if (method == null)
{
throw new ArgumentNullException("method is a required property for CreateClusterNotificationsEndpointsWebhookRequest and cannot be null");
}
this.Method = method;
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for CreateClusterNotificationsEndpointsWebhookRequest and cannot be null");
}
this.Name = name;
// to ensure "url" is required (not null)
if (url == null)
{
throw new ArgumentNullException("url is a required property for CreateClusterNotificationsEndpointsWebhookRequest and cannot be null");
}
this.Url = url;
this.Body = body;
this.Comment = comment;
this.Disable = disable;
this.Header = header;
this.Secret = secret;
}
/// <summary>
/// Gets or Sets Body
/// </summary>
[DataMember(Name = "body", EmitDefaultValue = false)]
public string Body { get; set; }
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Disable
/// </summary>
[DataMember(Name = "disable", EmitDefaultValue = true)]
public bool Disable { get; set; }
/// <summary>
/// Gets or Sets Header
/// </summary>
[DataMember(Name = "header", EmitDefaultValue = false)]
public List<string> Header { get; set; }
/// <summary>
/// Gets or Sets Method
/// </summary>
[DataMember(Name = "method", IsRequired = true, EmitDefaultValue = true)]
public string Method { get; set; }
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
/// Gets or Sets Secret
/// </summary>
[DataMember(Name = "secret", EmitDefaultValue = false)]
public List<string> Secret { get; set; }
/// <summary>
/// Gets or Sets Url
/// </summary>
[DataMember(Name = "url", IsRequired = true, EmitDefaultValue = true)]
public string Url { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterNotificationsEndpointsWebhookRequest {\n");
sb.Append(" Body: ").Append(Body).Append("\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Disable: ").Append(Disable).Append("\n");
sb.Append(" Header: ").Append(Header).Append("\n");
sb.Append(" Method: ").Append(Method).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" Secret: ").Append(Secret).Append("\n");
sb.Append(" Url: ").Append(Url).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,165 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterNotificationsMatchersRequest
/// </summary>
[DataContract(Name = "CreateClusterNotificationsMatchersRequest")]
public partial class CreateClusterNotificationsMatchersRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterNotificationsMatchersRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterNotificationsMatchersRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterNotificationsMatchersRequest" /> class.
/// </summary>
/// <param name="comment">comment.</param>
/// <param name="disable">disable.</param>
/// <param name="invertMatch">invertMatch.</param>
/// <param name="matchCalendar">matchCalendar.</param>
/// <param name="matchField">matchField.</param>
/// <param name="matchSeverity">matchSeverity.</param>
/// <param name="mode">mode.</param>
/// <param name="name">name (required).</param>
/// <param name="target">target.</param>
public CreateClusterNotificationsMatchersRequest(string comment = default(string), bool disable = default(bool), bool invertMatch = default(bool), List<string> matchCalendar = default(List<string>), List<string> matchField = default(List<string>), List<string> matchSeverity = default(List<string>), string mode = default(string), string name = default(string), List<string> target = default(List<string>))
{
// to ensure "name" is required (not null)
if (name == null)
{
throw new ArgumentNullException("name is a required property for CreateClusterNotificationsMatchersRequest and cannot be null");
}
this.Name = name;
this.Comment = comment;
this.Disable = disable;
this.InvertMatch = invertMatch;
this.MatchCalendar = matchCalendar;
this.MatchField = matchField;
this.MatchSeverity = matchSeverity;
this.Mode = mode;
this.Target = target;
}
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Disable
/// </summary>
[DataMember(Name = "disable", EmitDefaultValue = true)]
public bool Disable { get; set; }
/// <summary>
/// Gets or Sets InvertMatch
/// </summary>
[DataMember(Name = "invert-match", EmitDefaultValue = true)]
public bool InvertMatch { get; set; }
/// <summary>
/// Gets or Sets MatchCalendar
/// </summary>
[DataMember(Name = "match-calendar", EmitDefaultValue = false)]
public List<string> MatchCalendar { get; set; }
/// <summary>
/// Gets or Sets MatchField
/// </summary>
[DataMember(Name = "match-field", EmitDefaultValue = false)]
public List<string> MatchField { get; set; }
/// <summary>
/// Gets or Sets MatchSeverity
/// </summary>
[DataMember(Name = "match-severity", EmitDefaultValue = false)]
public List<string> MatchSeverity { get; set; }
/// <summary>
/// Gets or Sets Mode
/// </summary>
[DataMember(Name = "mode", EmitDefaultValue = false)]
public string Mode { get; set; }
/// <summary>
/// Gets or Sets Name
/// </summary>
[DataMember(Name = "name", IsRequired = true, EmitDefaultValue = true)]
public string Name { get; set; }
/// <summary>
/// Gets or Sets Target
/// </summary>
[DataMember(Name = "target", EmitDefaultValue = false)]
public List<string> Target { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterNotificationsMatchersRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Disable: ").Append(Disable).Append("\n");
sb.Append(" InvertMatch: ").Append(InvertMatch).Append("\n");
sb.Append(" MatchCalendar: ").Append(MatchCalendar).Append("\n");
sb.Append(" MatchField: ").Append(MatchField).Append("\n");
sb.Append(" MatchSeverity: ").Append(MatchSeverity).Append("\n");
sb.Append(" Mode: ").Append(Mode).Append("\n");
sb.Append(" Name: ").Append(Name).Append("\n");
sb.Append(" Target: ").Append(Target).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,92 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterReplication200Response
/// </summary>
[DataContract(Name = "createClusterReplication_200_response")]
public partial class CreateClusterReplication200Response : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterReplication200Response" /> class.
/// </summary>
/// <param name="errors">errors.</param>
/// <param name="data">data.</param>
public CreateClusterReplication200Response(List<string> errors = default(List<string>), string data = default(string))
{
this.Errors = errors;
this.Data = data;
}
/// <summary>
/// Gets or Sets Errors
/// </summary>
[DataMember(Name = "errors", EmitDefaultValue = false)]
public List<string> Errors { get; set; }
/// <summary>
/// Gets or Sets Data
/// </summary>
[DataMember(Name = "data", EmitDefaultValue = false)]
public string Data { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterReplication200Response {\n");
sb.Append(" Errors: ").Append(Errors).Append("\n");
sb.Append(" Data: ").Append(Data).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,175 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterReplicationRequest
/// </summary>
[DataContract(Name = "CreateClusterReplicationRequest")]
public partial class CreateClusterReplicationRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterReplicationRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterReplicationRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterReplicationRequest" /> class.
/// </summary>
/// <param name="comment">comment.</param>
/// <param name="disable">disable.</param>
/// <param name="id">id (required).</param>
/// <param name="rate">rate.</param>
/// <param name="removeJob">removeJob.</param>
/// <param name="schedule">schedule.</param>
/// <param name="source">source.</param>
/// <param name="target">target (required).</param>
/// <param name="type">type (required).</param>
public CreateClusterReplicationRequest(string comment = default(string), bool disable = default(bool), string id = default(string), decimal rate = default(decimal), string removeJob = default(string), string schedule = default(string), string source = default(string), string target = default(string), string type = default(string))
{
// to ensure "id" is required (not null)
if (id == null)
{
throw new ArgumentNullException("id is a required property for CreateClusterReplicationRequest and cannot be null");
}
this.Id = id;
// to ensure "target" is required (not null)
if (target == null)
{
throw new ArgumentNullException("target is a required property for CreateClusterReplicationRequest and cannot be null");
}
this.Target = target;
// to ensure "type" is required (not null)
if (type == null)
{
throw new ArgumentNullException("type is a required property for CreateClusterReplicationRequest and cannot be null");
}
this.Type = type;
this.Comment = comment;
this.Disable = disable;
this.Rate = rate;
this.RemoveJob = removeJob;
this.Schedule = schedule;
this.Source = source;
}
/// <summary>
/// Gets or Sets Comment
/// </summary>
[DataMember(Name = "comment", EmitDefaultValue = false)]
public string Comment { get; set; }
/// <summary>
/// Gets or Sets Disable
/// </summary>
[DataMember(Name = "disable", EmitDefaultValue = true)]
public bool Disable { get; set; }
/// <summary>
/// Gets or Sets Id
/// </summary>
[DataMember(Name = "id", IsRequired = true, EmitDefaultValue = true)]
public string Id { get; set; }
/// <summary>
/// Gets or Sets Rate
/// </summary>
[DataMember(Name = "rate", EmitDefaultValue = false)]
public decimal Rate { get; set; }
/// <summary>
/// Gets or Sets RemoveJob
/// </summary>
[DataMember(Name = "remove_job", EmitDefaultValue = false)]
public string RemoveJob { get; set; }
/// <summary>
/// Gets or Sets Schedule
/// </summary>
[DataMember(Name = "schedule", EmitDefaultValue = false)]
public string Schedule { get; set; }
/// <summary>
/// Gets or Sets Source
/// </summary>
[DataMember(Name = "source", EmitDefaultValue = false)]
public string Source { get; set; }
/// <summary>
/// Gets or Sets Target
/// </summary>
[DataMember(Name = "target", IsRequired = true, EmitDefaultValue = true)]
public string Target { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public string Type { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterReplicationRequest {\n");
sb.Append(" Comment: ").Append(Comment).Append("\n");
sb.Append(" Disable: ").Append(Disable).Append("\n");
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Rate: ").Append(Rate).Append("\n");
sb.Append(" RemoveJob: ").Append(RemoveJob).Append("\n");
sb.Append(" Schedule: ").Append(Schedule).Append("\n");
sb.Append(" Source: ").Append(Source).Append("\n");
sb.Append(" Target: ").Append(Target).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,215 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterSDNControllerRequest
/// </summary>
[DataContract(Name = "CreateClusterSDNControllerRequest")]
public partial class CreateClusterSDNControllerRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSDNControllerRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterSDNControllerRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSDNControllerRequest" /> class.
/// </summary>
/// <param name="asn">asn.</param>
/// <param name="bgpMultipathAsPathRelax">bgpMultipathAsPathRelax.</param>
/// <param name="controller">controller (required).</param>
/// <param name="ebgp">ebgp.</param>
/// <param name="ebgpMultihop">ebgpMultihop.</param>
/// <param name="fabric">fabric.</param>
/// <param name="isisDomain">isisDomain.</param>
/// <param name="isisIfaces">isisIfaces.</param>
/// <param name="isisNet">isisNet.</param>
/// <param name="lockToken">lockToken.</param>
/// <param name="loopback">loopback.</param>
/// <param name="node">node.</param>
/// <param name="peers">peers.</param>
/// <param name="type">type (required).</param>
public CreateClusterSDNControllerRequest(int asn = default(int), bool bgpMultipathAsPathRelax = default(bool), string controller = default(string), bool ebgp = default(bool), int ebgpMultihop = default(int), string fabric = default(string), string isisDomain = default(string), string isisIfaces = default(string), string isisNet = default(string), string lockToken = default(string), string loopback = default(string), string node = default(string), string peers = default(string), string type = default(string))
{
// to ensure "controller" is required (not null)
if (controller == null)
{
throw new ArgumentNullException("controller is a required property for CreateClusterSDNControllerRequest and cannot be null");
}
this.Controller = controller;
// to ensure "type" is required (not null)
if (type == null)
{
throw new ArgumentNullException("type is a required property for CreateClusterSDNControllerRequest and cannot be null");
}
this.Type = type;
this.Asn = asn;
this.BgpMultipathAsPathRelax = bgpMultipathAsPathRelax;
this.Ebgp = ebgp;
this.EbgpMultihop = ebgpMultihop;
this.Fabric = fabric;
this.IsisDomain = isisDomain;
this.IsisIfaces = isisIfaces;
this.IsisNet = isisNet;
this.LockToken = lockToken;
this.Loopback = loopback;
this.Node = node;
this.Peers = peers;
}
/// <summary>
/// Gets or Sets Asn
/// </summary>
[DataMember(Name = "asn", EmitDefaultValue = false)]
public int Asn { get; set; }
/// <summary>
/// Gets or Sets BgpMultipathAsPathRelax
/// </summary>
[DataMember(Name = "bgp-multipath-as-path-relax", EmitDefaultValue = true)]
public bool BgpMultipathAsPathRelax { get; set; }
/// <summary>
/// Gets or Sets Controller
/// </summary>
[DataMember(Name = "controller", IsRequired = true, EmitDefaultValue = true)]
public string Controller { get; set; }
/// <summary>
/// Gets or Sets Ebgp
/// </summary>
[DataMember(Name = "ebgp", EmitDefaultValue = true)]
public bool Ebgp { get; set; }
/// <summary>
/// Gets or Sets EbgpMultihop
/// </summary>
[DataMember(Name = "ebgp-multihop", EmitDefaultValue = false)]
public int EbgpMultihop { get; set; }
/// <summary>
/// Gets or Sets Fabric
/// </summary>
[DataMember(Name = "fabric", EmitDefaultValue = false)]
public string Fabric { get; set; }
/// <summary>
/// Gets or Sets IsisDomain
/// </summary>
[DataMember(Name = "isis-domain", EmitDefaultValue = false)]
public string IsisDomain { get; set; }
/// <summary>
/// Gets or Sets IsisIfaces
/// </summary>
[DataMember(Name = "isis-ifaces", EmitDefaultValue = false)]
public string IsisIfaces { get; set; }
/// <summary>
/// Gets or Sets IsisNet
/// </summary>
[DataMember(Name = "isis-net", EmitDefaultValue = false)]
public string IsisNet { get; set; }
/// <summary>
/// Gets or Sets LockToken
/// </summary>
[DataMember(Name = "lock-token", EmitDefaultValue = false)]
public string LockToken { get; set; }
/// <summary>
/// Gets or Sets Loopback
/// </summary>
[DataMember(Name = "loopback", EmitDefaultValue = false)]
public string Loopback { get; set; }
/// <summary>
/// Gets or Sets Node
/// </summary>
[DataMember(Name = "node", EmitDefaultValue = false)]
public string Node { get; set; }
/// <summary>
/// Gets or Sets Peers
/// </summary>
[DataMember(Name = "peers", EmitDefaultValue = false)]
public string Peers { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public string Type { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterSDNControllerRequest {\n");
sb.Append(" Asn: ").Append(Asn).Append("\n");
sb.Append(" BgpMultipathAsPathRelax: ").Append(BgpMultipathAsPathRelax).Append("\n");
sb.Append(" Controller: ").Append(Controller).Append("\n");
sb.Append(" Ebgp: ").Append(Ebgp).Append("\n");
sb.Append(" EbgpMultihop: ").Append(EbgpMultihop).Append("\n");
sb.Append(" Fabric: ").Append(Fabric).Append("\n");
sb.Append(" IsisDomain: ").Append(IsisDomain).Append("\n");
sb.Append(" IsisIfaces: ").Append(IsisIfaces).Append("\n");
sb.Append(" IsisNet: ").Append(IsisNet).Append("\n");
sb.Append(" LockToken: ").Append(LockToken).Append("\n");
sb.Append(" Loopback: ").Append(Loopback).Append("\n");
sb.Append(" Node: ").Append(Node).Append("\n");
sb.Append(" Peers: ").Append(Peers).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,161 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterSDNVnetRequest
/// </summary>
[DataContract(Name = "CreateClusterSDNVnetRequest")]
public partial class CreateClusterSDNVnetRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSDNVnetRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterSDNVnetRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSDNVnetRequest" /> class.
/// </summary>
/// <param name="alias">alias.</param>
/// <param name="isolatePorts">isolatePorts.</param>
/// <param name="lockToken">lockToken.</param>
/// <param name="tag">tag.</param>
/// <param name="type">type.</param>
/// <param name="vlanaware">vlanaware.</param>
/// <param name="vnet">vnet (required).</param>
/// <param name="zone">zone (required).</param>
public CreateClusterSDNVnetRequest(string alias = default(string), bool isolatePorts = default(bool), string lockToken = default(string), int tag = default(int), string type = default(string), bool vlanaware = default(bool), string vnet = default(string), string zone = default(string))
{
// to ensure "vnet" is required (not null)
if (vnet == null)
{
throw new ArgumentNullException("vnet is a required property for CreateClusterSDNVnetRequest and cannot be null");
}
this.Vnet = vnet;
// to ensure "zone" is required (not null)
if (zone == null)
{
throw new ArgumentNullException("zone is a required property for CreateClusterSDNVnetRequest and cannot be null");
}
this.Zone = zone;
this.Alias = alias;
this.IsolatePorts = isolatePorts;
this.LockToken = lockToken;
this.Tag = tag;
this.Type = type;
this.Vlanaware = vlanaware;
}
/// <summary>
/// Gets or Sets Alias
/// </summary>
[DataMember(Name = "alias", EmitDefaultValue = false)]
public string Alias { get; set; }
/// <summary>
/// Gets or Sets IsolatePorts
/// </summary>
[DataMember(Name = "isolate-ports", EmitDefaultValue = true)]
public bool IsolatePorts { get; set; }
/// <summary>
/// Gets or Sets LockToken
/// </summary>
[DataMember(Name = "lock-token", EmitDefaultValue = false)]
public string LockToken { get; set; }
/// <summary>
/// Gets or Sets Tag
/// </summary>
[DataMember(Name = "tag", EmitDefaultValue = false)]
public int Tag { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", EmitDefaultValue = false)]
public string Type { get; set; }
/// <summary>
/// Gets or Sets Vlanaware
/// </summary>
[DataMember(Name = "vlanaware", EmitDefaultValue = true)]
public bool Vlanaware { get; set; }
/// <summary>
/// Gets or Sets Vnet
/// </summary>
[DataMember(Name = "vnet", IsRequired = true, EmitDefaultValue = true)]
public string Vnet { get; set; }
/// <summary>
/// Gets or Sets Zone
/// </summary>
[DataMember(Name = "zone", IsRequired = true, EmitDefaultValue = true)]
public string Zone { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterSDNVnetRequest {\n");
sb.Append(" Alias: ").Append(Alias).Append("\n");
sb.Append(" IsolatePorts: ").Append(IsolatePorts).Append("\n");
sb.Append(" LockToken: ").Append(LockToken).Append("\n");
sb.Append(" Tag: ").Append(Tag).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append(" Vlanaware: ").Append(Vlanaware).Append("\n");
sb.Append(" Vnet: ").Append(Vnet).Append("\n");
sb.Append(" Zone: ").Append(Zone).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,332 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterSDNZoneRequest
/// </summary>
[DataContract(Name = "CreateClusterSDNZoneRequest")]
public partial class CreateClusterSDNZoneRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSDNZoneRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterSDNZoneRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSDNZoneRequest" /> class.
/// </summary>
/// <param name="advertiseSubnets">advertiseSubnets.</param>
/// <param name="bridge">bridge.</param>
/// <param name="bridgeDisableMacLearning">bridgeDisableMacLearning.</param>
/// <param name="controller">controller.</param>
/// <param name="dhcp">dhcp.</param>
/// <param name="disableArpNdSuppression">disableArpNdSuppression.</param>
/// <param name="dns">dns.</param>
/// <param name="dnszone">dnszone.</param>
/// <param name="dpId">dpId.</param>
/// <param name="exitnodes">exitnodes.</param>
/// <param name="exitnodesLocalRouting">exitnodesLocalRouting.</param>
/// <param name="exitnodesPrimary">exitnodesPrimary.</param>
/// <param name="fabric">fabric.</param>
/// <param name="ipam">ipam.</param>
/// <param name="lockToken">lockToken.</param>
/// <param name="mac">mac.</param>
/// <param name="mtu">mtu.</param>
/// <param name="nodes">nodes.</param>
/// <param name="peers">peers.</param>
/// <param name="reversedns">reversedns.</param>
/// <param name="rtImport">rtImport.</param>
/// <param name="tag">tag.</param>
/// <param name="type">type (required).</param>
/// <param name="vlanProtocol">vlanProtocol.</param>
/// <param name="vrfVxlan">vrfVxlan.</param>
/// <param name="vxlanPort">vxlanPort.</param>
/// <param name="zone">zone (required).</param>
public CreateClusterSDNZoneRequest(bool advertiseSubnets = default(bool), string bridge = default(string), bool bridgeDisableMacLearning = default(bool), string controller = default(string), string dhcp = default(string), bool disableArpNdSuppression = default(bool), string dns = default(string), string dnszone = default(string), int dpId = default(int), string exitnodes = default(string), bool exitnodesLocalRouting = default(bool), string exitnodesPrimary = default(string), string fabric = default(string), string ipam = default(string), string lockToken = default(string), string mac = default(string), int mtu = default(int), string nodes = default(string), string peers = default(string), string reversedns = default(string), string rtImport = default(string), int tag = default(int), string type = default(string), string vlanProtocol = default(string), int vrfVxlan = default(int), int vxlanPort = default(int), string zone = default(string))
{
// to ensure "type" is required (not null)
if (type == null)
{
throw new ArgumentNullException("type is a required property for CreateClusterSDNZoneRequest and cannot be null");
}
this.Type = type;
// to ensure "zone" is required (not null)
if (zone == null)
{
throw new ArgumentNullException("zone is a required property for CreateClusterSDNZoneRequest and cannot be null");
}
this.Zone = zone;
this.AdvertiseSubnets = advertiseSubnets;
this.Bridge = bridge;
this.BridgeDisableMacLearning = bridgeDisableMacLearning;
this.Controller = controller;
this.Dhcp = dhcp;
this.DisableArpNdSuppression = disableArpNdSuppression;
this.Dns = dns;
this.Dnszone = dnszone;
this.DpId = dpId;
this.Exitnodes = exitnodes;
this.ExitnodesLocalRouting = exitnodesLocalRouting;
this.ExitnodesPrimary = exitnodesPrimary;
this.Fabric = fabric;
this.Ipam = ipam;
this.LockToken = lockToken;
this.Mac = mac;
this.Mtu = mtu;
this.Nodes = nodes;
this.Peers = peers;
this.Reversedns = reversedns;
this.RtImport = rtImport;
this.Tag = tag;
this.VlanProtocol = vlanProtocol;
this.VrfVxlan = vrfVxlan;
this.VxlanPort = vxlanPort;
}
/// <summary>
/// Gets or Sets AdvertiseSubnets
/// </summary>
[DataMember(Name = "advertise-subnets", EmitDefaultValue = true)]
public bool AdvertiseSubnets { get; set; }
/// <summary>
/// Gets or Sets Bridge
/// </summary>
[DataMember(Name = "bridge", EmitDefaultValue = false)]
public string Bridge { get; set; }
/// <summary>
/// Gets or Sets BridgeDisableMacLearning
/// </summary>
[DataMember(Name = "bridge-disable-mac-learning", EmitDefaultValue = true)]
public bool BridgeDisableMacLearning { get; set; }
/// <summary>
/// Gets or Sets Controller
/// </summary>
[DataMember(Name = "controller", EmitDefaultValue = false)]
public string Controller { get; set; }
/// <summary>
/// Gets or Sets Dhcp
/// </summary>
[DataMember(Name = "dhcp", EmitDefaultValue = false)]
public string Dhcp { get; set; }
/// <summary>
/// Gets or Sets DisableArpNdSuppression
/// </summary>
[DataMember(Name = "disable-arp-nd-suppression", EmitDefaultValue = true)]
public bool DisableArpNdSuppression { get; set; }
/// <summary>
/// Gets or Sets Dns
/// </summary>
[DataMember(Name = "dns", EmitDefaultValue = false)]
public string Dns { get; set; }
/// <summary>
/// Gets or Sets Dnszone
/// </summary>
[DataMember(Name = "dnszone", EmitDefaultValue = false)]
public string Dnszone { get; set; }
/// <summary>
/// Gets or Sets DpId
/// </summary>
[DataMember(Name = "dp-id", EmitDefaultValue = false)]
public int DpId { get; set; }
/// <summary>
/// Gets or Sets Exitnodes
/// </summary>
[DataMember(Name = "exitnodes", EmitDefaultValue = false)]
public string Exitnodes { get; set; }
/// <summary>
/// Gets or Sets ExitnodesLocalRouting
/// </summary>
[DataMember(Name = "exitnodes-local-routing", EmitDefaultValue = true)]
public bool ExitnodesLocalRouting { get; set; }
/// <summary>
/// Gets or Sets ExitnodesPrimary
/// </summary>
[DataMember(Name = "exitnodes-primary", EmitDefaultValue = false)]
public string ExitnodesPrimary { get; set; }
/// <summary>
/// Gets or Sets Fabric
/// </summary>
[DataMember(Name = "fabric", EmitDefaultValue = false)]
public string Fabric { get; set; }
/// <summary>
/// Gets or Sets Ipam
/// </summary>
[DataMember(Name = "ipam", EmitDefaultValue = false)]
public string Ipam { get; set; }
/// <summary>
/// Gets or Sets LockToken
/// </summary>
[DataMember(Name = "lock-token", EmitDefaultValue = false)]
public string LockToken { get; set; }
/// <summary>
/// Gets or Sets Mac
/// </summary>
[DataMember(Name = "mac", EmitDefaultValue = false)]
public string Mac { get; set; }
/// <summary>
/// Gets or Sets Mtu
/// </summary>
[DataMember(Name = "mtu", EmitDefaultValue = false)]
public int Mtu { get; set; }
/// <summary>
/// Gets or Sets Nodes
/// </summary>
[DataMember(Name = "nodes", EmitDefaultValue = false)]
public string Nodes { get; set; }
/// <summary>
/// Gets or Sets Peers
/// </summary>
[DataMember(Name = "peers", EmitDefaultValue = false)]
public string Peers { get; set; }
/// <summary>
/// Gets or Sets Reversedns
/// </summary>
[DataMember(Name = "reversedns", EmitDefaultValue = false)]
public string Reversedns { get; set; }
/// <summary>
/// Gets or Sets RtImport
/// </summary>
[DataMember(Name = "rt-import", EmitDefaultValue = false)]
public string RtImport { get; set; }
/// <summary>
/// Gets or Sets Tag
/// </summary>
[DataMember(Name = "tag", EmitDefaultValue = false)]
public int Tag { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public string Type { get; set; }
/// <summary>
/// Gets or Sets VlanProtocol
/// </summary>
[DataMember(Name = "vlan-protocol", EmitDefaultValue = false)]
public string VlanProtocol { get; set; }
/// <summary>
/// Gets or Sets VrfVxlan
/// </summary>
[DataMember(Name = "vrf-vxlan", EmitDefaultValue = false)]
public int VrfVxlan { get; set; }
/// <summary>
/// Gets or Sets VxlanPort
/// </summary>
[DataMember(Name = "vxlan-port", EmitDefaultValue = false)]
public int VxlanPort { get; set; }
/// <summary>
/// Gets or Sets Zone
/// </summary>
[DataMember(Name = "zone", IsRequired = true, EmitDefaultValue = true)]
public string Zone { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterSDNZoneRequest {\n");
sb.Append(" AdvertiseSubnets: ").Append(AdvertiseSubnets).Append("\n");
sb.Append(" Bridge: ").Append(Bridge).Append("\n");
sb.Append(" BridgeDisableMacLearning: ").Append(BridgeDisableMacLearning).Append("\n");
sb.Append(" Controller: ").Append(Controller).Append("\n");
sb.Append(" Dhcp: ").Append(Dhcp).Append("\n");
sb.Append(" DisableArpNdSuppression: ").Append(DisableArpNdSuppression).Append("\n");
sb.Append(" Dns: ").Append(Dns).Append("\n");
sb.Append(" Dnszone: ").Append(Dnszone).Append("\n");
sb.Append(" DpId: ").Append(DpId).Append("\n");
sb.Append(" Exitnodes: ").Append(Exitnodes).Append("\n");
sb.Append(" ExitnodesLocalRouting: ").Append(ExitnodesLocalRouting).Append("\n");
sb.Append(" ExitnodesPrimary: ").Append(ExitnodesPrimary).Append("\n");
sb.Append(" Fabric: ").Append(Fabric).Append("\n");
sb.Append(" Ipam: ").Append(Ipam).Append("\n");
sb.Append(" LockToken: ").Append(LockToken).Append("\n");
sb.Append(" Mac: ").Append(Mac).Append("\n");
sb.Append(" Mtu: ").Append(Mtu).Append("\n");
sb.Append(" Nodes: ").Append(Nodes).Append("\n");
sb.Append(" Peers: ").Append(Peers).Append("\n");
sb.Append(" Reversedns: ").Append(Reversedns).Append("\n");
sb.Append(" RtImport: ").Append(RtImport).Append("\n");
sb.Append(" Tag: ").Append(Tag).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append(" VlanProtocol: ").Append(VlanProtocol).Append("\n");
sb.Append(" VrfVxlan: ").Append(VrfVxlan).Append("\n");
sb.Append(" VxlanPort: ").Append(VxlanPort).Append("\n");
sb.Append(" Zone: ").Append(Zone).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,180 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterSdnDnsRequest
/// </summary>
[DataContract(Name = "CreateClusterSdnDnsRequest")]
public partial class CreateClusterSdnDnsRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSdnDnsRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterSdnDnsRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSdnDnsRequest" /> class.
/// </summary>
/// <param name="dns">dns (required).</param>
/// <param name="fingerprint">fingerprint.</param>
/// <param name="key">key (required).</param>
/// <param name="lockToken">lockToken.</param>
/// <param name="reversemaskv6">reversemaskv6.</param>
/// <param name="reversev6mask">reversev6mask.</param>
/// <param name="ttl">ttl.</param>
/// <param name="type">type (required).</param>
/// <param name="url">url (required).</param>
public CreateClusterSdnDnsRequest(string dns = default(string), string fingerprint = default(string), string key = default(string), string lockToken = default(string), int reversemaskv6 = default(int), int reversev6mask = default(int), int ttl = default(int), string type = default(string), string url = default(string))
{
// to ensure "dns" is required (not null)
if (dns == null)
{
throw new ArgumentNullException("dns is a required property for CreateClusterSdnDnsRequest and cannot be null");
}
this.Dns = dns;
// to ensure "key" is required (not null)
if (key == null)
{
throw new ArgumentNullException("key is a required property for CreateClusterSdnDnsRequest and cannot be null");
}
this.Key = key;
// to ensure "type" is required (not null)
if (type == null)
{
throw new ArgumentNullException("type is a required property for CreateClusterSdnDnsRequest and cannot be null");
}
this.Type = type;
// to ensure "url" is required (not null)
if (url == null)
{
throw new ArgumentNullException("url is a required property for CreateClusterSdnDnsRequest and cannot be null");
}
this.Url = url;
this.Fingerprint = fingerprint;
this.LockToken = lockToken;
this.Reversemaskv6 = reversemaskv6;
this.Reversev6mask = reversev6mask;
this.Ttl = ttl;
}
/// <summary>
/// Gets or Sets Dns
/// </summary>
[DataMember(Name = "dns", IsRequired = true, EmitDefaultValue = true)]
public string Dns { get; set; }
/// <summary>
/// Gets or Sets Fingerprint
/// </summary>
[DataMember(Name = "fingerprint", EmitDefaultValue = false)]
public string Fingerprint { get; set; }
/// <summary>
/// Gets or Sets Key
/// </summary>
[DataMember(Name = "key", IsRequired = true, EmitDefaultValue = true)]
public string Key { get; set; }
/// <summary>
/// Gets or Sets LockToken
/// </summary>
[DataMember(Name = "lock-token", EmitDefaultValue = false)]
public string LockToken { get; set; }
/// <summary>
/// Gets or Sets Reversemaskv6
/// </summary>
[DataMember(Name = "reversemaskv6", EmitDefaultValue = false)]
public int Reversemaskv6 { get; set; }
/// <summary>
/// Gets or Sets Reversev6mask
/// </summary>
[DataMember(Name = "reversev6mask", EmitDefaultValue = false)]
public int Reversev6mask { get; set; }
/// <summary>
/// Gets or Sets Ttl
/// </summary>
[DataMember(Name = "ttl", EmitDefaultValue = false)]
public int Ttl { get; set; }
/// <summary>
/// Gets or Sets Type
/// </summary>
[DataMember(Name = "type", IsRequired = true, EmitDefaultValue = true)]
public string Type { get; set; }
/// <summary>
/// Gets or Sets Url
/// </summary>
[DataMember(Name = "url", IsRequired = true, EmitDefaultValue = true)]
public string Url { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterSdnDnsRequest {\n");
sb.Append(" Dns: ").Append(Dns).Append("\n");
sb.Append(" Fingerprint: ").Append(Fingerprint).Append("\n");
sb.Append(" Key: ").Append(Key).Append("\n");
sb.Append(" LockToken: ").Append(LockToken).Append("\n");
sb.Append(" Reversemaskv6: ").Append(Reversemaskv6).Append("\n");
sb.Append(" Reversev6mask: ").Append(Reversev6mask).Append("\n");
sb.Append(" Ttl: ").Append(Ttl).Append("\n");
sb.Append(" Type: ").Append(Type).Append("\n");
sb.Append(" Url: ").Append(Url).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,170 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterSdnFabricsFabricRequest
/// </summary>
[DataContract(Name = "CreateClusterSdnFabricsFabricRequest")]
public partial class CreateClusterSdnFabricsFabricRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSdnFabricsFabricRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterSdnFabricsFabricRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSdnFabricsFabricRequest" /> class.
/// </summary>
/// <param name="area">area.</param>
/// <param name="csnpInterval">csnpInterval.</param>
/// <param name="digest">digest.</param>
/// <param name="helloInterval">helloInterval.</param>
/// <param name="id">id (required).</param>
/// <param name="ip6Prefix">ip6Prefix.</param>
/// <param name="ipPrefix">ipPrefix.</param>
/// <param name="lockToken">lockToken.</param>
/// <param name="protocol">protocol (required).</param>
public CreateClusterSdnFabricsFabricRequest(string area = default(string), decimal csnpInterval = default(decimal), string digest = default(string), decimal helloInterval = default(decimal), string id = default(string), string ip6Prefix = default(string), string ipPrefix = default(string), string lockToken = default(string), string protocol = default(string))
{
// to ensure "id" is required (not null)
if (id == null)
{
throw new ArgumentNullException("id is a required property for CreateClusterSdnFabricsFabricRequest and cannot be null");
}
this.Id = id;
// to ensure "protocol" is required (not null)
if (protocol == null)
{
throw new ArgumentNullException("protocol is a required property for CreateClusterSdnFabricsFabricRequest and cannot be null");
}
this.Protocol = protocol;
this.Area = area;
this.CsnpInterval = csnpInterval;
this.Digest = digest;
this.HelloInterval = helloInterval;
this.Ip6Prefix = ip6Prefix;
this.IpPrefix = ipPrefix;
this.LockToken = lockToken;
}
/// <summary>
/// Gets or Sets Area
/// </summary>
[DataMember(Name = "area", EmitDefaultValue = false)]
public string Area { get; set; }
/// <summary>
/// Gets or Sets CsnpInterval
/// </summary>
[DataMember(Name = "csnp_interval", EmitDefaultValue = false)]
public decimal CsnpInterval { get; set; }
/// <summary>
/// Gets or Sets Digest
/// </summary>
[DataMember(Name = "digest", EmitDefaultValue = false)]
public string Digest { get; set; }
/// <summary>
/// Gets or Sets HelloInterval
/// </summary>
[DataMember(Name = "hello_interval", EmitDefaultValue = false)]
public decimal HelloInterval { get; set; }
/// <summary>
/// Gets or Sets Id
/// </summary>
[DataMember(Name = "id", IsRequired = true, EmitDefaultValue = true)]
public string Id { get; set; }
/// <summary>
/// Gets or Sets Ip6Prefix
/// </summary>
[DataMember(Name = "ip6_prefix", EmitDefaultValue = false)]
public string Ip6Prefix { get; set; }
/// <summary>
/// Gets or Sets IpPrefix
/// </summary>
[DataMember(Name = "ip_prefix", EmitDefaultValue = false)]
public string IpPrefix { get; set; }
/// <summary>
/// Gets or Sets LockToken
/// </summary>
[DataMember(Name = "lock-token", EmitDefaultValue = false)]
public string LockToken { get; set; }
/// <summary>
/// Gets or Sets Protocol
/// </summary>
[DataMember(Name = "protocol", IsRequired = true, EmitDefaultValue = true)]
public string Protocol { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterSdnFabricsFabricRequest {\n");
sb.Append(" Area: ").Append(Area).Append("\n");
sb.Append(" CsnpInterval: ").Append(CsnpInterval).Append("\n");
sb.Append(" Digest: ").Append(Digest).Append("\n");
sb.Append(" HelloInterval: ").Append(HelloInterval).Append("\n");
sb.Append(" Id: ").Append(Id).Append("\n");
sb.Append(" Ip6Prefix: ").Append(Ip6Prefix).Append("\n");
sb.Append(" IpPrefix: ").Append(IpPrefix).Append("\n");
sb.Append(" LockToken: ").Append(LockToken).Append("\n");
sb.Append(" Protocol: ").Append(Protocol).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

View file

@ -0,0 +1,157 @@
/*
* ProxMox VE API
*
* ProxMox VE API
*
* The version of the OpenAPI document: 2.0
* Contact: support@lumaserv.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;
namespace ProxmoxSharp.Model
{
/// <summary>
/// CreateClusterSdnFabricsNodeSingleRequest
/// </summary>
[DataContract(Name = "CreateClusterSdnFabricsNodeSingleRequest")]
public partial class CreateClusterSdnFabricsNodeSingleRequest : IValidatableObject
{
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSdnFabricsNodeSingleRequest" /> class.
/// </summary>
[JsonConstructorAttribute]
protected CreateClusterSdnFabricsNodeSingleRequest() { }
/// <summary>
/// Initializes a new instance of the <see cref="CreateClusterSdnFabricsNodeSingleRequest" /> class.
/// </summary>
/// <param name="digest">digest.</param>
/// <param name="interfaces">interfaces (required).</param>
/// <param name="ip">ip.</param>
/// <param name="ip6">ip6.</param>
/// <param name="lockToken">lockToken.</param>
/// <param name="nodeId">nodeId (required).</param>
/// <param name="protocol">protocol (required).</param>
public CreateClusterSdnFabricsNodeSingleRequest(string digest = default(string), List<string> interfaces = default(List<string>), string ip = default(string), string ip6 = default(string), string lockToken = default(string), string nodeId = default(string), string protocol = default(string))
{
// to ensure "interfaces" is required (not null)
if (interfaces == null)
{
throw new ArgumentNullException("interfaces is a required property for CreateClusterSdnFabricsNodeSingleRequest and cannot be null");
}
this.Interfaces = interfaces;
// to ensure "nodeId" is required (not null)
if (nodeId == null)
{
throw new ArgumentNullException("nodeId is a required property for CreateClusterSdnFabricsNodeSingleRequest and cannot be null");
}
this.NodeId = nodeId;
// to ensure "protocol" is required (not null)
if (protocol == null)
{
throw new ArgumentNullException("protocol is a required property for CreateClusterSdnFabricsNodeSingleRequest and cannot be null");
}
this.Protocol = protocol;
this.Digest = digest;
this.Ip = ip;
this.Ip6 = ip6;
this.LockToken = lockToken;
}
/// <summary>
/// Gets or Sets Digest
/// </summary>
[DataMember(Name = "digest", EmitDefaultValue = false)]
public string Digest { get; set; }
/// <summary>
/// Gets or Sets Interfaces
/// </summary>
[DataMember(Name = "interfaces", IsRequired = true, EmitDefaultValue = true)]
public List<string> Interfaces { get; set; }
/// <summary>
/// Gets or Sets Ip
/// </summary>
[DataMember(Name = "ip", EmitDefaultValue = false)]
public string Ip { get; set; }
/// <summary>
/// Gets or Sets Ip6
/// </summary>
[DataMember(Name = "ip6", EmitDefaultValue = false)]
public string Ip6 { get; set; }
/// <summary>
/// Gets or Sets LockToken
/// </summary>
[DataMember(Name = "lock-token", EmitDefaultValue = false)]
public string LockToken { get; set; }
/// <summary>
/// Gets or Sets NodeId
/// </summary>
[DataMember(Name = "node_id", IsRequired = true, EmitDefaultValue = true)]
public string NodeId { get; set; }
/// <summary>
/// Gets or Sets Protocol
/// </summary>
[DataMember(Name = "protocol", IsRequired = true, EmitDefaultValue = true)]
public string Protocol { get; set; }
/// <summary>
/// Returns the string presentation of the object
/// </summary>
/// <returns>String presentation of the object</returns>
public override string ToString()
{
StringBuilder sb = new StringBuilder();
sb.Append("class CreateClusterSdnFabricsNodeSingleRequest {\n");
sb.Append(" Digest: ").Append(Digest).Append("\n");
sb.Append(" Interfaces: ").Append(Interfaces).Append("\n");
sb.Append(" Ip: ").Append(Ip).Append("\n");
sb.Append(" Ip6: ").Append(Ip6).Append("\n");
sb.Append(" LockToken: ").Append(LockToken).Append("\n");
sb.Append(" NodeId: ").Append(NodeId).Append("\n");
sb.Append(" Protocol: ").Append(Protocol).Append("\n");
sb.Append("}\n");
return sb.ToString();
}
/// <summary>
/// Returns the JSON string presentation of the object
/// </summary>
/// <returns>JSON string presentation of the object</returns>
public virtual string ToJson()
{
return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
}
/// <summary>
/// To validate all properties of the instance
/// </summary>
/// <param name="validationContext">Validation context</param>
/// <returns>Validation Result</returns>
IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
{
yield break;
}
}
}

Some files were not shown because too many files have changed in this diff Show more