mm_json_client 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +5 -0
  5. data/Gemfile +4 -0
  6. data/Guardfile +22 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +151 -0
  9. data/Rakefile +33 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +7 -0
  12. data/examples/claim_next_free_ip.rb +73 -0
  13. data/examples/register_dns.rb +37 -0
  14. data/examples/release_ip.rb +59 -0
  15. data/examples/unregister_dns.rb +44 -0
  16. data/fixtures/vcr_cassettes/MmJsonClient_GenericType/basic_server_interaction/allows_a_user_to_log_in_and_out.yml +74 -0
  17. data/fixtures/vcr_cassettes/MmJsonClient_GenericType/basic_server_interaction/filters_a_list_of_users.yml +110 -0
  18. data/fixtures/vcr_cassettes/MmJsonClient_GenericType/basic_server_interaction/gets_a_list_of_users.yml +111 -0
  19. data/fixtures/vcr_cassettes/MmJsonClient_GenericType/basic_server_interaction/gets_a_user_by_reference.yml +110 -0
  20. data/fixtures/vcr_cassettes/MmJsonClient_GenericType/basic_server_interaction/responds_with_a_server_error_on_bad_auth.yml +39 -0
  21. data/fixtures/vcr_cassettes/MmJsonClient_GenericType/multiple_proxy_servers/connects_to_another_proxy_when_one_is_disabled.yml +72 -0
  22. data/fixtures/vcr_cassettes/MmJsonClient_GenericType/proxy_options/allows_a_separate_proxy_to_be_defined.yml +75 -0
  23. data/fixtures/vcr_cassettes/MmJsonClient_GenericType/ssl_options/allows_ignoring_bad_certificates.yml +74 -0
  24. data/generators/enum_def_generator.rb +22 -0
  25. data/generators/method_def_generator.rb +20 -0
  26. data/generators/type_def_generator.rb +50 -0
  27. data/generators/wasabi_extension.rb +45 -0
  28. data/lib/core_ext/hash_extension.rb +43 -0
  29. data/lib/core_ext/string_extension.rb +60 -0
  30. data/lib/core_ext/symbol_extension.rb +24 -0
  31. data/lib/mm_json_client.rb +64 -0
  32. data/lib/mm_json_client/api_definitions/enums.json +1 -0
  33. data/lib/mm_json_client/api_definitions/methods.json +1 -0
  34. data/lib/mm_json_client/api_definitions/types.json +1 -0
  35. data/lib/mm_json_client/client.rb +148 -0
  36. data/lib/mm_json_client/enums/enum_factory.rb +24 -0
  37. data/lib/mm_json_client/enums/generic_enum.rb +12 -0
  38. data/lib/mm_json_client/exceptions.rb +23 -0
  39. data/lib/mm_json_client/generic_type.rb +37 -0
  40. data/lib/mm_json_client/http_client/client.rb +54 -0
  41. data/lib/mm_json_client/json_rpc_http/client.rb +40 -0
  42. data/lib/mm_json_client/json_rpc_http/error.rb +18 -0
  43. data/lib/mm_json_client/json_rpc_http/exceptions.rb +10 -0
  44. data/lib/mm_json_client/json_rpc_http/response.rb +31 -0
  45. data/lib/mm_json_client/response_code.rb +6 -0
  46. data/lib/mm_json_client/type_factory.rb +83 -0
  47. data/lib/mm_json_client/version.rb +3 -0
  48. data/mm_json_client.gemspec +38 -0
  49. metadata +231 -0
@@ -0,0 +1,60 @@
1
+ # Extend string with helpers specificic to this gem.
2
+ class String
3
+ MM_Acronyms = %w(AD DCHP DHCP DNS ID IP IPAM PTR VLAN VRF).freeze
4
+ MM_Upper_In_Camel = %w(VLAN VRF).freeze
5
+
6
+ # Underscore functionality to match conversion from M&M values.
7
+ def mm_underscore
8
+ return self if self =~ /^[a-z_]+$/
9
+
10
+ # handle fields that are IDs
11
+ underscored = gsub(/IDs/, '_ids')
12
+
13
+ # break on lower to upper transition
14
+ underscored.gsub!(/([a-z])([A-Z]+)/) do
15
+ "#{Regexp.last_match(1)}_#{Regexp.last_match(2)}"
16
+ end
17
+
18
+ # break on acronym to caps word transition
19
+ underscored.gsub!(/([A-Z])([A-Z][a-z]+)/) do
20
+ "#{Regexp.last_match(1)}_#{Regexp.last_match(2)}"
21
+ end
22
+
23
+ # special case separation
24
+ underscored.gsub!(/DNSPTR/i, 'dns_ptr')
25
+ underscored.gsub!(/VLANID/i, 'vlan_id')
26
+
27
+ underscored.downcase
28
+ end
29
+
30
+ # Convert snake case to camel case while honoring acronyms.
31
+ def mm_camelize
32
+ first = split('_')[0]
33
+ first = first.upcase if MM_Upper_In_Camel.include?(first.upcase)
34
+ remaining = split('_').drop(1)
35
+ camelized = remaining.map { |p| mm_capitalize_with_acronyms(p) }
36
+ camelized.insert(0, first)
37
+ camelized.join
38
+ end
39
+
40
+ # Convert snake case to Pascal case while honoring acronyms.
41
+ def mm_pascalize
42
+ split('_').map { |p| mm_capitalize_with_acronyms(p) }.join
43
+ end
44
+
45
+ # Simplistic pluralization for M&M types
46
+ def mm_pluralize
47
+ if self =~ /y$/
48
+ "#{chomp('y')}ies"
49
+ else
50
+ "#{self}s"
51
+ end
52
+ end
53
+
54
+ private
55
+
56
+ def mm_capitalize_with_acronyms(word)
57
+ return 'IDs' if word == 'ids'
58
+ MM_Acronyms.include?(word.upcase) ? word.upcase : word.capitalize
59
+ end
60
+ end
@@ -0,0 +1,24 @@
1
+ require 'core_ext/string_extension'
2
+
3
+ # Extend symbol with helpers specificic to this gem.
4
+ class Symbol
5
+ # Underscore functionality to match conversion from M&M values.
6
+ def mm_underscore
7
+ to_s.mm_underscore.to_sym
8
+ end
9
+
10
+ # Convert snake case to camel case while honoring acronyms.
11
+ def mm_camelize
12
+ to_s.mm_camelize.to_sym
13
+ end
14
+
15
+ # Convert snake case to Pascal case while honoring acronyms.
16
+ def mm_pascalize
17
+ to_s.mm_pascalize.to_sym
18
+ end
19
+
20
+ # Simplistic pluralization for M&M types
21
+ def mm_pluralize
22
+ to_s.mm_pluralize.to_sym
23
+ end
24
+ end
@@ -0,0 +1,64 @@
1
+ require 'core_ext/hash_extension.rb'
2
+ require 'core_ext/string_extension.rb'
3
+ require 'core_ext/symbol_extension.rb'
4
+ require 'mm_json_client/client'
5
+ require 'mm_json_client/enums/enum_factory'
6
+ require 'mm_json_client/type_factory'
7
+ require 'mm_json_client/version'
8
+
9
+ # Configure the environment so the gem works.
10
+ module MmJsonClient
11
+ # Dynamically load the enums, methods and types from the default api
12
+ # definitions or those put in the directory provided in the environment
13
+ # variable API_DEF_DIR.
14
+ def self.initialize_environment
15
+ load_type_data
16
+ load_enum_data
17
+ define_api_methods
18
+ end
19
+
20
+ class << self
21
+ def this_dir
22
+ File.dirname(File.expand_path(__FILE__))
23
+ end
24
+
25
+ def api_def_dir
26
+ return ENV['API_DEF_DIR'] if ENV['API_DEF_DIR']
27
+ default_api_def_dir
28
+ end
29
+
30
+ def default_api_def_dir
31
+ File.join(this_dir, 'mm_json_client', 'api_definitions')
32
+ end
33
+
34
+ def load_type_data
35
+ type_file = File.join(api_def_dir, 'types.json')
36
+ types = JSON.parse(File.read(type_file))
37
+ MmJsonClient::TypeFactory.load_types(types)
38
+ end
39
+
40
+ def load_enum_data
41
+ enum_file = File.join(api_def_dir, 'enums.json')
42
+ enums = JSON.parse(File.read(enum_file))
43
+ MmJsonClient::Enums::EnumFactory.load_enums(enums)
44
+ end
45
+
46
+ def static_methods
47
+ %w(Login Logout)
48
+ end
49
+
50
+ def dynamic_methods(methods)
51
+ methods.reject { |k, _v| static_methods.include?(k) }
52
+ end
53
+
54
+ def define_api_methods
55
+ method_file = File.join(api_def_dir, 'methods.json')
56
+ all_methods = JSON.parse(File.read(method_file))
57
+ dynamic_methods(all_methods).each do |method, return_type|
58
+ MmJsonClient::Client.define_api_method(method, return_type)
59
+ end
60
+ end
61
+ end
62
+ end
63
+
64
+ MmJsonClient.initialize_environment
@@ -0,0 +1 @@
1
+ {"SortOrder":["Ascending","Descending"],"AccessType":["Unspecified","Allow","Deny"],"TimeUnit":["Minutes","Hours","Days","Weeks","Months"],"IPAddressDiscoveryType":["None","Ping","ARP","Lease","Custom"],"DNSZoneType":["Master","Slave","Hint","Stub","Forward"],"ADReplicationType":["None","To_All_DNS_Servers_In_AD_Forrest","To_All_DNS_Servers_In_AD_Domain","To_All_Domain_Controllers_In_AD_Domain","To_All_Domain_Controllers_In_Specified_Partition","Unavailable"],"DNSRecordType":["Any","Unknown","A","NS","CNAME","SOA","WKS","PTR","HINFO","MX","TXT","SPF","RP","AFSDB","AAAA","LOC","SRV","NAPTR","DNAME","WINS","WINSR","DS","SSHFP","DHCID","CERT","RRSIG","DNSKEY","NSEC","NSEC3","NSEC3PARAM","TLSA"],"PTRStatus":["Unknown","OK","Verify"],"DNSServerType":["Unknown","MS","BIND","Unbound","Generic","Azure"],"DNSServerSubtype":["Unknown","Win2003","Win2008","Win2012","BIND9","Unbound"],"DHCPServerType":["Unknown","MSDHCP","ISC","IOS"],"DNSServerState":["Unknown","OK","Unreachable","Out of date","Uninitialized","Updating","Service Down","Disabled"],"DHCPServerState":["Unknown","OK","Unreachable","Out of date","Wrong type","Updating","Service Down","Disabled"],"DHCPServerSecurity":["Unknown","Telnet","SSH2"],"DHCPReservationType":["DHCP","BOOTP","BOTH"],"TransportProtocol":["UDP","TCP","UDP6","TCP6"],"DHCPReservationMethod":["HardwareAddress","ClientIdentifier"],"DHCPPolicyConditionType":["MACAddress","VendorClass","UserClass","ClientIdentifier","RelayAgentInformation","RAIAgentCircuitID","RAIAgentRemoteID","RAISubscriberID"],"DHCPPolicyComparisonType":["Equal","NotEqual"],"DHCPPolicyLogicalOperator":["LogicalOr","LogicalAnd"],"DHCPFailoverServerType":["PrimaryServer","SecondaryServer"],"DHCPFailoverMode":["LoadBalance","HotStandby"],"DHCPFailoverDeconfigureAction":["None","Disable","Delete"],"ChangeRequestState":["Pending","Approved","Rejected","Applied","Failed"],"DNSRecordChangeType":["AddDNSRecord","ModifyDNSRecord","RemoveDNSRecord"],"ObjectType":["Unknown","Suite","DNSServer","DHCPServer","DNSZone","DNSView","Range","DHCPScope","IPAddress","DHCPReservation","DHCPAddressPool","DHCPGroup","ADSite","DNSRecord","User","Group","DHCPExclusion","DHCPFailoverPeer","DHCPLease","Device","Interface","Folder","ADSiteLink","AddressSpace","ADForest","ChangeRequest","Appliance","Role","Cloud","CloudNetwork","Superscope"],"PropertyType":["String","HexStr","Boolean","IPAddress","IPOrHostname","Integer"],"DHCPAddressPoolPermitType":["Unknown","AllClients","KnownClients","UnknownClients","DynamicBOOTPClients","MembersOfDHCPClass"],"IPAMRecordState":["Free","Assigned","Claimed"],"AuthenticationType":["Internal","AD","ADGroup","RADIUS"],"ServiceStatus":["undefined","running","stopped","exited","fatal"],"ChangeType":["Add","Modify","Remove"],"CloudType":["Unknown","OpenStack","CloudStack"],"SNMPVersion":["unknown","1","2c","3"],"SNMPAuthenticationProtocol":["none","MD5","SHA"],"SNMPEncryptionProtocol":["none","AES","DES"],"DHCPLeaseField":["IPAddress","ClientIdentifier","ServerAddress","Hostname","Description"],"DNSForwarders":["Off","First","Only"],"BINDServerLoggingChannelType":["Null","Stderr","Syslog","File"],"BINDServerLoggingChannelFacility":["Kern","User","Mail","Daemon","Auth","Syslog","LPR","News","UUCP","Cron","Authpriv","FTP","Local0","Local1","Local2","Local3","Local4","Local5","Local6","Local7"],"AllowTransferTo":["any","none","authoritative","listed"],"AllowUpdateFrom":["none","secure","both"],"NSEC3HashAlgorithm":["Unknown","SHA-1"],"MaintainTrustAnchor":["Unknown","None","DNSKEY"],"DsRecordAlgorithms":["Unknown","None","SHA-1","SHA-256","SHA-1 and SHA-256","SHA-384","SHA-1 and SHA-384","SHA-256 and SHA-384","All"],"EventType":["Unknown","Creation","Modification","Deletion","Refresh","Error","Reference"],"DHCPScopeReconcileFlag":["ReconcileRegistry","ReconcileDatabase"],"DHCPScopeOptionsReportType":["HasValue","DoesNotHaveValue","HasNoValueSet"],"HostDiscoveryType":["HostsWithData","HostsWithoutData"],"MergeAddressSpacesReportConflictType":["Warning","Error"],"SubdomainHandling":["Ignore","Update"],"DNSRecordField":["Any","Name","TTL","Data","Comment"],"ChangeRecordType":["Add","Modify","Delete"],"Status":["Unchecked","Green","Orange","Red"],"ApplianceType":["Unknown","DDI","Caching"],"ApplianceState":["Unknown","OK","Unreachable","Out of date","Wrong type","Updating","Service Down"],"LocalZoneDataType":["LocalZone","LocalRecord"],"ClusterMemberState":["Offline","Startup","Standby","Maintenance","Active"]}
@@ -0,0 +1 @@
1
+ {"AddADForest":"AddADForestResponse","AddADSite":"AddADSiteResponse","AddADSiteLink":"AddADSiteLinkResponse","AddAddressSpace":"AddAddressSpaceResponse","AddChangeRequest":"AddChangeRequestResponse","AddCloud":"AddCloudResponse","AddCloudNetwork":"AddCloudNetworkResponse","AddDHCPAddressPool":"AddDHCPAddressPoolResponse","AddDHCPExclusion":"AddDHCPExclusionResponse","AddDHCPFailoverRelationship":"AddDHCPFailoverRelationshipResponse","AddDHCPGroup":"AddDHCPGroupResponse","AddDHCPOptionDefinition":"AddDHCPOptionDefinitionResponse","AddDHCPPolicy":"AddDHCPPolicyResponse","AddDHCPReservation":"AddDHCPReservationResponse","AddDHCPScope":"AddDHCPScopeResponse","AddDHCPScopesToDHCPFailoverRelationship":"AddDHCPScopesToDHCPFailoverRelationshipResponse","AddDHCPServer":"AddDHCPServerResponse","AddDNSGenerateDirective":"AddDNSGenerateDirectiveResponse","AddDNSRecord":"AddDNSRecordResponse","AddDNSRecordChangeRequest":"AddDNSRecordChangeRequestResponse","AddDNSRecords":"AddDNSRecordsResponse","AddDNSServer":"AddDNSServerResponse","AddDNSZone":"AddDNSZoneResponse","AddDNSZones":"AddDNSZonesResponse","AddDevice":"AddDeviceResponse","AddFolder":"AddFolderResponse","AddGroup":"AddGroupResponse","AddInterface":"AddInterfaceResponse","AddLicenseKey":"AddLicenseKeyResponse","AddPropertyDefinition":"AddPropertyDefinitionResponse","AddRange":"AddRangeResponse","AddRole":"AddRoleResponse","AddRoleToGroup":"AddRoleToGroupResponse","AddRoleToUser":"AddRoleToUserResponse","AddUser":"AddUserResponse","AddUserToGroup":"AddUserToGroupResponse","ApproveChanges":"ApproveChangesResponse","ApproveDNSRecordChanges":"ApproveDNSRecordChangesResponse","FlushFromCacheOnDNSServers":"FlushFromCacheOnDNSServersResponse","ForceSynchronization":"ForceSynchronizationResponse","GenerateReverseRecords":"GenerateReverseRecordsResponse","GetADForest":"GetADForestResponse","GetADForests":"GetADForestsResponse","GetADPartitions":"GetADPartitionsResponse","GetADSite":"GetADSiteResponse","GetADSiteLink":"GetADSiteLinkResponse","GetADSiteLinks":"GetADSiteLinksResponse","GetADSites":"GetADSitesResponse","GetAddressBlocks":"GetAddressBlocksResponse","GetAddressSpace":"GetAddressSpaceResponse","GetAddressSpaces":"GetAddressSpacesResponse","GetAddressesInUse":"GetAddressesInUseResponse","GetAvailableAddressBlocks":"GetAvailableAddressBlocksResponse","GetChangeRequest":"GetChangeRequestResponse","GetChangeRequests":"GetChangeRequestsResponse","GetCloud":"GetCloudResponse","GetCloudNetwork":"GetCloudNetworkResponse","GetCloudNetworks":"GetCloudNetworksResponse","GetClouds":"GetCloudsResponse","GetCurrentAddressSpace":"GetCurrentAddressSpaceResponse","GetCustomFilters":"GetCustomFiltersResponse","GetDHCPAddressPool":"GetDHCPAddressPoolResponse","GetDHCPAddressPoolPermitList":"GetDHCPAddressPoolPermitListResponse","GetDHCPAddressPools":"GetDHCPAddressPoolsResponse","GetDHCPBackupStatus":"GetDHCPBackupStatusResponse","GetDHCPClassNames":"GetDHCPClassNamesResponse","GetDHCPConcurrentLeases":"GetDHCPConcurrentLeasesResponse","GetDHCPExclusion":"GetDHCPExclusionResponse","GetDHCPExclusions":"GetDHCPExclusionsResponse","GetDHCPFailoverRelationship":"GetDHCPFailoverRelationshipResponse","GetDHCPFailoverRelationships":"GetDHCPFailoverRelationshipsResponse","GetDHCPGroup":"GetDHCPGroupResponse","GetDHCPGroups":"GetDHCPGroupsResponse","GetDHCPLeaseHistory":"GetDHCPLeaseHistoryResponse","GetDHCPLeases":"GetDHCPLeasesResponse","GetDHCPOptionDefinitions":"GetDHCPOptionDefinitionsResponse","GetDHCPOptions":"GetDHCPOptionsResponse","GetDHCPPolicies":"GetDHCPPoliciesResponse","GetDHCPPolicyEnforcement":"GetDHCPPolicyEnforcementResponse","GetDHCPReservation":"GetDHCPReservationResponse","GetDHCPReservations":"GetDHCPReservationsResponse","GetDHCPScope":"GetDHCPScopeResponse","GetDHCPScopes":"GetDHCPScopesResponse","GetDHCPServer":"GetDHCPServerResponse","GetDHCPServers":"GetDHCPServersResponse","GetDHCPSubclasses":"GetDHCPSubclassesResponse","GetDHCPVendorAndUserClasses":"GetDHCPVendorAndUserClassesResponse","GetDNSGenerateDirective":"GetDNSGenerateDirectiveResponse","GetDNSGenerateDirectives":"GetDNSGenerateDirectivesResponse","GetDNSPTRRecords":"GetDNSPTRRecordsResponse","GetDNSRecord":"GetDNSRecordResponse","GetDNSRecordChangeRequest":"GetDNSRecordChangeRequestResponse","GetDNSRecordChangeRequests":"GetDNSRecordChangeRequestsResponse","GetDNSRecords":"GetDNSRecordsResponse","GetDNSRecordsInCaches":"GetDNSRecordsInCachesResponse","GetDNSReverseZone":"GetDNSReverseZoneResponse","GetDNSServer":"GetDNSServerResponse","GetDNSServers":"GetDNSServersResponse","GetDNSView":"GetDNSViewResponse","GetDNSViews":"GetDNSViewsResponse","GetDNSZone":"GetDNSZoneResponse","GetDNSZones":"GetDNSZonesResponse","GetDevice":"GetDeviceResponse","GetDevices":"GetDevicesResponse","GetFolder":"GetFolderResponse","GetFolderForObject":"GetFolderForObjectResponse","GetFolders":"GetFoldersResponse","GetGroup":"GetGroupResponse","GetGroups":"GetGroupsResponse","GetHistory":"GetHistoryResponse","GetIPAMRecord":"GetIPAMRecordResponse","GetIPAMRecords":"GetIPAMRecordsResponse","GetInheritAccess":"GetInheritAccessResponse","GetInheritedDHCPOptions":"GetInheritedDHCPOptionsResponse","GetInterface":"GetInterfaceResponse","GetInterfaces":"GetInterfacesResponse","GetKeyStorageProviders":"GetKeyStorageProvidersResponse","GetNextFreeAddress":"GetNextFreeAddressResponse","GetNextFreeReservationAddress":"GetNextFreeReservationAddressResponse","GetObjectAccess":"GetObjectAccessResponse","GetObjects":"GetObjectsResponse","GetOrphanReverseDNSRecords":"GetOrphanReverseDNSRecordsResponse","GetProperties":"GetPropertiesResponse","GetPropertyDefinitions":"GetPropertyDefinitionsResponse","GetRange":"GetRangeResponse","GetRangeByIPAddress":"GetRangeByIPAddressResponse","GetRangeStatistics":"GetRangeStatisticsResponse","GetRanges":"GetRangesResponse","GetRangesWithStatistics":"GetRangesWithStatisticsResponse","GetRelatedDNSRecords":"GetRelatedDNSRecordsResponse","GetRole":"GetRoleResponse","GetRoles":"GetRolesResponse","GetRoutersForRange":"GetRoutersForRangeResponse","GetServiceStatus":"GetServiceStatusResponse","GetSubranges":"GetSubrangesResponse","GetSystemSettings":"GetSystemSettingsResponse","GetUser":"GetUserResponse","GetUsers":"GetUsersResponse","HasAccess":"HasAccessResponse","JoinRanges":"JoinRangesResponse","Login":"LoginResponse","Logout":"LogoutResponse","MigrateDNSZone":"MigrateDNSZoneResponse","ModifyDHCPFailoverRelationship":"ModifyDHCPFailoverRelationshipResponse","ModifyDHCPOptionDefinition":"ModifyDHCPOptionDefinitionResponse","ModifyDHCPPolicy":"ModifyDHCPPolicyResponse","ModifyPropertyDefinition":"ModifyPropertyDefinitionResponse","MoveIPAMRecord":"MoveIPAMRecordResponse","MoveToAddressSpace":"MoveToAddressSpaceResponse","Ping":"PingResponse","PlaceInADSite":"PlaceInADSiteResponse","PlaceInCloudNetwork":"PlaceInCloudNetworkResponse","PlaceInFolder":"PlaceInFolderResponse","PromoteDNSSlaveZone":"PromoteDNSSlaveZoneResponse","ReconcileDHCPScope":"ReconcileDHCPScopeResponse","RejectChanges":"RejectChangesResponse","RejectDNSRecordChanges":"RejectDNSRecordChangesResponse","ReleaseDHCPLease":"ReleaseDHCPLeaseResponse","ReleaseDHCPLeases":"ReleaseDHCPLeasesResponse","RemoveDHCPFailoverRelationships":"RemoveDHCPFailoverRelationshipsResponse","RemoveDHCPOptionDefinition":"RemoveDHCPOptionDefinitionResponse","RemoveDHCPPolicy":"RemoveDHCPPolicyResponse","RemoveDHCPScopesFromDHCPFailoverRelationship":"RemoveDHCPScopesFromDHCPFailoverRelationshipResponse","RemoveFromADSite":"RemoveFromADSiteResponse","RemoveFromCloudNetwork":"RemoveFromCloudNetworkResponse","RemoveFromFolder":"RemoveFromFolderResponse","RemoveObject":"RemoveObjectResponse","RemoveObjects":"RemoveObjectsResponse","RemovePropertyDefinition":"RemovePropertyDefinitionResponse","RemoveRoleFromGroup":"RemoveRoleFromGroupResponse","RemoveRoleFromUser":"RemoveRoleFromUserResponse","RemoveUserFromGroup":"RemoveUserFromGroupResponse","ReplicateDHCPFailover":"ReplicateDHCPFailoverResponse","ReportAccess":"ReportAccessResponse","ReportDHCPScopeOptions":"ReportDHCPScopeOptionsResponse","ReportHostDiscovery":"ReportHostDiscoveryResponse","ReportIPFromClientIdentifier":"ReportIPFromClientIdentifierResponse","ReportMergeAddressSpaces":"ReportMergeAddressSpacesResponse","ReportMultilabelHosts":"ReportMultilabelHostsResponse","RunCommand":"RunCommandResponse","SendMail":"SendMailResponse","SetCurrentAddressSpace":"SetCurrentAddressSpaceResponse","SetDHCPAddressPoolPermitList":"SetDHCPAddressPoolPermitListResponse","SetDHCPOptions":"SetDHCPOptionsResponse","SetDHCPPolicyEnforcement":"SetDHCPPolicyEnforcementResponse","SetDHCPSubclasses":"SetDHCPSubclassesResponse","SetDNSRecordAging":"SetDNSRecordAgingResponse","SetIPAMRecord":"SetIPAMRecordResponse","SetInheritAccess":"SetInheritAccessResponse","SetObjectAccess":"SetObjectAccessResponse","SetPassword":"SetPasswordResponse","SetProperties":"SetPropertiesResponse","SetRoutersForRange":"SetRoutersForRangeResponse","SetServiceStatus":"SetServiceStatusResponse","SetSystemSettings":"SetSystemSettingsResponse","SplitRange":"SplitRangeResponse"}
@@ -0,0 +1 @@
1
+ {"ArrayOfObjectType":["ObjectType"],"ArrayOfObjRef":["ObjRef"],"Object":{"ref":"ObjRef","objType":"ObjectType","name":"string"},"ArrayOfObject":["Object"],"AccessEntry":{"name":"string","access":"AccessType"},"ArrayOfAccessEntry":["AccessEntry"],"IdentityAccess":{"identityRef":"ObjRef","identityName":"string","accessEntries":"ArrayOfAccessEntry"},"ArrayOfIdentityAccess":["IdentityAccess"],"ObjectAccess":{"ref":"ObjRef","name":"string","identityAccess":"ArrayOfIdentityAccess"},"ArrayOfObjectAccess":["ObjectAccess"],"ArrayOfIPAddress":["IPAddress"],"AddressBlock":{"from":"IPAddress","to":"IPAddress"},"ArrayOfAddressBlock":["AddressBlock"],"ArrayOfString":["string"],"AddressSpace":{"ref":"ObjRef","name":"string","description":"string"},"ArrayOfAddressSpace":["AddressSpace"],"ADForest":{"ref":"ObjRef","name":"string","catalogServer":"string","userName":"string","password":"string","readOnly":"boolean"},"ArrayOfADForest":["ADForest"],"ADSite":{"ref":"ObjRef","name":"string","description":"string","location":"string","adForestRef":"ObjRef"},"ArrayOfADSite":["ADSite"],"ADSiteLink":{"ref":"ObjRef","name":"string","description":"string","cost":"unsignedInt","replInterval":"unsignedInt","siteList":"ArrayOfString","adForestRef":"ObjRef"},"ArrayOfADSiteLink":["ADSiteLink"],"Folder":{"ref":"ObjRef","name":"string","contentType":"ObjectType","parentRef":"ObjRef"},"ArrayOfFolder":["Folder"],"Property":{"name":"string","value":"string"},"ArrayOfProperty":["Property"],"PropertyDefinition":{"name":"string","type":"PropertyType","system":"boolean","mandatory":"boolean","readOnly":"boolean","multiLine":"boolean","defaultValue":"string","listItems":"ArrayOfString","parentProperty":"string"},"ArrayOfPropertyDefinition":["PropertyDefinition"],"DHCPOption":{"option":"string","value":"string"},"ArrayOfDHCPOption":["DHCPOption"],"DHCPOptionClass":{"name":"string","description":"string","identifier":"string"},"ArrayOfDHCPOptionClass":["DHCPOptionClass"],"DHCPOptionDefinition":{"option":"string","name":"string","type":"PropertyType","array":"boolean"},"ArrayOfDHCPOptionDefinition":["DHCPOptionDefinition"],"DHCPAddressPoolPermit":{"permit":"DHCPAddressPoolPermitType","access":"AccessType","className":"string"},"ArrayOfDHCPAddressPoolPermit":["DHCPAddressPoolPermit"],"DNSServer":{"ref":"ObjRef","name":"string","proxy":"string","address":"IPAddress","resolvedAddress":"IPAddress","port":"unsignedInt","type":"DNSServerType","adForest":"string","state":"DNSServerState","customProperties":"ArrayOfProperty","subtype":"DNSServerSubtype","enabled":"boolean"},"ArrayOfDNSServer":["DNSServer"],"DHCPServer":{"ref":"ObjRef","name":"string","proxy":"string","address":"IPAddress","resolvedAddress":"IPAddress","username":"string","password":"string","enablePassword":"string","type":"DHCPServerType","state":"DHCPServerState","security":"DHCPServerSecurity","customProperties":"ArrayOfProperty","enabled":"boolean"},"ArrayOfDHCPServer":["DHCPServer"],"NetworkDiscoveryInfo":{"routerName":"string","gateway":"IPAddress","interfaceID":"unsignedInt","interfaceName":"string","VLANID":"unsignedInt","interfaceDescription":"string","VRFName":"string"},"ArrayOfNetworkDiscoveryInfo":["NetworkDiscoveryInfo"],"Range":{"ref":"ObjRef","name":"string","from":"IPAddress","to":"IPAddress","parentRef":"ObjRef","adSiteRef":"ObjRef","childRanges":"ArrayOfObject","dhcpScopes":"ArrayOfObject","subnet":"boolean","locked":"boolean","autoAssign":"boolean","hasSchedule":"boolean","hasMonitor":"boolean","customProperties":"ArrayOfProperty","inheritAccess":"boolean","isContainer":"boolean","utilizationPercentage":"unsignedInt","hasRogueAddresses":"boolean","cloudNetworkRef":"ObjRef","cloudAllocationPools":"ArrayOfAddressBlock","discoveredProperties":"ArrayOfNetworkDiscoveryInfo","creationTime":"DateTime"},"ArrayOfRange":["Range"],"Discovery":{"interval":"unsignedInt","unit":"TimeUnit"},"DHCPScope":{"ref":"ObjRef","name":"string","rangeRef":"ObjRef","dhcpServerRef":"ObjRef","superscope":"string","description":"string","available":"unsignedInt","enabled":"boolean"},"ArrayOfDHCPScope":["DHCPScope"],"DHCPScopeChange":{"type":"ChangeType","state":"ChangeRequestState","hasAccess":"boolean","changeIndex":"unsignedInt","dhcpScopeBefore":"DHCPScope","dhcpScopeAfter":"DHCPScope"},"ArrayOfDHCPScopeChange":["DHCPScopeChange"],"DHCPPolicyCondition":{"conditionType":"DHCPPolicyConditionType","comparisonType":"DHCPPolicyComparisonType","values":"ArrayOfString"},"ArrayOfDHCPPolicyCondition":["DHCPPolicyCondition"],"DHCPPolicyRange":{"from":"IPAddress","to":"IPAddress"},"ArrayOfDHCPPolicyRange":["DHCPPolicyRange"],"DHCPPolicy":{"name":"string","description":"string","order":"unsignedInt","enabled":"boolean","logicalOperator":"DHCPPolicyLogicalOperator","conditions":"ArrayOfDHCPPolicyCondition","ranges":"ArrayOfDHCPPolicyRange"},"ArrayOfDHCPPolicy":["DHCPPolicy"],"DHCPGroup":{"ref":"ObjRef","name":"string","parentRef":"ObjRef","ownerRef":"ObjRef"},"ArrayOfDHCPGroup":["DHCPGroup"],"DHCPFailoverRelationship":{"name":"string","primaryServer":"string","secondaryServer":"string","failoverMode":"DHCPFailoverMode","failoverServerType":"DHCPFailoverServerType","mclt":"unsignedInt","safePeriod":"unsignedInt","dhcpScopeRefs":"ArrayOfObjRef","percentage":"unsignedInt","sharedSecret":"string","dhcpServerRef":"ObjRef"},"ArrayOfDHCPFailoverRelationship":["DHCPFailoverRelationship"],"DHCPRefAndFailoverRelationshipName":{"dhcpServerRef":"ObjRef","dhcpFailoverRelationshipName":"string"},"ArrayOfDHCPRefAndFailoverRelationshipNames":["DHCPRefAndFailoverRelationshipName"],"DNSView":{"ref":"ObjRef","name":"string","dnsServerRef":"ObjRef"},"ArrayOfDNSView":["DNSView"],"DNSZone":{"ref":"ObjRef","name":"string","dynamic":"boolean","adIntegrated":"boolean","adReplicationType":"ADReplicationType","adPartition":"string","dnsViewRef":"ObjRef","dnsViewRefs":"ArrayOfObjRef","authority":"string","type":"DNSZoneType","dnssecSigned":"boolean","kskIDs":"string","zskIDs":"string","customProperties":"ArrayOfProperty"},"DNSZoneWithOptions":{"ref":"ObjRef","name":"string","dynamic":"boolean","adIntegrated":"boolean","adReplicationType":"ADReplicationType","adPartition":"string","dnsViewRef":"ObjRef","dnsViewRefs":"ArrayOfObjRef","authority":"string","type":"DNSZoneType","customProperties":"ArrayOfProperty","zoneOptions":"DNSZoneOptions"},"ArrayOfDNSZone":["DNSZone"],"SigningKeyDescriptor":{"guid":"string","keyStorageProvider":"string","storeKeysInDirectory":"boolean","isKSK":"boolean","signingAlgorithm":"unsignedInt","keyLength":"unsignedInt","initialRolloverOffset":"unsignedInt","dnsKeySignatureValidityPeriod":"unsignedInt","dsSignatureValidityPeriod":"unsignedInt","standardSignatureValidityPeriod":"unsignedInt","rolloverType":"unsignedInt","rolloverPeriod":"unsignedInt","nextRolloverAction":"unsignedInt"},"ArrayOfSigningKeyDescriptors":["SigningKeyDescriptor"],"SigningKeyDescriptorState":{"guid":"string","lastRolloverDateTime":"string","nextRolloverDateTime":"string","state":"unsignedInt","currentRolloverStatus":"unsignedInt","activeKey":"string","standbyKey":"string","nextKey":"string"},"DNSRecord":{"ref":"ObjRef","name":"string","type":"DNSRecordType","ttl":"string","data":"string","comment":"string","enabled":"boolean","aging":"unsignedInt","dnsZoneRef":"ObjRef"},"ArrayOfDNSRecord":["DNSRecord"],"DNSRecordChange":{"type":"DNSRecordChangeType","state":"ChangeRequestState","hasAccess":"boolean","changeIndex":"unsignedInt","dnsRecordBefore":"DNSRecord","dnsRecordAfter":"DNSRecord"},"ArrayOfDNSRecordChange":["DNSRecordChange"],"DNSRecordChangeRequest":{"ref":"ObjRef","requester":"string","state":"ChangeRequestState","creationDate":"DateTime","requestDate":"DateTime","customProperties":"ArrayOfProperty","saveComment":"string","processedDate":"DateTime","dnsRecordChanges":"ArrayOfDNSRecordChange"},"ArrayOfDNSRecordChangeRequest":["DNSRecordChangeRequest"],"DHCPAddressPool":{"ref":"ObjRef","name":"string","from":"IPAddress","to":"IPAddress","failoverPeer":"string","failoverRelationship":"string","dhcpScopeRef":"ObjRef"},"ArrayOfDHCPAddressPool":["DHCPAddressPool"],"DHCPExclusion":{"ref":"ObjRef","name":"string","from":"IPAddress","to":"IPAddress","dhcpScopeRef":"ObjRef"},"ArrayOfDHCPExclusion":["DHCPExclusion"],"DHCPExclusionChange":{"type":"ChangeType","state":"ChangeRequestState","hasAccess":"boolean","changeIndex":"unsignedInt","dhcpExclusionBefore":"DHCPExclusion","dhcpExclusionAfter":"DHCPExclusion"},"ArrayOfDHCPExclusionChange":["DHCPExclusionChange"],"DHCPAddressPoolChange":{"type":"ChangeType","state":"ChangeRequestState","hasAccess":"boolean","changeIndex":"unsignedInt","dhcpAddressPoolBefore":"DHCPAddressPool","dhcpAddressPoolAfter":"DHCPAddressPool"},"ArrayOfDHCPAddressPoolChange":["DHCPAddressPoolChange"],"DHCPReservation":{"ref":"ObjRef","name":"string","clientIdentifier":"string","addresses":"ArrayOfIPAddress","type":"DHCPReservationType","reservationMethod":"DHCPReservationMethod","description":"string","ddnsHostName":"string","filename":"string","serverName":"string","nextServer":"string","ownerRef":"ObjRef"},"ArrayOfDHCPReservation":["DHCPReservation"],"DHCPLease":{"name":"string","type":"string","mac":"string","address":"IPAddress","lease":"string","state":"string","dhcpScopeRef":"ObjRef"},"ArrayOfDHCPLease":["DHCPLease"],"DNSHost":{"dnsRecord":"DNSRecord","ptrStatus":"PTRStatus","relatedRecords":"ArrayOfDNSRecord"},"ArrayOfDNSHost":["DNSHost"],"IPAMRecord":{"addrRef":"ObjRef","address":"string","claimed":"boolean","dnsHosts":"ArrayOfDNSHost","dhcpReservations":"ArrayOfDHCPReservation","dhcpLeases":"ArrayOfDHCPLease","discoveryType":"IPAddressDiscoveryType","lastSeenDate":"string","lastDiscoveryDate":"string","lastKnownClientIdentifier":"string","device":"string","interface":"string","ptrStatus":"PTRStatus","extraneousPTR":"boolean","customProperties":"ArrayOfProperty","state":"IPAMRecordState","usage":"unsignedInt"},"ArrayOfIPAMRecord":["IPAMRecord"],"Device":{"ref":"ObjRef","name":"string","customProperties":"ArrayOfProperty","interfaces":"ArrayOfInterface"},"ArrayOfDevice":["Device"],"Interface":{"ref":"ObjRef","name":"string","clientIdentifier":"string","addresses":"ArrayOfIPAddress","customProperties":"ArrayOfProperty","deviceRef":"ObjRef"},"ArrayOfInterface":["Interface"],"Role":{"ref":"ObjRef","name":"string","description":"string","users":"ArrayOfObject","groups":"ArrayOfObject"},"ArrayOfRole":["Role"],"Group":{"ref":"ObjRef","name":"string","description":"string","adIntegrated":"boolean","groupMembers":"ArrayOfObject","roles":"ArrayOfObject"},"ArrayOfGroup":["Group"],"User":{"ref":"ObjRef","name":"string","password":"string","fullName":"string","description":"string","email":"string","authenticationType":"AuthenticationType","groups":"ArrayOfObject","roles":"ArrayOfObject"},"ArrayOfUser":["User"],"SystemSetting":{"name":"string","value":"string"},"ArrayOfSystemSetting":["SystemSetting"],"ArrayOfError":["string"],"ObjectError":{"ref":"ObjRef","error":"string"},"ArrayOfObjectError":["ObjectError"],"AddressUtilizationHistory":{"timestamp":"unsignedInt","measurecount":"unsignedInt","mean":"unsignedInt","max":"unsignedInt","min":"unsignedInt"},"AddressUtilizationHistorySeries":{"isdynamic":"unsignedInt","size":"unsignedInt","availableAddresses":"unsignedInt","addressUtilizationHistory":"AddressUtilizationHistory"},"AddressUtilizationRecent":{"timestamp":"unsignedInt","value":"unsignedInt"},"AddressUtilizationRecentSeries":{"isdynamic":"unsignedInt","size":"unsignedInt","availableAddresses":"unsignedInt","addressUtilizationRecent":"AddressUtilizationRecent"},"ServerUpdateInfo":{"name":"string","ref":"ObjRef","type":"string","version":"string","revision":"unsignedInt","needsApplianceUpdate":"boolean","status":"string","proxyName":"string"},"ArrayOfServerUpdateInfo":["ServerUpdateInfo"],"UserConfiguration":{"key":"string","value":"string"},"Login":{"server":"string","loginName":"string","password":"string","replaceControlCharacters":"boolean"},"LoginResponse":{"session":"string"},"Logout":{"session":"string"},"LogoutResponse":{},"AddAddressSpace":{"session":"string","addressSpace":"AddressSpace","saveComment":"string"},"AddAddressSpaceResponse":{"ref":"ObjRef"},"AddADForest":{"session":"string","adForest":"ADForest","saveComment":"string"},"AddADForestResponse":{"ref":"ObjRef"},"AddADSite":{"session":"string","adSite":"ADSite","saveComment":"string"},"AddADSiteResponse":{"ref":"ObjRef"},"AddADSiteLink":{"session":"string","adSiteLink":"ADSiteLink","saveComment":"string"},"AddADSiteLinkResponse":{"ref":"ObjRef"},"DHCPReservationChange":{"type":"ChangeType","state":"ChangeRequestState","hasAccess":"boolean","changeIndex":"unsignedInt","dhcpReservationBefore":"DHCPReservation","dhcpReservationAfter":"DHCPReservation"},"ArrayOfDHCPReservationChange":["DHCPReservationChange"],"DHCPOptionChange":{"state":"ChangeRequestState","hasAccess":"boolean","changeIndex":"unsignedInt","owner":"Object","dhcpOption":"DHCPOption"},"ArrayOfDHCPOptionChange":["DHCPOptionChange"],"ChangeRequest":{"ref":"ObjRef","requester":"string","state":"ChangeRequestState","creationDate":"DateTime","objType":"ObjectType","requestDate":"DateTime","customProperties":"ArrayOfProperty","saveComment":"string","processedDate":"DateTime","dnsRecordChanges":"ArrayOfDNSRecordChange","dhcpScopeChanges":"ArrayOfDHCPScopeChange","dhcpReservationChanges":"ArrayOfDHCPReservationChange","dhcpExclusionChanges":"ArrayOfDHCPExclusionChange","dhcpAddressPoolChanges":"ArrayOfDHCPAddressPoolChange","dhcpOptionChanges":"ArrayOfDHCPOptionChange"},"ArrayOfChangeRequest":["ChangeRequest"],"AddChangeRequest":{"session":"string","dnsRecordChanges":"ArrayOfDNSRecordChange","dhcpScopeChanges":"ArrayOfDHCPScopeChange","dhcpReservationChanges":"ArrayOfDHCPReservationChange","dhcpExclusionChanges":"ArrayOfDHCPExclusionChange","dhcpAddressPoolChanges":"ArrayOfDHCPAddressPoolChange","dhcpOptionChanges":"ArrayOfDHCPOptionChange","requestDate":"DateTime","customProperties":"ArrayOfProperty","saveComment":"string"},"AddChangeRequestResponse":{"ref":"ObjRef"},"Cloud":{"ref":"ObjRef","name":"string","type":"CloudType","serverNode":"string","username":"string","password":"string","httpsRequired":"boolean","customProperties":"ArrayOfProperty"},"ArrayOfCloud":["Cloud"],"AddCloud":{"session":"string","cloud":"Cloud","saveComment":"string"},"AddCloudResponse":{"ref":"ObjRef"},"CloudNetwork":{"ref":"ObjRef","name":"string","cloudRef":"ObjRef","customProperties":"ArrayOfProperty"},"ArrayOfCloudNetwork":["CloudNetwork"],"AddCloudNetwork":{"session":"string","cloudNetwork":"CloudNetwork","saveComment":"string"},"AddCloudNetworkResponse":{"ref":"ObjRef"},"AddDevice":{"session":"string","device":"Device","saveComment":"string"},"AddDeviceResponse":{"ref":"ObjRef"},"AddDHCPAddressPool":{"session":"string","dhcpAddressPool":"DHCPAddressPool","saveComment":"string"},"AddDHCPAddressPoolResponse":{"ref":"ObjRef"},"AddDHCPExclusion":{"session":"string","dhcpExclusion":"DHCPExclusion","saveComment":"string"},"AddDHCPExclusionResponse":{"ref":"ObjRef"},"AddDHCPFailoverRelationship":{"session":"string","dhcpFailoverRelationship":"DHCPFailoverRelationship","saveComment":"string"},"AddDHCPFailoverRelationshipResponse":{},"AddDHCPGroup":{"session":"string","dhcpGroup":"DHCPGroup","saveComment":"string"},"AddDHCPGroupResponse":{"ref":"ObjRef"},"AddDHCPOptionDefinition":{"session":"string","dhcpServerRef":"ObjRef","dhcpOptionDefinition":"DHCPOptionDefinition","saveComment":"string"},"AddDHCPOptionDefinitionResponse":{},"AddDHCPPolicy":{"session":"string","ownerRef":"ObjRef","objType":"ObjectType","dhcpPolicy":"DHCPPolicy","saveComment":"string"},"AddDHCPPolicyResponse":{},"AddDHCPReservation":{"session":"string","dhcpReservation":"DHCPReservation","saveComment":"string"},"AddDHCPReservationResponse":{"ref":"ObjRef"},"AddDHCPScope":{"session":"string","dhcpScope":"DHCPScope","saveComment":"string"},"AddDHCPScopeResponse":{"ref":"ObjRef"},"AddDHCPScopesToDHCPFailoverRelationship":{"session":"string","dhcpServerRef":"ObjRef","dhcpFailoverRelationshipName":"string","dhcpScopeRefs":"ArrayOfObjRef","saveComment":"string"},"AddDHCPScopesToDHCPFailoverRelationshipResponse":{},"AddDHCPServer":{"session":"string","dhcpServer":"DHCPServer","saveComment":"string"},"AddDHCPServerResponse":{"ref":"ObjRef","warning":"string"},"DNSGenerateDirective":{"ref":"ObjRef","rangeStart":"unsignedInt","rangeEnd":"unsignedInt","rangeStep":"unsignedInt","lhs":"string","ttl":"string","class":"string","type":"DNSRecordType","rhs":"string"},"ArrayOfDNSGenerateDirective":["DNSGenerateDirective"],"AddDNSGenerateDirective":{"session":"string","dnsZoneRef":"ObjRef","dnsGenerateDirective":"DNSGenerateDirective","saveComment":"string"},"AddDNSGenerateDirectiveResponse":{"ref":"ObjRef"},"AddDNSRecord":{"session":"string","dnsRecord":"DNSRecord","saveComment":"string","autoAssignRangeRef":"ObjRef","forceOverrideOfNamingConflictCheck":"boolean"},"AddDNSRecordResponse":{"ref":"ObjRef"},"AddDNSRecords":{"session":"string","dnsRecords":"ArrayOfDNSRecord","saveComment":"string","autoAssignRangeRef":"ObjRef","forceOverrideOfNamingConflictCheck":"boolean"},"AddDNSRecordsResponse":{"objRefs":"ArrayOfObjRef","errors":"ArrayOfError"},"AddDNSRecordChangeRequest":{"session":"string","dnsRecordChanges":"ArrayOfDNSRecordChange","requestDate":"DateTime","customProperties":"ArrayOfProperty","saveComment":"string"},"AddDNSRecordChangeRequestResponse":{"ref":"ObjRef"},"AddDNSServer":{"session":"string","dnsServer":"DNSServer","saveComment":"string"},"AddDNSServerResponse":{"ref":"ObjRef"},"AddDNSZone":{"session":"string","dnsZone":"DNSZone","masters":"ArrayOfIPAddress","saveComment":"string"},"AddDNSZoneResponse":{"ref":"ObjRef"},"AddFolder":{"session":"string","folder":"Folder","saveComment":"string"},"AddFolderResponse":{"ref":"ObjRef"},"AddGroup":{"session":"string","group":"Group","saveComment":"string"},"AddGroupResponse":{"ref":"ObjRef"},"AddInterface":{"session":"string","interface":"Interface","saveComment":"string"},"AddInterfaceResponse":{"ref":"ObjRef"},"AddLicenseKey":{"session":"string","licenseKey":"string"},"AddLicenseKeyResponse":{},"AddPropertyDefinition":{"session":"string","objType":"ObjectType","propertyDefinition":"PropertyDefinition","saveComment":"string"},"AddPropertyDefinitionResponse":{},"AddRange":{"session":"string","range":"Range","discovery":"Discovery","saveComment":"string"},"AddRangeResponse":{"ref":"ObjRef"},"AddRole":{"session":"string","role":"Role","saveComment":"string"},"AddRoleResponse":{"ref":"ObjRef"},"AddRoleToGroup":{"session":"string","roleRef":"ObjRef","groupRef":"ObjRef","saveComment":"string"},"AddRoleToGroupResponse":{},"AddRoleToUser":{"session":"string","roleRef":"ObjRef","userRef":"ObjRef","saveComment":"string"},"AddRoleToUserResponse":{},"SNMPProfile":{"name":"string","version":"SNMPVersion","port":"unsignedInt","identifier":"string","authenticationProtocol":"SNMPAuthenticationProtocol","authenticationPassword":"string","encryptionProtocol":"SNMPEncryptionProtocol","encryptionPassword":"string","collectAddresses":"boolean","collectNetworks":"boolean","routerAddresses":"ArrayOfIPAddress"},"ArrayOfSNMPProfile":["SNMPProfile"],"AddUser":{"session":"string","user":"User","saveComment":"string"},"AddUserResponse":{"ref":"ObjRef"},"AddUserToGroup":{"session":"string","userRef":"ObjRef","groupRef":"ObjRef","saveComment":"string"},"AddUserToGroupResponse":{},"ApproveChanges":{"session":"string","changeRequestRef":"ObjRef","dnsRecordChanges":"ArrayOfDNSRecordChange","dhcpScopeChanges":"ArrayOfDHCPScopeChange","dhcpReservationChanges":"ArrayOfDHCPReservationChange","dhcpExclusionChanges":"ArrayOfDHCPExclusionChange","dhcpAddressPoolChanges":"ArrayOfDHCPAddressPoolChange","dhcpOptionChanges":"ArrayOfDHCPOptionChange","saveComment":"string"},"ApproveChangesResponse":{},"ApproveDNSRecordChanges":{"session":"string","dnsRecordChangeRequestRef":"ObjRef","dnsRecordChanges":"ArrayOfDNSRecordChange","saveComment":"string"},"ApproveDNSRecordChangesResponse":{},"FlushFromCacheOnDNSServers":{"session":"string","dnsServerRefs":"ArrayOfObjRef","entry":"string","flushRecursively":"boolean","saveComment":"string"},"FlushFromCacheOnDNSServersResponse":{},"ForceSynchronization":{"session":"string","ref":"ObjRef","objType":"ObjectType"},"ForceSynchronizationResponse":{"syncTime":"unsignedInt"},"GetAddressBlocks":{"session":"string","rangeRef":"ObjRef"},"GetAddressBlocksResponse":{"addressBlocks":"ArrayOfAddressBlock"},"ArrayOfRangeTitle":["string"],"Address":{"id":"unsignedInt","address":"string","claimed":"boolean","host":"string","lastseen":"unsignedInt","lastdiscovery":"unsignedInt","customProperties":"ArrayOfProperty"},"ArrayOfAddress":["Address"],"GetAddressesInUse":{"session":"string","lastseen":"Discovery","ranges":"ArrayOfRangeTitle"},"GetAddressesInUseResponse":{"addresses":"ArrayOfAddress"},"GetAddressSpace":{"session":"string","addressSpaceRef":"ObjRef"},"GetAddressSpaceResponse":{"addressSpace":"AddressSpace"},"GetAddressSpaces":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetAddressSpacesResponse":{"addressSpaces":"ArrayOfAddressSpace","totalResults":"unsignedInt"},"GetADForest":{"session":"string","adForestRef":"ObjRef"},"GetADForestResponse":{"adForest":"ADForest"},"GetADForests":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetADForestsResponse":{"adForests":"ArrayOfADForest","totalResults":"unsignedInt"},"GetADPartitions":{"session":"string","dnsServerRef":"ObjRef"},"GetADPartitionsResponse":{"adPartitions":"ArrayOfString"},"GetADSite":{"session":"string","adSiteRef":"ObjRef"},"GetADSiteResponse":{"adSite":"ADSite"},"GetADSiteLink":{"session":"string","adSiteLinkRef":"ObjRef"},"GetADSiteLinkResponse":{"adSiteLink":"ADSiteLink"},"GetADSiteLinks":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetADSiteLinksResponse":{"adSiteLinks":"ArrayOfADSiteLink","totalResults":"unsignedInt"},"GetADSites":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetADSitesResponse":{"adSites":"ArrayOfADSite","totalResults":"unsignedInt"},"GetAvailableAddressBlocks":{"session":"string","rangeRef":"ObjRef","limit":"unsignedInt","mask":"unsignedInt","size":"unsignedInt","ignoreSubnetFlag":"boolean","startAddress":"IPAddress"},"GetAvailableAddressBlocksResponse":{"addressBlocks":"ArrayOfAddressBlock"},"GetCurrentAddressSpace":{"session":"string"},"GetCurrentAddressSpaceResponse":{"addressSpaceRef":"ObjRef"},"GetChangeRequest":{"session":"string","changeRequestRef":"ObjRef"},"GetChangeRequestResponse":{"changeRequest":"ChangeRequest"},"GetChangeRequests":{"session":"string","includeChanges":"boolean","includeProcessedRequests":"boolean","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetChangeRequestsResponse":{"changeRequests":"ArrayOfChangeRequest","totalResults":"unsignedInt"},"GetCloud":{"session":"string","cloudRef":"ObjRef"},"GetCloudResponse":{"cloud":"Cloud"},"GetClouds":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetCloudsResponse":{"clouds":"ArrayOfCloud","totalResults":"unsignedInt"},"GetCloudNetwork":{"session":"string","cloudNetworkRef":"ObjRef"},"GetCloudNetworkResponse":{"cloudNetwork":"CloudNetwork"},"GetCloudNetworks":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetCloudNetworksResponse":{"cloudNetworks":"ArrayOfCloudNetwork","totalResults":"unsignedInt"},"GetDevice":{"session":"string","deviceRef":"ObjRef"},"GetDeviceResponse":{"device":"Device"},"GetDevices":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDevicesResponse":{"devices":"ArrayOfDevice","totalResults":"unsignedInt"},"GetDHCPAddressPool":{"session":"string","dhcpAddressPoolRef":"ObjRef"},"GetDHCPAddressPoolResponse":{"dhcpAddressPool":"DHCPAddressPool"},"GetDHCPAddressPoolPermitList":{"session":"string","dhcpAddressPoolRef":"ObjRef"},"GetDHCPAddressPoolPermitListResponse":{"dhcpAddressPoolPermits":"ArrayOfDHCPAddressPoolPermit"},"GetDHCPAddressPools":{"session":"string","dhcpScopeRef":"ObjRef","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDHCPAddressPoolsResponse":{"dhcpAddressPools":"ArrayOfDHCPAddressPool","totalResults":"unsignedInt"},"GetDHCPBackupStatus":{"session":"string","dhcpServerRef":"ObjRef"},"GetDHCPBackupStatusResponse":{"dhcpBackupExists":"boolean","dhcpBackupTimestamp":"DateTime"},"GetDHCPClassNames":{"session":"string","dhcpServerRef":"ObjRef"},"GetDHCPClassNamesResponse":{"dhcpClassNames":"ArrayOfString"},"DHCPConcurrentLease":{"dhcpServerRef":"ObjRef","dhcpServerName":"string","dhcpScopeRef":"ObjRef","dhcpScopeName":"string","name":"string","type":"string","mac":"string","address":"IPAddress","lease":"string","state":"string"},"ArrayOfDHCPConcurrentLease":["DHCPConcurrentLease"],"GetDHCPConcurrentLeases":{"session":"string"},"GetDHCPConcurrentLeasesResponse":{"dhcpConcurrentLeases":"ArrayOfDHCPConcurrentLease"},"GetDHCPExclusion":{"session":"string","dhcpExclusionRef":"ObjRef"},"GetDHCPExclusionResponse":{"dhcpExclusion":"DHCPExclusion"},"GetDHCPExclusions":{"session":"string","dhcpScopeRef":"ObjRef","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDHCPExclusionsResponse":{"dhcpExclusions":"ArrayOfDHCPExclusion","totalResults":"unsignedInt"},"GetDHCPFailoverRelationship":{"session":"string","dhcpServerRef":"ObjRef","dhcpFailoverRelationshipName":"string"},"GetDHCPFailoverRelationshipResponse":{"dhcpFailoverRelationship":"DHCPFailoverRelationship"},"GetDHCPFailoverRelationships":{"session":"string","dhcpServerRef":"ObjRef"},"GetDHCPFailoverRelationshipsResponse":{"dhcpFailoverRelationships":"ArrayOfDHCPFailoverRelationship"},"GetDHCPGroup":{"session":"string","dhcpGroupRef":"ObjRef"},"GetDHCPGroupResponse":{"dhcpGroup":"DHCPGroup"},"GetDHCPGroups":{"session":"string","ownerRef":"ObjRef","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDHCPGroupsResponse":{"dhcpGroups":"ArrayOfDHCPGroup","totalResults":"unsignedInt"},"DHCPLeaseHistoryEntry":{"serverAddress":"string","eventCode":"string","timestampfirst":"DateTime","timestamplast":"DateTime","ipAddress":"string","clientidentifier":"string","hostname":"string","numberOfOccurrances":"string"},"ArrayOfDHCPLeaseHistoryEntry":["DHCPLeaseHistoryEntry"],"GetDHCPLeaseHistory":{"session":"string","field":"DHCPLeaseField","filter":"string","exactMatch":"boolean","collapseRenew":"boolean","startDate":"DateTime","endDate":"DateTime","limit":"unsignedInt"},"GetDHCPLeaseHistoryResponse":{"dhcpLeaseHistoryEntries":"ArrayOfDHCPLeaseHistoryEntry"},"GetDHCPLeases":{"session":"string","dhcpScopeRef":"ObjRef","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDHCPLeasesResponse":{"dhcpLeases":"ArrayOfDHCPLease","totalResults":"unsignedInt"},"GetDHCPOptionDefinitions":{"session":"string","ref":"ObjRef","objType":"ObjectType"},"GetDHCPOptionDefinitionsResponse":{"dhcpOptionDefinitions":"ArrayOfDHCPOptionDefinition"},"GetDHCPOptions":{"session":"string","ref":"ObjRef","objType":"ObjectType"},"GetDHCPOptionsResponse":{"ticket":"unsignedInt","dhcpOptions":"ArrayOfDHCPOption"},"GetDHCPPolicies":{"session":"string","ownerRef":"ObjRef","objType":"ObjectType"},"GetDHCPPoliciesResponse":{"dhcpPolicies":"ArrayOfDHCPPolicy"},"GetDHCPPolicyEnforcement":{"session":"string","ownerRef":"ObjRef","objType":"ObjectType"},"GetDHCPPolicyEnforcementResponse":{"enforcing":"boolean"},"GetDHCPReservation":{"session":"string","dhcpReservationRef":"ObjRef"},"GetDHCPReservationResponse":{"dhcpReservation":"DHCPReservation"},"GetDHCPReservations":{"session":"string","ownerRef":"ObjRef","objType":"ObjectType","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDHCPReservationsResponse":{"dhcpReservations":"ArrayOfDHCPReservation","totalResults":"unsignedInt"},"GetDHCPScope":{"session":"string","dhcpScopeRef":"ObjRef"},"GetDHCPScopeResponse":{"dhcpScope":"DHCPScope"},"GetDHCPScopes":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDHCPScopesResponse":{"dhcpScopes":"ArrayOfDHCPScope","totalResults":"unsignedInt"},"GetDHCPServer":{"session":"string","dhcpServerRef":"ObjRef"},"GetDHCPServerResponse":{"dhcpServer":"DHCPServer"},"GetDHCPServers":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDHCPServersResponse":{"dhcpServers":"ArrayOfDHCPServer","totalResults":"unsignedInt"},"GetDHCPSubclasses":{"session":"string","dhcpServerRef":"ObjRef","dhcpClassName":"string"},"GetDHCPSubclassesResponse":{"dhcpSubclasses":"ArrayOfString"},"GetDHCPVendorAndUserClasses":{"session":"string","dhcpServerRef":"ObjRef"},"GetDHCPVendorAndUserClassesResponse":{"dhcpVendorClasses":"ArrayOfDHCPOptionClass","dhcpUserClasses":"ArrayOfDHCPOptionClass"},"GetDNSGenerateDirective":{"session":"string","dnsGenerateDirectiveRef":"ObjRef"},"GetDNSGenerateDirectiveResponse":{"dnsGenerateDirective":"DNSGenerateDirective"},"GetDNSGenerateDirectives":{"session":"string","dnsZoneRef":"ObjRef"},"GetDNSGenerateDirectivesResponse":{"dnsGenerateDirectives":"ArrayOfDNSGenerateDirective","totalResults":"unsignedInt"},"GetDNSPTRRecords":{"session":"string","address":"IPAddress","dnsZoneRef":"ObjRef"},"GetDNSPTRRecordsResponse":{"reverseRecords":"ArrayOfDNSRecord","totalResults":"unsignedInt"},"GetDNSRecord":{"session":"string","dnsRecordRef":"ObjRef"},"GetDNSRecordResponse":{"dnsRecord":"DNSRecord"},"GetDNSRecords":{"session":"string","dnsZoneRef":"ObjRef","filter":"string","hideNonAccessibleHosts":"boolean","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDNSRecordsResponse":{"dnsRecords":"ArrayOfDNSRecord","totalResults":"unsignedInt"},"CachedDNSEntry":{"name":"string","data":"string"},"ArrayOfCachedDNSEntry":["CachedDNSEntry"],"DNSCache":{"dnsServerRef":"ObjRef","cachedDNSEntries":"ArrayOfCachedDNSEntry","dnsViewRef":"ObjRef"},"ArrayOfDNSCache":["DNSCache"],"GetDNSRecordsInCaches":{"session":"string","dnsServerRefs":"ArrayOfObjRef","dnsSearchPattern":"string","limit":"unsignedInt"},"GetDNSRecordsInCachesResponse":{"dnsCaches":"ArrayOfDNSCache","errors":"ArrayOfObjectError"},"GetDNSRecordChangeRequest":{"session":"string","dnsRecordChangeRequestRef":"ObjRef"},"GetDNSRecordChangeRequestResponse":{"dnsRecordChangeRequest":"DNSRecordChangeRequest"},"GetDNSRecordChangeRequests":{"session":"string","includeDNSRecordChanges":"boolean","includeProcessedRequests":"boolean","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDNSRecordChangeRequestsResponse":{"dnsRecordChangeRequests":"ArrayOfDNSRecordChangeRequest","totalResults":"unsignedInt"},"GetDNSReverseZone":{"session":"string","address":"IPAddress","dnsZoneRef":"ObjRef"},"GetDNSReverseZoneResponse":{"dnsZone":"DNSZone"},"GetDNSServer":{"session":"string","dnsServerRef":"ObjRef"},"GetDNSServerResponse":{"dnsServer":"DNSServer"},"GetDNSServers":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDNSServersResponse":{"dnsServers":"ArrayOfDNSServer","totalResults":"unsignedInt"},"DNSRootServer":{"name":"string","address":"IPAddress"},"ArrayOfDNSRootServer":["DNSRootServer"],"BINDServerListenOn":{"port":"unsignedInt","onlyListenOn":"ArrayOfIPAddress"},"BINDServerLoggingChannel":{"name":"string","type":"BINDServerLoggingChannelType","facility":"BINDServerLoggingChannelFacility","severity":"string","file":"string","size":"unsignedInt","versions":"unsignedInt","printCategory":"boolean","printSeverity":"boolean","printTime":"boolean"},"ArrayOfBINDServerLoggingChannel":["BINDServerLoggingChannel"],"BINDServerLoggingCategories":{"default":"ArrayOfString","config":"ArrayOfString","queries":"ArrayOfString","update":"ArrayOfString","xfer":"ArrayOfString","notify":"ArrayOfString","security":"ArrayOfString","lame":"ArrayOfString","database":"ArrayOfString","general":"ArrayOfString","resolver":"ArrayOfString","client":"ArrayOfString","network":"ArrayOfString","unmatched":"ArrayOfString"},"BINDServerLogging":{"channels":"ArrayOfBINDServerLoggingChannel","categories":"BINDServerLoggingCategories"},"BINDSpecificDNSServerOptions":{"allowTransfer":"ArrayOfString","allowRecursion":"ArrayOfString","listenOn":"BINDServerListenOn","listenOnV6":"BINDServerListenOn","logging":"BINDServerLogging"},"MSDNSServerLogLevel":{"outgoing":"boolean","incoming":"boolean","tcp":"boolean","udp":"boolean","queries":"boolean","updates":"boolean","notifications":"boolean","request":"boolean","response":"boolean","details":"boolean"},"MSDNSServerLogging":{"file":"string","maxSize":"unsignedInt","filter":"ArrayOfIPAddress","logLevel":"MSDNSServerLogLevel"},"MSSpecificDNSServerOptions":{"forwarderTimeout":"unsignedInt","listenOn":"ArrayOfIPAddress","disableRecursion":"boolean","bindSecondaries":"boolean","failIfBadData":"boolean","roundRobin":"boolean","netmaskOrdering":"boolean","secureCache":"boolean","nameCheck":"boolean","bootMethod":"string","scavenge":"unsignedInt","rootServers":"ArrayOfDNSRootServer","logging":"MSDNSServerLogging"},"DNSServerOptions":{"serverType":"DNSServerType","timestamp":"unsignedInt","useForwarders":"DNSForwarders","forwarders":"ArrayOfIPAddress","bindSpecific":"BINDSpecificDNSServerOptions","msSpecific":"MSSpecificDNSServerOptions","additional":"ArrayOfProperty"},"GetDNSView":{"session":"string","dnsViewRef":"ObjRef"},"GetDNSViewResponse":{"dnsView":"DNSView"},"GetDNSViews":{"session":"string","dnsServerRef":"ObjRef","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDNSViewsResponse":{"dnsViews":"ArrayOfDNSView","totalResults":"unsignedInt"},"GetDNSZone":{"session":"string","dnsZoneRef":"ObjRef"},"GetDNSZoneResponse":{"dnsZone":"DNSZone"},"NotifyOption":{"authoritative":"boolean","alsoNotify":"ArrayOfIPAddress"},"AllowTransferOption":{"allowTo":"AllowTransferTo","allowToServers":"ArrayOfIPAddress"},"ScavengeOption":{"noRefresh":"unsignedInt","refresh":"unsignedInt"},"ADReplicationOption":{"type":"ADReplicationType","partition":"string"},"MSSpecificDNSZoneOptions":{"notify":"NotifyOption","allowTransferData":"AllowTransferOption","allowUpdate":"AllowUpdateFrom","scavenge":"ScavengeOption","replication":"ADReplicationOption"},"BINDSpecificDNSZoneOptions":{"allowQuery":"ArrayOfString","allowTransfer":"ArrayOfString","zonefile":"string","forwarders":"ArrayOfIPAddress"},"DNSSECZoneOptions":{"SignWithNSEC3":"unsignedInt","NSEC3OptOut":"unsignedInt","NSEC3RandomSaltLength":"unsignedInt","NSEC3Iterations":"unsignedInt","DSRecordSetTTL":"unsignedInt","DNSKEYRecordSetTTL":"unsignedInt","DsRecordAlgorithms":"DsRecordAlgorithms","MaintainTrustAnchor":"MaintainTrustAnchor","Keymaster":"string","ParentHasSecureDelegation":"unsignedInt","RFC5011KeyRollovers":"unsignedInt","SecureDelegationPollingPeriod":"unsignedInt","SignatureInceptionOffset":"unsignedInt","NSEC3UserSalt":"string","NSEC3CurrentSalt":"string","NSEC3HashAlgorithm":"NSEC3HashAlgorithm"},"DNSZoneOptions":{"zonetype":"DNSZoneType","timestamp":"unsignedInt","masters":"ArrayOfIPAddress","msSpecific":"MSSpecificDNSZoneOptions","bindSpecific":"BINDSpecificDNSZoneOptions","dnssec":"DNSSECZoneOptions","additional":"ArrayOfProperty"},"GetDNSZones":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetDNSZonesResponse":{"dnsZones":"ArrayOfDNSZone","totalResults":"unsignedInt"},"GetFolder":{"session":"string","folderRef":"ObjRef"},"GetFolderResponse":{"folder":"Folder"},"GetFolderForObject":{"session":"string","ref":"ObjRef","objType":"ObjectType"},"GetFolderForObjectResponse":{"folder":"ObjRef"},"GetFolders":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetFoldersResponse":{"folders":"ArrayOfFolder","totalResults":"unsignedInt"},"GetCustomFilters":{"session":"string"},"GetCustomFiltersResponse":{"filters":"ArrayOfCustomFilter","totalResults":"unsignedInt"},"CustomFilter":{"id":"unsignedInt","type":"unsignedInt","name":"string","filter":"string","folderRef":"string","readOnly":"boolean"},"ArrayOfCustomFilter":["CustomFilter"],"GetGroup":{"session":"string","groupRef":"ObjRef"},"GetGroupResponse":{"group":"Group"},"GetGroups":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetGroupsResponse":{"groups":"ArrayOfGroup","totalResults":"unsignedInt"},"Event":{"eventType":"EventType","objType":"ObjectType","objRef":"ObjRef","objName":"string","timestamp":"DateTime","username":"string","saveComment":"string","eventText":"string"},"ArrayOfEvent":["Event"],"GetHistory":{"session":"string","eventType":"EventType","objType":"ObjectType","objRef":"ObjRef","username":"string","startDate":"DateTime","endDate":"DateTime","filter":"string","limit":"unsignedInt"},"GetHistoryResponse":{"events":"ArrayOfEvent"},"GetInterface":{"session":"string","interfaceRef":"ObjRef"},"GetInterfaceResponse":{"interface":"Interface"},"GetInterfaces":{"session":"string","deviceRef":"ObjRef","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetInterfacesResponse":{"interfaces":"ArrayOfInterface","totalResults":"unsignedInt"},"GetInheritAccess":{"session":"string","rangeRef":"ObjRef"},"GetInheritAccessResponse":{"inheritAccess":"boolean"},"SourcedDHCPOptions":{"source":"Object","dhcpOptions":"ArrayOfDHCPOption"},"ArrayOfSourcedDHCPOptions":["SourcedDHCPOptions"],"GetInheritedDHCPOptions":{"session":"string","ref":"ObjRef","objType":"ObjectType"},"GetInheritedDHCPOptionsResponse":{"inheritedDHCPOptions":"ArrayOfSourcedDHCPOptions"},"GetIPAMRecord":{"session":"string","addrRef":"ObjRef","requireRangeRef":"ObjRef","excludeDHCP":"boolean"},"GetIPAMRecordResponse":{"ipamRecord":"IPAMRecord"},"GetIPAMRecords":{"session":"string","rangeRef":"ObjRef","addrRefs":"ArrayOfObjRef","includeRelatedDNSRecords":"boolean","filter":"string","offset":"unsignedInt","limit":"unsignedInt","excludeDHCP":"boolean"},"GetIPAMRecordsResponse":{"ipamRecords":"ArrayOfIPAMRecord","totalResults":"unsignedInt"},"GetKeyStorageProviders":{"session":"string","dnsZoneRef":"ObjRef"},"GetKeyStorageProvidersResponse":{"keyStorageProviders":"ArrayOfString"},"GetNextFreeAddress":{"session":"string","rangeRef":"ObjRef","startAddress":"IPAddress","ping":"boolean","excludeDHCP":"boolean","temporaryClaimTime":"unsignedInt"},"GetNextFreeAddressResponse":{"address":"IPAddress"},"GetNextFreeReservationAddress":{"session":"string","objRef":"ObjRef","startAddress":"IPAddress","considerExclusionRange":"boolean"},"GetNextFreeReservationAddressResponse":{"address":"IPAddress"},"GetObjectAccess":{"session":"string","ref":"ObjRef","objType":"ObjectType","identityRef":"ObjRef","excludeBuiltinIdentities":"boolean"},"GetObjectAccessResponse":{"objectAccess":"ObjectAccess"},"GetObjects":{"session":"string","objRefs":"ArrayOfObjRef","objType":"ObjectType"},"GetObjectsResponse":{"objects":"ArrayOfObject"},"GetOrphanReverseDNSRecords":{"session":"string","limit":"unsignedInt"},"GetOrphanReverseDNSRecordsResponse":{"dnsRecords":"ArrayOfDNSRecord","totalResults":"unsignedInt"},"GetProperties":{"session":"string","ref":"ObjRef","objType":"ObjectType","onlyCustom":"boolean"},"GetPropertiesResponse":{"properties":"ArrayOfProperty"},"GetPropertyDefinitions":{"session":"string","objType":"ObjectType"},"GetPropertyDefinitionsResponse":{"propertyDefinitions":"ArrayOfPropertyDefinition"},"GetRange":{"session":"string","rangeRef":"ObjRef"},"GetRangeResponse":{"range":"Range"},"GetRangeByIPAddress":{"session":"string","addrRef":"ObjRef"},"GetRangeByIPAddressResponse":{"range":"Range"},"GetRanges":{"session":"string","filter":"string","folderRef":"ObjRef","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetRangesResponse":{"ranges":"ArrayOfRange","totalResults":"unsignedInt"},"GetRangeStatistics":{"session":"string","rangeRef":"ObjRef"},"GetRangeStatisticsResponse":{"used":"string","free":"string","numInSubranges":"string","percentInSubranges":"string"},"RangeWithStatistics":{"range":"Range","used":"string","free":"string","utilization":"int"},"ArrayOfRangeWithStatistics":["RangeWithStatistics"],"GetRangesWithStatistics":{"session":"string","calculateUtilization":"boolean","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetRangesWithStatisticsResponse":{"rangesWithStatistics":"ArrayOfRangeWithStatistics","totalResults":"unsignedInt"},"GetRelatedDNSRecords":{"session":"string","dnsRecordRef":"ObjRef"},"GetRelatedDNSRecordsResponse":{"dnsRecords":"ArrayOfDNSRecord"},"GetRole":{"session":"string","roleRef":"ObjRef"},"GetRoleResponse":{"role":"Role"},"GetRoles":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetRolesResponse":{"roles":"ArrayOfRole","totalResults":"unsignedInt"},"GetRoutersForRange":{"session":"string","rangeRef":"ObjRef","includeChildRanges":"boolean"},"GetRoutersForRangeResponse":{"addresses":"ArrayOfIPAddress"},"GetServiceStatus":{"session":"string","serverRef":"ObjRef","saveComment":"string"},"GetServiceStatusResponse":{"serviceStatus":"ServiceStatus"},"GetSubranges":{"session":"string","parentRef":"ObjRef","depth":"unsignedInt"},"GetSubrangesResponse":{"ranges":"ArrayOfRange"},"GetSystemSettings":{"session":"string"},"GetSystemSettingsResponse":{"systemSettings":"ArrayOfSystemSetting"},"GetUser":{"session":"string","userRef":"ObjRef"},"GetUserResponse":{"user":"User"},"GetUsers":{"session":"string","filter":"string","offset":"unsignedInt","limit":"unsignedInt","sortBy":"string","sortOrder":"SortOrder"},"GetUsersResponse":{"users":"ArrayOfUser","totalResults":"unsignedInt"},"HasAccessEntry":{"ref":"ObjRef","objType":"ObjectType","name":"string","hasAccess":"boolean"},"ArrayOfHasAccessEntry":["HasAccessEntry"],"HasAccess":{"session":"string","accessName":"string","objRefs":"ArrayOfObjRef","objType":"ObjectType"},"HasAccessResponse":{"hasAccessEntries":"ArrayOfHasAccessEntry"},"JoinRanges":{"session":"string","ranges":"ArrayOfObjRef","copyAccessFromRef":"ObjRef","subnet":"boolean","locked":"boolean","autoAssign":"boolean","inheritAccess":"boolean","customProperties":"ArrayOfProperty","discovery":"Discovery","saveComment":"string"},"JoinRangesResponse":{"ref":"ObjRef"},"MigrateDNSZone":{"session":"string","dnsZoneRef":"ObjRef","dnsServerRef":"ObjRef","dnsViewRef":"ObjRef","saveComment":"string"},"MigrateDNSZoneResponse":{},"ModifyDHCPFailoverRelationship":{"session":"string","dhcpFailoverRelationship":"DHCPFailoverRelationship","saveComment":"string"},"ModifyDHCPFailoverRelationshipResponse":{},"ModifyDHCPOptionDefinition":{"session":"string","dhcpServerRef":"ObjRef","dhcpOptionDefinition":"DHCPOptionDefinition","saveComment":"string"},"ModifyDHCPOptionDefinitionResponse":{},"ModifyDHCPPolicy":{"session":"string","ownerRef":"ObjRef","objType":"ObjectType","dhcpPolicyName":"string","dhcpPolicy":"DHCPPolicy","saveComment":"string"},"ModifyDHCPPolicyResponse":{},"ModifyPropertyDefinition":{"session":"string","objType":"ObjectType","property":"string","propertyDefinition":"PropertyDefinition","updateExisting":"boolean","saveComment":"string"},"ModifyPropertyDefinitionResponse":{},"MoveIPAMRecord":{"session":"string","fromRef":"ObjRef","toRef":"ObjRef","saveComment":"string","force":"boolean"},"MoveIPAMRecordResponse":{"errors":"ArrayOfError"},"MoveToAddressSpace":{"session":"string","objRefs":"ArrayOfObjRef","objType":"ObjectType","addressSpaceRef":"ObjRef","saveComment":"string","force":"boolean"},"MoveToAddressSpaceResponse":{"errors":"ArrayOfObjectError"},"Ping":{"session":"string","addrRef":"ObjRef"},"PingResponse":{"alive":"boolean","pingTime":"unsignedInt"},"PlaceInADSite":{"session":"string","adSiteRef":"ObjRef","rangeRefs":"ArrayOfObjRef","location":"string","description":"string","saveComment":"string"},"PlaceInADSiteResponse":{},"PlaceInFolder":{"session":"string","folderRef":"ObjRef","objRefs":"ArrayOfObjRef","saveComment":"string"},"PlaceInFolderResponse":{},"CloudSubnet":{"rangeRef":"ObjRef","allocationPools":"ArrayOfAddressBlock"},"ArrayOfCloudSubnet":["CloudSubnet"],"PlaceInCloudNetwork":{"session":"string","cloudNetworkRef":"ObjRef","cloudSubnets":"ArrayOfCloudSubnet","saveComment":"string"},"PlaceInCloudNetworkResponse":{},"PromoteDNSSlaveZone":{"session":"string","dnsZoneRef":"ObjRef","unchangedPrimaryMaster":"boolean","saveComment":"string"},"PromoteDNSSlaveZoneResponse":{},"DHCPScopeReconcileEntry":{"scopeAddress":"IPAddress","address":"IPAddress","flag":"DHCPScopeReconcileFlag"},"ArrayOfDHCPScopeReconcileEntry":["DHCPScopeReconcileEntry"],"ReconcileDHCPScope":{"session":"string","ref":"ObjRef","objType":"ObjectType","fix":"boolean","saveComment":"string"},"ReconcileDHCPScopeResponse":{"dhcpScopeReconcileEntries":"ArrayOfDHCPScopeReconcileEntry"},"RejectChanges":{"session":"string","changeRequestRef":"ObjRef","dnsRecordChanges":"ArrayOfDNSRecordChange","dhcpScopeChanges":"ArrayOfDHCPScopeChange","dhcpReservationChanges":"ArrayOfDHCPReservationChange","dhcpExclusionChanges":"ArrayOfDHCPExclusionChange","dhcpAddressPoolChanges":"ArrayOfDHCPAddressPoolChange","dhcpOptionChanges":"ArrayOfDHCPOptionChange","saveComment":"string"},"RejectChangesResponse":{},"RejectDNSRecordChanges":{"session":"string","dnsRecordChangeRequestRef":"ObjRef","dnsRecordChanges":"ArrayOfDNSRecordChange","saveComment":"string"},"RejectDNSRecordChangesResponse":{},"ReleaseDHCPLease":{"session":"string","dhcpScopeRef":"ObjRef","lease":"IPAddress","saveComment":"string"},"ReleaseDHCPLeaseResponse":{},"DHCPLeaseReference":{"dhcpScopeRef":"ObjRef","lease":"IPAddress"},"ArrayOfDHCPLeaseReference":["DHCPLeaseReference"],"ReleaseDHCPLeases":{"session":"string","dhcpLeaseRef":"ArrayOfDHCPLeaseReference","saveComment":"string"},"ReleaseDHCPLeasesResponse":{},"RemoveDHCPFailoverRelationships":{"session":"string","DHCPRefAndFailoverRelationshipNames":"ArrayOfDHCPRefAndFailoverRelationshipNames","saveComment":"string"},"RemoveDHCPFailoverRelationshipsResponse":{},"RemoveDHCPOptionDefinition":{"session":"string","dhcpServerRef":"ObjRef","dhcpOptionDefinition":"DHCPOptionDefinition","saveComment":"string"},"RemoveDHCPOptionDefinitionResponse":{},"RemoveDHCPPolicy":{"session":"string","ownerRef":"ObjRef","objType":"ObjectType","dhcpPolicyName":"string","saveComment":"string"},"RemoveDHCPPolicyResponse":{},"RemoveDHCPScopesFromDHCPFailoverRelationship":{"session":"string","dhcpServerRef":"ObjRef","dhcpFailoverRelationshipName":"string","dhcpScopeRefs":"ArrayOfObjRef","dhcpFailoverRelationshipDeconfigureAction":"DHCPFailoverDeconfigureAction","saveComment":"string"},"RemoveDHCPScopesFromDHCPFailoverRelationshipResponse":{},"RemoveFromADSite":{"session":"string","adSiteRef":"ObjRef","rangeRefs":"ArrayOfObjRef","saveComment":"string"},"RemoveFromADSiteResponse":{},"RemoveFromCloudNetwork":{"session":"string","rangeRefs":"ArrayOfObjRef","saveComment":"string"},"RemoveFromCloudNetworkResponse":{},"RemoveFromFolder":{"session":"string","folderRef":"ObjRef","objRefs":"ArrayOfObjRef","saveComment":"string"},"RemoveFromFolderResponse":{},"RemoveObject":{"session":"string","ref":"ObjRef","objType":"ObjectType","forceRemoval":"boolean","saveComment":"string"},"RemoveObjectResponse":{},"RemoveObjects":{"session":"string","objRefs":"ArrayOfObjRef","objType":"ObjectType","forceRemoval":"boolean","saveComment":"string"},"RemoveObjectsResponse":{"errors":"ArrayOfObjectError"},"RemovePropertyDefinition":{"session":"string","objType":"ObjectType","property":"string","saveComment":"string"},"RemovePropertyDefinitionResponse":{},"RemoveUserFromGroup":{"session":"string","userRef":"ObjRef","groupRef":"ObjRef","saveComment":"string"},"RemoveUserFromGroupResponse":{},"RemoveRoleFromGroup":{"session":"string","roleRef":"ObjRef","groupRef":"ObjRef","saveComment":"string"},"RemoveRoleFromGroupResponse":{},"RemoveRoleFromUser":{"session":"string","roleRef":"ObjRef","userRef":"ObjRef","saveComment":"string"},"RemoveRoleFromUserResponse":{},"ReplicateDHCPFailover":{"session":"string","dhcpServerRef":"ObjRef","dhcpFailoverRelationshipName":"string","dhcpScopeRef":"ObjRef","saveComment":"string"},"ReplicateDHCPFailoverResponse":{},"ReportAccess":{"session":"string","identityRef":"ObjRef","identityType":"ObjectType","objTypes":"ArrayOfObjectType"},"ReportAccessResponse":{"objectAccess":"ArrayOfObjectAccess"},"DCHPScopeOptionsReportEntry":{"dhcpServerName":"string","dhcpScopeName":"string","optionValue":"string","inherited":"boolean"},"ArrayOfDCHPScopeOptionsReportEntry":["DCHPScopeOptionsReportEntry"],"ReportDHCPScopeOptions":{"session":"string","reportType":"DHCPScopeOptionsReportType","option":"unsignedInt","vendorClass":"string","userClass":"string","value":"string","filter":"string"},"ReportDHCPScopeOptionsResponse":{"entries":"ArrayOfDCHPScopeOptionsReportEntry"},"HostDiscoveryReportEntry":{"addrRef":"ObjRef","address":"string","dnsHostNames":"string","lastSeenDate":"DateTime","lastDiscoveryDate":"DateTime","lastKnownClientIdentifier":"string","discoveryType":"IPAddressDiscoveryType","customProperties":"ArrayOfProperty"},"ArrayOfHostDiscoveryReportEntry":["HostDiscoveryReportEntry"],"ReportHostDiscovery":{"session":"string","type":"HostDiscoveryType","startDate":"DateTime","subnetFilter":"string","limit":"unsignedInt"},"ReportHostDiscoveryResponse":{"entries":"ArrayOfHostDiscoveryReportEntry"},"ReportIPFromClientIdentifier":{"session":"string","clientIdentifier":"string"},"ReportIPFromClientIdentifierResponse":{"dhcpReservations":"ArrayOfDHCPReservation","dhcpLeases":"ArrayOfDHCPLease","addresses":"ArrayOfIPAddress"},"MergeAddressSpacesReportEntry":{"conflictType":"MergeAddressSpacesReportConflictType","srcObjRef":"ObjRef","destObjRef":"ObjRef","description":"string"},"ArrayOfMergeAddressSpacesReportEntry":["MergeAddressSpacesReportEntry"],"ReportMergeAddressSpaces":{"session":"string","srcAddressSpaceRef":"ObjRef","destAddressSpaceRef":"ObjRef"},"ReportMergeAddressSpacesResponse":{"entries":"ArrayOfMergeAddressSpacesReportEntry","totalResults":"unsignedInt"},"MultiLabelHostReportEntry":{"ref":"ObjRef","name":"string","zonename":"string","type":"DNSRecordType","data":"string"},"ArrayOfMultiLabelHostReportEntry":["MultiLabelHostReportEntry"],"ReportMultilabelHosts":{"session":"string"},"ReportMultilabelHostsResponse":{"hosts":"ArrayOfMultiLabelHostReportEntry"},"RunCommand":{"session":"string","name":"string","parameters":"string","interpreter":"string","interpreterParameters":"string"},"RunCommandResponse":{"output":"string"},"AddressPool":{"addressBlock":"AddressBlock"},"ArrayOfAddressPool":["AddressPool"],"ServerStatisticItem":{"serverName":"string","addressPools":"ArrayOfAddressPool","poolExlusions":"ArrayOfAddressBlock","reservations":"ArrayOfIPAddress","serverPoolStatistics":"ArrayOfProperty"},"ArrayOfServerStatistic":["ServerStatisticItem"],"SendMail":{"session":"string","smtpServer":"string","from":"string","to":"string","cc":"string","bcc":"string","subject":"string","body":"string"},"SendMailResponse":{},"SetCurrentAddressSpace":{"session":"string","addressSpaceRef":"ObjRef"},"SetCurrentAddressSpaceResponse":{},"SetDHCPAddressPoolPermitList":{"session":"string","dhcpAddressPoolRef":"ObjRef","dhcpAddressPoolPermits":"ArrayOfDHCPAddressPoolPermit","saveComment":"string"},"SetDHCPAddressPoolPermitListResponse":{},"SetDHCPOptions":{"session":"string","ref":"ObjRef","objType":"ObjectType","ticket":"unsignedInt","dhcpOptions":"ArrayOfDHCPOption","saveComment":"string"},"SetDHCPOptionsResponse":{},"SetDHCPPolicyEnforcement":{"session":"string","ownerRef":"ObjRef","objType":"ObjectType","enforce":"boolean","saveComment":"string"},"SetDHCPPolicyEnforcementResponse":{},"SetDHCPSubclasses":{"session":"string","dhcpServerRef":"ObjRef","dhcpClassName":"string","dhcpSubclasses":"ArrayOfString","saveComment":"string"},"SetDHCPSubclassesResponse":{},"SetIPAMRecord":{"session":"string","ipamRecordBefore":"IPAMRecord","ipamRecordAfter":"IPAMRecord","saveComment":"string","forceOverrideOfNamingConflictCheck":"boolean"},"SetIPAMRecordResponse":{"errors":"ArrayOfError"},"SetObjectAccess":{"session":"string","identityAccess":"ArrayOfIdentityAccess","objRefs":"ArrayOfObjRef","objType":"ObjectType","saveComment":"string"},"SetObjectAccessResponse":{},"SetPassword":{"session":"string","oldPassword":"string","newPassword":"string"},"SetPasswordResponse":{},"SetProperties":{"session":"string","ref":"ObjRef","objType":"ObjectType","saveComment":"string","deleteUnspecified":"boolean","properties":"ArrayOfProperty"},"SetPropertiesResponse":{},"SetDNSRecordAging":{"session":"string","dnsRecordRef":"ObjRef","aging":"boolean","saveComment":"string"},"SetDNSRecordAgingResponse":{"dnsRecord":"DNSRecord"},"SetRoutersForRange":{"session":"string","rangeRef":"ObjRef","addresses":"ArrayOfIPAddress","recursive":"boolean","saveComment":"string"},"SetRoutersForRangeResponse":{},"SetServiceStatus":{"session":"string","serverRef":"ObjRef","serviceStatus":"ServiceStatus","saveComment":"string"},"SetServiceStatusResponse":{},"MonitoringOptions":{"enabled":"boolean","reportOnce":"boolean","reportFix":"boolean","staticThreshold":"unsignedInt","dynamicThreshold":"unsignedInt","script":"string","email":"string"},"ArrayOfMonitoringOptions":["MonitoringOptions"],"SetSystemSettings":{"session":"string","systemSettings":"ArrayOfSystemSetting"},"SetSystemSettingsResponse":{},"SplitRange":{"session":"string","rangeRef":"ObjRef","cidr":"unsignedInt","subnet":"boolean","locked":"boolean","autoAssign":"boolean","customProperties":"ArrayOfProperty","discovery":"Discovery","saveComment":"string"},"SplitRangeResponse":{"ranges":"ArrayOfRange"},"GenerateReverseRecords":{"session":"string","subnets":"ArrayOfString","viewName":"string","subdomainHandling":"SubdomainHandling","saveComment":"string"},"GenerateReverseRecordsResponse":{"errors":"ArrayOfString"},"reverseZoneInfo":{"subnet":"string","reverseDomain":"string","reverseZoneExists":"boolean","hasSubdomains":"boolean"},"ArrayOfReverseZoneInfos":["reverseZoneInfo"],"ZoneSet":{"masterRef":"ObjRef","slaveZoneRefs":"ArrayOfObjRef"},"ZoneSets":{"zoneSet":"ZoneSet"},"AddDNSZones":{"session":"string","names":"ArrayOfString","adIntegrated":"boolean","dynamic":"boolean","adReplicationType":"ADReplicationType","adPartition":"string","masterViewRef":"ObjRef","customProperties":"ArrayOfProperty","slaveServerViewRefs":"ArrayOfObjRef","saveComment":"string"},"AddDNSZonesResponse":{"zoneSets":"ZoneSets"},"ArrayOfADGroup":["string"],"ChangeRecord":{"id":"string","type":"ChangeRecordType","pos":"int","before":"DNSRecord","after":"DNSRecord"},"ArrayOfChangeRecord":["ChangeRecord"],"Param":{"id":"string","value":"string"},"ArrayOfParam":["Param"],"Message":{"id":"int","msgString":"string","msgStringParams":"ArrayOfParam"},"ChangeRecordResult":{"id":"string","status":"Status","msg":"Message","customProperties":"ArrayOfProperty"},"ArrayOfChangeRecordResult":["ChangeRecordResult"],"Identity":{"name":"unsignedInt","id":"string","type":"string"},"ArrayOfIdentity":["Identity"],"multiplyDefinedRecord":{"zoneRef":"ObjRef","zoneName":"string","dnsRecords":"ArrayOfDNSRecord"},"ArrayOfMultiplyDefinedRecords":["multiplyDefinedRecord"],"DiscoveryInfo":{"addrRef":"ObjRef","lastSeenDate":"string","lastDiscoveryDate":"string","clientIdentifier":"string"},"ArrayOfDiscoveryInfo":["DiscoveryInfo"],"ApplianceServices":{"dns":"boolean","dhcp":"boolean","web":"boolean","ssh":"boolean"},"Appliance":{"ref":"ObjRef","name":"string","address":"IPAddress","services":"ApplianceServices","servers":"ArrayOfObjRef","type":"ApplianceType","serverInitialized":"boolean","status":"ApplianceState","customProperties":"ArrayOfProperty"},"ArrayOfAppliance":["Appliance"],"BGPNeighborAddress":{"address":"IPAddress","remoteAS":"unsignedInt"},"ArrayOfBGPNeighborAddress":["BGPNeighborAddress"],"OSPFNeighborNetwork":{"network":"IPAddress","prefix":"unsignedInt"},"ArrayOfOSPFNeighborNetwork":["OSPFNeighborNetwork"],"BGPConfig":{"enabled":"boolean","localAS":"unsignedInt","routerID":"string","anycastAddresses":"ArrayOfIPAddress","neighborAddresses":"ArrayOfBGPNeighborAddress"},"OSPFConfig":{"enabled":"boolean","routerID":"string","ospfArea":"string","anycastAddresses":"ArrayOfIPAddress","neighborNetworks":"ArrayOfOSPFNeighborNetwork"},"AnycastConfig":{"bgpConfig":"BGPConfig","ospfConfig":"OSPFConfig"},"SetInheritAccess":{"session":"string","rangeRef":"ObjRef","inheritAccess":"boolean","inheritChildAccess":"boolean","saveComment":"string"},"SetInheritAccessResponse":{"errors":"ArrayOfError"},"UpdateComponent":{"componentType":"string","componentVersion":"string","requiresRestart":"boolean"},"ArrayOfUpdateComponents":["UpdateComponent"],"RepositoryUpdate":{"version":"string","licenseVersion":"unsignedInt","releaseNoteLocation":"string","updateStatus":"string","updatePercent":"unsignedInt","canCancel":"boolean","isCentralUpdate":"boolean","isLicenseUpdate":"boolean","isLTS":"boolean","updateComponents":"ArrayOfUpdateComponents"},"ArrayOfRepositoryUpdate":["RepositoryUpdate"],"LocalZoneData":{"type":"LocalZoneDataType","value":"string"},"ArrayOfLocalZoneData":["LocalZoneData"],"workerThread":{"name":"string","threadId":"unsignedInt","isActive":"boolean"},"ArrayOfWorkerThreads":["workerThread"],"ClusterMember":{"name":"string","priority":"unsignedInt","state":"ClusterMemberState","heartbeat":"DateTime","inStateSince":"DateTime"},"ArrayOfClusterMember":["ClusterMember"],"ArrayOfColumn":["string"],"ArrayOfRow":["ArrayOfColumn"],"RemoteAccessConfig":{"isEnabled":"boolean","password":"string"},"RemoteLoggingConfig":{"isEnabled":"boolean","server":"IPOrHostname","port":"unsignedInt","protocol":"TransportProtocol"},"DiscoveredDNSServer":{"name":"string","zoneCount":"unsignedInt"},"ArrayOfDiscoveredDNSServers":["DiscoveredDNSServer"],"DiscoveredDHCPServer":{"name":"string","scopeCount":"unsignedInt"},"ArrayOfDiscoveredDHCPServers":["DiscoveredDHCPServer"],"WebModule":{"name":"string","page":"string"},"ArrayOfWebModule":["WebModule"],"WebTask":{"name":"string","page":"string","builtIn":"boolean"},"ArrayOfWebTask":["WebTask"]}
@@ -0,0 +1,148 @@
1
+ require 'mm_json_client/exceptions'
2
+ require 'mm_json_client/json_rpc_http/client'
3
+ require 'mm_json_client/response_code'
4
+
5
+ module MmJsonClient
6
+ # The entry point for using the API client.
7
+ class Client
8
+ attr_reader :connection
9
+
10
+ def initialize(args = {})
11
+ arg_errors = user_args_errors(args)
12
+ raise ArgumentError, arg_errors.join(', ') unless arg_errors.empty?
13
+ @options = calculate_options(args)
14
+ @session_id = nil
15
+ end
16
+
17
+ def login
18
+ @options[:proxy].each do |proxy|
19
+ begin
20
+ @rpc_client = JsonRpcHttp::Client.new(base_url(proxy, @options),
21
+ @options)
22
+ response = generic_request('Login', login_params, 'LoginResponse', false)
23
+ @session_id = response.session
24
+ return true
25
+ rescue MmJsonClient::ServerError => e
26
+ raise e unless e.code == MmJsonClient::ResponseCode::REQUESTS_DISABLED
27
+ rescue SocketError, Net::OpenTimeout, Net::HTTPServerError
28
+ # Keep trying the next server.
29
+ end
30
+
31
+ end
32
+
33
+ if @session_id.nil?
34
+ # We got here without a successful connection. Time to give up.
35
+ raise MmJsonClient::ServerConnectionError,
36
+ 'Unable to connect to the proxy.'
37
+ else
38
+ true
39
+ end
40
+ end
41
+
42
+ def logout
43
+ return true if @session_id.nil?
44
+ generic_request('Logout', {}, 'LogoutResponse')
45
+ @session_id = nil
46
+ true
47
+ end
48
+
49
+ # Recusively converts found MmJsonClient objects to hashes.
50
+ def client_objects_to_h(value)
51
+ case value.class.to_s
52
+ when /^MmJsonClient/
53
+ client_objects_to_h(value.to_h)
54
+ when 'Hash'
55
+ Hash[value.map { |k, v| [k, client_objects_to_h(v)] }]
56
+ when 'Array'
57
+ value.map { |v| client_objects_to_h(v) }
58
+ else
59
+ value
60
+ end
61
+ end
62
+
63
+ private
64
+
65
+ def login_params
66
+ {
67
+ login_name: @options[:username],
68
+ password: @options[:password],
69
+ server: @options[:server]
70
+ }
71
+ end
72
+
73
+ def generic_request(method, arguments, response_type, authenticated = true)
74
+ response = request(method, client_objects_to_h(arguments), authenticated)
75
+ if response.error
76
+ raise ServerError.new(response.error.code, response.error.message)
77
+ end
78
+
79
+ if response.result.class == Hash
80
+ MmJsonClient::TypeFactory.build_from_data(
81
+ response_type, response.result.mm_underscore_keys
82
+ )
83
+ else
84
+ response.result
85
+ end
86
+ end
87
+
88
+ def request(method, parameters = {}, authenticated = true)
89
+ req_params = authenticated ? insert_session(parameters) : parameters
90
+ @rpc_client.request(method, req_params.mm_camelize_keys)
91
+ end
92
+
93
+ def calculate_options(args)
94
+ options = defaults.merge(args)
95
+ # Default the proxy to the central server if not specified.
96
+ options[:proxy] = options[:server] if options[:proxy].nil?
97
+ options[:proxy] = [options[:proxy]] unless options[:proxy].class == Array
98
+ options
99
+ end
100
+
101
+ def type_to_noun(type)
102
+ type.to_s.split('::').last
103
+ end
104
+
105
+ class << self
106
+ def define_api_method(method, return_type)
107
+ ruby_method = method.mm_underscore
108
+ class_eval do
109
+ define_method(ruby_method) do |args = {}|
110
+ unless args.class == Hash
111
+ raise ArgumentError, 'argument must be a hash'
112
+ end
113
+ generic_request(method, args, return_type)
114
+ end
115
+ end
116
+ end
117
+ end
118
+
119
+ def defaults
120
+ {
121
+ endpoint: '/_mmwebext/mmwebext.dll?Soap',
122
+ ssl: false,
123
+ verify_ssl: true,
124
+ open_timeout: 10
125
+ }
126
+ end
127
+
128
+ def insert_session(hash = {})
129
+ hash.merge(session: @session_id)
130
+ end
131
+
132
+ def user_args_errors(args)
133
+ [].tap do |errors|
134
+ errors << 'No server specified.' if args[:server].nil?
135
+ errors << 'No username specified.' if args[:username].nil?
136
+ errors << 'No password specified.' if args[:password].nil?
137
+ end
138
+ end
139
+
140
+ def base_url(proxy, options)
141
+ url = 'http'
142
+ url += 's' if options[:ssl]
143
+ url += "://#{proxy}"
144
+ url += ":#{options[:port]}" if options[:port]
145
+ url
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,24 @@
1
+ require 'mm_json_client/enums/generic_enum'
2
+ require 'mm_json_client/generic_type'
3
+
4
+ module MmJsonClient
5
+ module Enums
6
+ # Create enumeration classes for the api definition.
7
+ class EnumFactory
8
+ class << self
9
+ def load_enums(enums = {})
10
+ enums.each { |name, values| define(name, values) }
11
+ end
12
+
13
+ private
14
+
15
+ def define(enum_name, enum_values)
16
+ klass = Class.new(MmJsonClient::Enums::GenericEnum) do
17
+ @values = enum_values
18
+ end
19
+ MmJsonClient::Enums.const_set enum_name, klass
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,12 @@
1
+ module MmJsonClient
2
+ module Enums
3
+ # The base class for dynamically generated enumerations.
4
+ class GenericEnum
5
+ @values = []
6
+
7
+ class << self
8
+ attr_reader :values
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,23 @@
1
+ module MmJsonClient
2
+ # The server responded with an error.
3
+ class ServerError < StandardError
4
+ attr_reader :code
5
+ attr_reader :message
6
+
7
+ def initialize(code, message)
8
+ @code = code.to_i
9
+ @message = message
10
+ end
11
+
12
+ def message
13
+ "code: #{@code} ; message: #{@message}"
14
+ end
15
+
16
+ def to_s
17
+ message
18
+ end
19
+ end
20
+
21
+ # Could not connect to the server for what could be a transient reason.
22
+ class ServerConnectionError < StandardError; end
23
+ end
@@ -0,0 +1,37 @@
1
+ module MmJsonClient
2
+ # The base class for dynamically generated types.
3
+ class GenericType
4
+ def initialize(attributes = {})
5
+ @data = {}
6
+ attributes.each do |key, value|
7
+ send("#{key}=", value) if respond_to?("#{key}=")
8
+ end
9
+ end
10
+
11
+ class << self
12
+ def property(attribute)
13
+ class_eval do
14
+ define_method(attribute) do
15
+ @data[attribute]
16
+ end
17
+
18
+ define_method("#{attribute}=") do |value|
19
+ @data[attribute] = value
20
+ end
21
+ end
22
+ end
23
+ end
24
+
25
+ def set_properties
26
+ @data.keys.sort.map(&:to_s)
27
+ end
28
+
29
+ def to_h
30
+ {}.merge(@data)
31
+ end
32
+
33
+ def deep_copy
34
+ Marshal.load(Marshal.dump(self))
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,54 @@
1
+ require 'net/http'
2
+
3
+ module MmJsonClient
4
+ module HttpClient
5
+ # A helper class to handle lower level HTTP calls for the API.
6
+ class Client
7
+ attr_reader :options
8
+
9
+ def initialize(url, endpoint, options = {})
10
+ @url = url
11
+ @endpoint = endpoint
12
+ @options = options
13
+ end
14
+
15
+ def post(data)
16
+ new_http(URI(@url)).start do |http|
17
+ req = Net::HTTP::Post.new(@endpoint)
18
+ req.body = data
19
+ configure_content_type(req)
20
+
21
+ http.request(req)
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ def new_http(uri)
28
+ http = Net::HTTP.new(uri.host, uri.port)
29
+ configure_https(http) if uri.scheme == 'https'
30
+ configure_timeouts(http)
31
+ http
32
+ end
33
+
34
+ def configure_content_type(req)
35
+ req['Accept'] = 'application/json'
36
+ req['Content-Type'] = 'application/json'
37
+ end
38
+
39
+ def configure_https(http)
40
+ http.use_ssl = true
41
+ http.verify_mode = if @options[:verify_ssl] == false
42
+ OpenSSL::SSL::VERIFY_NONE
43
+ else
44
+ OpenSSL::SSL::VERIFY_PEER
45
+ end
46
+ end
47
+
48
+ def configure_timeouts(http)
49
+ http.open_timeout = @options[:open_timeout] if @options[:open_timeout]
50
+ http.read_timeout = @options[:timeout] if @options[:timeout]
51
+ end
52
+ end
53
+ end
54
+ end