From 43d7bb4e1aa587eeeb5fbbc4d9962644703f4d3d Mon Sep 17 00:00:00 2001 From: JosePabloOcampo1212 Date: Fri, 27 Dec 2024 11:47:07 -0600 Subject: [PATCH 1/5] Cisco Catalyst Center 2.3.7.9 --- CHANGELOG.md | 34 +- README.md | 1 + sdk/ai_endpoint_analytics.go | 41 +- sdk/api_client.go | 13 +- sdk/application_policy.go | 473 +- sdk/applications.go | 341 +- sdk/authentication_management.go | 32 +- sdk/cisco_trusted_certificates.go | 2 +- sdk/clients.go | 30 +- sdk/command_runner.go | 4 +- sdk/compliance.go | 2847 +++++- sdk/configuration_archive.go | 250 +- sdk/configuration_templates.go | 927 +- sdk/device_onboarding_pnp.go | 68 +- sdk/device_replacement.go | 164 +- sdk/devices.go | 12990 ++++++++++++++++++------ sdk/disaster_recovery.go | 4 +- sdk/discovery.go | 1061 +- sdk/eox.go | 20 +- sdk/event_management.go | 79 +- sdk/fabric_wireless.go | 279 +- sdk/file.go | 8 +- sdk/health_and_performance.go | 141 +- sdk/issues.go | 300 +- sdk/itsm.go | 6 +- sdk/itsm_integration.go | 10 +- sdk/lan_automation.go | 21 +- sdk/licenses.go | 436 +- sdk/network_settings.go | 2469 ++++- sdk/path_trace.go | 924 +- sdk/platform.go | 111 +- sdk/reports.go | 647 +- sdk/sda.go | 5115 +++++++--- sdk/security_advisories.go | 43 +- sdk/sensors.go | 4103 ++++++-- sdk/site_design.go | 1161 ++- sdk/sites.go | 3279 ++++-- sdk/software_image_management_swim.go | 881 +- sdk/system_settings.go | 352 +- sdk/tag.go | 360 +- sdk/task.go | 646 +- sdk/topology.go | 615 +- sdk/user_and_roles.go | 195 +- sdk/users.go | 265 +- sdk/wireless.go | 8711 ++++++++++++---- 45 files changed, 39237 insertions(+), 11222 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 808ae03..d15bdc6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,8 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -## [6.0.0] - 2024-11-14 +## [7.0.0] - 2024-12-27 +### Added +New services for Cisco Catalyst Center 2.3.7.9's API: +- AuthenticationManagement *AuthenticationManagementService +## [6.0.0] - 2024-11-14 ### Added New services for Cisco Catalyst Center 2.3.7.6's API: - CiscoTrustedCertificates *CiscoTrustedCertificatesService @@ -31,7 +35,7 @@ New services for Cisco Catalyst Center 2.3.7.6's API: ## [5.0.28] - 2024-06-04 - `TopOfStackSerialNumber` and `CablingScheme` added to `RequestDeviceOnboardingPnpClaimADeviceToASite` - Fix `ResponseItemWirelessGetWirelessProfileProfileDetailsSSIDDetails` to support empty string - + ### Note - SDK now compatible with Cisco Catalyst Center 2.3.7.6's API. @@ -39,7 +43,7 @@ New services for Cisco Catalyst Center 2.3.7.6's API: - Function `GetTemplatesDetails` change response struct from an object to an array objects. ## [5.0.26] - 2024-04-22 -- Functions were modified to be called recursively in case of Status Unauthorized. +- Functions were modified to be called recursively in case of Status Unauthorized. ## [5.0.25] - 2024-02-13 - `EndTime` attribute change to `*int` in `ResponseTaskGetTaskTreeResponse`. @@ -227,10 +231,10 @@ New services for Cisco Catalyst Center 2.3.7.6's API: ## [4.0.11] - 2022-11-16 - Change `ConnectedToInternet` and `BorderWithExternalConnectivity` parameters from `bool` to `string`. - + ## [4.0.10] - 2022-11-15 - Change`RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL2Handoff` to allow array. - + ## [4.0.9] - 2022-11-14 ### Changed - Change `RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL3Handoff` to allow array. @@ -256,17 +260,17 @@ New services for Cisco Catalyst Center 2.3.7.6's API: ## [4.0.4] - 2022-07-19 ### Changed - `sda.ResponseSdaGetBorderDeviceDetailFromSdaFabric.Payload` atributte removed from `sda.ResponseSdaGetBorderDeviceDetailFromSdaFabric`. - + ## [4.0.3] - 2022-07-12 ### Changed - `[]RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL3HandoffVirtualNetwork` becomes to `RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL3HandoffVirtualNetwork`. - + ## [4.0.2] - 2022-07-08 ### Changed - `event_management.ResponseItemEventManagementGetEventSubscriptionsSubscriptionEndpointsSubscriptionDetails.TrustCert` parameter turns to `boolean`. - `event_management.ResponseItemEventManagementGetEventSubscriptionsSubscriptionEndpointsSubscriptionDetails.ConnectTimeout` parameter turns to `number`. - `event_management.ResponseItemEventManagementGetEventSubscriptionsSubscriptionEndpointsSubscriptionDetails.ReadTimeout` parameter turns to `number`. - + ### Added - Added `SiteNameHierarchy`, `FabricName`, `FabricType` and `FabricDomainType` to `ResponseSdaGetSiteFromSdaFabric` of `sda` @@ -289,10 +293,10 @@ Services removed on Cisco Catalyst Center 2.3.3.0's API: - AuthenticationManagement *AuthenticationManagementService - DisasterRecovery *DisasterRecoveryService - Policy *PolicyService - + ### Changed - SDK now compatible with Cisco Catalyst Center 2.3.3.0's API. - + ## [3.6.3] - 2022-03-17 ### Changed - Changed `RequestConfigurationTemplatesDeployTemplateV2TargetInfoParams` from `interface` to `map[string]interface{}` @@ -318,7 +322,7 @@ Services removed on Cisco Catalyst Center 2.3.3.0's API: + `RequestDeviceOnboardingPnpClaimADeviceToASite.ConfigInfo.ConfigParameters` + `RequestDeviceOnboardingPnpClaimADeviceToASite.ConfigInfo.ConfigParameters.Key` + `RequestDeviceOnboardingPnpClaimADeviceToASite.ConfigInfo.ConfigParameters.Value` - + ## [3.6.0] - 2022-03-15 ### Added - Added new service `CustomCallService` @@ -541,7 +545,7 @@ Services removed on Cisco Catalyst Center 2.3.3.0's API: ### Changed - Int for count values and float64 for percentages in topology.go - + ### Fixed - Int for count values and float64 for percentages in topology.go @@ -553,15 +557,15 @@ Services removed on Cisco Catalyst Center 2.3.3.0's API: - New definition for GetApplicationsResponse, uses GetApplicationsResponseResponse - Adds Attributes to GetSiteResponseResponseAdditionalInfo - Adds GetSiteResponseResponseAdditionalInfoAttributes struct -- Add headers for GetClientEnrichmentDetails - +- Add headers for GetClientEnrichmentDetails + ### Changed - Changes structure definitions of application_policy and sites - Changes struct name from GetApplicationsResponse to GetApplicationsResponseResponse - AdditionalInfo is []GetSiteResponseResponseAdditionalInfo, not GetSiteResponseResponseAdditionalInfo - Changes json attribute, replaces namespace to nameSpace - Changes the type in network_settings.go from int to uint64 for GetGlobalPoolResponseResponse -- Update README +- Update README - Update example reference - Update dependencies - Add workflow and scripts diff --git a/README.md b/README.md index 175728e..221da65 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,7 @@ if devices.Response != nil { | 4.y.z | 2.3.3.0 | | 5.y.z | 2.3.5.3 | | 6.y.z | 2.3.7.6 | +| 7.y.z | 2.3.7.9 | ## Changelog diff --git a/sdk/ai_endpoint_analytics.go b/sdk/ai_endpoint_analytics.go index 5f31903..704e3a1 100644 --- a/sdk/ai_endpoint_analytics.go +++ b/sdk/ai_endpoint_analytics.go @@ -412,7 +412,7 @@ type RequestAIEndpointAnalyticsUpdateAnExistingProfilingRuleConditionGroupsCondi -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anc-policies-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anc-policies */ func (s *AIEndpointAnalyticsService) GetAncPolicies() (*ResponseAIEndpointAnalyticsGetAncPolicies, *resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/anc-policies" @@ -447,7 +447,7 @@ func (s *AIEndpointAnalyticsService) GetAncPolicies() (*ResponseAIEndpointAnalyt @param GetAIEndpointAnalyticsAttributeDictionariesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-a-i-endpoint-analytics-attribute-dictionaries-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-a-i-endpoint-analytics-attribute-dictionaries */ func (s *AIEndpointAnalyticsService) GetAIEndpointAnalyticsAttributeDictionaries(GetAIEndpointAnalyticsAttributeDictionariesQueryParams *GetAIEndpointAnalyticsAttributeDictionariesQueryParams) (*ResponseAIEndpointAnalyticsGetAIEndpointAnalyticsAttributeDictionaries, *resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/dictionaries" @@ -484,7 +484,7 @@ func (s *AIEndpointAnalyticsService) GetAIEndpointAnalyticsAttributeDictionaries @param QueryTheEndpointsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-the-endpoints-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-the-endpoints */ func (s *AIEndpointAnalyticsService) QueryTheEndpoints(QueryTheEndpointsQueryParams *QueryTheEndpointsQueryParams) (*ResponseAIEndpointAnalyticsQueryTheEndpoints, *resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/endpoints" @@ -521,7 +521,7 @@ func (s *AIEndpointAnalyticsService) QueryTheEndpoints(QueryTheEndpointsQueryPar @param FetchTheCountOfEndpointsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!fetch-the-count-of-endpoints-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!fetch-the-count-of-endpoints */ func (s *AIEndpointAnalyticsService) FetchTheCountOfEndpoints(FetchTheCountOfEndpointsQueryParams *FetchTheCountOfEndpointsQueryParams) (*ResponseAIEndpointAnalyticsFetchTheCountOfEndpoints, *resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/endpoints/count" @@ -560,7 +560,7 @@ func (s *AIEndpointAnalyticsService) FetchTheCountOfEndpoints(FetchTheCountOfEnd @param GetEndpointDetailsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-endpoint-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-endpoint-details */ func (s *AIEndpointAnalyticsService) GetEndpointDetails(epID string, GetEndpointDetailsQueryParams *GetEndpointDetailsQueryParams) (*ResponseAIEndpointAnalyticsGetEndpointDetails, *resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/endpoints/{epId}" @@ -598,7 +598,7 @@ func (s *AIEndpointAnalyticsService) GetEndpointDetails(epID string, GetEndpoint @param GetListOfProfilingRulesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-profiling-rules-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-profiling-rules */ func (s *AIEndpointAnalyticsService) GetListOfProfilingRules(GetListOfProfilingRulesQueryParams *GetListOfProfilingRulesQueryParams) (*ResponseAIEndpointAnalyticsGetListOfProfilingRules, *resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/profiling-rules" @@ -635,7 +635,7 @@ func (s *AIEndpointAnalyticsService) GetListOfProfilingRules(GetListOfProfilingR @param GetCountOfProfilingRulesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-profiling-rules-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-profiling-rules */ func (s *AIEndpointAnalyticsService) GetCountOfProfilingRules(GetCountOfProfilingRulesQueryParams *GetCountOfProfilingRulesQueryParams) (*ResponseAIEndpointAnalyticsGetCountOfProfilingRules, *resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/profiling-rules/count" @@ -673,7 +673,7 @@ func (s *AIEndpointAnalyticsService) GetCountOfProfilingRules(GetCountOfProfilin @param ruleID ruleId path parameter. Unique rule identifier -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-details-of-a-single-profiling-rule-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-details-of-a-single-profiling-rule */ func (s *AIEndpointAnalyticsService) GetDetailsOfASingleProfilingRule(ruleID string) (*ResponseAIEndpointAnalyticsGetDetailsOfASingleProfilingRule, *resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/profiling-rules/{ruleId}" @@ -710,7 +710,7 @@ func (s *AIEndpointAnalyticsService) GetDetailsOfASingleProfilingRule(ruleID str @param taskID taskId path parameter. Unique identifier for the task. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-details */ func (s *AIEndpointAnalyticsService) GetTaskDetails(taskID string) (*ResponseAIEndpointAnalyticsGetTaskDetails, *resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/tasks/{taskId}" @@ -745,7 +745,7 @@ func (s *AIEndpointAnalyticsService) GetTaskDetails(taskID string) (*ResponseAIE -Documentation Link: https://developer.cisco.com/docs/dna-center/#!process-cmdb-endpoints-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!process-cmdb-endpoints */ func (s *AIEndpointAnalyticsService) ProcessCmdbEndpoints(requestAIEndpointAnalyticsProcessCMDBEndpoints *RequestAIEndpointAnalyticsProcessCmdbEndpoints) (*resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/cmdb/endpoints" @@ -780,7 +780,7 @@ func (s *AIEndpointAnalyticsService) ProcessCmdbEndpoints(requestAIEndpointAnaly -Documentation Link: https://developer.cisco.com/docs/dna-center/#!register-an-endpoint-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!register-an-endpoint */ func (s *AIEndpointAnalyticsService) RegisterAnEndpoint(requestAIEndpointAnalyticsRegisterAnEndpoint *RequestAIEndpointAnalyticsRegisterAnEndpoint) (*resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/endpoints" @@ -815,7 +815,7 @@ func (s *AIEndpointAnalyticsService) RegisterAnEndpoint(requestAIEndpointAnalyti -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-a-profiling-rule-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-a-profiling-rule */ func (s *AIEndpointAnalyticsService) CreateAProfilingRule(requestAIEndpointAnalyticsCreateAProfilingRule *RequestAIEndpointAnalyticsCreateAProfilingRule) (*ResponseAIEndpointAnalyticsCreateAProfilingRule, *resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/profiling-rules" @@ -855,7 +855,7 @@ func (s *AIEndpointAnalyticsService) CreateAProfilingRule(requestAIEndpointAnaly -Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-profiling-rules-in-bulk-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-profiling-rules-in-bulk */ func (s *AIEndpointAnalyticsService) ImportProfilingRulesInBulk(requestAIEndpointAnalyticsImportProfilingRulesInBulk *RequestAIEndpointAnalyticsImportProfilingRulesInBulk) (*resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/profiling-rules/bulk" @@ -994,7 +994,7 @@ func (s *AIEndpointAnalyticsService) UpdateAnExistingProfilingRule(ruleID string @param epID epId path parameter. Unique identifier for the endpoint. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-an-endpoint-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-an-endpoint */ func (s *AIEndpointAnalyticsService) DeleteAnEndpoint(epID string) (*resty.Response, error) { //epID string @@ -1014,8 +1014,7 @@ func (s *AIEndpointAnalyticsService) DeleteAnEndpoint(epID string) (*resty.Respo if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteAnEndpoint( - epID) + return s.DeleteAnEndpoint(epID) } return response, fmt.Errorf("error with operation DeleteAnEndpoint") } @@ -1031,7 +1030,7 @@ func (s *AIEndpointAnalyticsService) DeleteAnEndpoint(epID string) (*resty.Respo @param epID epId path parameter. Unique identifier for the endpoint. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!revoke-anc-policy-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!revoke-anc-policy */ func (s *AIEndpointAnalyticsService) RevokeAncPolicy(epID string) (*resty.Response, error) { //epID string @@ -1051,8 +1050,7 @@ func (s *AIEndpointAnalyticsService) RevokeAncPolicy(epID string) (*resty.Respon if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RevokeAncPolicy( - epID) + return s.RevokeAncPolicy(epID) } return response, fmt.Errorf("error with operation RevokeAncPolicy") } @@ -1068,7 +1066,7 @@ func (s *AIEndpointAnalyticsService) RevokeAncPolicy(epID string) (*resty.Respon @param ruleID ruleId path parameter. Unique rule identifier -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-an-existing-profiling-rule-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-an-existing-profiling-rule */ func (s *AIEndpointAnalyticsService) DeleteAnExistingProfilingRule(ruleID string) (*resty.Response, error) { //ruleID string @@ -1088,8 +1086,7 @@ func (s *AIEndpointAnalyticsService) DeleteAnExistingProfilingRule(ruleID string if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteAnExistingProfilingRule( - ruleID) + return s.DeleteAnExistingProfilingRule(ruleID) } return response, fmt.Errorf("error with operation DeleteAnExistingProfilingRule") } diff --git a/sdk/api_client.go b/sdk/api_client.go index 3779ff4..afa8c86 100644 --- a/sdk/api_client.go +++ b/sdk/api_client.go @@ -25,7 +25,7 @@ const DNAC_DEBUG = "DNAC_DEBUG" const DNAC_SSL_VERIFY = "DNAC_SSL_VERIFY" const DNAC_WAIT_TIME = "DNAC_WAIT_TIME" -var VERSION = "2.3.7.6.1" +var VERSION = "2.3.7.9" var DNAC_USER_STRING = "DNAC_USER_STRING" var USER_AGENT = "go-cisco-dnacentersdk/" + VERSION @@ -45,10 +45,10 @@ type Client struct { // API Services Authentication *AuthenticationService - AuthenticationManagement *AuthenticationManagementService AIEndpointAnalytics *AIEndpointAnalyticsService ApplicationPolicy *ApplicationPolicyService Applications *ApplicationsService + AuthenticationManagement *AuthenticationManagementService CiscoTrustedCertificates *CiscoTrustedCertificatesService Clients *ClientsService CommandRunner *CommandRunnerService @@ -125,7 +125,9 @@ func NewClientWithOptions(baseURL string, username string, password string, debu var user string if len(userString) > 0 { - user = "-" + userString[0] + user = "-" + string(userString[0]) + } else { + user = " " } err = SetOptions(baseURL, username, password, debug, sslVerify, waitTimeToManyRequest, user) @@ -273,6 +275,7 @@ func NewClientNoAuth() (*Client, error) { c.AIEndpointAnalytics = (*AIEndpointAnalyticsService)(&c.common) c.ApplicationPolicy = (*ApplicationPolicyService)(&c.common) c.Applications = (*ApplicationsService)(&c.common) + c.AuthenticationManagement = (*AuthenticationManagementService)(&c.common) c.CiscoTrustedCertificates = (*CiscoTrustedCertificatesService)(&c.common) c.Clients = (*ClientsService)(&c.common) c.CommandRunner = (*CommandRunnerService)(&c.common) @@ -324,7 +327,7 @@ func NewClientWithOptionsNoAuth(baseURL string, username string, password string if len(userString) > 0 { user = "-" + userString[0] } else { - user = "" + user = " " } err = SetOptions(baseURL, username, password, debug, sslVerify, waitTimeToManyRequest, user) @@ -376,7 +379,7 @@ func (s *Client) RestyClient() *resty.Client { return s.common.client } -func (s *Client) SetCatalystWaitTimeToManyRequest(waitTimeToManyRequest int) error { +func (s *Client) SetDnaWaitTimeToManyRequest(waitTimeToManyRequest int) error { err := os.Setenv(DNAC_WAIT_TIME, strconv.Itoa(waitTimeToManyRequest)) if err != nil { diff --git a/sdk/application_policy.go b/sdk/application_policy.go index 5bee4e1..b31ba98 100644 --- a/sdk/application_policy.go +++ b/sdk/application_policy.go @@ -25,6 +25,36 @@ type GetApplicationSetsQueryParams struct { type DeleteApplicationSetQueryParams struct { ID string `url:"id,omitempty"` // } +type RetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatusQueryParams struct { + IDs string `url:"ids,omitempty"` //List of network devices ids. If this parameter is not provided, all network devices will be included in the response. Multiple network device IDs can be provided. + ManagementAddress string `url:"managementAddress,omitempty"` //The management address for the network device. This is normally IP address of the device. But it could be hostname in some cases like Meraki devices. Partial search is supported. For example, searching for `25.` would include `10.25.1.1`, `25.5.10.1`, `225.225.1.0`, `10.10.10.125`, etc. + Hostname string `url:"hostname,omitempty"` //The host name of the network device. Partial search is supported. For example, searching for `switch` will include `edge-switch1.domain.com`, `switch25`, etc. + SiteID string `url:"siteId,omitempty"` //The site ID where the network device is assigned. + AppTelemetryDeploymentStatus string `url:"appTelemetryDeploymentStatus,omitempty"` //Status of the application telemetry deployment on the network device. Available values: SCHEDULED, IN_PROGRESS, COMPLETED, FAILED, NOT_DEPLOYED. + AppTelemetryReadinessStatus string `url:"appTelemetryReadinessStatus,omitempty"` //Indicates whether the network device is ready for application telemetry enablement or not. Available values: ENABLED, READY, NOT_READY, NOT_SUPPORTED + CbarDeploymentStatus string `url:"cbarDeploymentStatus,omitempty"` //Status of the CBAR deployment on the network device. Available values: SCHEDULED, IN_PROGRESS, COMPLETED, FAILED, NOT_DEPLOYED + CbarReadinessStatus string `url:"cbarReadinessStatus,omitempty"` //Indicates whether the network device is ready for CBAR enablement or not. Available values: ENABLED, READY, NOT_READY, NOT_SUPPORTED + ProtocolPackStatus string `url:"protocolPackStatus,omitempty"` //Indicates whether the NBAR protocol pack is up-to-date or not on the network device. Available values: LATEST, OUTDATED, UNKNOWN + ProtocolPackUpdateStatus string `url:"protocolPackUpdateStatus,omitempty"` //Status of the NBAR protocol pack update on the network device. Available values: SCHEDULED, IN_PROGRESS, SUCCESS, FAILED, NONE + ApplicationRegistrySyncStatus string `url:"applicationRegistrySyncStatus,omitempty"` //Indicates whether the latest definitions from application registry have been synchronized with the network device or not. Available values: SYNCING, IN_SYNC, OUT_OF_SYNC, NOT_APPLICABLE + Offset string `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is: 1. + Limit string `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is: 1, Maximum value is: 500 + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values are: asc, desc. Default value is: asc +} +type RetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFiltersQueryParams struct { + IDs string `url:"ids,omitempty"` //List of network devices ids. If this parameter is not provided, all network devices will be included in the response. Multiple network device IDs can be provided. + ManagementAddress string `url:"managementAddress,omitempty"` //The management address for the network device. This is normally IP address of the device. But it could be hostname in some cases like Meraki devices. Partial search is supported. For example, searching for `25.` would include `10.25.1.1`, `25.5.10.1`, `225.225.1.0`, `10.10.10.125`, etc. + Hostname string `url:"hostname,omitempty"` //The host name of the network device. Partial search is supported. For example, searching for `switch` will include `edge-switch1.domain.com`, `switch25`, etc. + SiteID string `url:"siteId,omitempty"` //The site ID where the network device is assigned. + AppTelemetryDeploymentStatus string `url:"appTelemetryDeploymentStatus,omitempty"` //Status of the application telemetry deployment on the network device. Available values: SCHEDULED, IN_PROGRESS, COMPLETED, FAILED, NOT_DEPLOYED + AppTelemetryReadinessStatus string `url:"appTelemetryReadinessStatus,omitempty"` //Indicates whether the network device is ready for application telemetry enablement or not. Available values: ENABLED, READY, NOT_READY, NOT_SUPPORTED + CbarDeploymentStatus string `url:"cbarDeploymentStatus,omitempty"` //Status of the CBAR deployment on the network device. Available values: SCHEDULED, IN_PROGRESS, COMPLETED, FAILED, NOT_DEPLOYED + CbarReadinessStatus string `url:"cbarReadinessStatus,omitempty"` //Indicates whether the network device is ready for CBAR enablement or not. Available values: ENABLED, READY, NOT_READY, NOT_SUPPORTED + ProtocolPackStatus string `url:"protocolPackStatus,omitempty"` //Indicates whether the NBAR protocol pack is up-to-date or not on the network device. Available values: LATEST, OUTDATED, UNKNOWN + ProtocolPackUpdateStatus string `url:"protocolPackUpdateStatus,omitempty"` //Status of the NBAR protocol pack update on the network device. Available values: SCHEDULED, IN_PROGRESS, SUCCESS, FAILED, NONE + ApplicationRegistrySyncStatus string `url:"applicationRegistrySyncStatus,omitempty"` //Indicates whether the latest definitions from application registry have been synchronized with the network device or not. Available values: SYNCING, IN_SYNC, OUT_OF_SYNC, NOT_APPLICABLE +} type DeleteApplicationQueryParams struct { ID string `url:"id,omitempty"` //Application's Id } @@ -412,6 +442,82 @@ type ResponseApplicationPolicyGetApplicationSetsCount struct { Response string `json:"response,omitempty"` // Response Version string `json:"version,omitempty"` // Version } +type ResponseApplicationPolicyRetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatus struct { + Response *[]ResponseApplicationPolicyRetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatusResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version number of the response +} +type ResponseApplicationPolicyRetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatusResponse struct { + ID string `json:"id,omitempty"` // The network device id + + ManagementAddress string `json:"managementAddress,omitempty"` // The management address for the network device + + Hostname string `json:"hostname,omitempty"` // The host name of the network device + + SiteID string `json:"siteId,omitempty"` // The site ID where the network device is assigned. + + AppTelemetryDeploymentStatus string `json:"appTelemetryDeploymentStatus,omitempty"` // Status of the application telemetry deployment on the network device. + + AppTelemetryReadinessStatus string `json:"appTelemetryReadinessStatus,omitempty"` // Indicates whether the network device is ready for application telemetry enablement or not. + + CbarDeploymentStatus string `json:"cbarDeploymentStatus,omitempty"` // Status of the CBAR deployment on the network device. + + CbarReadinessStatus string `json:"cbarReadinessStatus,omitempty"` // Indicates whether the network device is ready for CBAR enablement or not. + + ProtocolPackStatus string `json:"protocolPackStatus,omitempty"` // Indicates whether the NBAR protocol pack is up-to-date or not on the network device. + + ProtocolPackUpdateStatus string `json:"protocolPackUpdateStatus,omitempty"` // Status of the NBAR protocol pack update on the network device. + + ApplicationRegistrySyncStatus string `json:"applicationRegistrySyncStatus,omitempty"` // Indicates whether the latest definitions from application registry have been synchronized with the network device or not. +} +type ResponseApplicationPolicyRetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFilters struct { + Response *ResponseApplicationPolicyRetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFiltersResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationPolicyRetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFiltersResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevices struct { + Response *ResponseApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevicesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevicesResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + URL string `json:"url,omitempty"` // Url +} +type ResponseApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevices struct { + Response *ResponseApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevicesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevicesResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + URL string `json:"url,omitempty"` // Url +} +type ResponseApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevices struct { + Response *ResponseApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevicesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevicesResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + URL string `json:"url,omitempty"` // Url +} +type ResponseApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevices struct { + Response *ResponseApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevicesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevicesResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + URL string `json:"url,omitempty"` // Url +} type ResponseApplicationPolicyCreateApplication struct { Response *ResponseApplicationPolicyCreateApplicationResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // Version @@ -554,6 +660,13 @@ type ResponseApplicationPolicyDeleteQosDeviceInterfaceInfoResponse struct { TaskID string `json:"taskId,omitempty"` // Task id URL string `json:"url,omitempty"` // Task url } +type ResponseApplicationPolicyRetrievesTheApplicationQoSPolicySetting struct { + Response *ResponseApplicationPolicyRetrievesTheApplicationQoSPolicySettingResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseApplicationPolicyRetrievesTheApplicationQoSPolicySettingResponse struct { + DeployByDefaultOnWiredDevices *bool `json:"deployByDefaultOnWiredDevices,omitempty"` // Flag to indicate whether QoS policy should be deployed automatically on wired network device when it is provisioned. This would be only applicable for cases where the network device is assigned to a site where a QoS policy has been configured. +} type ResponseApplicationPolicyCreateApplicationSetsV2 struct { Response *ResponseApplicationPolicyCreateApplicationSetsV2Response `json:"response,omitempty"` // Version string `json:"version,omitempty"` // Version @@ -845,6 +958,32 @@ type RequestApplicationPolicyCreateApplicationSet []RequestItemApplicationPolicy type RequestItemApplicationPolicyCreateApplicationSet struct { Name string `json:"name,omitempty"` // Name } +type RequestApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevices struct { + NetworkDeviceIDs []string `json:"networkDeviceIds,omitempty"` // List of network device ids where Application Telemetry has to be disabled +} +type RequestApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevices struct { + NetworkDeviceIDs []string `json:"networkDeviceIds,omitempty"` // List of network device ids where CBAR has to be disabled +} +type RequestApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevices struct { + NetworkDevices *[]RequestApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevicesNetworkDevices `json:"networkDevices,omitempty"` // +} +type RequestApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevicesNetworkDevices struct { + ID string `json:"id,omitempty"` // Network device identifier + + IncludeWLANModes []string `json:"includeWlanModes,omitempty"` // Types of WLAN modes which needs to be included for enablement. Applicable and mandatory only for wireless devices. Available values: LOCAL or NON_LOCAL. + + IncludeGuestSSIDs *bool `json:"includeGuestSsids,omitempty"` // Flag to indicate whether guest SSIDs should be included for application telemetry enablement. Applicable only for wireless devices. Default value is false. +} +type RequestApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevices struct { + NetworkDevices *[]RequestApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevicesNetworkDevices `json:"networkDevices,omitempty"` // +} +type RequestApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevicesNetworkDevices struct { + ID string `json:"id,omitempty"` // Network device identifier + + ExcludeInterfaceIDs []string `json:"excludeInterfaceIds,omitempty"` // List of interface identifiers which needs to be excluded from CBAR enablement. Applicable only for wired devices. Please note that this list considered as absolute exclusion and earlier exclusions are not considered. For example, if IF1 and IF2 have already been excluded from CBAR as part of earlier enablement, and this API is now called with IF3 and IF4 as inputs, then IF1 and IF2 are removed from exclusion list and only IF3 and IF4 are excluded. + + ExcludeWLANModes []string `json:"excludeWlanModes,omitempty"` // WLAN modes which needs to be excluded from CBAR enablement. Applicable only for wireless devices. Applicable values are: LOCAL, FLEX, or FABRIC +} type RequestApplicationPolicyCreateApplication []RequestItemApplicationPolicyCreateApplication // Array of RequestApplicationPolicyCreateApplication type RequestItemApplicationPolicyCreateApplication struct { Name string `json:"name,omitempty"` // Name @@ -959,6 +1098,9 @@ type RequestItemApplicationPolicyCreateQosDeviceInterfaceInfoQosDeviceInterfaceI Role string `json:"role,omitempty"` // Interface role UploadBW *int `json:"uploadBW,omitempty"` // Upload bandwidth } +type RequestApplicationPolicyUpdatesTheApplicationQoSPolicySetting struct { + DeployByDefaultOnWiredDevices *bool `json:"deployByDefaultOnWiredDevices,omitempty"` // Flag to indicate whether QoS policy should be deployed automatically on wired network device when it is provisioned. This would be only applicable for cases where the network device is assigned to a site where a QoS policy has been configured. +} type RequestApplicationPolicyCreateApplicationSetsV2 []RequestItemApplicationPolicyCreateApplicationSetsV2 // Array of RequestApplicationPolicyCreateApplicationSetsV2 type RequestItemApplicationPolicyCreateApplicationSetsV2 struct { Name string `json:"name,omitempty"` // Application Set name @@ -1077,7 +1219,7 @@ type RequestItemApplicationPolicyCreateApplicationsV2IndicativeNetworkIDentity s @param GetApplicationPolicyQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-policy-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-policy */ func (s *ApplicationPolicyService) GetApplicationPolicy(GetApplicationPolicyQueryParams *GetApplicationPolicyQueryParams) (*ResponseApplicationPolicyGetApplicationPolicy, *resty.Response, error) { path := "/dna/intent/api/v1/app-policy" @@ -1113,7 +1255,7 @@ func (s *ApplicationPolicyService) GetApplicationPolicy(GetApplicationPolicyQuer -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-policy-default-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-policy-default */ func (s *ApplicationPolicyService) GetApplicationPolicyDefault() (*ResponseApplicationPolicyGetApplicationPolicyDefault, *resty.Response, error) { path := "/dna/intent/api/v1/app-policy-default" @@ -1148,7 +1290,7 @@ func (s *ApplicationPolicyService) GetApplicationPolicyDefault() (*ResponseAppli @param GetApplicationPolicyQueuingProfileQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-policy-queuing-profile-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-policy-queuing-profile */ func (s *ApplicationPolicyService) GetApplicationPolicyQueuingProfile(GetApplicationPolicyQueuingProfileQueryParams *GetApplicationPolicyQueuingProfileQueryParams) (*ResponseApplicationPolicyGetApplicationPolicyQueuingProfile, *resty.Response, error) { path := "/dna/intent/api/v1/app-policy-queuing-profile" @@ -1184,7 +1326,7 @@ func (s *ApplicationPolicyService) GetApplicationPolicyQueuingProfile(GetApplica -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-policy-queuing-profile-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-policy-queuing-profile-count */ func (s *ApplicationPolicyService) GetApplicationPolicyQueuingProfileCount() (*ResponseApplicationPolicyGetApplicationPolicyQueuingProfileCount, *resty.Response, error) { path := "/dna/intent/api/v1/app-policy-queuing-profile-count" @@ -1219,7 +1361,7 @@ func (s *ApplicationPolicyService) GetApplicationPolicyQueuingProfileCount() (*R @param GetApplicationSetsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-sets-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-sets */ func (s *ApplicationPolicyService) GetApplicationSets(GetApplicationSetsQueryParams *GetApplicationSetsQueryParams) (*ResponseApplicationPolicyGetApplicationSets, *resty.Response, error) { path := "/dna/intent/api/v1/application-policy-application-set" @@ -1255,7 +1397,7 @@ func (s *ApplicationPolicyService) GetApplicationSets(GetApplicationSetsQueryPar -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-sets-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-application-sets-count */ func (s *ApplicationPolicyService) GetApplicationSetsCount() (*ResponseApplicationPolicyGetApplicationSetsCount, *resty.Response, error) { path := "/dna/intent/api/v1/application-policy-application-set-count" @@ -1284,13 +1426,87 @@ func (s *ApplicationPolicyService) GetApplicationSetsCount() (*ResponseApplicati } +//RetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatus Retrieve the list of network devices with their application visibility status - d2b0-d835-4b9a-8894 +/* This API retrieves the list of network devices with their application visibility status. The list can be filtered using the query parameters. Multiple filters can be applied. + + +@param RetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatusQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-list-of-network-devices-with-their-application-visibility-status +*/ +func (s *ApplicationPolicyService) RetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatus(RetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatusQueryParams *RetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatusQueryParams) (*ResponseApplicationPolicyRetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatus, *resty.Response, error) { + path := "/dna/intent/api/v1/applicationVisibility/networkDevices" + + queryString, _ := query.Values(RetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatusQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseApplicationPolicyRetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatus{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatus(RetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatusQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatus") + } + + result := response.Result().(*ResponseApplicationPolicyRetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatus) + return result, response, err + +} + +//RetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFilters Retrieve the count of network devices for the given application visibility status filters - 52af-ebf2-4119-94ab +/* This API retrieves the count of network devices for the given application visibility status filters. + + +@param RetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFiltersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-count-of-network-devices-for-the-given-application-visibility-status-filters +*/ +func (s *ApplicationPolicyService) RetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFilters(RetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFiltersQueryParams *RetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFiltersQueryParams) (*ResponseApplicationPolicyRetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFilters, *resty.Response, error) { + path := "/dna/intent/api/v1/applicationVisibility/networkDevices/count" + + queryString, _ := query.Values(RetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFiltersQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseApplicationPolicyRetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFilters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFilters(RetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFiltersQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFilters") + } + + result := response.Result().(*ResponseApplicationPolicyRetrieveTheCountOfNetworkDevicesForTheGivenApplicationVisibilityStatusFilters) + return result, response, err + +} + //GetApplications Get Applications - 8893-b834-445b-b29c /* Get applications by offset/limit or by name @param GetApplicationsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-applications-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-applications */ func (s *ApplicationPolicyService) GetApplications(GetApplicationsQueryParams *GetApplicationsQueryParams) (*ResponseApplicationPolicyGetApplications, *resty.Response, error) { path := "/dna/intent/api/v1/applications" @@ -1326,7 +1542,7 @@ func (s *ApplicationPolicyService) GetApplications(GetApplicationsQueryParams *G -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-applications-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-applications-count */ func (s *ApplicationPolicyService) GetApplicationsCount() (*ResponseApplicationPolicyGetApplicationsCount, *resty.Response, error) { path := "/dna/intent/api/v1/applications-count" @@ -1361,7 +1577,7 @@ func (s *ApplicationPolicyService) GetApplicationsCount() (*ResponseApplicationP @param GetQosDeviceInterfaceInfoQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-qos-device-interface-info-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-qos-device-interface-info */ func (s *ApplicationPolicyService) GetQosDeviceInterfaceInfo(GetQosDeviceInterfaceInfoQueryParams *GetQosDeviceInterfaceInfoQueryParams) (*ResponseApplicationPolicyGetQosDeviceInterfaceInfo, *resty.Response, error) { path := "/dna/intent/api/v1/qos-device-interface-info" @@ -1397,7 +1613,7 @@ func (s *ApplicationPolicyService) GetQosDeviceInterfaceInfo(GetQosDeviceInterfa -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-qos-device-interface-info-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-qos-device-interface-info-count */ func (s *ApplicationPolicyService) GetQosDeviceInterfaceInfoCount() (*ResponseApplicationPolicyGetQosDeviceInterfaceInfoCount, *resty.Response, error) { path := "/dna/intent/api/v1/qos-device-interface-info-count" @@ -1426,6 +1642,40 @@ func (s *ApplicationPolicyService) GetQosDeviceInterfaceInfoCount() (*ResponseAp } +//RetrievesTheApplicationQoSPolicySetting Retrieves the application QoS policy setting - 2fae-cab8-418b-8894 +/* API to retrieve the application QoS policy setting. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-application-qo-s-policy-setting +*/ +func (s *ApplicationPolicyService) RetrievesTheApplicationQoSPolicySetting() (*ResponseApplicationPolicyRetrievesTheApplicationQoSPolicySetting, *resty.Response, error) { + path := "/dna/intent/api/v1/qosPolicySetting" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseApplicationPolicyRetrievesTheApplicationQoSPolicySetting{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheApplicationQoSPolicySetting() + } + return nil, response, fmt.Errorf("error with operation RetrievesTheApplicationQoSPolicySetting") + } + + result := response.Result().(*ResponseApplicationPolicyRetrievesTheApplicationQoSPolicySetting) + return result, response, err + +} + //GetApplicationSetsV2 Get Application Set/s - 00ac-d849-43aa-bc75 /* Get application set/s by offset/limit or by name @@ -1579,7 +1829,7 @@ func (s *ApplicationPolicyService) GetApplicationCountV2(GetApplicationCountV2Qu -Documentation Link: https://developer.cisco.com/docs/dna-center/#!application-policy-intent-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!application-policy-intent */ func (s *ApplicationPolicyService) ApplicationPolicyIntent(requestApplicationPolicyApplicationPolicyIntent *RequestApplicationPolicyApplicationPolicyIntent) (*ResponseApplicationPolicyApplicationPolicyIntent, *resty.Response, error) { path := "/dna/intent/api/v1/app-policy-intent" @@ -1616,7 +1866,7 @@ func (s *ApplicationPolicyService) ApplicationPolicyIntent(requestApplicationPol -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-application-policy-queuing-profile-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-application-policy-queuing-profile */ func (s *ApplicationPolicyService) CreateApplicationPolicyQueuingProfile(requestApplicationPolicyCreateApplicationPolicyQueuingProfile *RequestApplicationPolicyCreateApplicationPolicyQueuingProfile) (*ResponseApplicationPolicyCreateApplicationPolicyQueuingProfile, *resty.Response, error) { path := "/dna/intent/api/v1/app-policy-queuing-profile" @@ -1653,7 +1903,7 @@ func (s *ApplicationPolicyService) CreateApplicationPolicyQueuingProfile(request -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-application-set-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-application-set */ func (s *ApplicationPolicyService) CreateApplicationSet(requestApplicationPolicyCreateApplicationSet *RequestApplicationPolicyCreateApplicationSet) (*ResponseApplicationPolicyCreateApplicationSet, *resty.Response, error) { path := "/dna/intent/api/v1/application-policy-application-set" @@ -1685,12 +1935,166 @@ func (s *ApplicationPolicyService) CreateApplicationSet(requestApplicationPolicy } +//DisableApplicationTelemetryFeatureOnMultipleNetworkDevices Disable application telemetry feature on multiple network devices - f0b9-883a-406b-9b6b +/* This API can be used to disable application telemetry feature on multiple network devices. Request payload should include the list of network devices where it has to be disabled. +This operation pushes configuration to the network devices, and is only permitted if the provisioning settings do not mandate a config preview for application telemetry disablement. In cases where such settings are active, attempting to use this endpoint will result in `422 Unprocessable Content` error. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!disable-application-telemetry-feature-on-multiple-network-devices +*/ +func (s *ApplicationPolicyService) DisableApplicationTelemetryFeatureOnMultipleNetworkDevices(requestApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevices *RequestApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevices) (*ResponseApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/applicationVisibility/networkDevices/disableAppTelemetry" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevices). + SetResult(&ResponseApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.DisableApplicationTelemetryFeatureOnMultipleNetworkDevices(requestApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevices) + } + + return nil, response, fmt.Errorf("error with operation DisableApplicationTelemetryFeatureOnMultipleNetworkDevices") + } + + result := response.Result().(*ResponseApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevices) + return result, response, err + +} + +//DisableCBARFeatureOnMultipleNetworkDevices Disable CBAR feature on multiple network devices - 9bae-b815-4a7a-951c +/* This API can be used to disable CBAR feature on multiple network devices. Request payload should include the list of network devices where it has to be disabled. +This operation pushes configuration to the network devices, and is only permitted if the provisioning settings do not mandate a config preview for CBAR disablement. In cases where such settings are active, attempting to use this endpoint will result in `422 Unprocessable Content` error. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!disable-c-b-a-r-feature-on-multiple-network-devices +*/ +func (s *ApplicationPolicyService) DisableCBARFeatureOnMultipleNetworkDevices(requestApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevices *RequestApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevices) (*ResponseApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/applicationVisibility/networkDevices/disableCbar" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevices). + SetResult(&ResponseApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.DisableCBARFeatureOnMultipleNetworkDevices(requestApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevices) + } + + return nil, response, fmt.Errorf("error with operation DisableCBARFeatureOnMultipleNetworkDevices") + } + + result := response.Result().(*ResponseApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevices) + return result, response, err + +} + +//EnableApplicationTelemetryFeatureOnMultipleNetworkDevices Enable application telemetry feature on multiple network devices - 02a7-dbf2-458b-bc98 +/* This API can be used to enable application telemetry feature on multiple network devices. Request payload should include the list of network devices where application telemetry has to be enabled. For wireless controllers, it also needs the WLAN modes / SSID details to be included for enablement. +Please note that this operation can be performed even if the feature is already enabled on the network device. It would push the updated configurations to the network device. +This operation pushes configuration to the network devices, and is only permitted if the provisioning settings do not mandate a config preview for application telemetry enablement. In cases where such settings are active, attempting to use this endpoint will result in `422 Unprocessable Content` error. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!enable-application-telemetry-feature-on-multiple-network-devices +*/ +func (s *ApplicationPolicyService) EnableApplicationTelemetryFeatureOnMultipleNetworkDevices(requestApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevices *RequestApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevices) (*ResponseApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/applicationVisibility/networkDevices/enableAppTelemetry" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevices). + SetResult(&ResponseApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.EnableApplicationTelemetryFeatureOnMultipleNetworkDevices(requestApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevices) + } + + return nil, response, fmt.Errorf("error with operation EnableApplicationTelemetryFeatureOnMultipleNetworkDevices") + } + + result := response.Result().(*ResponseApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevices) + return result, response, err + +} + +//EnableCBARFeatureOnMultipleNetworkDevices Enable CBAR feature on multiple network devices - 5b82-9a62-4e9a-810c +/* This API can be used to enable CBAR feature on multiple network devices. Request payload should include the list of network devices where CBAR has to be enabled. It can optionally include list of interfaces (wired) or WLAN modes (wireless) to be excluded from CBAR enablement. +Please note that this operation can be performed even if the feature is already enabled on the network device. It would push the updated configurations to the network device. +This operation is only permitted if the provisioning settings do not mandate a configuration preview for CBAR enablement. In cases where such settings are active, attempting to use this endpoint will result in `422 Unprocessable Content` error. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!enable-c-b-a-r-feature-on-multiple-network-devices +*/ +func (s *ApplicationPolicyService) EnableCBARFeatureOnMultipleNetworkDevices(requestApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevices *RequestApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevices) (*ResponseApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/applicationVisibility/networkDevices/enableCbar" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevices). + SetResult(&ResponseApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.EnableCBARFeatureOnMultipleNetworkDevices(requestApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevices) + } + + return nil, response, fmt.Errorf("error with operation EnableCBARFeatureOnMultipleNetworkDevices") + } + + result := response.Result().(*ResponseApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevices) + return result, response, err + +} + //CreateApplication Create Application - fb9b-f80f-491a-9851 /* Create new Custom application -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-application-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-application */ func (s *ApplicationPolicyService) CreateApplication(requestApplicationPolicyCreateApplication *RequestApplicationPolicyCreateApplication) (*ResponseApplicationPolicyCreateApplication, *resty.Response, error) { path := "/dna/intent/api/v1/applications" @@ -1727,7 +2131,7 @@ func (s *ApplicationPolicyService) CreateApplication(requestApplicationPolicyCre -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-qos-device-interface-info-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-qos-device-interface-info */ func (s *ApplicationPolicyService) CreateQosDeviceInterfaceInfo(requestApplicationPolicyCreateQosDeviceInterfaceInfo *RequestApplicationPolicyCreateQosDeviceInterfaceInfo) (*ResponseApplicationPolicyCreateQosDeviceInterfaceInfo, *resty.Response, error) { path := "/dna/intent/api/v1/qos-device-interface-info" @@ -1932,6 +2336,37 @@ func (s *ApplicationPolicyService) UpdateQosDeviceInterfaceInfo(requestApplicati } +//UpdatesTheApplicationQoSPolicySetting Updates the application QoS policy setting - 99ab-9b4a-46e8-b0f7 +/* API to update the application QoS policy setting. + + + */ +func (s *ApplicationPolicyService) UpdatesTheApplicationQoSPolicySetting(requestApplicationPolicyUpdatesTheApplicationQoSPolicySetting *RequestApplicationPolicyUpdatesTheApplicationQoSPolicySetting) (*resty.Response, error) { + path := "/dna/intent/api/v1/qosPolicySetting" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestApplicationPolicyUpdatesTheApplicationQoSPolicySetting). + SetError(&Error). + Put(path) + + if err != nil { + return nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdatesTheApplicationQoSPolicySetting(requestApplicationPolicyUpdatesTheApplicationQoSPolicySetting) + } + return response, fmt.Errorf("error with operation UpdatesTheApplicationQoSPolicySetting") + } + + return response, err + +} + //EditApplicationsV2 Edit Application/s - 6995-2aea-4f2b-a053 /* Edit the attributes of an existing application @@ -1972,7 +2407,7 @@ func (s *ApplicationPolicyService) EditApplicationsV2(requestApplicationPolicyEd @param id id path parameter. Id of custom queuing profile to delete -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-application-policy-queuing-profile-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-application-policy-queuing-profile */ func (s *ApplicationPolicyService) DeleteApplicationPolicyQueuingProfile(id string) (*ResponseApplicationPolicyDeleteApplicationPolicyQueuingProfile, *resty.Response, error) { //id string @@ -2009,7 +2444,7 @@ func (s *ApplicationPolicyService) DeleteApplicationPolicyQueuingProfile(id stri @param DeleteApplicationSetQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-application-set-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-application-set */ func (s *ApplicationPolicyService) DeleteApplicationSet(DeleteApplicationSetQueryParams *DeleteApplicationSetQueryParams) (*ResponseApplicationPolicyDeleteApplicationSet, *resty.Response, error) { //DeleteApplicationSetQueryParams *DeleteApplicationSetQueryParams @@ -2047,7 +2482,7 @@ func (s *ApplicationPolicyService) DeleteApplicationSet(DeleteApplicationSetQuer @param DeleteApplicationQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-application-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-application */ func (s *ApplicationPolicyService) DeleteApplication(DeleteApplicationQueryParams *DeleteApplicationQueryParams) (*ResponseApplicationPolicyDeleteApplication, *resty.Response, error) { //DeleteApplicationQueryParams *DeleteApplicationQueryParams @@ -2086,7 +2521,7 @@ func (s *ApplicationPolicyService) DeleteApplication(DeleteApplicationQueryParam @param id id path parameter. Id of the qos device info, this object holds all qos device interface infos associate with network device id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-qos-device-interface-info-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-qos-device-interface-info */ func (s *ApplicationPolicyService) DeleteQosDeviceInterfaceInfo(id string) (*ResponseApplicationPolicyDeleteQosDeviceInterfaceInfo, *resty.Response, error) { //id string diff --git a/sdk/applications.go b/sdk/applications.go index 23d5f9b..7aeaca7 100644 --- a/sdk/applications.go +++ b/sdk/applications.go @@ -10,6 +10,37 @@ import ( type ApplicationsService service +type RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + SortBy string `url:"sortBy,omitempty"` //A field within the response to sort by. + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. + SiteID string `url:"siteId,omitempty"` //The site UUID without the top level hierarchy. `siteId` is mandatory. `siteId` must be a site UUID of a building. (Ex."buildingUuid") Examples: `siteId=buildingUuid` (single siteId requested) `siteId=buildingUuid1&siteId=buildingUuid2` (multiple siteId requested) + SSID string `url:"ssid,omitempty"` //In the context of a network application, SSID refers to the name of the wireless network to which the client connects. Examples: `ssid=Alpha` (single ssid requested) `ssid=Alpha&ssid=Guest` (multiple ssid requested) + ApplicationName string `url:"applicationName,omitempty"` //Name of the application for which the experience data is intended. Examples: `applicationName=webex` (single applicationName requested) `applicationName=webex&applicationName=teams` (multiple applicationName requested) + BusinessRelevance string `url:"businessRelevance,omitempty"` //The application can be chosen to be categorized as business-relevant, irrelevant, or default (neutral). By doing so, the assurance application prioritizes the monitoring and analysis of business-relevant data, ensuring critical insights are captured. Applications marked as irrelevant or default are selectively excluded from certain data sets, streamlining focus on what's most important for business outcomes. + Attribute string `url:"attribute,omitempty"` //List of attributes related to resource that can be requested to only be part of the response along with the required attributes. Supported attributes are applicationName, siteId, exporterIpAddress, exporterNetworkDeviceId, healthScore, businessRelevance, usage, throughput, packetLossPercent, networkLatency, applicationServerLatency, clientNetworkLatency, serverNetworkLatency, trafficClass, jitter, ssid Examples: `attribute=healthScore` (single attribute requested) `attribute=healthScore&attribute=ssid&attribute=jitter` (multiple attribute requested) +} +type RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + SiteID string `url:"siteId,omitempty"` //The site UUID without the top level hierarchy. `siteId` is mandatory. `siteId` must be a site UUID of a building. (Ex."buildingUuid") Examples: `siteId=buildingUuid` (single siteId requested) `siteId=buildingUuid1&siteId=buildingUuid2` (multiple siteId requested) + SSID string `url:"ssid,omitempty"` //In the context of a network application, SSID refers to the name of the wireless network to which the client connects. Examples: `ssid=Alpha` (single ssid requested) `ssid=Alpha&ssid=Guest` (multiple ssid requested) + ApplicationName string `url:"applicationName,omitempty"` //Name of the application for which the experience data is intended. Examples: `applicationName=webex` (single applicationName requested) `applicationName=webex&applicationName=teams` (multiple applicationName requested) + BusinessRelevance string `url:"businessRelevance,omitempty"` //The application can be chosen to be categorized as business-relevant, irrelevant, or default (neutral). By doing so, the assurance application prioritizes the monitoring and analysis of business-relevant data, ensuring critical insights are captured. Applications marked as irrelevant or default are selectively excluded from certain data sets, streamlining focus on what's most important for business outcomes. +} +type RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} type ApplicationsQueryParams struct { SiteID string `url:"siteId,omitempty"` //Assurance site UUID value (Cannot be submitted together with deviceId and clientMac) DeviceID string `url:"deviceId,omitempty"` //Assurance device UUID value (Cannot be submitted together with siteId and clientMac) @@ -22,6 +53,126 @@ type ApplicationsQueryParams struct { ApplicationName string `url:"applicationName,omitempty"` //The name of the application to get information on } +type ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetrics struct { + Response *[]ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsResponse `json:"response,omitempty"` // + + Page *ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsResponse struct { + ID string `json:"id,omitempty"` // Id + + ApplicationName string `json:"applicationName,omitempty"` // Application Name + + BusinessRelevance string `json:"businessRelevance,omitempty"` // Business Relevance + + SiteID string `json:"siteId,omitempty"` // Site Id + + ExporterIPAddress string `json:"exporterIpAddress,omitempty"` // Exporter Ip Address + + ExporterNetworkDeviceID string `json:"exporterNetworkDeviceId,omitempty"` // Exporter Network Device Id + + HealthScore *int `json:"healthScore,omitempty"` // Health Score + + Usage *float64 `json:"usage,omitempty"` // Usage + + Throughput *float64 `json:"throughput,omitempty"` // Throughput + + PacketLossPercent *float64 `json:"packetLossPercent,omitempty"` // Packet Loss Percent + + NetworkLatency *float64 `json:"networkLatency,omitempty"` // Network Latency + + ApplicationServerLatency *float64 `json:"applicationServerLatency,omitempty"` // Application Server Latency + + ClientNetworkLatency *float64 `json:"clientNetworkLatency,omitempty"` // Client Network Latency + + ServerNetworkLatency *float64 `json:"serverNetworkLatency,omitempty"` // Server Network Latency + + TrafficClass string `json:"trafficClass,omitempty"` // Traffic Class + + Jitter *float64 `json:"jitter,omitempty"` // Jitter + + SSID string `json:"ssid,omitempty"` // Ssid +} +type ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + SortBy *[]ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Order string `json:"order,omitempty"` // Order +} +type ResponseApplicationsRetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFiltering struct { + Response *ResponseApplicationsRetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationsRetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplications struct { + Response *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponse `json:"response,omitempty"` // + + Page *ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + Attributes *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseAttributes `json:"attributes,omitempty"` // + + AggregateAttributes *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Groups *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseGroups `json:"groups,omitempty"` // +} +type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value string `json:"value,omitempty"` // Value +} +type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Value string `json:"value,omitempty"` // Value +} +type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseGroups struct { + ID string `json:"id,omitempty"` // Id + + Attributes *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseGroupsAttributes `json:"attributes,omitempty"` // + + AggregateAttributes *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value string `json:"value,omitempty"` // Value +} +type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Value string `json:"value,omitempty"` // Value +} +type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Cursor string `json:"cursor,omitempty"` // Cursor + + Count *int `json:"count,omitempty"` // Count + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order +} type ResponseApplicationsApplications struct { Version string `json:"version,omitempty"` // API version TotalCount *int `json:"totalCount,omitempty"` // Count of items in response @@ -66,6 +217,144 @@ type ResponseApplicationsApplicationsResponseJitter interface{} type ResponseApplicationsApplicationsResponseApplicationServerLatency interface{} type ResponseApplicationsApplicationsResponseClientNetworkLatency interface{} type ResponseApplicationsApplicationsResponseServerNetworkLatency interface{} +type RequestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplications struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + SiteIDs []string `json:"siteIds,omitempty"` // Site Ids + + TrendInterval string `json:"trendInterval,omitempty"` // Trend Interval + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Attributes []string `json:"attributes,omitempty"` // Attributes + + Filters *[]RequestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsFilters `json:"filters,omitempty"` // + + AggregateAttributes *[]RequestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsPage `json:"page,omitempty"` // +} +type RequestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value *int `json:"value,omitempty"` // Value +} +type RequestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Cursor string `json:"cursor,omitempty"` // Cursor + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order +} + +//RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetrics Retrieves the list of network applications along with experience and health metrics - 0d8c-6945-49f8-845d +/* Retrieves the list of network applications along with experience and health metrics. If startTime and endTime are not provided, the API defaults to the last 24 hours. `siteId` is mandatory. `siteId` must be a site UUID of a building. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-NetworkApplications-1.0.0-resolved.yaml + + +@param RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsHeaderParams Custom header parameters +@param RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-network-applications-along-with-experience-and-health-metrics +*/ +func (s *ApplicationsService) RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetrics(RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsHeaderParams *RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsHeaderParams, RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsQueryParams *RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsQueryParams) (*ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetrics, *resty.Response, error) { + path := "/dna/data/api/v1/networkApplications" + + queryString, _ := query.Values(RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsHeaderParams != nil { + + if RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetrics{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetrics(RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsHeaderParams, RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetrics") + } + + result := response.Result().(*ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetrics) + return result, response, err + +} + +//RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFiltering Retrieves the total count of network applications by applying basic filtering - 90b0-5a40-422a-8446 +/* Retrieves the number of network applications by applying basic filtering. If startTime and endTime are not provided, the API defaults to the last 24 hours. `siteId` is mandatory. `siteId` must be a site UUID of a building. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-NetworkApplications-1.0.0-resolved.yaml + + +@param RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringHeaderParams Custom header parameters +@param RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-count-of-network-applications-by-applying-basic-filtering +*/ +func (s *ApplicationsService) RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFiltering(RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringHeaderParams *RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringHeaderParams, RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringQueryParams *RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringQueryParams) (*ResponseApplicationsRetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFiltering, *resty.Response, error) { + path := "/dna/data/api/v1/networkApplications/count" + + queryString, _ := query.Values(RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringHeaderParams != nil { + + if RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseApplicationsRetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFiltering{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFiltering(RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringHeaderParams, RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFiltering") + } + + result := response.Result().(*ResponseApplicationsRetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFiltering) + return result, response, err + +} //Applications Applications - 2db5-8a1f-4fea-9242 /* Intent API to get a list of applications for a specific site, a device, or a client device's MAC address. For a combination of a specific application with site and/or device the API gets list of issues/devices/endpoints. @@ -73,7 +362,7 @@ type ResponseApplicationsApplicationsResponseServerNetworkLatency interface{} @param ApplicationsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!applications-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!applications */ func (s *ApplicationsService) Applications(ApplicationsQueryParams *ApplicationsQueryParams) (*ResponseApplicationsApplications, *resty.Response, error) { path := "/dna/intent/api/v1/application-health" @@ -103,3 +392,53 @@ func (s *ApplicationsService) Applications(ApplicationsQueryParams *Applications return result, response, err } + +//RetrievesTheTrendAnalyticsDataRelatedToNetworkApplications Retrieves the Trend analytics data related to network applications. - 22b6-58d5-41ba-ac1a +/* Retrieves the trend analytics of applications experience data for the specified time range. The data will be grouped based on the given trend time interval. This API facilitates obtaining consolidated insights into the performance and status of the network applications over the specified start and end time. If startTime and endTime are not provided, the API defaults to the last 24 hours. `siteId` and `trendInterval` are mandatory. `siteId` must be a site UUID of a building. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-NetworkApplications-1.0.0-resolved.yaml + + +@param RetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-trend-analytics-data-related-to-network-applications +*/ +func (s *ApplicationsService) RetrievesTheTrendAnalyticsDataRelatedToNetworkApplications(requestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplications *RequestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplications, RetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsHeaderParams *RetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsHeaderParams) (*ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplications, *resty.Response, error) { + path := "/dna/data/api/v1/networkApplications/trendAnalytics" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsHeaderParams != nil { + + if RetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplications). + SetResult(&ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplications{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheTrendAnalyticsDataRelatedToNetworkApplications(requestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplications, RetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation RetrievesTheTrendAnalyticsDataRelatedToNetworkApplications") + } + + result := response.Result().(*ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplications) + return result, response, err + +} diff --git a/sdk/authentication_management.go b/sdk/authentication_management.go index 9c4468d..24c6750 100644 --- a/sdk/authentication_management.go +++ b/sdk/authentication_management.go @@ -3,6 +3,7 @@ package dnac import ( "fmt" "io" + "net/http" "github.com/go-resty/resty/v2" "github.com/google/go-querystring/query" @@ -11,8 +12,8 @@ import ( type AuthenticationManagementService service type ImportCertificateQueryParams struct { - PkPassword string `url:"pkPassword,omitempty"` //Private Key Passsword - ListOfUsers []string `url:"listOfUsers,omitempty"` //listOfUsers + PkPassword string `url:"pkPassword,omitempty"` //Password for encrypted private key + ListOfUsers []string `url:"listOfUsers,omitempty"` //Specify whether the certificate will be used for controller ("server"), disaster recovery ("ipsec") or both ("server, ipsec"). If no value is provided, the default value taken will be "server" } type ImportCertificateMultipartFields struct { @@ -23,9 +24,9 @@ type ImportCertificateMultipartFields struct { } type ImportCertificateP12QueryParams struct { - P12Password string `url:"p12Password,omitempty"` //P12 Passsword - PkPassword string `url:"pkPassword,omitempty"` //Private Key Passsword - ListOfUsers []string `url:"listOfUsers,omitempty"` //listOfUsers + P12Password string `url:"p12Password,omitempty"` //The password for PKCS12 certificate bundle + PkPassword string `url:"pkPassword,omitempty"` //Password for encrypted private key + ListOfUsers []string `url:"listOfUsers,omitempty"` //Specify whether the certificate will be used for controller ("server"), disaster recovery ("ipsec") or both ("server, ipsec"). If no value is provided, the default value taken will be "server" } type ImportCertificateP12MultipartFields struct { @@ -54,7 +55,7 @@ type ResponseAuthenticationManagementAuthenticationAPI struct { } //ImportCertificate importCertificate - 2a9e-c8a4-454a-b942 -/* This method is used to upload a certificate +/* This API enables a user to import a PEM certificate and its key for the controller and/or disaster recovery. @param ImportCertificateQueryParams Filtering parameter @@ -89,6 +90,11 @@ func (s *AuthenticationManagementService) ImportCertificate(ImportCertificateQue } if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.ImportCertificate(ImportCertificateQueryParams, ImportCertificateMultipartFields) + } + return nil, response, fmt.Errorf("error with operation ImportCertificate") } @@ -98,7 +104,7 @@ func (s *AuthenticationManagementService) ImportCertificate(ImportCertificateQue } //ImportCertificateP12 importCertificateP12 - 368e-79cf-4329-b63f -/* This method is used to upload a PKCS#12 file +/* This API enables a user to import a PKCS12 certificate bundle for the controller and/or disaster recovery. @param ImportCertificateP12QueryParams Filtering parameter @@ -132,6 +138,11 @@ func (s *AuthenticationManagementService) ImportCertificateP12(ImportCertificate } if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.ImportCertificateP12(ImportCertificateP12QueryParams, ImportCertificateP12MultipartFields) + } + return nil, response, fmt.Errorf("error with operation ImportCertificateP12") } @@ -141,7 +152,7 @@ func (s *AuthenticationManagementService) ImportCertificateP12(ImportCertificate } //AuthenticationAPI Authentication API - ac8a-e94c-4e69-a09d -/* API to obtain an access token, which remains valid for 1 hour. The token obtained using this API is required to be set as value to the X-Auth-Token HTTP Header for all API calls to Cisco Catalyst Center. +/* API to obtain an access token, which remains valid for 1 hour. The token obtained using this API is required to be set as value to the X-Auth-Token HTTP Header for all API calls to Cisco DNA Center. @@ -163,6 +174,11 @@ func (s *AuthenticationManagementService) AuthenticationAPI() (*ResponseAuthenti } if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.AuthenticationAPI() + } + return nil, response, fmt.Errorf("error with operation AuthenticationApi") } diff --git a/sdk/cisco_trusted_certificates.go b/sdk/cisco_trusted_certificates.go index d4ebab3..7155ccd 100644 --- a/sdk/cisco_trusted_certificates.go +++ b/sdk/cisco_trusted_certificates.go @@ -14,7 +14,7 @@ type CiscoTrustedCertificatesService service -Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-trusted-certificate-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-trusted-certificate */ func (s *CiscoTrustedCertificatesService) ImportTrustedCertificate() (*resty.Response, error) { path := "/dna/intent/api/v1/trustedCertificates/import" diff --git a/sdk/clients.go b/sdk/clients.go index 4d7aa79..50e4690 100644 --- a/sdk/clients.go +++ b/sdk/clients.go @@ -1271,7 +1271,7 @@ type RequestClientsRetrievesSpecificClientInformationOverASpecifiedPeriodOfTimeP @param RetrievesTheListOfClientsWhileAlsoOfferingBasicFilteringAndSortingCapabilitiesHeaderParams Custom header parameters @param RetrievesTheListOfClientsWhileAlsoOfferingBasicFilteringAndSortingCapabilitiesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-clients-while-also-offering-basic-filtering-and-sorting-capabilities-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-clients-while-also-offering-basic-filtering-and-sorting-capabilities */ func (s *ClientsService) RetrievesTheListOfClientsWhileAlsoOfferingBasicFilteringAndSortingCapabilities(RetrievesTheListOfClientsWhileAlsoOfferingBasicFilteringAndSortingCapabilitiesHeaderParams *RetrievesTheListOfClientsWhileAlsoOfferingBasicFilteringAndSortingCapabilitiesHeaderParams, RetrievesTheListOfClientsWhileAlsoOfferingBasicFilteringAndSortingCapabilitiesQueryParams *RetrievesTheListOfClientsWhileAlsoOfferingBasicFilteringAndSortingCapabilitiesQueryParams) (*ResponseClientsRetrievesTheListOfClientsWhileAlsoOfferingBasicFilteringAndSortingCapabilities, *resty.Response, error) { path := "/dna/data/api/v1/clients" @@ -1321,7 +1321,7 @@ func (s *ClientsService) RetrievesTheListOfClientsWhileAlsoOfferingBasicFilterin @param RetrievesTheTotalCountOfClientsByApplyingBasicFilteringHeaderParams Custom header parameters @param RetrievesTheTotalCountOfClientsByApplyingBasicFilteringQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-count-of-clients-by-applying-basic-filtering-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-count-of-clients-by-applying-basic-filtering */ func (s *ClientsService) RetrievesTheTotalCountOfClientsByApplyingBasicFiltering(RetrievesTheTotalCountOfClientsByApplyingBasicFilteringHeaderParams *RetrievesTheTotalCountOfClientsByApplyingBasicFilteringHeaderParams, RetrievesTheTotalCountOfClientsByApplyingBasicFilteringQueryParams *RetrievesTheTotalCountOfClientsByApplyingBasicFilteringQueryParams) (*ResponseClientsRetrievesTheTotalCountOfClientsByApplyingBasicFiltering, *resty.Response, error) { path := "/dna/data/api/v1/clients/count" @@ -1368,12 +1368,12 @@ func (s *ClientsService) RetrievesTheTotalCountOfClientsByApplyingBasicFiltering /* Retrieves specific client information matching the MAC address. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-clients1-1.0.0-resolved.yaml -@param id id path parameter. id is the client mac address. It can be specified is any notational conventions 01:23:45:67:89:AB or 01-23-45-67-89-AB or 0123.4567.89AB and is case insensitive +@param id id path parameter. id is the client mac address. It can be specified is any notational conventions 01:23:45:67:89:AB or 01-23-45-67-89-AB or 0123.4567.89AB and is case insensitive @param RetrievesSpecificClientInformationMatchingTheMACAddressHeaderParams Custom header parameters @param RetrievesSpecificClientInformationMatchingTheMACAddressQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-specific-client-information-matching-the-macaddress-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-specific-client-information-matching-the-macaddress */ func (s *ClientsService) RetrievesSpecificClientInformationMatchingTheMacaddress(id string, RetrievesSpecificClientInformationMatchingTheMACAddressHeaderParams *RetrievesSpecificClientInformationMatchingTheMacaddressHeaderParams, RetrievesSpecificClientInformationMatchingTheMACAddressQueryParams *RetrievesSpecificClientInformationMatchingTheMacaddressQueryParams) (*ResponseClientsRetrievesSpecificClientInformationMatchingTheMacaddress, *resty.Response, error) { path := "/dna/data/api/v1/clients/{id}" @@ -1423,7 +1423,7 @@ func (s *ClientsService) RetrievesSpecificClientInformationMatchingTheMacaddress @param GetClientDetailQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-client-detail-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-client-detail */ func (s *ClientsService) GetClientDetail(GetClientDetailQueryParams *GetClientDetailQueryParams) (*ResponseClientsGetClientDetail, *resty.Response, error) { path := "/dna/intent/api/v1/client-detail" @@ -1460,7 +1460,7 @@ func (s *ClientsService) GetClientDetail(GetClientDetailQueryParams *GetClientDe @param GetClientEnrichmentDetailsHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-client-enrichment-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-client-enrichment-details */ func (s *ClientsService) GetClientEnrichmentDetails(GetClientEnrichmentDetailsHeaderParams *GetClientEnrichmentDetailsHeaderParams) (*ResponseClientsGetClientEnrichmentDetails, *resty.Response, error) { path := "/dna/intent/api/v1/client-enrichment-details" @@ -1519,7 +1519,7 @@ func (s *ClientsService) GetClientEnrichmentDetails(GetClientEnrichmentDetailsHe @param GetOverallClientHealthQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-overall-client-health-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-overall-client-health */ func (s *ClientsService) GetOverallClientHealth(GetOverallClientHealthQueryParams *GetOverallClientHealthQueryParams) (*ResponseClientsGetOverallClientHealth, *resty.Response, error) { path := "/dna/intent/api/v1/client-health" @@ -1556,7 +1556,7 @@ func (s *ClientsService) GetOverallClientHealth(GetOverallClientHealthQueryParam @param ClientProximityQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!client-proximity-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!client-proximity */ func (s *ClientsService) ClientProximity(ClientProximityQueryParams *ClientProximityQueryParams) (*ResponseClientsClientProximity, *resty.Response, error) { path := "/dna/intent/api/v1/client-proximity" @@ -1593,7 +1593,7 @@ func (s *ClientsService) ClientProximity(ClientProximityQueryParams *ClientProxi @param RetrievesTheListOfClientsByApplyingComplexFiltersWhileAlsoSupportingAggregateAttributesHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-clients-by-applying-complex-filters-while-also-supporting-aggregate-attributes-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-clients-by-applying-complex-filters-while-also-supporting-aggregate-attributes */ func (s *ClientsService) RetrievesTheListOfClientsByApplyingComplexFiltersWhileAlsoSupportingAggregateAttributes(requestClientsRetrievesTheListOfClientsByApplyingComplexFiltersWhileAlsoSupportingAggregateAttributes *RequestClientsRetrievesTheListOfClientsByApplyingComplexFiltersWhileAlsoSupportingAggregateAttributes, RetrievesTheListOfClientsByApplyingComplexFiltersWhileAlsoSupportingAggregateAttributesHeaderParams *RetrievesTheListOfClientsByApplyingComplexFiltersWhileAlsoSupportingAggregateAttributesHeaderParams) (*ResponseClientsRetrievesTheListOfClientsByApplyingComplexFiltersWhileAlsoSupportingAggregateAttributes, *resty.Response, error) { path := "/dna/data/api/v1/clients/query" @@ -1643,7 +1643,7 @@ func (s *ClientsService) RetrievesTheListOfClientsByApplyingComplexFiltersWhileA @param RetrievesTheNumberOfClientsByApplyingComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-number-of-clients-by-applying-complex-filters-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-number-of-clients-by-applying-complex-filters */ func (s *ClientsService) RetrievesTheNumberOfClientsByApplyingComplexFilters(requestClientsRetrievesTheNumberOfClientsByApplyingComplexFilters *RequestClientsRetrievesTheNumberOfClientsByApplyingComplexFilters, RetrievesTheNumberOfClientsByApplyingComplexFiltersHeaderParams *RetrievesTheNumberOfClientsByApplyingComplexFiltersHeaderParams) (*ResponseClientsRetrievesTheNumberOfClientsByApplyingComplexFilters, *resty.Response, error) { path := "/dna/data/api/v1/clients/query/count" @@ -1693,7 +1693,7 @@ func (s *ClientsService) RetrievesTheNumberOfClientsByApplyingComplexFilters(req @param RetrievesSummaryAnalyticsDataRelatedToClientsHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-summary-analytics-data-related-to-clients-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-summary-analytics-data-related-to-clients */ func (s *ClientsService) RetrievesSummaryAnalyticsDataRelatedToClients(requestClientsRetrievesSummaryAnalyticsDataRelatedToClients *RequestClientsRetrievesSummaryAnalyticsDataRelatedToClients, RetrievesSummaryAnalyticsDataRelatedToClientsHeaderParams *RetrievesSummaryAnalyticsDataRelatedToClientsHeaderParams) (*ResponseClientsRetrievesSummaryAnalyticsDataRelatedToClients, *resty.Response, error) { path := "/dna/data/api/v1/clients/summaryAnalytics" @@ -1743,7 +1743,7 @@ func (s *ClientsService) RetrievesSummaryAnalyticsDataRelatedToClients(requestCl @param RetrievesTheTopNAnalyticsDataRelatedToClientsHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-top-n-analytics-data-related-to-clients-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-top-n-analytics-data-related-to-clients */ func (s *ClientsService) RetrievesTheTopNAnalyticsDataRelatedToClients(requestClientsRetrievesTheTopNAnalyticsDataRelatedToClients *RequestClientsRetrievesTheTopNAnalyticsDataRelatedToClients, RetrievesTheTopNAnalyticsDataRelatedToClientsHeaderParams *RetrievesTheTopNAnalyticsDataRelatedToClientsHeaderParams) (*ResponseClientsRetrievesTheTopNAnalyticsDataRelatedToClients, *resty.Response, error) { path := "/dna/data/api/v1/clients/topNAnalytics" @@ -1793,7 +1793,7 @@ func (s *ClientsService) RetrievesTheTopNAnalyticsDataRelatedToClients(requestCl @param RetrievesTheTrendAnalyticsDataRelatedToClientsHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-trend-analytics-data-related-to-clients-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-trend-analytics-data-related-to-clients */ func (s *ClientsService) RetrievesTheTrendAnalyticsDataRelatedToClients(requestClientsRetrievesTheTrendAnalyticsDataRelatedToClients *RequestClientsRetrievesTheTrendAnalyticsDataRelatedToClients, RetrievesTheTrendAnalyticsDataRelatedToClientsHeaderParams *RetrievesTheTrendAnalyticsDataRelatedToClientsHeaderParams) (*ResponseClientsRetrievesTheTrendAnalyticsDataRelatedToClients, *resty.Response, error) { path := "/dna/data/api/v1/clients/trendAnalytics" @@ -1841,11 +1841,11 @@ func (s *ClientsService) RetrievesTheTrendAnalyticsDataRelatedToClients(requestC /* Retrieves the time series information of a specific client by applying complex filters, aggregate functions, and grouping. The data will be grouped based on the specified trend time interval. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-clients1-1.0.0-resolved.yaml -@param id id path parameter. id is the client mac address. It can be specified in one of the notational conventions 01:23:45:67:89:AB or 01-23-45-67-89-AB or 0123.4567.89AB and is case insensitive +@param id id path parameter. id is the client mac address. It can be specified in one of the notational conventions 01:23:45:67:89:AB or 01-23-45-67-89-AB or 0123.4567.89AB and is case insensitive @param RetrievesSpecificClientInformationOverASpecifiedPeriodOfTimeHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-specific-client-information-over-a-specified-period-of-time-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-specific-client-information-over-a-specified-period-of-time */ func (s *ClientsService) RetrievesSpecificClientInformationOverASpecifiedPeriodOfTime(id string, requestClientsRetrievesSpecificClientInformationOverASpecifiedPeriodOfTime *RequestClientsRetrievesSpecificClientInformationOverASpecifiedPeriodOfTime, RetrievesSpecificClientInformationOverASpecifiedPeriodOfTimeHeaderParams *RetrievesSpecificClientInformationOverASpecifiedPeriodOfTimeHeaderParams) (*ResponseClientsRetrievesSpecificClientInformationOverASpecifiedPeriodOfTime, *resty.Response, error) { path := "/dna/data/api/v1/clients/{id}/trendAnalytics" diff --git a/sdk/command_runner.go b/sdk/command_runner.go index a422657..10f3291 100644 --- a/sdk/command_runner.go +++ b/sdk/command_runner.go @@ -34,7 +34,7 @@ type RequestCommandRunnerRunReadOnlyCommandsOnDevicesToGetTheirRealTimeConfigura -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-keywords-of-clis-accepted-by-command-runner-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-keywords-of-clis-accepted-by-command-runner */ func (s *CommandRunnerService) GetAllKeywordsOfClisAcceptedByCommandRunner() (*ResponseCommandRunnerGetAllKeywordsOfClisAcceptedByCommandRunner, *resty.Response, error) { path := "/dna/intent/api/v1/network-device-poller/cli/legit-reads" @@ -68,7 +68,7 @@ func (s *CommandRunnerService) GetAllKeywordsOfClisAcceptedByCommandRunner() (*R -Documentation Link: https://developer.cisco.com/docs/dna-center/#!run-read-only-commands-on-devices-to-get-their-real-time-configuration-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!run-read-only-commands-on-devices-to-get-their-real-time-configuration */ func (s *CommandRunnerService) RunReadOnlyCommandsOnDevicesToGetTheirRealTimeConfiguration(requestCommandRunnerRunReadOnlyCommandsOnDevicesToGetTheirRealTimeConfiguration *RequestCommandRunnerRunReadOnlyCommandsOnDevicesToGetTheirRealTimeConfiguration) (*ResponseCommandRunnerRunReadOnlyCommandsOnDevicesToGetTheirRealTimeConfiguration, *resty.Response, error) { path := "/dna/intent/api/v1/network-device-poller/cli/read-request" diff --git a/sdk/compliance.go b/sdk/compliance.go index 79e5bbf..5bb4102 100644 --- a/sdk/compliance.go +++ b/sdk/compliance.go @@ -12,8 +12,10 @@ import ( type ComplianceService service type GetComplianceStatusQueryParams struct { - ComplianceStatus string `url:"complianceStatus,omitempty"` //Specify "Compliance status(es)" separated by commas. The Compliance status can be 'COMPLIANT', 'NON_COMPLIANT', 'IN_PROGRESS', 'NOT_AVAILABLE', 'NOT_APPLICABLE', 'ERROR'. - DeviceUUID string `url:"deviceUuid,omitempty"` //Comma separated 'Device Ids' + ComplianceStatus string `url:"complianceStatus,omitempty"` //Specify "Compliance status(es)" separated by commas. The Compliance status can be 'COMPLIANT', 'NON_COMPLIANT', 'IN_PROGRESS', 'NOT_AVAILABLE', 'NOT_APPLICABLE', 'ERROR'. + DeviceUUID string `url:"deviceUuid,omitempty"` //Comma separated 'Device Ids' + Offset float64 `url:"offset,omitempty"` //offset/starting row number + Limit float64 `url:"limit,omitempty"` //The number of records to be retrieved defaults to 500 if not specified, with a maximum allowed limit of 500. } type GetComplianceStatusCountQueryParams struct { ComplianceStatus string `url:"complianceStatus,omitempty"` //Specify "Compliance status(es)" separated by commas. The Compliance status can be 'COMPLIANT', 'NON_COMPLIANT', 'IN_PROGRESS', 'NOT_AVAILABLE', 'NOT_APPLICABLE', 'ERROR'. @@ -23,20 +25,223 @@ type GetComplianceDetailQueryParams struct { ComplianceStatus string `url:"complianceStatus,omitempty"` //Specify "Compliance status(es)" in commas. The Compliance status can be 'COMPLIANT', 'NON_COMPLIANT', 'IN_PROGRESS', 'NOT_AVAILABLE', 'NOT_APPLICABLE', 'ERROR'. DeviceUUID string `url:"deviceUuid,omitempty"` //Comma separated "Device Id(s)" Offset float64 `url:"offset,omitempty"` //offset/starting row - Limit float64 `url:"limit,omitempty"` //Number of records to be retrieved + Limit float64 `url:"limit,omitempty"` //The number of records to be retrieved defaults to 500 if not specified, with a maximum allowed limit of 500. } type GetComplianceDetailCountQueryParams struct { ComplianceType string `url:"complianceType,omitempty"` //Specify "Compliance type(s)" separated by commas. The Compliance type can be 'APPLICATION_VISIBILITY', 'EoX', 'FABRIC', 'IMAGE', 'NETWORK_PROFILE', 'NETWORK_SETTINGS', 'PSIRT', 'RUNNING_CONFIG', 'WORKFLOW'. ComplianceStatus string `url:"complianceStatus,omitempty"` //Specify "Compliance status(es)" separated by commas. The Compliance status can be 'COMPLIANT', 'NON_COMPLIANT', 'IN_PROGRESS', 'NOT_AVAILABLE', 'NOT_APPLICABLE', 'ERROR'. } type ComplianceDetailsOfDeviceQueryParams struct { - Category string `url:"category,omitempty"` //category can have any value among 'INTENT', 'RUNNING_CONFIG' , 'IMAGE' , 'PSIRT' , 'DESIGN_OOD' , 'EoX' , 'NETWORK_SETTINGS' - ComplianceType string `url:"complianceType,omitempty"` //Specify "Compliance type(s)" separated by commas. The Compliance type can be 'APPLICATION_VISIBILITY', 'EoX', 'FABRIC', 'IMAGE', 'NETWORK_PROFILE', 'NETWORK_SETTINGS', 'PSIRT', 'RUNNING_CONFIG', 'WORKFLOW'. - DiffList bool `url:"diffList,omitempty"` //diff list [ pass true to fetch the diff list ] + Category string `url:"category,omitempty"` //category can have any value among 'INTENT', 'RUNNING_CONFIG' , 'IMAGE' , 'PSIRT' , 'DESIGN_OOD' , 'EOX' , 'NETWORK_SETTINGS' + ComplianceType string `url:"complianceType,omitempty"` //Specify "Compliance type(s)" separated by commas. The Compliance type can be 'APPLICATION_VISIBILITY', 'EOX', 'FABRIC', 'IMAGE', 'NETWORK_PROFILE', 'NETWORK_SETTINGS', 'PSIRT', 'RUNNING_CONFIG', 'WORKFLOW'. + DiffList bool `url:"diffList,omitempty"` //diff list [ pass true to fetch the diff list ] + Status string `url:"status,omitempty"` //'COMPLIANT', 'NON_COMPLIANT', 'ERROR', 'IN_PROGRESS', 'NOT_APPLICABLE', 'NOT_AVAILABLE', 'WARNING', 'REMEDIATION_IN_PROGRESS' can be the value of the compliance 'status' parameter. [COMPLIANT: Device currently meets the compliance requirements. NON_COMPLIANT: One of the compliance requirements like Software Image, PSIRT, Network Profile, Startup vs Running, etc. are not met. ERROR: Compliance is unable to compute status due to underlying errors. IN_PROGRESS: Compliance check is in progress for the device. NOT_APPLICABLE: Device is not supported for compliance, or minimum license requirement is not met. NOT_AVAILABLE: Compliance is not available for the device. COMPLIANT_WARNING: The device is compliant with warning if the last date of support is nearing. REMEDIATION_IN_PROGRESS: Compliance remediation is in progress for the device.] + RemediationSupported bool `url:"remediationSupported,omitempty"` //The 'remediationSupported' parameter can be set to 'true' or 'false'. The result will be a combination of both values if it is not provided. +} +type GetFieldNoticeNetworkDevicesQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Id of the network device + ScanStatus string `url:"scanStatus,omitempty"` //Status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED. + NoticeCount float64 `url:"noticeCount,omitempty"` //Return network devices with noticeCount greater than this noticeCount + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc. +} +type GetCountOfFieldNoticeNetworkDevicesQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Id of the network device + ScanStatus string `url:"scanStatus,omitempty"` //Status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED. + NoticeCount float64 `url:"noticeCount,omitempty"` //Return network devices with noticeCount greater than this noticeCount +} +type GetFieldNoticesAffectingTheNetworkDeviceQueryParams struct { + ID string `url:"id,omitempty"` //Id of the field notice + Type string `url:"type,omitempty"` //Return field notices with this type. Available values : SOFTWARE, HARDWARE. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc. +} +type GetCountOfFieldNoticesAffectingTheNetworkDeviceQueryParams struct { + ID string `url:"id,omitempty"` //Id of the field notice + Type string `url:"type,omitempty"` //Return field notices with this type. Available values : SOFTWARE, HARDWARE +} +type GetFieldNoticesQueryParams struct { + ID string `url:"id,omitempty"` //Id of the field notice + DeviceCount float64 `url:"deviceCount,omitempty"` //Return field notices with deviceCount greater than this deviceCount + Type string `url:"type,omitempty"` //Return field notices with this type. Available values : SOFTWARE, HARDWARE. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc. +} +type GetCountOfFieldNoticesQueryParams struct { + ID string `url:"id,omitempty"` //Id of the field notice + DeviceCount float64 `url:"deviceCount,omitempty"` //Return field notices with deviceCount greater than this deviceCount + Type string `url:"type,omitempty"` //Return field notices with this type. Available values : SOFTWARE, HARDWARE +} +type GetFieldNoticeNetworkDevicesForTheNoticeQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Id of the network device + ScanStatus string `url:"scanStatus,omitempty"` //Status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc. +} +type GetCountOfFieldNoticeNetworkDevicesForTheNoticeQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //id of the network device + ScanStatus string `url:"scanStatus,omitempty"` //status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED. +} +type GetFieldNoticesResultsTrendOverTimeQueryParams struct { + ScanTime float64 `url:"scanTime,omitempty"` //Return field notices trend with scanTime greater than this scanTime + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. +} +type GetCountOfFieldNoticesResultsTrendOverTimeQueryParams struct { + ScanTime float64 `url:"scanTime,omitempty"` //Return field notices trend with scanTime greater than this scanTime +} +type TriggersAFieldNoticesScanForTheSupportedNetworkDevicesQueryParams struct { + FailedDevicesOnly bool `url:"failedDevicesOnly,omitempty"` //Used to specify if the scan should run only for the network devices that failed during the previous scan. If not specified, this parameter defaults to false. } type GetConfigTaskDetailsQueryParams struct { ParentTaskID string `url:"parentTaskId,omitempty"` //task Id } +type GetNetworkBugsQueryParams struct { + ID string `url:"id,omitempty"` //The id of the network bug + DeviceCount float64 `url:"deviceCount,omitempty"` //Return network bugs with deviceCount greater than this deviceCount + Severity string `url:"severity,omitempty"` //Return network bugs with this severity. Available values : CATASTROPHIC, SEVERE, MODERATE + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1 + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc +} +type GetCountOfNetworkBugsQueryParams struct { + ID string `url:"id,omitempty"` //Id of the network bug + DeviceCount float64 `url:"deviceCount,omitempty"` //Return network bugs with deviceCount greater than this deviceCount + Severity string `url:"severity,omitempty"` //Return network bugs with this severity. Available values : CATASTROPHIC, SEVERE, MODERATE +} +type GetNetworkBugDevicesForTheBugQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Id of the network device + ScanMode string `url:"scanMode,omitempty"` //Mode or the criteria using which the network device was scanned. Available values : ESSENTIALS, ADVANTAGE, CX_CLOUD, NOT_AVAILABLE + ScanStatus string `url:"scanStatus,omitempty"` //Status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED, FALL_BACK + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1 + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc +} +type GetCountOfNetworkBugDevicesForTheBugQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Id of the network device + ScanMode string `url:"scanMode,omitempty"` //Mode or the criteria using which the network device was scanned. Available values : ESSENTIALS, ADVANTAGE, CX_CLOUD, NOT_AVAILABLE + ScanStatus string `url:"scanStatus,omitempty"` //Status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED, FALL_BACK +} +type GetNetworkBugDevicesQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Id of the network device + ScanMode string `url:"scanMode,omitempty"` //Mode or the criteria using which the network device was scanned. Available values : ESSENTIALS, ADVANTAGE, CX_CLOUD, NOT_AVAILABLE + ScanStatus string `url:"scanStatus,omitempty"` //Status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED, FALL_BACK + BugCount float64 `url:"bugCount,omitempty"` //Return network devices with bugCount greater than this bugCount + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc +} +type GetCountOfNetworkBugDevicesQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Id of the network device + ScanMode string `url:"scanMode,omitempty"` //Mode or the criteria using which the network device was scanned. Available values : ESSENTIALS, ADVANTAGE, CX_CLOUD, NOT_AVAILABLE + ScanStatus string `url:"scanStatus,omitempty"` //Status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED, FALL_BACK + BugCount float64 `url:"bugCount,omitempty"` //Return network devices with bugCount greater than this bugCount +} +type GetBugsAffectingTheNetworkDeviceQueryParams struct { + ID string `url:"id,omitempty"` //Id of the network bug + Severity string `url:"severity,omitempty"` //Return network bugs with this severity. Available values : CATASTROPHIC, SEVERE, MODERATE. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc. +} +type GetCountOfBugsAffectingTheNetworkDeviceQueryParams struct { + ID string `url:"id,omitempty"` //Id of the network bug + Severity string `url:"severity,omitempty"` //Return network bugs with this severity. Available values : CATASTROPHIC, SEVERE, MODERATE +} +type GetNetworkBugsResultsTrendOverTimeQueryParams struct { + ScanTime float64 `url:"scanTime,omitempty"` //Return bugs trend with scanTime greater than this scanTime + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. +} +type GetCountOfNetworkBugsResultsTrendOverTimeQueryParams struct { + ScanTime float64 `url:"scanTime,omitempty"` //Return bugs trend with scanTime greater than this scanTime +} +type TriggersABugsScanForTheSupportedNetworkDevicesQueryParams struct { + FailedDevicesOnly bool `url:"failedDevicesOnly,omitempty"` //Used to specify if the scan should run only for the network devices that failed during the previous scan. If not specified, this parameter defaults to false. +} +type GetSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams struct { + ID string `url:"id,omitempty"` //Id of the advisory + DeviceCount float64 `url:"deviceCount,omitempty"` //Return advisories with deviceCount greater than this deviceCount + CvssBaseScore string `url:"cvssBaseScore,omitempty"` //Return advisories with cvssBaseScore greater than this cvssBaseScore. E.g. : 8.5 + SecurityImpactRating string `url:"securityImpactRating,omitempty"` //Return advisories with this securityImpactRating. Available values : CRITICAL, HIGH. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc. +} +type GetCountOfSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams struct { + ID string `url:"id,omitempty"` //Id of the security advisory + DeviceCount float64 `url:"deviceCount,omitempty"` //Return advisories with deviceCount greater than this deviceCount + CvssBaseScore string `url:"cvssBaseScore,omitempty"` //Return advisories with cvssBaseScore greater than this cvssBaseScore. E.g. : 8.5 + SecurityImpactRating string `url:"securityImpactRating,omitempty"` //Return advisories with this securityImpactRating. Available values : CRITICAL, HIGH. +} +type GetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Id of the network device + ScanMode string `url:"scanMode,omitempty"` //Mode or the criteria using which the network device was scanned. Available values : ESSENTIALS, ADVANTAGE, CX_CLOUD, NOT_AVAILABLE + ScanStatus string `url:"scanStatus,omitempty"` //Status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED, FALL_BACK. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc. +} +type GetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Id of the network device + ScanMode string `url:"scanMode,omitempty"` //Mode or the criteria using which the network device was scanned. Available values : ESSENTIALS, ADVANTAGE, CX_CLOUD, NOT_AVAILABLE + ScanStatus string `url:"scanStatus,omitempty"` //Status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED, FALL_BACK. +} +type GetSecurityAdvisoryNetworkDevicesQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Id of the network device + ScanMode string `url:"scanMode,omitempty"` //Mode or the criteria using which the network device was scanned. Available values : ESSENTIALS, ADVANTAGE, CX_CLOUD, NOT_AVAILABLE + ScanStatus string `url:"scanStatus,omitempty"` //Status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED, FALL_BACK. + AdvisoryCount string `url:"advisoryCount,omitempty"` //Return network devices with advisoryCount greater than this advisoryCount + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc. +} +type GetCountOfSecurityAdvisoryNetworkDevicesQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Id of the network device + ScanMode string `url:"scanMode,omitempty"` //Mode or the criteria using which the network device was scanned. Available values : ESSENTIALS, ADVANTAGE, CX_CLOUD, NOT_AVAILABLE + ScanStatus string `url:"scanStatus,omitempty"` //Status of the scan on the network device. Available values : NOT_SCANNED, IN_PROGRESS, SUCCESS, FAILED, FALL_BACK. + AdvisoryCount float64 `url:"advisoryCount,omitempty"` //Return network devices with advisoryCount greater than this advisoryCount +} +type GetSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams struct { + ID string `url:"id,omitempty"` //Id of the security advisory + CvssBaseScore string `url:"cvssBaseScore,omitempty"` //Return advisories with cvssBaseScore greater than this cvssBaseScore. E.g. : 8.5 + SecurityImpactRating string `url:"securityImpactRating,omitempty"` //Return advisories with this securityImpactRating. Available values : CRITICAL, HIGH. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. Default value is asc. +} +type GetCountOfSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams struct { + ID string `url:"id,omitempty"` //Id of the security advisory + CvssBaseScore string `url:"cvssBaseScore,omitempty"` //Return advisories with cvssBaseScore greater than this cvssBaseScore. E.g. : 8.5 + SecurityImpactRating string `url:"securityImpactRating,omitempty"` //Return advisories with this securityImpactRating. Available values : CRITICAL, HIGH. +} +type GetSecurityAdvisoriesResultsTrendOverTimeQueryParams struct { + ScanTime float64 `url:"scanTime,omitempty"` //Return advisories trend with scanTime greater than this scanTime + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Default value is 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Minimum value is 1. Maximum value is 500. Default value is 500. +} +type GetCountOfSecurityAdvisoriesResultsTrendOverTimeQueryParams struct { + ScanTime float64 `url:"scanTime,omitempty"` //Return advisories trend with scanTime greater than this scanTime +} +type TriggersASecurityAdvisoriesScanForTheSupportedNetworkDevicesQueryParams struct { + FailedDevicesOnly bool `url:"failedDevicesOnly,omitempty"` //Used to specify if the scan should run only for the network devices that failed during the previous scan. If not specified, this parameter defaults to false. +} type ResponseComplianceGetComplianceStatus struct { Version string `json:"version,omitempty"` // Version of the API. @@ -66,14 +271,15 @@ type ResponseComplianceGetComplianceDetail struct { Response *[]ResponseComplianceGetComplianceDetailResponse `json:"response,omitempty"` // } type ResponseComplianceGetComplianceDetailResponse struct { - ComplianceType string `json:"complianceType,omitempty"` // Compliance type corresponds to a tile on the UI. Will be one of NETWORK_PROFILE, IMAGE, APPLICATION_VISIBILITY, FABRIC, PSIRT, RUNNING_CONFIG, NETWORK_SETTINGS, WORKFLOW, or EoX. - LastSyncTime *float64 `json:"lastSyncTime,omitempty"` // Timestamp when the status changed from different value to the current value. - DeviceUUID string `json:"deviceUuid,omitempty"` // UUID of the device. - DisplayName string `json:"displayName,omitempty"` // User friendly name for the configuration. - Status string `json:"status,omitempty"` // Current status of compliance for the complianceType. Will be one of COMPLIANT, NON_COMPLIANT, ERROR, IN_PROGRESS, NOT_APPLICABLE, NOT_AVAILABLE, COMPLIANT_WARNING, REMEDIATION_IN_PROGRESS, or ABORTED. - Category string `json:"category,omitempty"` // category can have any value among 'INTENT'(mapped to compliance types: NETWORK_SETTINGS,NETWORK_PROFILE,WORKFLOW,FABRIC,APPLICATION_VISIBILITY), 'RUNNING_CONFIG' , 'IMAGE' , 'PSIRT' , 'EoX' , 'NETWORK_SETTINGS'. - LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Timestamp when the latest compliance checks ran. - State string `json:"state,omitempty"` // State of latest compliance check for the complianceType. Will be one of SUCCESS, FAILED, or IN_PROGRESS. + ComplianceType string `json:"complianceType,omitempty"` // Compliance type corresponds to a tile on the UI. Will be one of NETWORK_PROFILE, IMAGE, APPLICATION_VISIBILITY, FABRIC, PSIRT, RUNNING_CONFIG, NETWORK_SETTINGS, WORKFLOW, or EoX. + LastSyncTime *float64 `json:"lastSyncTime,omitempty"` // Timestamp when the status changed from different value to the current value. + DeviceUUID string `json:"deviceUuid,omitempty"` // UUID of the device. + DisplayName string `json:"displayName,omitempty"` // User friendly name for the configuration. + Status string `json:"status,omitempty"` // Current status of compliance for the complianceType. Will be one of COMPLIANT, NON_COMPLIANT, ERROR, IN_PROGRESS, NOT_APPLICABLE, NOT_AVAILABLE, COMPLIANT_WARNING, REMEDIATION_IN_PROGRESS, or ABORTED. + Category string `json:"category,omitempty"` // category can have any value among 'INTENT'(mapped to compliance types: NETWORK_SETTINGS,NETWORK_PROFILE,WORKFLOW,FABRIC,APPLICATION_VISIBILITY), 'RUNNING_CONFIG' , 'IMAGE' , 'PSIRT' , 'EoX' , 'NETWORK_SETTINGS'. + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Timestamp when the latest compliance checks ran. + State string `json:"state,omitempty"` // State of latest compliance check for the complianceType. Will be one of SUCCESS, FAILED, or IN_PROGRESS. + RemediationSupported *bool `json:"remediationSupported,omitempty"` // Indicates whether remediation is supported for this compliance type or not } type ResponseComplianceGetComplianceDetailCount struct { Version string `json:"version,omitempty"` // Version of API. @@ -159,6 +365,190 @@ type ResponseComplianceComplianceDetailsOfDeviceResponseSourceInfoListDiffListEx DataConverter string `json:"dataConverter,omitempty"` // Name of the converter used to display configurations in user-friendly format, if available. Type string `json:"type,omitempty"` // Type of this attribute.(example type can be Intent) } +type ResponseComplianceGetFieldNoticeNetworkDevices struct { + Response *[]ResponseComplianceGetFieldNoticeNetworkDevicesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetFieldNoticeNetworkDevicesResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + NoticeCount *int `json:"noticeCount,omitempty"` // Number of field notices to which the network device is vulnerable + PotentialNoticeCount *int `json:"potentialNoticeCount,omitempty"` // Number of potential field notices to which the network device is vulnerable + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetCountOfFieldNoticeNetworkDevices struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfFieldNoticeNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfFieldNoticeNetworkDevicesResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetFieldNoticeNetworkDeviceByDeviceID struct { + Response *ResponseComplianceGetFieldNoticeNetworkDeviceByDeviceIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetFieldNoticeNetworkDeviceByDeviceIDResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + NoticeCount *int `json:"noticeCount,omitempty"` // Number of field notices to which the network device is vulnerable + PotentialNoticeCount *int `json:"potentialNoticeCount,omitempty"` // Number of potential field notices to which the network device is vulnerable + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetFieldNoticesAffectingTheNetworkDevice struct { + Response *[]ResponseComplianceGetFieldNoticesAffectingTheNetworkDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetFieldNoticesAffectingTheNetworkDeviceResponse struct { + ID string `json:"id,omitempty"` // Id of the field notice + Name string `json:"name,omitempty"` // Name of the field notice + PublicationURL *int `json:"publicationUrl,omitempty"` // Url for getting field notice details on cisco website + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this field notice + PotentialDeviceCount *int `json:"potentialDeviceCount,omitempty"` // Number of devices which are potentially vulnerable to this field notice + Type string `json:"type,omitempty"` // 'SOFTWARE' - field notice is for the network device software. 'HARDWARE' - field notice is for the network device hardware + FirstPublishDate *int `json:"firstPublishDate,omitempty"` // Time at which the field notice was published + LastUpdatedDate *int `json:"lastUpdatedDate,omitempty"` // Time at which the field notice was last updated + MatchConfidence string `json:"matchConfidence,omitempty"` // 'VULNERABLE' - network device is vulnerable to the field notice. 'POTENTIALLY_VULNERABLE' - network device is potentially vulnerable to the field notice. additional manual verifications are needed. + MatchReason string `json:"matchReason,omitempty"` // If the MatchConfidence is POTENTIALLY_VULNERABLE, this gives more details such as what was matched and if additional manual verifications are needed. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device +} +type ResponseComplianceGetCountOfFieldNoticesAffectingTheNetworkDevice struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfFieldNoticesAffectingTheNetworkDeviceResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfFieldNoticesAffectingTheNetworkDeviceResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetFieldNoticeAffectingTheNetworkDeviceByDeviceIDAndNoticeID struct { + Response *ResponseComplianceGetFieldNoticeAffectingTheNetworkDeviceByDeviceIDAndNoticeIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetFieldNoticeAffectingTheNetworkDeviceByDeviceIDAndNoticeIDResponse struct { + ID string `json:"id,omitempty"` // Id of the field notice + Name string `json:"name,omitempty"` // Name of the field notice + PublicationURL string `json:"publicationUrl,omitempty"` // Url for getting field notice details on cisco website + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this field notice + PotentialDeviceCount *int `json:"potentialDeviceCount,omitempty"` // Number of devices which are potentially vulnerable to this field notice + Type string `json:"type,omitempty"` // 'SOFTWARE' - field notice is for the network device software. 'HARDWARE' - field notice is for the network device hardware + FirstPublishDate *int `json:"firstPublishDate,omitempty"` // Time at which the field notice was published + LastUpdatedDate *int `json:"lastUpdatedDate,omitempty"` // Time at which the field notice was last updated + MatchConfidence string `json:"matchConfidence,omitempty"` // 'VULNERABLE' - network device is vulnerable to the field notice. 'POTENTIALLY_VULNERABLE' - network device is potentially vulnerable to the field notice. additional manual verifications are needed. + MatchReason string `json:"matchReason,omitempty"` // If the MatchConfidence is POTENTIALLY_VULNERABLE, this gives more details such as what was matched and if additional manual verifications are needed. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device +} +type ResponseComplianceGetFieldNotices struct { + Response *[]ResponseComplianceGetFieldNoticesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetFieldNoticesResponse struct { + ID string `json:"id,omitempty"` // Id of the field notice + Name string `json:"name,omitempty"` // Name of the field notice + PublicationURL string `json:"publicationUrl,omitempty"` // Url for getting field notice details on cisco website + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this field notice + PotentialDeviceCount *int `json:"potentialDeviceCount,omitempty"` // Number of devices which are potentially vulnerable to this field notice + Type string `json:"type,omitempty"` // 'SOFTWARE' - field notice is for the network device software. 'HARDWARE' - field notice is for the network device hardware + FirstPublishDate *int `json:"firstPublishDate,omitempty"` // Time at which the field notice was published + LastUpdatedDate *int `json:"lastUpdatedDate,omitempty"` // Time at which the field notice was last updated +} +type ResponseComplianceGetCountOfFieldNotices struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfFieldNoticesResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfFieldNoticesResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetFieldNoticeByID struct { + Response *ResponseComplianceGetFieldNoticeByIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetFieldNoticeByIDResponse struct { + ID string `json:"id,omitempty"` // Id of the field notice + Name string `json:"name,omitempty"` // Name of the field notice + PublicationURL string `json:"publicationUrl,omitempty"` // Url for getting field notice details on cisco website + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this field notice + PotentialDeviceCount *int `json:"potentialDeviceCount,omitempty"` // Number of devices which are potentially vulnerable to this field notice + Type string `json:"type,omitempty"` // 'SOFTWARE' - field notice is for the network device software. 'HARDWARE' - field notice is for the network device hardware + FirstPublishDate *int `json:"firstPublishDate,omitempty"` // Time at which the field notice was published + LastUpdatedDate *int `json:"lastUpdatedDate,omitempty"` // Time at which the field notice was last updated +} +type ResponseComplianceGetFieldNoticeNetworkDevicesForTheNotice struct { + Response *[]ResponseComplianceGetFieldNoticeNetworkDevicesForTheNoticeResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetFieldNoticeNetworkDevicesForTheNoticeResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + NoticeCount *int `json:"noticeCount,omitempty"` // Number of field notices to which the network device is vulnerable + PotentialNoticeCount *int `json:"potentialNoticeCount,omitempty"` // Number of potential field notices to which the network device is vulnerable + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetCountOfFieldNoticeNetworkDevicesForTheNotice struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfFieldNoticeNetworkDevicesForTheNoticeResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfFieldNoticeNetworkDevicesForTheNoticeResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetFieldNoticeNetworkDeviceForTheNoticeByNetworkDeviceID struct { + Response *ResponseComplianceGetFieldNoticeNetworkDeviceForTheNoticeByNetworkDeviceIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetFieldNoticeNetworkDeviceForTheNoticeByNetworkDeviceIDResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + NoticeCount *int `json:"noticeCount,omitempty"` // Number of field notices to which the network device is vulnerable + PotentialNoticeCount *int `json:"potentialNoticeCount,omitempty"` // Number of potential field notices to which the network device is vulnerable + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetFieldNoticesResultsTrendOverTime struct { + Response *[]ResponseComplianceGetFieldNoticesResultsTrendOverTimeResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetFieldNoticesResultsTrendOverTimeResponse struct { + ScanTime *int `json:"scanTime,omitempty"` // End time for the scan + SoftwareFieldNoticesCount *int `json:"softwareFieldNoticesCount,omitempty"` // Number of field notices of type SOFTWARE + HardwareFieldNoticesCount *int `json:"hardwareFieldNoticesCount,omitempty"` // Number of field notices of type HARDWARE +} +type ResponseComplianceGetCountOfFieldNoticesResultsTrendOverTime struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfFieldNoticesResultsTrendOverTimeResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfFieldNoticesResultsTrendOverTimeResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceCreatesATrialForFieldNoticesDetectionOnNetworkDevices struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseComplianceCreatesATrialForFieldNoticesDetectionOnNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceCreatesATrialForFieldNoticesDetectionOnNetworkDevicesResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseComplianceGetTrialDetailsForFieldNoticesDetectionOnNetworkDevices struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetTrialDetailsForFieldNoticesDetectionOnNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetTrialDetailsForFieldNoticesDetectionOnNetworkDevicesResponse struct { + Type string `json:"type,omitempty"` // Type of trial: * 'feature - the trial is of type feature. this is the currently supported type. * 'contract' - the trial is of type contract. this was used in older versions and exists only for compatibility. + Feature string `json:"feature,omitempty"` // Name of the feature for which trial was created. for older versions that created contract type trials, this field will be absent. + ContractLevel string `json:"contractLevel,omitempty"` // Contract level for which trial was created. this was used in older versions and exists only for compatibility. + Active *bool `json:"active,omitempty"` // Indicates if the trial is active + StartTime *int `json:"startTime,omitempty"` // Trial start time; as measured in Unix epoch time in milliseconds + EndTime *int `json:"endTime,omitempty"` // Trial end time; as measured in Unix epoch time in milliseconds + SecondsRemainingToExpiry *int `json:"secondsRemainingToExpiry,omitempty"` // Seconds remaining in the trial before it expires. for expired trials this will be 0. + SecondsSinceExpired *int `json:"secondsSinceExpired,omitempty"` // Seconds elapsed after the trial has expired. for active trials this will be 0. +} +type ResponseComplianceTriggersAFieldNoticesScanForTheSupportedNetworkDevices struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseComplianceTriggersAFieldNoticesScanForTheSupportedNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceTriggersAFieldNoticesScanForTheSupportedNetworkDevicesResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} type ResponseComplianceGetConfigTaskDetails struct { Version string `json:"version,omitempty"` // Version of the API. Response *[]ResponseComplianceGetConfigTaskDetailsResponse `json:"response,omitempty"` // @@ -185,6 +575,381 @@ type ResponseComplianceCommitDeviceConfigurationResponse struct { URL string `json:"url,omitempty"` // Task Id url. TaskID string `json:"taskId,omitempty"` // Unique Id of task. } +type ResponseComplianceGetNetworkBugs struct { + Response *[]ResponseComplianceGetNetworkBugsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetNetworkBugsResponse struct { + ID string `json:"id,omitempty"` // Id of the network bug + Headline string `json:"headline,omitempty"` // Title of the network bug + PublicationURL string `json:"publicationUrl,omitempty"` // Url for getting network bug details on cisco website + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this network bug + Severity string `json:"severity,omitempty"` // 'CATASTROPHIC' - Reasonably common circumstances cause the entire system to fail, or a major subsystem to stop working. 'SEVERE' - Important functions are unusable. 'MODERATE' - Failures occur in unusual circumstances, or minor features do not work at all. + HasWorkaround *bool `json:"hasWorkaround,omitempty"` // Indicates if the network bug has a workaround + Workaround string `json:"workaround,omitempty"` // Workaround if any that exists for the network bug + AffectedVersions []string `json:"affectedVersions,omitempty"` // Versions that are affected by the network bug + IntegratedReleases []string `json:"integratedReleases,omitempty"` // Versions that have the fix for the network bug +} +type ResponseComplianceGetCountOfNetworkBugs struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfNetworkBugsResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfNetworkBugsResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetNetworkBugByID struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetNetworkBugByIDResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetNetworkBugByIDResponse struct { + ID string `json:"id,omitempty"` // Id of the network bug + Headline string `json:"headline,omitempty"` // Title of the network bug + PublicationURL string `json:"publicationUrl,omitempty"` // Url for getting network bug details on cisco website + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this network bug + Severity string `json:"severity,omitempty"` // 'CATASTROPHIC' - Reasonably common circumstances cause the entire system to fail, or a major subsystem to stop working. 'SEVERE' - Important functions are unusable. 'MODERATE' - Failures occur in unusual circumstances, or minor features do not work at all. + HasWorkaround *bool `json:"hasWorkaround,omitempty"` // Indicates if the network bug has a workaround + Workaround string `json:"workaround,omitempty"` // Workaround if any that exists for the network bug + AffectedVersions []string `json:"affectedVersions,omitempty"` // Versions that are affected by the network bug + IntegratedReleases []string `json:"integratedReleases,omitempty"` // Versions that have the fix for the network bug +} +type ResponseComplianceGetNetworkBugDevicesForTheBug struct { + Response *[]ResponseComplianceGetNetworkBugDevicesForTheBugResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetNetworkBugDevicesForTheBugResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + BugCount *int `json:"bugCount,omitempty"` // Number of bugs to which the network device is vulnerable + ScanMode string `json:"scanMode,omitempty"` // 'ESSENTIALS' - the device was scanned using a version based match criteria. 'CX_CLOUD' - the device was scanned using CX cloud engine which uses advanced matching criteria which eliminates false positives. 'ADVANTAGE' - the device was scanned using a version based match and user provided config match criteria. ‘NOT_AVAILABLE’ - scan mode is not available. e.g. when the device is not scanned + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed. 'FALL_BACK' - the device was supposed to be scanned using CX_CLOUD but because of connectivity issues fell back to a ESSENTIALS scan + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetCountOfNetworkBugDevicesForTheBug struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfNetworkBugDevicesForTheBugResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfNetworkBugDevicesForTheBugResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetNetworkBugDeviceForTheBugByNetworkDeviceID []ResponseItemComplianceGetNetworkBugDeviceForTheBugByNetworkDeviceID // Array of ResponseComplianceGetNetworkBugDeviceForTheBugByNetworkDeviceId +type ResponseItemComplianceGetNetworkBugDeviceForTheBugByNetworkDeviceID struct { + Response *ResponseItemComplianceGetNetworkBugDeviceForTheBugByNetworkDeviceIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseItemComplianceGetNetworkBugDeviceForTheBugByNetworkDeviceIDResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + BugCount *int `json:"bugCount,omitempty"` // Number of bugs to which the network device is vulnerable + ScanMode string `json:"scanMode,omitempty"` // 'ESSENTIALS' - the device was scanned using a version based match criteria. 'CX_CLOUD' - the device was scanned using CX cloud engine which uses advanced matching criteria which eliminates false positives. 'ADVANTAGE' - the device was scanned using a version based match and user provided config match criteria. ‘NOT_AVAILABLE’ - scan mode is not available. e.g. when the device is not scanned + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed. 'FALL_BACK' - the device was supposed to be scanned using CX_CLOUD but because of connectivity issues fell back to a ESSENTIALS scan + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetNetworkBugDevices struct { + Response *[]ResponseComplianceGetNetworkBugDevicesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetNetworkBugDevicesResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + BugCount *int `json:"bugCount,omitempty"` // Number of bugs to which the network device is vulnerable + ScanMode string `json:"scanMode,omitempty"` // 'ESSENTIALS' - the device was scanned using a version based match criteria. 'CX_CLOUD' - the device was scanned using CX cloud engine which uses advanced matching criteria which eliminates false positives. 'ADVANTAGE' - the device was scanned using a version based match and user provided config match criteria. ‘NOT_AVAILABLE’ - scan mode is not available. e.g. when the device is not scanned + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed. 'FALL_BACK' - the device was supposed to be scanned using CX_CLOUD but because of connectivity issues fell back to a ESSENTIALS scan + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetCountOfNetworkBugDevices struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfNetworkBugDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfNetworkBugDevicesResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetNetworkBugDeviceByDeviceID []ResponseItemComplianceGetNetworkBugDeviceByDeviceID // Array of ResponseComplianceGetNetworkBugDeviceByDeviceId +type ResponseItemComplianceGetNetworkBugDeviceByDeviceID struct { + Response *ResponseItemComplianceGetNetworkBugDeviceByDeviceIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseItemComplianceGetNetworkBugDeviceByDeviceIDResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + BugCount *int `json:"bugCount,omitempty"` // Number of bugs to which the network device is vulnerable + ScanMode string `json:"scanMode,omitempty"` // 'ESSENTIALS' - the device was scanned using a version based match criteria. 'CX_CLOUD' - the device was scanned using CX cloud engine which uses advanced matching criteria which eliminates false positives. 'ADVANTAGE' - the device was scanned using a version based match and user provided config match criteria. ‘NOT_AVAILABLE’ - scan mode is not available. e.g. when the device is not scanned + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed. 'FALL_BACK' - the device was supposed to be scanned using CX_CLOUD but because of connectivity issues fell back to a ESSENTIALS scan + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetBugsAffectingTheNetworkDevice struct { + Response *[]ResponseComplianceGetBugsAffectingTheNetworkDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetBugsAffectingTheNetworkDeviceResponse struct { + ID string `json:"id,omitempty"` // Id of the network bug + Headline string `json:"headline,omitempty"` // Title of the network bug + PublicationURL string `json:"publicationUrl,omitempty"` // Url for getting network bug details on cisco website + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this network bug + Severity string `json:"severity,omitempty"` // 'CATASTROPHIC' - Reasonably common circumstances cause the entire system to fail, or a major subsystem to stop working. 'SEVERE' - Important functions are unusable. 'MODERATE' - Failures occur in unusual circumstances, or minor features do not work at all. + HasWorkaround *bool `json:"hasWorkaround,omitempty"` // Indicates if the network bug has a workaround + Workaround string `json:"workaround,omitempty"` // Workaround if any that exists for the network bug + AffectedVersions []string `json:"affectedVersions,omitempty"` // Versions that are affected by the network bug + IntegratedReleases []string `json:"integratedReleases,omitempty"` // Versions that have the fix for the network bug +} +type ResponseComplianceGetCountOfBugsAffectingTheNetworkDevice struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfBugsAffectingTheNetworkDeviceResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfBugsAffectingTheNetworkDeviceResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetBugAffectingTheNetworkDeviceByDeviceIDAndBugID struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetBugAffectingTheNetworkDeviceByDeviceIDAndBugIDResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetBugAffectingTheNetworkDeviceByDeviceIDAndBugIDResponse struct { + ID string `json:"id,omitempty"` // Id of the network bug + Headline string `json:"headline,omitempty"` // Title of the network bug + PublicationURL string `json:"publicationUrl,omitempty"` // Url for getting network bug details on cisco website + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this network bug + Severity string `json:"severity,omitempty"` // 'CATASTROPHIC' - Reasonably common circumstances cause the entire system to fail, or a major subsystem to stop working. 'SEVERE' - Important functions are unusable. 'MODERATE' - Failures occur in unusual circumstances, or minor features do not work at all. + HasWorkaround *bool `json:"hasWorkaround,omitempty"` // Indicates if the network bug has a workaround + Workaround string `json:"workaround,omitempty"` // Workaround if any that exists for the network bug + AffectedVersions []string `json:"affectedVersions,omitempty"` // Versions that are affected by the network bug + IntegratedReleases []string `json:"integratedReleases,omitempty"` // Versions that have the fix for the network bug +} +type ResponseComplianceGetNetworkBugsResultsTrendOverTime struct { + Response *[]ResponseComplianceGetNetworkBugsResultsTrendOverTimeResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetNetworkBugsResultsTrendOverTimeResponse struct { + CatastrophicBugsCount *int `json:"catastrophicBugsCount,omitempty"` // Number of network bugs which have a severity of CATASTROPHIC + SevereBugsCount *int `json:"severeBugsCount,omitempty"` // Number of network bugs which have a severity of SEVERE + ModerateBugsCount *int `json:"moderateBugsCount,omitempty"` // Number of network bugs which have a severity of MODERATE + ScanTime *int `json:"scanTime,omitempty"` // End time for the scan +} +type ResponseComplianceGetCountOfNetworkBugsResultsTrendOverTime struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfNetworkBugsResultsTrendOverTimeResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfNetworkBugsResultsTrendOverTimeResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceCreatesATrialForBugsDetectionOnNetworkDevices struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseComplianceCreatesATrialForBugsDetectionOnNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceCreatesATrialForBugsDetectionOnNetworkDevicesResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseComplianceGetTrialDetailsForBugsDetectionOnNetworkDevices struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetTrialDetailsForBugsDetectionOnNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetTrialDetailsForBugsDetectionOnNetworkDevicesResponse struct { + Type string `json:"type,omitempty"` // Type of trial: * 'feature - the trial is of type feature. this is the currently supported type. * 'contract' - the trial is of type contract. this was used in older versions and exists only for compatibility. + Feature string `json:"feature,omitempty"` // Name of the feature for which trial was created. for older versions that created contract type trials, this field will be absent. + ContractLevel string `json:"contractLevel,omitempty"` // Contract level for which trial was created. this was used in older versions and exists only for compatibility. + Active *bool `json:"active,omitempty"` // Indicates if the trial is active + StartTime *int `json:"startTime,omitempty"` // Trial start time; as measured in Unix epoch time in milliseconds + EndTime *int `json:"endTime,omitempty"` // Trial end time; as measured in Unix epoch time in milliseconds + SecondsRemainingToExpiry *int `json:"secondsRemainingToExpiry,omitempty"` // Seconds remaining in the trial before it expires. for expired trials this will be 0. + SecondsSinceExpired *int `json:"secondsSinceExpired,omitempty"` // Seconds elapsed after the trial has expired. for active trials this will be 0. +} +type ResponseComplianceTriggersABugsScanForTheSupportedNetworkDevices struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseComplianceTriggersABugsScanForTheSupportedNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceTriggersABugsScanForTheSupportedNetworkDevicesResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevices struct { + Response *[]ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevicesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevicesResponse struct { + ID string `json:"id,omitempty"` // Id of the security advisory + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this advisory + CveIDs []string `json:"cveIds,omitempty"` // CVE (Common Vulnerabilities and Exposures) ID of the advisory + PublicationURL string `json:"publicationUrl,omitempty"` // Url for getting advisory details on cisco website + CvssBaseScore *float64 `json:"cvssBaseScore,omitempty"` // Common Vulnerability Scoring System(CVSS) base score + SecurityImpactRating string `json:"securityImpactRating,omitempty"` // 'CRITICAL' - the advisory requires immediate mitigation. 'HIGH' - the advisory requires priority mitigation + FirstFixedVersionsList *[]ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevicesResponseFirstFixedVersionsList `json:"firstFixedVersionsList,omitempty"` // +} +type ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevicesResponseFirstFixedVersionsList struct { + VulnerableVersion string `json:"vulnerableVersion,omitempty"` // Version that is vulnerable to the advisory + FixedVersions []string `json:"fixedVersions,omitempty"` // First versions that have the fix for the advisory +} +type ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDevices struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDevicesResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDevicesByID struct { + Response *ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDevicesByIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDevicesByIDResponse struct { + ID string `json:"id,omitempty"` // Id of the security advisory + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this advisory + CveIDs []string `json:"cveIds,omitempty"` // CVE (Common Vulnerabilities and Exposures) ID of the advisory + PublicationURL string `json:"publicationUrl,omitempty"` // Url for getting advisory details on cisco website + CvssBaseScore *float64 `json:"cvssBaseScore,omitempty"` // Common Vulnerability Scoring System(CVSS) base score + SecurityImpactRating string `json:"securityImpactRating,omitempty"` // 'CRITICAL' - the advisory requires immediate mitigation. 'HIGH' - the advisory requires priority mitigation + FirstFixedVersionsList *[]ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDevicesByIDResponseFirstFixedVersionsList `json:"firstFixedVersionsList,omitempty"` // +} +type ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDevicesByIDResponseFirstFixedVersionsList struct { + VulnerableVersion string `json:"vulnerableVersion,omitempty"` // Version that is vulnerable to the advisory + FixedVersions []string `json:"fixedVersions,omitempty"` // First versions that have the fix for the advisory +} +type ResponseComplianceGetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory struct { + Response *[]ResponseComplianceGetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + AdvisoryCount *int `json:"advisoryCount,omitempty"` // Number of advisories to which the network device is vulnerable + ScanMode string `json:"scanMode,omitempty"` // 'ESSENTIALS' - the device was scanned using a version based match criteria. 'ADVANTAGE' - the device was scanned using a version based match and user provided config match criteria. 'CX_CLOUD' - the device was scanned using CX cloud engine which uses advanced matching criteria which eliminates false positives. ‘NOT_AVAILABLE’ - scan mode is not available. e.g. when the device is not scanned + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed. 'FALL_BACK' - the device was supposed to be scanned using CX_CLOUD but because of connectivity issues fell back to a ESSENTIALS or ADVANTAGE scan + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetSecurityAdvisoryNetworkDeviceForTheSecurityAdvisoryByNetworkDeviceID struct { + Response *ResponseComplianceGetSecurityAdvisoryNetworkDeviceForTheSecurityAdvisoryByNetworkDeviceIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetSecurityAdvisoryNetworkDeviceForTheSecurityAdvisoryByNetworkDeviceIDResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + AdvisoryCount *int `json:"advisoryCount,omitempty"` // Number of advisories to which the network device is vulnerable + ScanMode string `json:"scanMode,omitempty"` // 'ESSENTIALS' - the device was scanned using a version based match criteria. 'ADVANTAGE' - the device was scanned using a version based match and user provided config match criteria. 'CX_CLOUD' - the device was scanned using CX cloud engine which uses advanced matching criteria which eliminates false positives. ‘NOT_AVAILABLE’ - scan mode is not available. e.g. when the device is not scanned + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed. 'FALL_BACK' - the device was supposed to be scanned using CX_CLOUD but because of connectivity issues fell back to a ESSENTIALS or ADVANTAGE scan + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetSecurityAdvisoryNetworkDevices struct { + Response *[]ResponseComplianceGetSecurityAdvisoryNetworkDevicesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetSecurityAdvisoryNetworkDevicesResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + AdvisoryCount *int `json:"advisoryCount,omitempty"` // Number of advisories to which the network device is vulnerable + ScanMode string `json:"scanMode,omitempty"` // 'ESSENTIALS' - the device was scanned using a version based match criteria. 'ADVANTAGE' - the device was scanned using a version based match and user provided config match criteria. 'CX_CLOUD' - the device was scanned using CX cloud engine which uses advanced matching criteria which eliminates false positives. ‘NOT_AVAILABLE’ - scan mode is not available. e.g. when the device is not scanned + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed. 'FALL_BACK' - the device was supposed to be scanned using CX_CLOUD but because of connectivity issues fell back to a ESSENTIALS or ADVANTAGE scan + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevices struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevicesResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetSecurityAdvisoryNetworkDeviceByNetworkDeviceID struct { + Response *ResponseComplianceGetSecurityAdvisoryNetworkDeviceByNetworkDeviceIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetSecurityAdvisoryNetworkDeviceByNetworkDeviceIDResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Id of the device + AdvisoryCount *int `json:"advisoryCount,omitempty"` // Number of advisories to which the network device is vulnerable + ScanMode string `json:"scanMode,omitempty"` // 'ESSENTIALS' - the device was scanned using a version based match criteria. 'ADVANTAGE' - the device was scanned using a version based match and user provided config match criteria. 'CX_CLOUD' - the device was scanned using CX cloud engine which uses advanced matching criteria which eliminates false positives. ‘NOT_AVAILABLE’ - scan mode is not available. e.g. when the device is not scanned + ScanStatus string `json:"scanStatus,omitempty"` // 'NOT_SCANNED' - the device was not scanned. 'IN_PROGRESS' - a scan is in progress for the device. 'SUCCESS' - device scan was successful. 'FAILED' - device scan failed. 'FALL_BACK' - the device was supposed to be scanned using CX_CLOUD but because of connectivity issues fell back to a ESSENTIALS or ADVANTAGE scan + Comments string `json:"comments,omitempty"` // More details about the scan status. ie:- if the scan status is failed, comments will give the reason for failure + LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the device was scanned +} +type ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevice struct { + Response *[]ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDeviceResponse struct { + ID string `json:"id,omitempty"` // Id of the security advisory + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this advisory + CveIDs []string `json:"cveIds,omitempty"` // CVE (Common Vulnerabilities and Exposures) ID of the advisory + PublicationURL string `json:"publicationUrl,omitempty"` // Url for getting advisory details on cisco website + CvssBaseScore *float64 `json:"cvssBaseScore,omitempty"` // Common Vulnerability Scoring System(CVSS) base score + SecurityImpactRating string `json:"securityImpactRating,omitempty"` // 'CRITICAL' - the advisory requires immediate mitigation. 'HIGH' - the advisory requires priority mitigation + FirstFixedVersionsList *[]ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDeviceResponseFirstFixedVersionsList `json:"firstFixedVersionsList,omitempty"` // +} +type ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDeviceResponseFirstFixedVersionsList struct { + VulnerableVersion string `json:"vulnerableVersion,omitempty"` // Version that is vulnerable to the advisory + FixedVersions []string `json:"fixedVersions,omitempty"` // First versions that have the fix for the advisory +} +type ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDevice struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDeviceResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDeviceResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIDAndAdvisoryID struct { + Response *ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIDAndAdvisoryIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIDAndAdvisoryIDResponse struct { + ID string `json:"id,omitempty"` // Id of the security advisory + DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices which are vulnerable to this advisory + CveIDs []string `json:"cveIds,omitempty"` // CVE (Common Vulnerabilities and Exposures) ID of the advisory + PublicationURL string `json:"publicationUrl,omitempty"` // Url for getting advisory details on cisco website + CvssBaseScore *float64 `json:"cvssBaseScore,omitempty"` // Common Vulnerability Scoring System(CVSS) base score + SecurityImpactRating string `json:"securityImpactRating,omitempty"` // 'CRITICAL' - the advisory requires immediate mitigation. 'HIGH' - the advisory requires priority mitigation + FirstFixedVersionsList *[]ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIDAndAdvisoryIDResponseFirstFixedVersionsList `json:"firstFixedVersionsList,omitempty"` // +} +type ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIDAndAdvisoryIDResponseFirstFixedVersionsList struct { + VulnerableVersion string `json:"vulnerableVersion,omitempty"` // Version that is vulnerable to the advisory + FixedVersions []string `json:"fixedVersions,omitempty"` // First versions that have the fix for the advisory +} +type ResponseComplianceGetSecurityAdvisoriesResultsTrendOverTime struct { + Response *[]ResponseComplianceGetSecurityAdvisoriesResultsTrendOverTimeResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseComplianceGetSecurityAdvisoriesResultsTrendOverTimeResponse struct { + CriticalSecurityImpactRatingAdvisoriesCount *int `json:"criticalSecurityImpactRatingAdvisoriesCount,omitempty"` // Number of advisories which have a security impact rating of critical + HighSecurityImpactRatingAdvisoriesCount *int `json:"highSecurityImpactRatingAdvisoriesCount,omitempty"` // Number of advisories which have a security impact rating of high + ScanTime *int `json:"scanTime,omitempty"` // End time for the scan +} +type ResponseComplianceGetCountOfSecurityAdvisoriesResultsTrendOverTime struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetCountOfSecurityAdvisoriesResultsTrendOverTimeResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetCountOfSecurityAdvisoriesResultsTrendOverTimeResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseComplianceGetTrialDetailsForSecurityAdvisoriesDetectionOnNetworkDevices struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseComplianceGetTrialDetailsForSecurityAdvisoriesDetectionOnNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceGetTrialDetailsForSecurityAdvisoriesDetectionOnNetworkDevicesResponse struct { + Type string `json:"type,omitempty"` // Type of trial: * 'feature - the trial is of type feature. this is the currently supported type. * 'contract' - the trial is of type contract. this was used in older versions and exists only for compatibility. + Feature string `json:"feature,omitempty"` // Name of the feature for which trial was created. for older versions that created contract type trials, this field will be absent. + ContractLevel string `json:"contractLevel,omitempty"` // Contract level for which trial was created. this was used in older versions and exists only for compatibility. + Active *bool `json:"active,omitempty"` // Indicates if the trial is active + StartTime *int `json:"startTime,omitempty"` // Trial start time; as measured in Unix epoch time in milliseconds + EndTime *int `json:"endTime,omitempty"` // Trial end time; as measured in Unix epoch time in milliseconds + SecondsRemainingToExpiry *int `json:"secondsRemainingToExpiry,omitempty"` // Seconds remaining in the trial before it expires. for expired trials this will be 0. + SecondsSinceExpired *int `json:"secondsSinceExpired,omitempty"` // Seconds elapsed after the trial has expired. for active trials this will be 0. +} +type ResponseComplianceCreatesATrialForSecurityAdvisoriesDetectionOnNetworkDevices struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseComplianceCreatesATrialForSecurityAdvisoriesDetectionOnNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceCreatesATrialForSecurityAdvisoriesDetectionOnNetworkDevicesResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseComplianceTriggersASecurityAdvisoriesScanForTheSupportedNetworkDevices struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseComplianceTriggersASecurityAdvisoriesScanForTheSupportedNetworkDevicesResponse `json:"response,omitempty"` // +} +type ResponseComplianceTriggersASecurityAdvisoriesScanForTheSupportedNetworkDevicesResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} type RequestComplianceRunCompliance struct { TriggerFull *bool `json:"triggerFull,omitempty"` // if it is true then compliance will be triggered for all categories. If it is false then compliance will be triggered for categories mentioned in categories section . Categories []string `json:"categories,omitempty"` // Category can have any value among 'INTENT'(mapped to compliance types: NETWORK_SETTINGS,NETWORK_PROFILE,WORKFLOW,FABRIC,APPLICATION_VISIBILITY), 'RUNNING_CONFIG' , 'IMAGE' , 'PSIRT' , 'EoX' , 'NETWORK_SETTINGS' @@ -200,7 +965,7 @@ type RequestComplianceCommitDeviceConfiguration struct { @param GetComplianceStatusQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-compliance-status-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-compliance-status */ func (s *ComplianceService) GetComplianceStatus(GetComplianceStatusQueryParams *GetComplianceStatusQueryParams) (*ResponseComplianceGetComplianceStatus, *resty.Response, error) { path := "/dna/intent/api/v1/compliance" @@ -237,7 +1002,7 @@ func (s *ComplianceService) GetComplianceStatus(GetComplianceStatusQueryParams * @param GetComplianceStatusCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-compliance-status-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-compliance-status-count */ func (s *ComplianceService) GetComplianceStatusCount(GetComplianceStatusCountQueryParams *GetComplianceStatusCountQueryParams) (*ResponseComplianceGetComplianceStatusCount, *resty.Response, error) { path := "/dna/intent/api/v1/compliance/count" @@ -274,7 +1039,7 @@ func (s *ComplianceService) GetComplianceStatusCount(GetComplianceStatusCountQue @param GetComplianceDetailQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-compliance-detail-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-compliance-detail */ func (s *ComplianceService) GetComplianceDetail(GetComplianceDetailQueryParams *GetComplianceDetailQueryParams) (*ResponseComplianceGetComplianceDetail, *resty.Response, error) { path := "/dna/intent/api/v1/compliance/detail" @@ -311,7 +1076,7 @@ func (s *ComplianceService) GetComplianceDetail(GetComplianceDetailQueryParams * @param GetComplianceDetailCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-compliance-detail-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-compliance-detail-count */ func (s *ComplianceService) GetComplianceDetailCount(GetComplianceDetailCountQueryParams *GetComplianceDetailCountQueryParams) (*ResponseComplianceGetComplianceDetailCount, *resty.Response, error) { path := "/dna/intent/api/v1/compliance/detail/count" @@ -349,7 +1114,7 @@ func (s *ComplianceService) GetComplianceDetailCount(GetComplianceDetailCountQue @param deviceUUID deviceUuid path parameter. Device Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!device-compliance-status-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!device-compliance-status */ func (s *ComplianceService) DeviceComplianceStatus(deviceUUID string) (*ResponseComplianceDeviceComplianceStatus, *resty.Response, error) { path := "/dna/intent/api/v1/compliance/{deviceUuid}" @@ -387,7 +1152,7 @@ func (s *ComplianceService) DeviceComplianceStatus(deviceUUID string) (*Response @param ComplianceDetailsOfDeviceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!compliance-details-of-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!compliance-details-of-device */ func (s *ComplianceService) ComplianceDetailsOfDevice(deviceUUID string, ComplianceDetailsOfDeviceQueryParams *ComplianceDetailsOfDeviceQueryParams) (*ResponseComplianceComplianceDetailsOfDevice, *resty.Response, error) { path := "/dna/intent/api/v1/compliance/{deviceUuid}/detail" @@ -419,23 +1184,23 @@ func (s *ComplianceService) ComplianceDetailsOfDevice(deviceUUID string, Complia } -//GetConfigTaskDetails Get config task details - 8183-1a90-4788-b8c5 -/* Returns a config task result details by specified id +//GetFieldNoticeNetworkDevices Get field notice network devices - e8b3-68d9-483b-8e07 +/* Get field notice network devices -@param GetConfigTaskDetailsQueryParams Filtering parameter +@param GetFieldNoticeNetworkDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-config-task-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-field-notice-network-devices */ -func (s *ComplianceService) GetConfigTaskDetails(GetConfigTaskDetailsQueryParams *GetConfigTaskDetailsQueryParams) (*ResponseComplianceGetConfigTaskDetails, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device-config/task" +func (s *ComplianceService) GetFieldNoticeNetworkDevices(GetFieldNoticeNetworkDevicesQueryParams *GetFieldNoticeNetworkDevicesQueryParams) (*ResponseComplianceGetFieldNoticeNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/networkDevices" - queryString, _ := query.Values(GetConfigTaskDetailsQueryParams) + queryString, _ := query.Values(GetFieldNoticeNetworkDevicesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetConfigTaskDetails{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetFieldNoticeNetworkDevices{}). SetError(&Error). Get(path) @@ -446,33 +1211,35 @@ func (s *ComplianceService) GetConfigTaskDetails(GetConfigTaskDetailsQueryParams if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetConfigTaskDetails(GetConfigTaskDetailsQueryParams) + return s.GetFieldNoticeNetworkDevices(GetFieldNoticeNetworkDevicesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetConfigTaskDetails") + return nil, response, fmt.Errorf("error with operation GetFieldNoticeNetworkDevices") } - result := response.Result().(*ResponseComplianceGetConfigTaskDetails) + result := response.Result().(*ResponseComplianceGetFieldNoticeNetworkDevices) return result, response, err } -//RunCompliance Run Compliance - f6ae-c8a7-4428-a9ff -/* Run compliance check for device(s). +//GetCountOfFieldNoticeNetworkDevices Get count of field notice network devices - 23bd-3911-4cc9-987c +/* Get count of field notice network devices +@param GetCountOfFieldNoticeNetworkDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!run-compliance-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-field-notice-network-devices */ -func (s *ComplianceService) RunCompliance(requestComplianceRunCompliance *RequestComplianceRunCompliance) (*ResponseComplianceRunCompliance, *resty.Response, error) { - path := "/dna/intent/api/v1/compliance/" +func (s *ComplianceService) GetCountOfFieldNoticeNetworkDevices(GetCountOfFieldNoticeNetworkDevicesQueryParams *GetCountOfFieldNoticeNetworkDevicesQueryParams) (*ResponseComplianceGetCountOfFieldNoticeNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/networkDevices/count" + + queryString, _ := query.Values(GetCountOfFieldNoticeNetworkDevicesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestComplianceRunCompliance). - SetResult(&ResponseComplianceRunCompliance{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfFieldNoticeNetworkDevices{}). SetError(&Error). - Post(path) + Get(path) if err != nil { return nil, nil, err @@ -480,39 +1247,36 @@ func (s *ComplianceService) RunCompliance(requestComplianceRunCompliance *Reques } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.RunCompliance(requestComplianceRunCompliance) + return s.GetCountOfFieldNoticeNetworkDevices(GetCountOfFieldNoticeNetworkDevicesQueryParams) } - - return nil, response, fmt.Errorf("error with operation RunCompliance") + return nil, response, fmt.Errorf("error with operation GetCountOfFieldNoticeNetworkDevices") } - result := response.Result().(*ResponseComplianceRunCompliance) + result := response.Result().(*ResponseComplianceGetCountOfFieldNoticeNetworkDevices) return result, response, err } -//ComplianceRemediation Compliance Remediation - 7d80-2867-4179-8488 -/* Remediates configuration compliance issues. Compliance issues related to 'Routing', 'HA Remediation', 'Software Image', 'Securities Advisories', 'SD-Access Unsupported Configuration', 'Workflow', etc. will not be addressed by this API. -Warning: Fixing compliance mismatches could result in a possible network flap. +//GetFieldNoticeNetworkDeviceByDeviceID Get field notice network device by device id - db80-68db-4b1b-976d +/* Get field notice network device by device id -@param id id path parameter. Network device identifier +@param networkDeviceID networkDeviceId path parameter. Id of the network device -Documentation Link: https://developer.cisco.com/docs/dna-center/#!compliance-remediation-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-field-notice-network-device-by-device-id */ -func (s *ComplianceService) ComplianceRemediation(id string) (*ResponseComplianceComplianceRemediation, *resty.Response, error) { - path := "/dna/intent/api/v1/compliance/networkDevices/{id}/issues/remediation/provision" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *ComplianceService) GetFieldNoticeNetworkDeviceByDeviceID(networkDeviceID string) (*ResponseComplianceGetFieldNoticeNetworkDeviceByDeviceID, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/networkDevices/{networkDeviceId}" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseComplianceComplianceRemediation{}). + SetResult(&ResponseComplianceGetFieldNoticeNetworkDeviceByDeviceID{}). SetError(&Error). - Post(path) + Get(path) if err != nil { return nil, nil, err @@ -520,36 +1284,39 @@ func (s *ComplianceService) ComplianceRemediation(id string) (*ResponseComplianc } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.ComplianceRemediation(id) + return s.GetFieldNoticeNetworkDeviceByDeviceID(networkDeviceID) } - - return nil, response, fmt.Errorf("error with operation ComplianceRemediation") + return nil, response, fmt.Errorf("error with operation GetFieldNoticeNetworkDeviceByDeviceId") } - result := response.Result().(*ResponseComplianceComplianceRemediation) + result := response.Result().(*ResponseComplianceGetFieldNoticeNetworkDeviceByDeviceID) return result, response, err } -//CommitDeviceConfiguration Commit device configuration - 53a3-5a70-4e3b-87b5 -/* This operation would commit device running configuration to startup by issuing "write memory" to device +//GetFieldNoticesAffectingTheNetworkDevice Get field notices affecting the network device - e5a6-3887-44c9-95d6 +/* Get field notices affecting the network device + +@param networkDeviceID networkDeviceId path parameter. Id of the network device +@param GetFieldNoticesAffectingTheNetworkDeviceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!commit-device-configuration-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-field-notices-affecting-the-network-device */ -func (s *ComplianceService) CommitDeviceConfiguration(requestComplianceCommitDeviceConfiguration *RequestComplianceCommitDeviceConfiguration) (*ResponseComplianceCommitDeviceConfiguration, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device-config/write-memory" +func (s *ComplianceService) GetFieldNoticesAffectingTheNetworkDevice(networkDeviceID string, GetFieldNoticesAffectingTheNetworkDeviceQueryParams *GetFieldNoticesAffectingTheNetworkDeviceQueryParams) (*ResponseComplianceGetFieldNoticesAffectingTheNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/networkDevices/{networkDeviceId}/notices" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(GetFieldNoticesAffectingTheNetworkDeviceQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestComplianceCommitDeviceConfiguration). - SetResult(&ResponseComplianceCommitDeviceConfiguration{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetFieldNoticesAffectingTheNetworkDevice{}). SetError(&Error). - Post(path) + Get(path) if err != nil { return nil, nil, err @@ -557,15 +1324,1955 @@ func (s *ComplianceService) CommitDeviceConfiguration(requestComplianceCommitDev } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetFieldNoticesAffectingTheNetworkDevice(networkDeviceID, GetFieldNoticesAffectingTheNetworkDeviceQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetFieldNoticesAffectingTheNetworkDevice") + } + result := response.Result().(*ResponseComplianceGetFieldNoticesAffectingTheNetworkDevice) + return result, response, err + +} + +//GetCountOfFieldNoticesAffectingTheNetworkDevice Get count of field notices affecting the network device - 5494-098c-414b-bf34 +/* Get count of field notices affecting the network device + + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + +@param GetCountOfFieldNoticesAffectingTheNetworkDeviceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-field-notices-affecting-the-network-device +*/ +func (s *ComplianceService) GetCountOfFieldNoticesAffectingTheNetworkDevice(networkDeviceID string, GetCountOfFieldNoticesAffectingTheNetworkDeviceQueryParams *GetCountOfFieldNoticesAffectingTheNetworkDeviceQueryParams) (*ResponseComplianceGetCountOfFieldNoticesAffectingTheNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/networkDevices/{networkDeviceId}/notices/count" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(GetCountOfFieldNoticesAffectingTheNetworkDeviceQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfFieldNoticesAffectingTheNetworkDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CommitDeviceConfiguration(requestComplianceCommitDeviceConfiguration) + return s.GetCountOfFieldNoticesAffectingTheNetworkDevice(networkDeviceID, GetCountOfFieldNoticesAffectingTheNetworkDeviceQueryParams) } + return nil, response, fmt.Errorf("error with operation GetCountOfFieldNoticesAffectingTheNetworkDevice") + } + + result := response.Result().(*ResponseComplianceGetCountOfFieldNoticesAffectingTheNetworkDevice) + return result, response, err + +} + +//GetFieldNoticeAffectingTheNetworkDeviceByDeviceIDAndNoticeID Get field notice affecting the network device by device Id and notice id - 86a9-2ad8-436a-9299 +/* Get field notice affecting the network device by device Id and notice id + + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + +@param id id path parameter. Id of the field notice + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-field-notice-affecting-the-network-device-by-device-id-and-notice-id +*/ +func (s *ComplianceService) GetFieldNoticeAffectingTheNetworkDeviceByDeviceIDAndNoticeID(networkDeviceID string, id string) (*ResponseComplianceGetFieldNoticeAffectingTheNetworkDeviceByDeviceIDAndNoticeID, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/networkDevices/{networkDeviceId}/notices/{id}" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetFieldNoticeAffectingTheNetworkDeviceByDeviceIDAndNoticeID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err - return nil, response, fmt.Errorf("error with operation CommitDeviceConfiguration") } - result := response.Result().(*ResponseComplianceCommitDeviceConfiguration) + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetFieldNoticeAffectingTheNetworkDeviceByDeviceIDAndNoticeID(networkDeviceID, id) + } + return nil, response, fmt.Errorf("error with operation GetFieldNoticeAffectingTheNetworkDeviceByDeviceIdAndNoticeId") + } + + result := response.Result().(*ResponseComplianceGetFieldNoticeAffectingTheNetworkDeviceByDeviceIDAndNoticeID) + return result, response, err + +} + +//GetFieldNotices Get field notices - 6989-39f3-4279-ae61 +/* Get field notices + + +@param GetFieldNoticesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-field-notices +*/ +func (s *ComplianceService) GetFieldNotices(GetFieldNoticesQueryParams *GetFieldNoticesQueryParams) (*ResponseComplianceGetFieldNotices, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/notices" + + queryString, _ := query.Values(GetFieldNoticesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetFieldNotices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetFieldNotices(GetFieldNoticesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetFieldNotices") + } + + result := response.Result().(*ResponseComplianceGetFieldNotices) + return result, response, err + +} + +//GetCountOfFieldNotices Get count of field notices - ba99-e9ba-40cb-99e1 +/* Get count of field notices + + +@param GetCountOfFieldNoticesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-field-notices +*/ +func (s *ComplianceService) GetCountOfFieldNotices(GetCountOfFieldNoticesQueryParams *GetCountOfFieldNoticesQueryParams) (*ResponseComplianceGetCountOfFieldNotices, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/notices/count" + + queryString, _ := query.Values(GetCountOfFieldNoticesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfFieldNotices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfFieldNotices(GetCountOfFieldNoticesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfFieldNotices") + } + + result := response.Result().(*ResponseComplianceGetCountOfFieldNotices) + return result, response, err + +} + +//GetFieldNoticeByID Get field notice by Id - 7c90-9909-4a19-8d77 +/* Get field notice by Id + + +@param id id path parameter. Id of the field notice + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-field-notice-by-id +*/ +func (s *ComplianceService) GetFieldNoticeByID(id string) (*ResponseComplianceGetFieldNoticeByID, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/notices/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetFieldNoticeByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetFieldNoticeByID(id) + } + return nil, response, fmt.Errorf("error with operation GetFieldNoticeById") + } + + result := response.Result().(*ResponseComplianceGetFieldNoticeByID) + return result, response, err + +} + +//GetFieldNoticeNetworkDevicesForTheNotice Get field notice network devices for the notice - ddaa-9b91-4cfa-8943 +/* Get field notice network devices for the notice + + +@param id id path parameter. Id of the field notice + +@param GetFieldNoticeNetworkDevicesForTheNoticeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-field-notice-network-devices-for-the-notice +*/ +func (s *ComplianceService) GetFieldNoticeNetworkDevicesForTheNotice(id string, GetFieldNoticeNetworkDevicesForTheNoticeQueryParams *GetFieldNoticeNetworkDevicesForTheNoticeQueryParams) (*ResponseComplianceGetFieldNoticeNetworkDevicesForTheNotice, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/notices/{id}/networkDevices" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetFieldNoticeNetworkDevicesForTheNoticeQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetFieldNoticeNetworkDevicesForTheNotice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetFieldNoticeNetworkDevicesForTheNotice(id, GetFieldNoticeNetworkDevicesForTheNoticeQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetFieldNoticeNetworkDevicesForTheNotice") + } + + result := response.Result().(*ResponseComplianceGetFieldNoticeNetworkDevicesForTheNotice) + return result, response, err + +} + +//GetCountOfFieldNoticeNetworkDevicesForTheNotice Get count of field notice network devices for the notice - 4a9e-d86a-421b-890a +/* Get count of field notice network devices for the notice + + +@param id id path parameter. Id of the field notice + +@param GetCountOfFieldNoticeNetworkDevicesForTheNoticeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-field-notice-network-devices-for-the-notice +*/ +func (s *ComplianceService) GetCountOfFieldNoticeNetworkDevicesForTheNotice(id string, GetCountOfFieldNoticeNetworkDevicesForTheNoticeQueryParams *GetCountOfFieldNoticeNetworkDevicesForTheNoticeQueryParams) (*ResponseComplianceGetCountOfFieldNoticeNetworkDevicesForTheNotice, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/notices/{id}/networkDevices/count" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetCountOfFieldNoticeNetworkDevicesForTheNoticeQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfFieldNoticeNetworkDevicesForTheNotice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfFieldNoticeNetworkDevicesForTheNotice(id, GetCountOfFieldNoticeNetworkDevicesForTheNoticeQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfFieldNoticeNetworkDevicesForTheNotice") + } + + result := response.Result().(*ResponseComplianceGetCountOfFieldNoticeNetworkDevicesForTheNotice) + return result, response, err + +} + +//GetFieldNoticeNetworkDeviceForTheNoticeByNetworkDeviceID Get field notice network device for the notice by network device id - e4b4-cb51-46cb-9925 +/* Get field notice network device for the notice by network device id + + +@param id id path parameter. Id of the field notice + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-field-notice-network-device-for-the-notice-by-network-device-id +*/ +func (s *ComplianceService) GetFieldNoticeNetworkDeviceForTheNoticeByNetworkDeviceID(id string, networkDeviceID string) (*ResponseComplianceGetFieldNoticeNetworkDeviceForTheNoticeByNetworkDeviceID, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/results/notices/{id}/networkDevices/{networkDeviceId}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetFieldNoticeNetworkDeviceForTheNoticeByNetworkDeviceID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetFieldNoticeNetworkDeviceForTheNoticeByNetworkDeviceID(id, networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation GetFieldNoticeNetworkDeviceForTheNoticeByNetworkDeviceId") + } + + result := response.Result().(*ResponseComplianceGetFieldNoticeNetworkDeviceForTheNoticeByNetworkDeviceID) + return result, response, err + +} + +//GetFieldNoticesResultsTrendOverTime Get field notices results trend over time - 6690-8bd1-4b58-ba8e +/* Get field notices results trend over time. The default sort is by scan time descending. + + +@param GetFieldNoticesResultsTrendOverTimeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-field-notices-results-trend-over-time +*/ +func (s *ComplianceService) GetFieldNoticesResultsTrendOverTime(GetFieldNoticesResultsTrendOverTimeQueryParams *GetFieldNoticesResultsTrendOverTimeQueryParams) (*ResponseComplianceGetFieldNoticesResultsTrendOverTime, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/resultsTrend" + + queryString, _ := query.Values(GetFieldNoticesResultsTrendOverTimeQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetFieldNoticesResultsTrendOverTime{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetFieldNoticesResultsTrendOverTime(GetFieldNoticesResultsTrendOverTimeQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetFieldNoticesResultsTrendOverTime") + } + + result := response.Result().(*ResponseComplianceGetFieldNoticesResultsTrendOverTime) + return result, response, err + +} + +//GetCountOfFieldNoticesResultsTrendOverTime Get count of field notices results trend over time - d285-c901-46b9-a120 +/* Get count of field notices results trend over time + + +@param GetCountOfFieldNoticesResultsTrendOverTimeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-field-notices-results-trend-over-time +*/ +func (s *ComplianceService) GetCountOfFieldNoticesResultsTrendOverTime(GetCountOfFieldNoticesResultsTrendOverTimeQueryParams *GetCountOfFieldNoticesResultsTrendOverTimeQueryParams) (*ResponseComplianceGetCountOfFieldNoticesResultsTrendOverTime, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/resultsTrend/count" + + queryString, _ := query.Values(GetCountOfFieldNoticesResultsTrendOverTimeQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfFieldNoticesResultsTrendOverTime{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfFieldNoticesResultsTrendOverTime(GetCountOfFieldNoticesResultsTrendOverTimeQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfFieldNoticesResultsTrendOverTime") + } + + result := response.Result().(*ResponseComplianceGetCountOfFieldNoticesResultsTrendOverTime) + return result, response, err + +} + +//GetTrialDetailsForFieldNoticesDetectionOnNetworkDevices Get trial details for field notices detection on network devices - 92b9-d9a8-4a09-ad05 +/* Get trial details for field notices detection on network devices + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trial-details-for-field-notices-detection-on-network-devices +*/ +func (s *ComplianceService) GetTrialDetailsForFieldNoticesDetectionOnNetworkDevices() (*ResponseComplianceGetTrialDetailsForFieldNoticesDetectionOnNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/trials" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetTrialDetailsForFieldNoticesDetectionOnNetworkDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTrialDetailsForFieldNoticesDetectionOnNetworkDevices() + } + return nil, response, fmt.Errorf("error with operation GetTrialDetailsForFieldNoticesDetectionOnNetworkDevices") + } + + result := response.Result().(*ResponseComplianceGetTrialDetailsForFieldNoticesDetectionOnNetworkDevices) + return result, response, err + +} + +//GetConfigTaskDetails Get config task details - 8183-1a90-4788-b8c5 +/* Returns a config task result details by specified id + + +@param GetConfigTaskDetailsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-config-task-details +*/ +func (s *ComplianceService) GetConfigTaskDetails(GetConfigTaskDetailsQueryParams *GetConfigTaskDetailsQueryParams) (*ResponseComplianceGetConfigTaskDetails, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device-config/task" + + queryString, _ := query.Values(GetConfigTaskDetailsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetConfigTaskDetails{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetConfigTaskDetails(GetConfigTaskDetailsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetConfigTaskDetails") + } + + result := response.Result().(*ResponseComplianceGetConfigTaskDetails) + return result, response, err + +} + +//GetNetworkBugs Get network bugs - 3e8a-0a51-423a-968f +/* Get network bugs + + +@param GetNetworkBugsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-bugs +*/ +func (s *ComplianceService) GetNetworkBugs(GetNetworkBugsQueryParams *GetNetworkBugsQueryParams) (*ResponseComplianceGetNetworkBugs, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/bugs" + + queryString, _ := query.Values(GetNetworkBugsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetNetworkBugs{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetNetworkBugs(GetNetworkBugsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetNetworkBugs") + } + + result := response.Result().(*ResponseComplianceGetNetworkBugs) + return result, response, err + +} + +//GetCountOfNetworkBugs Get count of network bugs - 3cad-684d-4508-aa15 +/* Get count of network bugs + + +@param GetCountOfNetworkBugsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-network-bugs +*/ +func (s *ComplianceService) GetCountOfNetworkBugs(GetCountOfNetworkBugsQueryParams *GetCountOfNetworkBugsQueryParams) (*ResponseComplianceGetCountOfNetworkBugs, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/bugs/count" + + queryString, _ := query.Values(GetCountOfNetworkBugsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfNetworkBugs{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfNetworkBugs(GetCountOfNetworkBugsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfNetworkBugs") + } + + result := response.Result().(*ResponseComplianceGetCountOfNetworkBugs) + return result, response, err + +} + +//GetNetworkBugByID Get network bug by Id - ec93-a9c6-48d9-9050 +/* Get network bug by Id + + +@param id id path parameter. Id of the network bug + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-bug-by-id +*/ +func (s *ComplianceService) GetNetworkBugByID(id string) (*ResponseComplianceGetNetworkBugByID, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/bugs/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetNetworkBugByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetNetworkBugByID(id) + } + return nil, response, fmt.Errorf("error with operation GetNetworkBugById") + } + + result := response.Result().(*ResponseComplianceGetNetworkBugByID) + return result, response, err + +} + +//GetNetworkBugDevicesForTheBug Get network bug devices for the bug - a18c-2be4-4a1b-bbf7 +/* Get network bug devices for the bug + + +@param id id path parameter. Id of the network bug + +@param GetNetworkBugDevicesForTheBugQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-bug-devices-for-the-bug +*/ +func (s *ComplianceService) GetNetworkBugDevicesForTheBug(id string, GetNetworkBugDevicesForTheBugQueryParams *GetNetworkBugDevicesForTheBugQueryParams) (*ResponseComplianceGetNetworkBugDevicesForTheBug, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/bugs/{id}/networkDevices" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetNetworkBugDevicesForTheBugQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetNetworkBugDevicesForTheBug{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetNetworkBugDevicesForTheBug(id, GetNetworkBugDevicesForTheBugQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetNetworkBugDevicesForTheBug") + } + + result := response.Result().(*ResponseComplianceGetNetworkBugDevicesForTheBug) + return result, response, err + +} + +//GetCountOfNetworkBugDevicesForTheBug Get count of network bug devices for the bug - 269a-d906-4e5b-aad1 +/* Get count of network bug devices for the bug + + +@param id id path parameter. Id of the network bug + +@param GetCountOfNetworkBugDevicesForTheBugQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-network-bug-devices-for-the-bug +*/ +func (s *ComplianceService) GetCountOfNetworkBugDevicesForTheBug(id string, GetCountOfNetworkBugDevicesForTheBugQueryParams *GetCountOfNetworkBugDevicesForTheBugQueryParams) (*ResponseComplianceGetCountOfNetworkBugDevicesForTheBug, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/bugs/{id}/networkDevices/count" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetCountOfNetworkBugDevicesForTheBugQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfNetworkBugDevicesForTheBug{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfNetworkBugDevicesForTheBug(id, GetCountOfNetworkBugDevicesForTheBugQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfNetworkBugDevicesForTheBug") + } + + result := response.Result().(*ResponseComplianceGetCountOfNetworkBugDevicesForTheBug) + return result, response, err + +} + +//GetNetworkBugDeviceForTheBugByNetworkDeviceID Get network bug device for the bug by network device id - 7594-39b9-4d78-8144 +/* Get network bug device for the bug by network device id + + +@param id id path parameter. Id of the network bug + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-bug-device-for-the-bug-by-network-device-id +*/ +func (s *ComplianceService) GetNetworkBugDeviceForTheBugByNetworkDeviceID(id string, networkDeviceID string) (*ResponseComplianceGetNetworkBugDeviceForTheBugByNetworkDeviceID, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/bugs/{id}/networkDevices/{networkDeviceId}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetNetworkBugDeviceForTheBugByNetworkDeviceID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetNetworkBugDeviceForTheBugByNetworkDeviceID(id, networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation GetNetworkBugDeviceForTheBugByNetworkDeviceId") + } + + result := response.Result().(*ResponseComplianceGetNetworkBugDeviceForTheBugByNetworkDeviceID) + return result, response, err + +} + +//GetNetworkBugDevices Get network bug devices - f9ad-f991-4c0a-9248 +/* Get network bug devices + + +@param GetNetworkBugDevicesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-bug-devices +*/ +func (s *ComplianceService) GetNetworkBugDevices(GetNetworkBugDevicesQueryParams *GetNetworkBugDevicesQueryParams) (*ResponseComplianceGetNetworkBugDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/networkDevices" + + queryString, _ := query.Values(GetNetworkBugDevicesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetNetworkBugDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetNetworkBugDevices(GetNetworkBugDevicesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetNetworkBugDevices") + } + + result := response.Result().(*ResponseComplianceGetNetworkBugDevices) + return result, response, err + +} + +//GetCountOfNetworkBugDevices Get count of network bug devices - e583-ba39-4a4b-b8bd +/* Get count of network bug devices + + +@param GetCountOfNetworkBugDevicesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-network-bug-devices +*/ +func (s *ComplianceService) GetCountOfNetworkBugDevices(GetCountOfNetworkBugDevicesQueryParams *GetCountOfNetworkBugDevicesQueryParams) (*ResponseComplianceGetCountOfNetworkBugDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/networkDevices/count" + + queryString, _ := query.Values(GetCountOfNetworkBugDevicesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfNetworkBugDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfNetworkBugDevices(GetCountOfNetworkBugDevicesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfNetworkBugDevices") + } + + result := response.Result().(*ResponseComplianceGetCountOfNetworkBugDevices) + return result, response, err + +} + +//GetNetworkBugDeviceByDeviceID Get network bug device by device id - 3eae-5b2d-43eb-b61f +/* Get network bug device by device id + + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-bug-device-by-device-id +*/ +func (s *ComplianceService) GetNetworkBugDeviceByDeviceID(networkDeviceID string) (*ResponseComplianceGetNetworkBugDeviceByDeviceID, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/networkDevices/{networkDeviceId}" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetNetworkBugDeviceByDeviceID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetNetworkBugDeviceByDeviceID(networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation GetNetworkBugDeviceByDeviceId") + } + + result := response.Result().(*ResponseComplianceGetNetworkBugDeviceByDeviceID) + return result, response, err + +} + +//GetBugsAffectingTheNetworkDevice Get bugs affecting the network device - 199a-c80d-4138-8853 +/* Get bugs affecting the network device + + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + +@param GetBugsAffectingTheNetworkDeviceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-bugs-affecting-the-network-device +*/ +func (s *ComplianceService) GetBugsAffectingTheNetworkDevice(networkDeviceID string, GetBugsAffectingTheNetworkDeviceQueryParams *GetBugsAffectingTheNetworkDeviceQueryParams) (*ResponseComplianceGetBugsAffectingTheNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/networkDevices/{networkDeviceId}/bugs" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(GetBugsAffectingTheNetworkDeviceQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetBugsAffectingTheNetworkDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetBugsAffectingTheNetworkDevice(networkDeviceID, GetBugsAffectingTheNetworkDeviceQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetBugsAffectingTheNetworkDevice") + } + + result := response.Result().(*ResponseComplianceGetBugsAffectingTheNetworkDevice) + return result, response, err + +} + +//GetCountOfBugsAffectingTheNetworkDevice Get count of bugs affecting the network device - 86a4-d898-466a-a7e0 +/* Get count of bugs affecting the network device + + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + +@param GetCountOfBugsAffectingTheNetworkDeviceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-bugs-affecting-the-network-device +*/ +func (s *ComplianceService) GetCountOfBugsAffectingTheNetworkDevice(networkDeviceID string, GetCountOfBugsAffectingTheNetworkDeviceQueryParams *GetCountOfBugsAffectingTheNetworkDeviceQueryParams) (*ResponseComplianceGetCountOfBugsAffectingTheNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/networkDevices/{networkDeviceId}/bugs/count" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(GetCountOfBugsAffectingTheNetworkDeviceQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfBugsAffectingTheNetworkDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfBugsAffectingTheNetworkDevice(networkDeviceID, GetCountOfBugsAffectingTheNetworkDeviceQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfBugsAffectingTheNetworkDevice") + } + + result := response.Result().(*ResponseComplianceGetCountOfBugsAffectingTheNetworkDevice) + return result, response, err + +} + +//GetBugAffectingTheNetworkDeviceByDeviceIDAndBugID Get bug affecting the network device by device Id and bug id - e293-6b08-49c9-b715 +/* Get bug affecting the network device by device Id and bug id + + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + +@param id id path parameter. Id of the network bug + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-bug-affecting-the-network-device-by-device-id-and-bug-id +*/ +func (s *ComplianceService) GetBugAffectingTheNetworkDeviceByDeviceIDAndBugID(networkDeviceID string, id string) (*ResponseComplianceGetBugAffectingTheNetworkDeviceByDeviceIDAndBugID, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/results/networkDevices/{networkDeviceId}/bugs/{id}" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetBugAffectingTheNetworkDeviceByDeviceIDAndBugID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetBugAffectingTheNetworkDeviceByDeviceIDAndBugID(networkDeviceID, id) + } + return nil, response, fmt.Errorf("error with operation GetBugAffectingTheNetworkDeviceByDeviceIdAndBugId") + } + + result := response.Result().(*ResponseComplianceGetBugAffectingTheNetworkDeviceByDeviceIDAndBugID) + return result, response, err + +} + +//GetNetworkBugsResultsTrendOverTime Get network bugs results trend over time - 708d-2bc8-42da-b062 +/* Get network bugs results trend over time. The default sort is by scan time descending. + + +@param GetNetworkBugsResultsTrendOverTimeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-bugs-results-trend-over-time +*/ +func (s *ComplianceService) GetNetworkBugsResultsTrendOverTime(GetNetworkBugsResultsTrendOverTimeQueryParams *GetNetworkBugsResultsTrendOverTimeQueryParams) (*ResponseComplianceGetNetworkBugsResultsTrendOverTime, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/resultsTrend" + + queryString, _ := query.Values(GetNetworkBugsResultsTrendOverTimeQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetNetworkBugsResultsTrendOverTime{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetNetworkBugsResultsTrendOverTime(GetNetworkBugsResultsTrendOverTimeQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetNetworkBugsResultsTrendOverTime") + } + + result := response.Result().(*ResponseComplianceGetNetworkBugsResultsTrendOverTime) + return result, response, err + +} + +//GetCountOfNetworkBugsResultsTrendOverTime Get count of network bugs results trend over time - 6791-696c-4199-86e1 +/* Get count of network bugs results trend over time + + +@param GetCountOfNetworkBugsResultsTrendOverTimeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-network-bugs-results-trend-over-time +*/ +func (s *ComplianceService) GetCountOfNetworkBugsResultsTrendOverTime(GetCountOfNetworkBugsResultsTrendOverTimeQueryParams *GetCountOfNetworkBugsResultsTrendOverTimeQueryParams) (*ResponseComplianceGetCountOfNetworkBugsResultsTrendOverTime, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/resultsTrend/count" + + queryString, _ := query.Values(GetCountOfNetworkBugsResultsTrendOverTimeQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfNetworkBugsResultsTrendOverTime{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfNetworkBugsResultsTrendOverTime(GetCountOfNetworkBugsResultsTrendOverTimeQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfNetworkBugsResultsTrendOverTime") + } + + result := response.Result().(*ResponseComplianceGetCountOfNetworkBugsResultsTrendOverTime) + return result, response, err + +} + +//GetTrialDetailsForBugsDetectionOnNetworkDevices Get trial details for bugs detection on network devices - 11a4-a89b-430b-93cd +/* Get trial details for bugs detection on network devices + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trial-details-for-bugs-detection-on-network-devices +*/ +func (s *ComplianceService) GetTrialDetailsForBugsDetectionOnNetworkDevices() (*ResponseComplianceGetTrialDetailsForBugsDetectionOnNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/trials" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetTrialDetailsForBugsDetectionOnNetworkDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTrialDetailsForBugsDetectionOnNetworkDevices() + } + return nil, response, fmt.Errorf("error with operation GetTrialDetailsForBugsDetectionOnNetworkDevices") + } + + result := response.Result().(*ResponseComplianceGetTrialDetailsForBugsDetectionOnNetworkDevices) + return result, response, err + +} + +//GetSecurityAdvisoriesAffectingTheNetworkDevices Get security advisories affecting the network devices - ef91-f8be-47d8-8fbf +/* Get security advisories affecting the network devices + + +@param GetSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-security-advisories-affecting-the-network-devices +*/ +func (s *ComplianceService) GetSecurityAdvisoriesAffectingTheNetworkDevices(GetSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams *GetSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams) (*ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/advisories" + + queryString, _ := query.Values(GetSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSecurityAdvisoriesAffectingTheNetworkDevices(GetSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSecurityAdvisoriesAffectingTheNetworkDevices") + } + + result := response.Result().(*ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevices) + return result, response, err + +} + +//GetCountOfSecurityAdvisoriesAffectingTheNetworkDevices Get count of security advisories affecting the network devices - 129c-9b1f-4dd8-9173 +/* Get count of security advisories affecting the network devices + + +@param GetCountOfSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-security-advisories-affecting-the-network-devices +*/ +func (s *ComplianceService) GetCountOfSecurityAdvisoriesAffectingTheNetworkDevices(GetCountOfSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams *GetCountOfSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams) (*ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/advisories/count" + + queryString, _ := query.Values(GetCountOfSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfSecurityAdvisoriesAffectingTheNetworkDevices(GetCountOfSecurityAdvisoriesAffectingTheNetworkDevicesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfSecurityAdvisoriesAffectingTheNetworkDevices") + } + + result := response.Result().(*ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDevices) + return result, response, err + +} + +//GetSecurityAdvisoryAffectingTheNetworkDevicesByID Get security advisory affecting the network devices by Id - 51aa-ea19-4c88-bea6 +/* Get security advisory affecting the network devices by Id + + +@param id id path parameter. Id of the security advisory + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-security-advisory-affecting-the-network-devices-by-id +*/ +func (s *ComplianceService) GetSecurityAdvisoryAffectingTheNetworkDevicesByID(id string) (*ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDevicesByID, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/advisories/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDevicesByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSecurityAdvisoryAffectingTheNetworkDevicesByID(id) + } + return nil, response, fmt.Errorf("error with operation GetSecurityAdvisoryAffectingTheNetworkDevicesById") + } + + result := response.Result().(*ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDevicesByID) + return result, response, err + +} + +//GetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory Get security advisory network devices for the security advisory - ee81-e9ad-40bb-b3d1 +/* Get security advisory network devices for the security advisory + + +@param id id path parameter. Id of the security advisory + +@param GetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-security-advisory-network-devices-for-the-security-advisory +*/ +func (s *ComplianceService) GetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory(id string, GetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams *GetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams) (*ResponseComplianceGetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/advisories/{id}/networkDevices" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory(id, GetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory") + } + + result := response.Result().(*ResponseComplianceGetSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory) + return result, response, err + +} + +//GetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory Get count of security advisory network devices for the security advisory - 969b-bb96-404b-b905 +/* Get count of security advisory network devices for the security advisory + + +@param id id path parameter. Id of the security advisory + +@param GetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-security-advisory-network-devices-for-the-security-advisory +*/ +func (s *ComplianceService) GetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory(id string, GetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams *GetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams) (*ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/advisories/{id}/networkDevices/count" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory(id, GetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisoryQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory") + } + + result := response.Result().(*ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevicesForTheSecurityAdvisory) + return result, response, err + +} + +//GetSecurityAdvisoryNetworkDeviceForTheSecurityAdvisoryByNetworkDeviceID Get security advisory network device for the security advisory by network device id - 15ac-59b6-4668-a848 +/* Get security advisory network device for the security advisory by network device id + + +@param id id path parameter. Id of the security advisory + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-security-advisory-network-device-for-the-security-advisory-by-network-device-id +*/ +func (s *ComplianceService) GetSecurityAdvisoryNetworkDeviceForTheSecurityAdvisoryByNetworkDeviceID(id string, networkDeviceID string) (*ResponseComplianceGetSecurityAdvisoryNetworkDeviceForTheSecurityAdvisoryByNetworkDeviceID, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/advisories/{id}/networkDevices/{networkDeviceId}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetSecurityAdvisoryNetworkDeviceForTheSecurityAdvisoryByNetworkDeviceID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSecurityAdvisoryNetworkDeviceForTheSecurityAdvisoryByNetworkDeviceID(id, networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation GetSecurityAdvisoryNetworkDeviceForTheSecurityAdvisoryByNetworkDeviceId") + } + + result := response.Result().(*ResponseComplianceGetSecurityAdvisoryNetworkDeviceForTheSecurityAdvisoryByNetworkDeviceID) + return result, response, err + +} + +//GetSecurityAdvisoryNetworkDevices Get security advisory network devices - af83-89a1-43da-9337 +/* Get security advisory network devices + + +@param GetSecurityAdvisoryNetworkDevicesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-security-advisory-network-devices +*/ +func (s *ComplianceService) GetSecurityAdvisoryNetworkDevices(GetSecurityAdvisoryNetworkDevicesQueryParams *GetSecurityAdvisoryNetworkDevicesQueryParams) (*ResponseComplianceGetSecurityAdvisoryNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/networkDevices" + + queryString, _ := query.Values(GetSecurityAdvisoryNetworkDevicesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetSecurityAdvisoryNetworkDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSecurityAdvisoryNetworkDevices(GetSecurityAdvisoryNetworkDevicesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSecurityAdvisoryNetworkDevices") + } + + result := response.Result().(*ResponseComplianceGetSecurityAdvisoryNetworkDevices) + return result, response, err + +} + +//GetCountOfSecurityAdvisoryNetworkDevices Get count of security advisory network devices - 93a6-8af1-438a-8f39 +/* Get count of security advisory network devices + + +@param GetCountOfSecurityAdvisoryNetworkDevicesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-security-advisory-network-devices +*/ +func (s *ComplianceService) GetCountOfSecurityAdvisoryNetworkDevices(GetCountOfSecurityAdvisoryNetworkDevicesQueryParams *GetCountOfSecurityAdvisoryNetworkDevicesQueryParams) (*ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/networkDevices/count" + + queryString, _ := query.Values(GetCountOfSecurityAdvisoryNetworkDevicesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfSecurityAdvisoryNetworkDevices(GetCountOfSecurityAdvisoryNetworkDevicesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfSecurityAdvisoryNetworkDevices") + } + + result := response.Result().(*ResponseComplianceGetCountOfSecurityAdvisoryNetworkDevices) + return result, response, err + +} + +//GetSecurityAdvisoryNetworkDeviceByNetworkDeviceID Get security advisory network device by network device id - a5bb-ca1a-4abb-8a7f +/* Get security advisory network device by network device id + + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-security-advisory-network-device-by-network-device-id +*/ +func (s *ComplianceService) GetSecurityAdvisoryNetworkDeviceByNetworkDeviceID(networkDeviceID string) (*ResponseComplianceGetSecurityAdvisoryNetworkDeviceByNetworkDeviceID, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/networkDevices/{networkDeviceId}" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetSecurityAdvisoryNetworkDeviceByNetworkDeviceID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSecurityAdvisoryNetworkDeviceByNetworkDeviceID(networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation GetSecurityAdvisoryNetworkDeviceByNetworkDeviceId") + } + + result := response.Result().(*ResponseComplianceGetSecurityAdvisoryNetworkDeviceByNetworkDeviceID) + return result, response, err + +} + +//GetSecurityAdvisoriesAffectingTheNetworkDevice Get security advisories affecting the network device - 20a9-3b0d-4769-8091 +/* Get security advisories affecting the network device + + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + +@param GetSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-security-advisories-affecting-the-network-device +*/ +func (s *ComplianceService) GetSecurityAdvisoriesAffectingTheNetworkDevice(networkDeviceID string, GetSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams *GetSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams) (*ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/networkDevices/{networkDeviceId}/advisories" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(GetSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSecurityAdvisoriesAffectingTheNetworkDevice(networkDeviceID, GetSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSecurityAdvisoriesAffectingTheNetworkDevice") + } + + result := response.Result().(*ResponseComplianceGetSecurityAdvisoriesAffectingTheNetworkDevice) + return result, response, err + +} + +//GetCountOfSecurityAdvisoriesAffectingTheNetworkDevice Get count of security advisories affecting the network device - d4ba-db3a-4488-9d47 +/* Get count of security advisories affecting the network device + + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + +@param GetCountOfSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-security-advisories-affecting-the-network-device +*/ +func (s *ComplianceService) GetCountOfSecurityAdvisoriesAffectingTheNetworkDevice(networkDeviceID string, GetCountOfSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams *GetCountOfSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams) (*ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/networkDevices/{networkDeviceId}/advisories/count" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(GetCountOfSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfSecurityAdvisoriesAffectingTheNetworkDevice(networkDeviceID, GetCountOfSecurityAdvisoriesAffectingTheNetworkDeviceQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfSecurityAdvisoriesAffectingTheNetworkDevice") + } + + result := response.Result().(*ResponseComplianceGetCountOfSecurityAdvisoriesAffectingTheNetworkDevice) + return result, response, err + +} + +//GetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIDAndAdvisoryID Get security advisory affecting the network device by device Id and advisory id - c9a3-d93e-4fe8-959d +/* Get security advisory affecting the network device by device Id and advisory id + + +@param networkDeviceID networkDeviceId path parameter. Id of the network device + +@param id id path parameter. Id of the security advisory + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-security-advisory-affecting-the-network-device-by-device-id-and-advisory-id +*/ +func (s *ComplianceService) GetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIDAndAdvisoryID(networkDeviceID string, id string) (*ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIDAndAdvisoryID, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/results/networkDevices/{networkDeviceId}/advisories/{id}" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIDAndAdvisoryID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIDAndAdvisoryID(networkDeviceID, id) + } + return nil, response, fmt.Errorf("error with operation GetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIdAndAdvisoryId") + } + + result := response.Result().(*ResponseComplianceGetSecurityAdvisoryAffectingTheNetworkDeviceByDeviceIDAndAdvisoryID) + return result, response, err + +} + +//GetSecurityAdvisoriesResultsTrendOverTime Get security advisories results trend over time - b584-aa2b-4158-bc5a +/* Get security advisories results trend over time. The default sort is by scan time descending. + + +@param GetSecurityAdvisoriesResultsTrendOverTimeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-security-advisories-results-trend-over-time +*/ +func (s *ComplianceService) GetSecurityAdvisoriesResultsTrendOverTime(GetSecurityAdvisoriesResultsTrendOverTimeQueryParams *GetSecurityAdvisoriesResultsTrendOverTimeQueryParams) (*ResponseComplianceGetSecurityAdvisoriesResultsTrendOverTime, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/resultsTrend" + + queryString, _ := query.Values(GetSecurityAdvisoriesResultsTrendOverTimeQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetSecurityAdvisoriesResultsTrendOverTime{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSecurityAdvisoriesResultsTrendOverTime(GetSecurityAdvisoriesResultsTrendOverTimeQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSecurityAdvisoriesResultsTrendOverTime") + } + + result := response.Result().(*ResponseComplianceGetSecurityAdvisoriesResultsTrendOverTime) + return result, response, err + +} + +//GetCountOfSecurityAdvisoriesResultsTrendOverTime Get count of security advisories results trend over time - a9af-78ef-46aa-8534 +/* Get count of security advisories results trend over time. + + +@param GetCountOfSecurityAdvisoriesResultsTrendOverTimeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-security-advisories-results-trend-over-time +*/ +func (s *ComplianceService) GetCountOfSecurityAdvisoriesResultsTrendOverTime(GetCountOfSecurityAdvisoriesResultsTrendOverTimeQueryParams *GetCountOfSecurityAdvisoriesResultsTrendOverTimeQueryParams) (*ResponseComplianceGetCountOfSecurityAdvisoriesResultsTrendOverTime, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/resultsTrend/count" + + queryString, _ := query.Values(GetCountOfSecurityAdvisoriesResultsTrendOverTimeQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseComplianceGetCountOfSecurityAdvisoriesResultsTrendOverTime{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfSecurityAdvisoriesResultsTrendOverTime(GetCountOfSecurityAdvisoriesResultsTrendOverTimeQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetCountOfSecurityAdvisoriesResultsTrendOverTime") + } + + result := response.Result().(*ResponseComplianceGetCountOfSecurityAdvisoriesResultsTrendOverTime) + return result, response, err + +} + +//GetTrialDetailsForSecurityAdvisoriesDetectionOnNetworkDevices Get trial details for security advisories detection on network devices - f6ba-8a34-4c4a-ba48 +/* Get trial details for security advisories detection on network devices + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trial-details-for-security-advisories-detection-on-network-devices +*/ +func (s *ComplianceService) GetTrialDetailsForSecurityAdvisoriesDetectionOnNetworkDevices() (*ResponseComplianceGetTrialDetailsForSecurityAdvisoriesDetectionOnNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/trials" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceGetTrialDetailsForSecurityAdvisoriesDetectionOnNetworkDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTrialDetailsForSecurityAdvisoriesDetectionOnNetworkDevices() + } + return nil, response, fmt.Errorf("error with operation GetTrialDetailsForSecurityAdvisoriesDetectionOnNetworkDevices") + } + + result := response.Result().(*ResponseComplianceGetTrialDetailsForSecurityAdvisoriesDetectionOnNetworkDevices) + return result, response, err + +} + +//RunCompliance Run Compliance - f6ae-c8a7-4428-a9ff +/* Run compliance check for device(s). + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!run-compliance +*/ +func (s *ComplianceService) RunCompliance(requestComplianceRunCompliance *RequestComplianceRunCompliance) (*ResponseComplianceRunCompliance, *resty.Response, error) { + path := "/dna/intent/api/v1/compliance/" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestComplianceRunCompliance). + SetResult(&ResponseComplianceRunCompliance{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.RunCompliance(requestComplianceRunCompliance) + } + + return nil, response, fmt.Errorf("error with operation RunCompliance") + } + + result := response.Result().(*ResponseComplianceRunCompliance) + return result, response, err + +} + +//ComplianceRemediation Compliance Remediation - 7d80-2867-4179-8488 +/* Remediates configuration compliance issues. Compliance issues related to 'Routing', 'HA Remediation', 'Software Image', 'Securities Advisories', 'SD-Access Unsupported Configuration', 'Workflow', etc. will not be addressed by this API. +Warning: Fixing compliance mismatches could result in a possible network flap. + + +@param id id path parameter. Network device identifier + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!compliance-remediation +*/ +func (s *ComplianceService) ComplianceRemediation(id string) (*ResponseComplianceComplianceRemediation, *resty.Response, error) { + path := "/dna/intent/api/v1/compliance/networkDevices/{id}/issues/remediation/provision" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceComplianceRemediation{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.ComplianceRemediation(id) + } + + return nil, response, fmt.Errorf("error with operation ComplianceRemediation") + } + + result := response.Result().(*ResponseComplianceComplianceRemediation) + return result, response, err + +} + +//CreatesATrialForFieldNoticesDetectionOnNetworkDevices Creates a trial for field notices detection on network devices - 3a9a-88e2-4c3a-9db8 +/* Creates a trial for field notices detection on network devices. The consent to connect agreement must have been accepted in the UI for this to succeed. Please refer to the user guide at + for more details on consent to connect. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-a-trial-for-field-notices-detection-on-network-devices +*/ +func (s *ComplianceService) CreatesATrialForFieldNoticesDetectionOnNetworkDevices() (*ResponseComplianceCreatesATrialForFieldNoticesDetectionOnNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/trials" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceCreatesATrialForFieldNoticesDetectionOnNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreatesATrialForFieldNoticesDetectionOnNetworkDevices() + } + + return nil, response, fmt.Errorf("error with operation CreatesATrialForFieldNoticesDetectionOnNetworkDevices") + } + + result := response.Result().(*ResponseComplianceCreatesATrialForFieldNoticesDetectionOnNetworkDevices) + return result, response, err + +} + +//TriggersAFieldNoticesScanForTheSupportedNetworkDevices Triggers a field notices scan for the supported network devices - d4b4-5ae2-4e68-bb04 +/* Triggers a field notices scan for the supported network devices. The supported devices are switches, routers and wireless controllers. If a device is not supported, the FieldNoticeNetworkDevice scanStatus will be Failed with appropriate comments. The consent to connect agreement must have been accepted in the UI for this to succeed. Please refer to the user guide at + for more details on consent to connect. + + +@param TriggersAFieldNoticesScanForTheSupportedNetworkDevicesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!triggers-a-field-notices-scan-for-the-supported-network-devices +*/ +func (s *ComplianceService) TriggersAFieldNoticesScanForTheSupportedNetworkDevices(TriggersAFieldNoticesScanForTheSupportedNetworkDevicesQueryParams *TriggersAFieldNoticesScanForTheSupportedNetworkDevicesQueryParams) (*ResponseComplianceTriggersAFieldNoticesScanForTheSupportedNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/fieldNotices/triggerScan" + + queryString, _ := query.Values(TriggersAFieldNoticesScanForTheSupportedNetworkDevicesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()). + SetResult(&ResponseComplianceTriggersAFieldNoticesScanForTheSupportedNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.TriggersAFieldNoticesScanForTheSupportedNetworkDevices(TriggersAFieldNoticesScanForTheSupportedNetworkDevicesQueryParams) + } + + return nil, response, fmt.Errorf("error with operation TriggersAFieldNoticesScanForTheSupportedNetworkDevices") + } + + result := response.Result().(*ResponseComplianceTriggersAFieldNoticesScanForTheSupportedNetworkDevices) + return result, response, err + +} + +//CommitDeviceConfiguration Commit device configuration - 53a3-5a70-4e3b-87b5 +/* This operation would commit device running configuration to startup by issuing "write memory" to device + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!commit-device-configuration +*/ +func (s *ComplianceService) CommitDeviceConfiguration(requestComplianceCommitDeviceConfiguration *RequestComplianceCommitDeviceConfiguration) (*ResponseComplianceCommitDeviceConfiguration, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device-config/write-memory" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestComplianceCommitDeviceConfiguration). + SetResult(&ResponseComplianceCommitDeviceConfiguration{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CommitDeviceConfiguration(requestComplianceCommitDeviceConfiguration) + } + + return nil, response, fmt.Errorf("error with operation CommitDeviceConfiguration") + } + + result := response.Result().(*ResponseComplianceCommitDeviceConfiguration) + return result, response, err + +} + +//CreatesATrialForBugsDetectionOnNetworkDevices Creates a trial for bugs detection on network devices - b080-6bcf-402b-ad8e +/* Creates a trial for bugs detection on network devices. The consent to connect agreement must have been accepted in the UI for this to succeed. Please refer to the user guide at + for more details on consent to connect. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-a-trial-for-bugs-detection-on-network-devices +*/ +func (s *ComplianceService) CreatesATrialForBugsDetectionOnNetworkDevices() (*ResponseComplianceCreatesATrialForBugsDetectionOnNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/trials" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceCreatesATrialForBugsDetectionOnNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreatesATrialForBugsDetectionOnNetworkDevices() + } + + return nil, response, fmt.Errorf("error with operation CreatesATrialForBugsDetectionOnNetworkDevices") + } + + result := response.Result().(*ResponseComplianceCreatesATrialForBugsDetectionOnNetworkDevices) + return result, response, err + +} + +//TriggersABugsScanForTheSupportedNetworkDevices Triggers a bugs scan for the supported network devices - 5296-db34-457b-b233 +/* Triggers a bugs scan for the supported network devices. The supported devices are switches and routers. If a device is not supported, the NetworkBugsDevice scanStatus will be Failed with appropriate comments. + + +@param TriggersABugsScanForTheSupportedNetworkDevicesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!triggers-a-bugs-scan-for-the-supported-network-devices +*/ +func (s *ComplianceService) TriggersABugsScanForTheSupportedNetworkDevices(TriggersABugsScanForTheSupportedNetworkDevicesQueryParams *TriggersABugsScanForTheSupportedNetworkDevicesQueryParams) (*ResponseComplianceTriggersABugsScanForTheSupportedNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/networkBugs/triggerScan" + + queryString, _ := query.Values(TriggersABugsScanForTheSupportedNetworkDevicesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()). + SetResult(&ResponseComplianceTriggersABugsScanForTheSupportedNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.TriggersABugsScanForTheSupportedNetworkDevices(TriggersABugsScanForTheSupportedNetworkDevicesQueryParams) + } + + return nil, response, fmt.Errorf("error with operation TriggersABugsScanForTheSupportedNetworkDevices") + } + + result := response.Result().(*ResponseComplianceTriggersABugsScanForTheSupportedNetworkDevices) + return result, response, err + +} + +//CreatesATrialForSecurityAdvisoriesDetectionOnNetworkDevices Creates a trial for security advisories detection on network devices - 0190-1b7a-4edb-91d8 +/* Creates a trial for security advisories detection on network devices. The consent to connect agreement must have been accepted in the UI for this to succeed. Please refer to the user guide at + for more details on consent to connect. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-a-trial-for-security-advisories-detection-on-network-devices +*/ +func (s *ComplianceService) CreatesATrialForSecurityAdvisoriesDetectionOnNetworkDevices() (*ResponseComplianceCreatesATrialForSecurityAdvisoriesDetectionOnNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/trials" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseComplianceCreatesATrialForSecurityAdvisoriesDetectionOnNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreatesATrialForSecurityAdvisoriesDetectionOnNetworkDevices() + } + + return nil, response, fmt.Errorf("error with operation CreatesATrialForSecurityAdvisoriesDetectionOnNetworkDevices") + } + + result := response.Result().(*ResponseComplianceCreatesATrialForSecurityAdvisoriesDetectionOnNetworkDevices) + return result, response, err + +} + +//TriggersASecurityAdvisoriesScanForTheSupportedNetworkDevices Triggers a security advisories scan for the supported network devices - a1a1-7b93-481b-9e03 +/* Triggers a security advisories scan for the supported network devices. The supported devices are switches, routers and wireless controllers with IOS and IOS-XE. If a device is not supported, the SecurityAdvisoryNetworkDevice scanStatus will be Failed with appropriate comments. + + +@param TriggersASecurityAdvisoriesScanForTheSupportedNetworkDevicesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!triggers-a-security-advisories-scan-for-the-supported-network-devices +*/ +func (s *ComplianceService) TriggersASecurityAdvisoriesScanForTheSupportedNetworkDevices(TriggersASecurityAdvisoriesScanForTheSupportedNetworkDevicesQueryParams *TriggersASecurityAdvisoriesScanForTheSupportedNetworkDevicesQueryParams) (*ResponseComplianceTriggersASecurityAdvisoriesScanForTheSupportedNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/securityAdvisories/triggerScan" + + queryString, _ := query.Values(TriggersASecurityAdvisoriesScanForTheSupportedNetworkDevicesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()). + SetResult(&ResponseComplianceTriggersASecurityAdvisoriesScanForTheSupportedNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.TriggersASecurityAdvisoriesScanForTheSupportedNetworkDevices(TriggersASecurityAdvisoriesScanForTheSupportedNetworkDevicesQueryParams) + } + + return nil, response, fmt.Errorf("error with operation TriggersASecurityAdvisoriesScanForTheSupportedNetworkDevices") + } + + result := response.Result().(*ResponseComplianceTriggersASecurityAdvisoriesScanForTheSupportedNetworkDevices) return result, response, err } diff --git a/sdk/configuration_archive.go b/sdk/configuration_archive.go index 953932c..4db6296 100644 --- a/sdk/configuration_archive.go +++ b/sdk/configuration_archive.go @@ -3,6 +3,7 @@ package dnac import ( "fmt" "net/http" + "strings" "github.com/go-resty/resty/v2" "github.com/google/go-querystring/query" @@ -16,7 +17,19 @@ type GetConfigurationArchiveDetailsQueryParams struct { CreatedTime string `url:"createdTime,omitempty"` //Supported with logical filters GT,GTE,LT,LTE & BT : time in milliseconds (epoc format) CreatedBy string `url:"createdBy,omitempty"` //Comma separated values for createdBy - SCHEDULED, USER, CONFIG_CHANGE_EVENT, SCHEDULED_FIRST_TIME, DR_CALL_BACK, PRE_DEPLOY Offset float64 `url:"offset,omitempty"` //offset - Limit float64 `url:"limit,omitempty"` //limit + Limit float64 `url:"limit,omitempty"` //The number of records to be retrieved defaults to 500 if not specified, with a maximum allowed limit of 500. +} +type GetNetworkDeviceConfigurationFileDetailsQueryParams struct { + ID string `url:"id,omitempty"` //Unique identifier (UUID) of the configuration file. + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Unique identifier (UUID) of the network devices. The number of networkDeviceId(s) must not exceed 5. + FileType string `url:"fileType,omitempty"` //Type of device configuration file.Available values : 'RUNNINGCONFIG', 'STARTUPCONFIG', 'VLAN' + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit float64 `url:"limit,omitempty"` //The number of records to be retrieved defaults to 500 if not specified, with a maximum allowed limit of 500. +} +type CountOfNetworkDeviceConfigurationFilesQueryParams struct { + ID string `url:"id,omitempty"` //Unique identifier (UUID) of the configuration file. + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Unique identifier (UUID) of the network devices. The number of networkDeviceId(s) must not exceed 5. + FileType string `url:"fileType,omitempty"` //Type of device configuration file. Available values : 'RUNNINGCONFIG', 'STARTUPCONFIG', 'VLAN' } type ResponseConfigurationArchiveExportDeviceConfigurations struct { @@ -60,10 +73,46 @@ type ResponseItemConfigurationArchiveGetConfigurationArchiveDetailsVersionsSyslo ProcessName string `json:"processName,omitempty"` // Name of the process that made configuration change (only available when configuration got changed by a program such as YANG suite ) SyslogTime *float64 `json:"syslogTime,omitempty"` // Time of configuration change as recorded in the syslog. } +type ResponseConfigurationArchiveGetNetworkDeviceConfigurationFileDetails struct { + Response *[]ResponseConfigurationArchiveGetNetworkDeviceConfigurationFileDetailsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of API. +} +type ResponseConfigurationArchiveGetNetworkDeviceConfigurationFileDetailsResponse struct { + ID string `json:"id,omitempty"` // Unique identifier (UUID) of the configuration file. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Unique identifier (UUID) of the network devices. + VersionID string `json:"versionId,omitempty"` // The version unique identifier triggered after any config change. + FileType string `json:"fileType,omitempty"` // Type of configuration file. Config File Type can be 'RUNNINGCONFIG' or 'STARTUPCONFIG' or 'VLAN'. + CreatedBy string `json:"createdBy,omitempty"` // The entity responsible for creating the configuration changes. + CreatedTime *int `json:"createdTime,omitempty"` // The UNIX epoch timestamp in milliseconds marking when the resource was created. +} +type ResponseConfigurationArchiveCountOfNetworkDeviceConfigurationFiles struct { + Response *ResponseConfigurationArchiveCountOfNetworkDeviceConfigurationFilesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseConfigurationArchiveCountOfNetworkDeviceConfigurationFilesResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseConfigurationArchiveGetConfigurationFileDetailsByID struct { + Response *ResponseConfigurationArchiveGetConfigurationFileDetailsByIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of API. +} +type ResponseConfigurationArchiveGetConfigurationFileDetailsByIDResponse struct { + ID string `json:"id,omitempty"` // Unique identifier (UUID) of the configuration file. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Unique identifier (UUID) of the network devices. + VersionID string `json:"versionId,omitempty"` // The version unique identifier triggered after any config change. + FileType string `json:"fileType,omitempty"` // Type of configuration file. Config File Type can be 'RUNNINGCONFIG' or 'STARTUPCONFIG' or 'VLAN'. + CreatedBy string `json:"createdBy,omitempty"` // The entity responsible for creating the configuration changes. + CreatedTime string `json:"createdTime,omitempty"` // The UNIX epoch timestamp in milliseconds marking when the resource was created. +} +type ResponseConfigurationArchiveDownloadMaskedDeviceConfiguration interface{} +type ResponseConfigurationArchiveDownloadUnmaskedrawDeviceConfigurationAsZIP interface{} type RequestConfigurationArchiveExportDeviceConfigurations struct { Password string `json:"password,omitempty"` // Password for the zip file to protect exported configurations. Must contain, at minimum 8 characters, one lowercase letter, one uppercase letter, one number, one special character(-=[];,./~!@#$%^&*()_+{}|:?). It may not contain white space or the characters <>. DeviceID string `json:"deviceId,omitempty"` // UUIDs of the devices for which configurations need to be exported. } +type RequestConfigurationArchiveDownloadUnmaskedrawDeviceConfigurationAsZIP struct { + Password string `json:"password,omitempty"` // Password for the zip file to protect exported configurations. Must contain, at minimum 8 characters, one lowercase letter, one uppercase letter, one number, one special character(-=[];,./~!@#$%^&*()_+{}|:?). It may not contain white space or the characters <>. +} //GetConfigurationArchiveDetails Get configuration archive details - 3bba-48a9-422a-be1e /* Returns the historical device configurations (running configuration , startup configuration , vlan if applicable) by specified criteria @@ -71,7 +120,7 @@ type RequestConfigurationArchiveExportDeviceConfigurations struct { @param GetConfigurationArchiveDetailsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-configuration-archive-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-configuration-archive-details */ func (s *ConfigurationArchiveService) GetConfigurationArchiveDetails(GetConfigurationArchiveDetailsQueryParams *GetConfigurationArchiveDetailsQueryParams) (*ResponseConfigurationArchiveGetConfigurationArchiveDetails, *resty.Response, error) { path := "/dna/intent/api/v1/network-device-config" @@ -102,12 +151,123 @@ func (s *ConfigurationArchiveService) GetConfigurationArchiveDetails(GetConfigur } +//GetNetworkDeviceConfigurationFileDetails Get Network Device Configuration File Details - bd95-9a71-4b8a-9442 +/* Retrieves the list of network device configuration file details, sorted by createdTime in descending order. Use /intent/api/v1/networkDeviceConfigFiles/{id}/downloadMasked to download masked configurations, or /intent/api/v1/networkDeviceConfigFiles/{id}/downloadUnmasked for unmasked configurations. + + +@param GetNetworkDeviceConfigurationFileDetailsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-device-configuration-file-details +*/ +func (s *ConfigurationArchiveService) GetNetworkDeviceConfigurationFileDetails(GetNetworkDeviceConfigurationFileDetailsQueryParams *GetNetworkDeviceConfigurationFileDetailsQueryParams) (*ResponseConfigurationArchiveGetNetworkDeviceConfigurationFileDetails, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceConfigFiles" + + queryString, _ := query.Values(GetNetworkDeviceConfigurationFileDetailsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseConfigurationArchiveGetNetworkDeviceConfigurationFileDetails{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetNetworkDeviceConfigurationFileDetails(GetNetworkDeviceConfigurationFileDetailsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetNetworkDeviceConfigurationFileDetails") + } + + result := response.Result().(*ResponseConfigurationArchiveGetNetworkDeviceConfigurationFileDetails) + return result, response, err + +} + +//CountOfNetworkDeviceConfigurationFiles Count of Network Device Configuration Files - d296-cab3-4a6b-b826 +/* Retrieves count the details of the network device configuration files. + + +@param CountOfNetworkDeviceConfigurationFilesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-network-device-configuration-files +*/ +func (s *ConfigurationArchiveService) CountOfNetworkDeviceConfigurationFiles(CountOfNetworkDeviceConfigurationFilesQueryParams *CountOfNetworkDeviceConfigurationFilesQueryParams) (*ResponseConfigurationArchiveCountOfNetworkDeviceConfigurationFiles, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceConfigFiles/count" + + queryString, _ := query.Values(CountOfNetworkDeviceConfigurationFilesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseConfigurationArchiveCountOfNetworkDeviceConfigurationFiles{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.CountOfNetworkDeviceConfigurationFiles(CountOfNetworkDeviceConfigurationFilesQueryParams) + } + return nil, response, fmt.Errorf("error with operation CountOfNetworkDeviceConfigurationFiles") + } + + result := response.Result().(*ResponseConfigurationArchiveCountOfNetworkDeviceConfigurationFiles) + return result, response, err + +} + +//GetConfigurationFileDetailsByID Get Configuration File Details by ID - cc93-5822-44ab-b75f +/* Retrieves the details of a specific network device configuration file using the `id`. + + +@param id id path parameter. The value of `id` can be obtained from the response of API `/dna/intent/api/v1/networkDeviceConfigFiles` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-configuration-file-details-by-id +*/ +func (s *ConfigurationArchiveService) GetConfigurationFileDetailsByID(id string) (*ResponseConfigurationArchiveGetConfigurationFileDetailsByID, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceConfigFiles/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseConfigurationArchiveGetConfigurationFileDetailsByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetConfigurationFileDetailsByID(id) + } + return nil, response, fmt.Errorf("error with operation GetConfigurationFileDetailsById") + } + + result := response.Result().(*ResponseConfigurationArchiveGetConfigurationFileDetailsByID) + return result, response, err + +} + //ExportDeviceConfigurations Export Device configurations - 51a4-0aba-4c68-ac17 -/* Export Device configurations to an encrypted zip file +/* Export Device configuration for every device that is provided will be included in an encrypted zip file. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!export-device-configurations-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!export-device-configurations */ func (s *ConfigurationArchiveService) ExportDeviceConfigurations(requestConfigurationArchiveExportDeviceConfigurations *RequestConfigurationArchiveExportDeviceConfigurations) (*ResponseConfigurationArchiveExportDeviceConfigurations, *resty.Response, error) { path := "/dna/intent/api/v1/network-device-archive/cleartext" @@ -138,3 +298,85 @@ func (s *ConfigurationArchiveService) ExportDeviceConfigurations(requestConfigur return result, response, err } + +//DownloadMaskedDeviceConfiguration Download masked device configuration - fe93-185d-4c58-a302 +/* Download the masked (sanitized) device configuration by providing the file `id`. + + +@param id id path parameter. The value of `id` can be obtained from the response of API `/dna/intent/api/v1/networkDeviceConfigFiles` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!download-masked-device-configuration +*/ +func (s *ConfigurationArchiveService) DownloadMaskedDeviceConfiguration(id string) (*ResponseConfigurationArchiveDownloadMaskedDeviceConfiguration, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceConfigFiles/{id}/downloadMasked" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + + // SetResult(&ResponseConfigurationArchiveDownloadMaskedDeviceConfiguration{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.DownloadMaskedDeviceConfiguration(id) + } + + return nil, response, fmt.Errorf("error with operation DownloadMaskedDeviceConfiguration") + } + + result := response.Result().(ResponseConfigurationArchiveDownloadMaskedDeviceConfiguration) + + return &result, response, err + +} + +//DownloadUnmaskedrawDeviceConfigurationAsZIP Download Unmasked (raw) Device Configuration as ZIP - 59a7-7a49-4e79-8fde +/* Download the unmasked (raw) device configuration by providing the file `id` and a `password`. The response will be a password-protected zip file containing the unmasked configuration. Password must contain a minimum of 8 characters, one lowercase letter, one uppercase letter, one number, one special character (`-=[];,./~!@#$%^&*()_+{}|:?`). It may not contain white space or the characters `<>`. + + +@param id id path parameter. The value of `id` can be obtained from the response of API `/dna/intent/api/v1/networkDeviceConfigFiles` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!download-unmaskedraw-device-configuration-as-z-ip +*/ +func (s *ConfigurationArchiveService) DownloadUnmaskedrawDeviceConfigurationAsZIP(id string, requestConfigurationArchiveDownloadUnmaskedrawDeviceConfigurationAsZIP *RequestConfigurationArchiveDownloadUnmaskedrawDeviceConfigurationAsZIP) (*ResponseConfigurationArchiveDownloadUnmaskedrawDeviceConfigurationAsZIP, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceConfigFiles/{id}/downloadUnmasked" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestConfigurationArchiveDownloadUnmaskedrawDeviceConfigurationAsZIP). + // SetResult(&ResponseConfigurationArchiveDownloadUnmaskedrawDeviceConfigurationAsZIP{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.DownloadUnmaskedrawDeviceConfigurationAsZIP(id, requestConfigurationArchiveDownloadUnmaskedrawDeviceConfigurationAsZIP) + } + + return nil, response, fmt.Errorf("error with operation DownloadUnmaskedrawDeviceConfigurationAsZIp") + } + + result := response.Result().(ResponseConfigurationArchiveDownloadUnmaskedrawDeviceConfigurationAsZIP) + + return &result, response, err + +} diff --git a/sdk/configuration_templates.go b/sdk/configuration_templates.go index dd81dba..f4e5f6f 100644 --- a/sdk/configuration_templates.go +++ b/sdk/configuration_templates.go @@ -11,6 +11,14 @@ import ( type ConfigurationTemplatesService service +type GetTemplateProjectsQueryParams struct { + Name string `url:"name,omitempty"` //Name of project to be searched + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. +} +type GetTemplateProjectCountQueryParams struct { + Name string `url:"name,omitempty"` //Name of project to be searched +} type CreatesACloneOfTheGivenTemplateQueryParams struct { ProjectID string `url:"projectId,omitempty"` //UUID of the project in which the template needs to be created } @@ -40,12 +48,26 @@ type GetsTheTemplatesAvailableQueryParams struct { type GetsDetailsOfAGivenTemplateQueryParams struct { LatestVersion bool `url:"latestVersion,omitempty"` //latestVersion flag to get the latest versioned template } +type DetachAListOfNetworkProfilesFromADayNCliTemplateQueryParams struct { + ProfileID string `url:"profileId,omitempty"` //The id or ids of the network profile, retrievable from /dna/intent/api/v1/networkProfilesForSites. The maximum number of profile Ids allowed is 20. A list of profile ids can be passed as a queryParameter in two ways: a comma-separated string ( profileId=388a23e9-4739-4be7-a0aa-cc5a95d158dd,2726dc60-3a12-451e-947a-d972ebf58743), or... as separate query parameters with the same name ( profileId=388a23e9-4739-4be7-a0aa-cc5a95d158dd&profileId=2726dc60-3a12-451e-947a-d972ebf58743 +} +type GetTemplateVersionsQueryParams struct { + VersionNumber int `url:"versionNumber,omitempty"` //Filter response to only get the template version that matches this version number + LatestVersion bool `url:"latestVersion,omitempty"` //Filter response to only include the latest version of a template + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + Offset int `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. +} +type GetTemplateVersionsCountQueryParams struct { + VersionNumber int `url:"versionNumber,omitempty"` //Filter response to only get the template version that matches this version number + LatestVersion bool `url:"latestVersion,omitempty"` //Filter response to only include the latest version of a template +} type GetProjectsDetailsV2QueryParams struct { - ID string `url:"id,omitempty"` //Id of project to be searched - Name string `url:"name,omitempty"` //Name of project to be searched - Offset int `url:"offset,omitempty"` //Index of first result - Limit int `url:"limit,omitempty"` //Limits number of results - SortOrder string `url:"sortOrder,omitempty"` //Sort Order Ascending (asc) or Descending (dsc) + ID string `url:"id,omitempty"` //Id of project to be searched + Name string `url:"name,omitempty"` //Name of project to be searched + Offset int `url:"offset,omitempty"` //Index of first result + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + SortOrder string `url:"sortOrder,omitempty"` //Sort Order Ascending (asc) or Descending (dsc) } type GetTemplatesDetailsV2QueryParams struct { ID string `url:"id,omitempty"` //Id of template to be searched @@ -64,9 +86,75 @@ type GetTemplatesDetailsV2QueryParams struct { AllTemplateAttributes bool `url:"allTemplateAttributes,omitempty"` //Return all template attributes IncludeVersionDetails bool `url:"includeVersionDetails,omitempty"` //Include template version details Offset int `url:"offset,omitempty"` //Index of first result - Limit int `url:"limit,omitempty"` //Limits number of results + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. +} + +type ResponseConfigurationTemplatesCreateTemplateProject struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseConfigurationTemplatesCreateTemplateProjectResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesCreateTemplateProjectResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseConfigurationTemplatesGetTemplateProjects struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *[]ResponseConfigurationTemplatesGetTemplateProjectsResponse `json:"response,omitempty"` // } +type ResponseConfigurationTemplatesGetTemplateProjectsResponse struct { + ProjectID string `json:"projectId,omitempty"` // UUID of the project + + Name string `json:"name,omitempty"` // Name of the project + Description string `json:"description,omitempty"` // Description of the project + + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Timestamp of when the project was updated or modified +} +type ResponseConfigurationTemplatesGetTemplateProjectCount struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseConfigurationTemplatesGetTemplateProjectCountResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesGetTemplateProjectCountResponse struct { + Count *int `json:"count,omitempty"` // The reported count +} +type ResponseConfigurationTemplatesGetTemplateProject struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseConfigurationTemplatesGetTemplateProjectResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesGetTemplateProjectResponse struct { + ProjectID string `json:"projectId,omitempty"` // UUID of the project + + Name string `json:"name,omitempty"` // Name of the project + + Description string `json:"description,omitempty"` // Description of the project + + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Timestamp of when the project was updated or modified +} +type ResponseConfigurationTemplatesUpdateTemplateProject struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseConfigurationTemplatesUpdateTemplateProjectResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesUpdateTemplateProjectResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseConfigurationTemplatesDeleteTemplateProject struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseConfigurationTemplatesDeleteTemplateProjectResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesDeleteTemplateProjectResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} type ResponseConfigurationTemplatesCreatesACloneOfTheGivenTemplate struct { Response *ResponseConfigurationTemplatesCreatesACloneOfTheGivenTemplateResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // @@ -869,11 +957,156 @@ type ResponseConfigurationTemplatesGetsDetailsOfAGivenTemplateValidationErrors s } type ResponseConfigurationTemplatesGetsDetailsOfAGivenTemplateValidationErrorsRollbackTemplateErrors interface{} type ResponseConfigurationTemplatesGetsDetailsOfAGivenTemplateValidationErrorsTemplateErrors interface{} -type ResponseConfigurationTemplatesGetProjectsDetailsV2 struct { - Response []ResponseConfigurationTemplatesGetProjectsDetailsResponse `json:"response,omitempty"` // Response +type ResponseConfigurationTemplatesRetrieveTheNetworkProfilesAttachedToACLITemplate struct { + object string `json:"object,omitempty"` // object +} +type ResponseConfigurationTemplatesAttachNetworkProfileToADayNCliTemplate struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseConfigurationTemplatesAttachNetworkProfileToADayNCliTemplateResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesAttachNetworkProfileToADayNCliTemplateResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseConfigurationTemplatesDetachAListOfNetworkProfilesFromADayNCliTemplate struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseConfigurationTemplatesDetachAListOfNetworkProfilesFromADayNCliTemplateResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesDetachAListOfNetworkProfilesFromADayNCliTemplateResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseConfigurationTemplatesAttachAListOfNetworkProfilesToADayNCliTemplate struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseConfigurationTemplatesAttachAListOfNetworkProfilesToADayNCliTemplateResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesAttachAListOfNetworkProfilesToADayNCliTemplateResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseConfigurationTemplatesRetrieveCountOfNetworkProfilesAttachedToACLITemplate struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseConfigurationTemplatesRetrieveCountOfNetworkProfilesAttachedToACLITemplateResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesRetrieveCountOfNetworkProfilesAttachedToACLITemplateResponse struct { + Count *int `json:"count,omitempty"` // The reported count +} +type ResponseConfigurationTemplatesDetachANetworkProfileFromADayNCliTemplate struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseConfigurationTemplatesDetachANetworkProfileFromADayNCliTemplateResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesDetachANetworkProfileFromADayNCliTemplateResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseConfigurationTemplatesGetTemplateVersions struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *[]ResponseConfigurationTemplatesGetTemplateVersionsResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesGetTemplateVersionsResponse struct { + VersionID string `json:"versionId,omitempty"` // The id of this version + Version *int `json:"version,omitempty"` // The version number of this version + VersionTime *float64 `json:"versionTime,omitempty"` // Time at which this version was committed + RegularTemplate *ResponseConfigurationTemplatesGetTemplateVersionsResponseRegularTemplate `json:"RegularTemplate,omitempty"` // + CompositeTemplate *ResponseConfigurationTemplatesGetTemplateVersionsResponseCompositeTemplate `json:"CompositeTemplate,omitempty"` // +} +type ResponseConfigurationTemplatesGetTemplateVersionsResponseRegularTemplate struct { + TemplateID string `json:"templateId,omitempty"` // The id of the template + Name string `json:"name,omitempty"` // Name of the template + ProjectID string `json:"projectId,omitempty"` // Id of the project + Description string `json:"description,omitempty"` // Description of the template + SoftwareFamily string `json:"softwareFamily,omitempty"` // Software Family + Author string `json:"author,omitempty"` // Author of the template + Products *[]ResponseConfigurationTemplatesGetTemplateVersionsResponseRegularTemplateProducts `json:"products,omitempty"` // + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Timestamp of when the template was updated or modified + Type string `json:"type,omitempty"` // The type of the template + Language string `json:"language,omitempty"` // Language of the template + TemplateContent string `json:"templateContent,omitempty"` // Template content (uses LF styling for line-breaks) +} +type ResponseConfigurationTemplatesGetTemplateVersionsResponseRegularTemplateProducts struct { + ProductFamily string `json:"productFamily,omitempty"` // Family name of the product + ProductSeries string `json:"productSeries,omitempty"` // Series name of the product + ProductName string `json:"productName,omitempty"` // Name of the product +} +type ResponseConfigurationTemplatesGetTemplateVersionsResponseCompositeTemplate struct { + TemplateID string `json:"templateId,omitempty"` // The id of the template + Name string `json:"name,omitempty"` // Name of the template + ProjectID string `json:"projectId,omitempty"` // Id of the project + Description string `json:"description,omitempty"` // Description of the template + SoftwareFamily string `json:"softwareFamily,omitempty"` // Software Family + Author string `json:"author,omitempty"` // Author of the template + Products *[]ResponseConfigurationTemplatesGetTemplateVersionsResponseCompositeTemplateProducts `json:"products,omitempty"` // + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Timestamp of when the template was updated or modified + Type string `json:"type,omitempty"` // The type of the template + FailurePolicy string `json:"failurePolicy,omitempty"` // Policy to handle failure only applicable for composite templates CONTINUE_ON_ERROR: If a composed template fails while deploying a device, continue deploying the next composed template ABORT_TARGET_ON_ERROR: If a composed template fails while deploying to a device, abort the subsequent composed templates to that device if there any remaining +} +type ResponseConfigurationTemplatesGetTemplateVersionsResponseCompositeTemplateProducts struct { + ProductFamily string `json:"productFamily,omitempty"` // Family name of the product + ProductSeries string `json:"productSeries,omitempty"` // Series name of the product + ProductName string `json:"productName,omitempty"` // Name of the product +} +type ResponseConfigurationTemplatesCommitTemplateForANewVersion struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseConfigurationTemplatesCommitTemplateForANewVersionResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesCommitTemplateForANewVersionResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseConfigurationTemplatesGetTemplateVersionsCount struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseConfigurationTemplatesGetTemplateVersionsCountResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesGetTemplateVersionsCountResponse struct { + Count *int `json:"count,omitempty"` // The reported count +} +type ResponseConfigurationTemplatesGetTemplateVersion struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseConfigurationTemplatesGetTemplateVersionResponse `json:"response,omitempty"` // +} +type ResponseConfigurationTemplatesGetTemplateVersionResponse struct { + VersionID string `json:"versionId,omitempty"` // The id of this version + Version *int `json:"version,omitempty"` // The version number of this version + VersionTime *float64 `json:"versionTime,omitempty"` // Time at which this version was committed + RegularTemplate *ResponseConfigurationTemplatesGetTemplateVersionResponseRegularTemplate `json:"RegularTemplate,omitempty"` // + CompositeTemplate *ResponseConfigurationTemplatesGetTemplateVersionResponseCompositeTemplate `json:"CompositeTemplate,omitempty"` // +} +type ResponseConfigurationTemplatesGetTemplateVersionResponseRegularTemplate struct { + TemplateID string `json:"templateId,omitempty"` // The id of the template + Name string `json:"name,omitempty"` // Name of the template + ProjectID string `json:"projectId,omitempty"` // Id of the project + Description string `json:"description,omitempty"` // Description of the template + SoftwareFamily string `json:"softwareFamily,omitempty"` // Software Family + Author string `json:"author,omitempty"` // Author of the template + Products *[]ResponseConfigurationTemplatesGetTemplateVersionResponseRegularTemplateProducts `json:"products,omitempty"` // + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Timestamp of when the template was updated or modified + Type string `json:"type,omitempty"` // The type of the template + Language string `json:"language,omitempty"` // Language of the template + TemplateContent string `json:"templateContent,omitempty"` // Template content (uses LF styling for line-breaks) +} +type ResponseConfigurationTemplatesGetTemplateVersionResponseRegularTemplateProducts struct { + ProductFamily string `json:"productFamily,omitempty"` // Family name of the product + ProductSeries string `json:"productSeries,omitempty"` // Series name of the product + ProductName string `json:"productName,omitempty"` // Name of the product +} +type ResponseConfigurationTemplatesGetTemplateVersionResponseCompositeTemplate struct { + TemplateID string `json:"templateId,omitempty"` // The id of the template + Name string `json:"name,omitempty"` // Name of the template + ProjectID string `json:"projectId,omitempty"` // Id of the project + Description string `json:"description,omitempty"` // Description of the template + SoftwareFamily string `json:"softwareFamily,omitempty"` // Software Family + Author string `json:"author,omitempty"` // Author of the template + Products *[]ResponseConfigurationTemplatesGetTemplateVersionResponseCompositeTemplateProducts `json:"products,omitempty"` // + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Timestamp of when the template was updated or modified + Type string `json:"type,omitempty"` // The type of the template + FailurePolicy string `json:"failurePolicy,omitempty"` // Policy to handle failure only applicable for composite templates CONTINUE_ON_ERROR: If a composed template fails while deploying a device, continue deploying the next composed template ABORT_TARGET_ON_ERROR: If a composed template fails while deploying to a device, abort the subsequent composed templates to that device if there any remaining +} +type ResponseConfigurationTemplatesGetTemplateVersionResponseCompositeTemplateProducts struct { + ProductFamily string `json:"productFamily,omitempty"` // Family name of the product + ProductSeries string `json:"productSeries,omitempty"` // Series name of the product + ProductName string `json:"productName,omitempty"` // Name of the product } - -type ResponseConfigurationTemplatesGetProjectsDetailsResponse struct { +type ResponseConfigurationTemplatesGetProjectsDetailsV2 struct { CreateTime *int `json:"createTime,omitempty"` // Create time of project Description string `json:"description,omitempty"` // Description of project ID string `json:"id,omitempty"` // UUID of project @@ -1105,6 +1338,16 @@ type ResponseConfigurationTemplatesDeployTemplateV2Response struct { TaskID string `json:"taskId,omitempty"` // URL string `json:"url,omitempty"` // } +type RequestConfigurationTemplatesCreateTemplateProject struct { + Name string `json:"name,omitempty"` // Name of the project + + Description string `json:"description,omitempty"` // Description of the project +} +type RequestConfigurationTemplatesUpdateTemplateProject struct { + Name string `json:"name,omitempty"` // Name of the project + + Description string `json:"description,omitempty"` // Description of the project +} type RequestConfigurationTemplatesCreateProject struct { Tags *[]RequestConfigurationTemplatesCreateProjectTags `json:"tags,omitempty"` // CreateTime *int `json:"createTime,omitempty"` // Create time of project @@ -1756,6 +1999,15 @@ type RequestConfigurationTemplatesVersionTemplate struct { Comments string `json:"comments,omitempty"` // Template version comments TemplateID string `json:"templateId,omitempty"` // UUID of template } +type RequestConfigurationTemplatesAttachNetworkProfileToADayNCliTemplate struct { + ProfileID string `json:"profileId,omitempty"` // The id of the network profile, retrievable from `/intent/api/v1/networkProfilesForSites` +} +type RequestConfigurationTemplatesAttachAListOfNetworkProfilesToADayNCliTemplate struct { + Items *[][]string `json:"items,omitempty"` // Root +} +type RequestConfigurationTemplatesCommitTemplateForANewVersion struct { + CommitNote string `json:"commitNote,omitempty"` // A message to leave as a note with the commit of a template. The maximum length allowed is 255 characters. +} type RequestConfigurationTemplatesDeployTemplateV2 struct { ForcePushTemplate *bool `json:"forcePushTemplate,omitempty"` // IsComposite *bool `json:"isComposite,omitempty"` // Composite template flag @@ -1773,6 +2025,118 @@ type RequestConfigurationTemplatesDeployTemplateV2TargetInfo struct { VersionedTemplateID string `json:"versionedTemplateId,omitempty"` // Versioned templateUUID to be provisioned } type RequestConfigurationTemplatesDeployTemplateV2TargetInfoParams map[string]interface{} +type RequestConfigurationTemplatesDeployTemplateV2TargetInfoResourceParams interface{} + +//GetTemplateProjects Get Template Projects - 03b6-793d-45e8-9ff1 +/* Get all matching template projects based on the filters selected. + + +@param GetTemplateProjectsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-template-projects +*/ +func (s *ConfigurationTemplatesService) GetTemplateProjects(GetTemplateProjectsQueryParams *GetTemplateProjectsQueryParams) (*ResponseConfigurationTemplatesGetTemplateProjects, *resty.Response, error) { + path := "/dna/intent/api/v1/projects" + + queryString, _ := query.Values(GetTemplateProjectsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseConfigurationTemplatesGetTemplateProjects{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTemplateProjects(GetTemplateProjectsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetTemplateProjects") + } + + result := response.Result().(*ResponseConfigurationTemplatesGetTemplateProjects) + return result, response, err + +} + +//GetTemplateProjectCount Get Template Project Count - d394-ab82-44f8-9435 +/* Get the count of all template projects. + + +@param GetTemplateProjectCountQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-template-project-count +*/ +func (s *ConfigurationTemplatesService) GetTemplateProjectCount(GetTemplateProjectCountQueryParams *GetTemplateProjectCountQueryParams) (*ResponseConfigurationTemplatesGetTemplateProjectCount, *resty.Response, error) { + path := "/dna/intent/api/v1/projects/count" + + queryString, _ := query.Values(GetTemplateProjectCountQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseConfigurationTemplatesGetTemplateProjectCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTemplateProjectCount(GetTemplateProjectCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetTemplateProjectCount") + } + + result := response.Result().(*ResponseConfigurationTemplatesGetTemplateProjectCount) + return result, response, err + +} + +//GetTemplateProject Get Template Project - 90b7-68c6-41d8-a1bd +/* Get a template project by the project's ID. + + +@param projectID projectId path parameter. The id of the project to get, retrieveable from `GET /dna/intent/api/v1/projects` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-template-project +*/ +func (s *ConfigurationTemplatesService) GetTemplateProject(projectID string) (*ResponseConfigurationTemplatesGetTemplateProject, *resty.Response, error) { + path := "/dna/intent/api/v1/projects/{projectId}" + path = strings.Replace(path, "{projectId}", fmt.Sprintf("%v", projectID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseConfigurationTemplatesGetTemplateProject{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTemplateProject(projectID) + } + return nil, response, fmt.Errorf("error with operation GetTemplateProject") + } + + result := response.Result().(*ResponseConfigurationTemplatesGetTemplateProject) + return result, response, err + +} //GetsAListOfProjects Gets a list of projects - 4f80-08c2-400b-98ee /* List the projects @@ -1780,7 +2144,7 @@ type RequestConfigurationTemplatesDeployTemplateV2TargetInfoParams map[string]in @param GetsAListOfProjectsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-a-list-of-projects-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-a-list-of-projects */ func (s *ConfigurationTemplatesService) GetsAListOfProjects(GetsAListOfProjectsQueryParams *GetsAListOfProjectsQueryParams) (*ResponseConfigurationTemplatesGetsAListOfProjects, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/project" @@ -1818,7 +2182,7 @@ func (s *ConfigurationTemplatesService) GetsAListOfProjects(GetsAListOfProjectsQ @param projectID projectId path parameter. projectId(UUID) of project to get project details -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-details-of-a-given-project-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-details-of-a-given-project */ func (s *ConfigurationTemplatesService) GetsTheDetailsOfAGivenProject(projectID string) (*ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProject, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/project/{projectId}" @@ -1854,7 +2218,7 @@ func (s *ConfigurationTemplatesService) GetsTheDetailsOfAGivenProject(projectID @param GetsTheTemplatesAvailableQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-templates-available-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-templates-available */ func (s *ConfigurationTemplatesService) GetsTheTemplatesAvailable(GetsTheTemplatesAvailableQueryParams *GetsTheTemplatesAvailableQueryParams) (*ResponseConfigurationTemplatesGetsTheTemplatesAvailable, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/template" @@ -1892,7 +2256,7 @@ func (s *ConfigurationTemplatesService) GetsTheTemplatesAvailable(GetsTheTemplat @param deploymentID deploymentId path parameter. UUID of deployment to retrieve template deployment status -Documentation Link: https://developer.cisco.com/docs/dna-center/#!status-of-template-deployment-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!status-of-template-deployment */ func (s *ConfigurationTemplatesService) StatusOfTemplateDeployment(deploymentID string) (*ResponseConfigurationTemplatesStatusOfTemplateDeployment, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/template/deploy/status/{deploymentId}" @@ -1929,7 +2293,7 @@ func (s *ConfigurationTemplatesService) StatusOfTemplateDeployment(deploymentID @param templateID templateId path parameter. templateId(UUID) to get list of versioned templates -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-all-the-versions-of-a-given-template-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-all-the-versions-of-a-given-template */ func (s *ConfigurationTemplatesService) GetsAllTheVersionsOfAGivenTemplate(templateID string) (*ResponseConfigurationTemplatesGetsAllTheVersionsOfAGivenTemplate, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/template/version/{templateId}" @@ -1967,7 +2331,7 @@ func (s *ConfigurationTemplatesService) GetsAllTheVersionsOfAGivenTemplate(templ @param GetsDetailsOfAGivenTemplateQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-details-of-a-given-template-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-details-of-a-given-template */ func (s *ConfigurationTemplatesService) GetsDetailsOfAGivenTemplate(templateID string, GetsDetailsOfAGivenTemplateQueryParams *GetsDetailsOfAGivenTemplateQueryParams) (*ResponseConfigurationTemplatesGetsDetailsOfAGivenTemplate, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/template/{templateId}" @@ -1999,13 +2363,207 @@ func (s *ConfigurationTemplatesService) GetsDetailsOfAGivenTemplate(templateID s } +//RetrieveTheNetworkProfilesAttachedToACLITemplate Retrieve the network profiles attached to a CLI template - 7887-b9c5-40d9-b707 +/* Retrieves the list of network profiles that a CLI template is currently attached to by the template ID. + + +@param templateID templateId path parameter. The `id` of the template, retrievable from `GET /intent/api/v1/templates` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-network-profiles-attached-to-acl-i-template +*/ +func (s *ConfigurationTemplatesService) RetrieveTheNetworkProfilesAttachedToACLITemplate(templateID string) (*ResponseConfigurationTemplatesRetrieveTheNetworkProfilesAttachedToACLITemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/templates/{templateId}/networkProfilesForSites" + path = strings.Replace(path, "{templateId}", fmt.Sprintf("%v", templateID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseConfigurationTemplatesRetrieveTheNetworkProfilesAttachedToACLITemplate{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveTheNetworkProfilesAttachedToACLITemplate(templateID) + } + return nil, response, fmt.Errorf("error with operation RetrieveTheNetworkProfilesAttachedToAclITemplate") + } + + result := response.Result().(*ResponseConfigurationTemplatesRetrieveTheNetworkProfilesAttachedToACLITemplate) + return result, response, err + +} + +//RetrieveCountOfNetworkProfilesAttachedToACLITemplate Retrieve count of network profiles attached to a CLI template - f1ab-98e1-426a-9a06 +/* Retrieves the count of network profiles that a CLI template has been attached to by the template ID. + + +@param templateID templateId path parameter. The `id` of the template, retrievable from `GET /intent/api/v1/templates` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-count-of-network-profiles-attached-to-acl-i-template +*/ +func (s *ConfigurationTemplatesService) RetrieveCountOfNetworkProfilesAttachedToACLITemplate(templateID string) (*ResponseConfigurationTemplatesRetrieveCountOfNetworkProfilesAttachedToACLITemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/templates/{templateId}/networkProfilesForSites/count" + path = strings.Replace(path, "{templateId}", fmt.Sprintf("%v", templateID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseConfigurationTemplatesRetrieveCountOfNetworkProfilesAttachedToACLITemplate{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveCountOfNetworkProfilesAttachedToACLITemplate(templateID) + } + return nil, response, fmt.Errorf("error with operation RetrieveCountOfNetworkProfilesAttachedToAclITemplate") + } + + result := response.Result().(*ResponseConfigurationTemplatesRetrieveCountOfNetworkProfilesAttachedToACLITemplate) + return result, response, err + +} + +//GetTemplateVersions Get Template Versions - b08a-5b15-4c99-beb3 +/* Get a template's version information. + + +@param templateID templateId path parameter. The id of the template to get versions of, retrieveable from `GET /dna/intent/api/v1/templates` + +@param GetTemplateVersionsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-template-versions +*/ +func (s *ConfigurationTemplatesService) GetTemplateVersions(templateID string, GetTemplateVersionsQueryParams *GetTemplateVersionsQueryParams) (*ResponseConfigurationTemplatesGetTemplateVersions, *resty.Response, error) { + path := "/dna/intent/api/v1/templates/{templateId}/versions" + path = strings.Replace(path, "{templateId}", fmt.Sprintf("%v", templateID), -1) + + queryString, _ := query.Values(GetTemplateVersionsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseConfigurationTemplatesGetTemplateVersions{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTemplateVersions(templateID, GetTemplateVersionsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetTemplateVersions") + } + + result := response.Result().(*ResponseConfigurationTemplatesGetTemplateVersions) + return result, response, err + +} + +//GetTemplateVersionsCount Get Template Versions Count - 57a5-d893-4d98-a66f +/* Get the count of a template's version information. + + +@param templateID templateId path parameter. The id of the template to get versions of, retrieveable from `GET /dna/intent/api/v1/templates` + +@param GetTemplateVersionsCountQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-template-versions-count +*/ +func (s *ConfigurationTemplatesService) GetTemplateVersionsCount(templateID string, GetTemplateVersionsCountQueryParams *GetTemplateVersionsCountQueryParams) (*ResponseConfigurationTemplatesGetTemplateVersionsCount, *resty.Response, error) { + path := "/dna/intent/api/v1/templates/{templateId}/versions/count" + path = strings.Replace(path, "{templateId}", fmt.Sprintf("%v", templateID), -1) + + queryString, _ := query.Values(GetTemplateVersionsCountQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseConfigurationTemplatesGetTemplateVersionsCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTemplateVersionsCount(templateID, GetTemplateVersionsCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetTemplateVersionsCount") + } + + result := response.Result().(*ResponseConfigurationTemplatesGetTemplateVersionsCount) + return result, response, err + +} + +//GetTemplateVersion Get Template Version - 689b-e88b-4c18-8a8c +/* Get a template's version by the version ID. + + +@param templateID templateId path parameter. The id of the template to get versions of, retrieveable from `GET /dna/intent/api/v1/templates` + +@param versionID versionId path parameter. The id of the versioned template to get versions of, retrieveable from `GET /dna/intent/api/v1/templates/{id}/versions` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-template-version +*/ +func (s *ConfigurationTemplatesService) GetTemplateVersion(templateID string, versionID string) (*ResponseConfigurationTemplatesGetTemplateVersion, *resty.Response, error) { + path := "/dna/intent/api/v1/templates/{templateId}/versions/{versionId}" + path = strings.Replace(path, "{templateId}", fmt.Sprintf("%v", templateID), -1) + path = strings.Replace(path, "{versionId}", fmt.Sprintf("%v", versionID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseConfigurationTemplatesGetTemplateVersion{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTemplateVersion(templateID, versionID) + } + return nil, response, fmt.Errorf("error with operation GetTemplateVersion") + } + + result := response.Result().(*ResponseConfigurationTemplatesGetTemplateVersion) + return result, response, err + +} + //GetProjectsDetailsV2 Get project(s) details - 9a8c-aa6d-459b-a4a2 /* Get project(s) details @param GetProjectsDetailsV2QueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-projects-details-v2 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-projects-details */ func (s *ConfigurationTemplatesService) GetProjectsDetailsV2(GetProjectsDetailsV2QueryParams *GetProjectsDetailsV2QueryParams) (*ResponseConfigurationTemplatesGetProjectsDetailsV2, *resty.Response, error) { path := "/dna/intent/api/v2/template-programmer/project" @@ -2073,6 +2631,43 @@ func (s *ConfigurationTemplatesService) GetTemplatesDetailsV2(GetTemplatesDetail } +//CreateTemplateProject Create Template Project - a280-e91c-498b-a571 +/* Create a template project. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-template-project +*/ +func (s *ConfigurationTemplatesService) CreateTemplateProject(requestConfigurationTemplatesCreateTemplateProject *RequestConfigurationTemplatesCreateTemplateProject) (*ResponseConfigurationTemplatesCreateTemplateProject, *resty.Response, error) { + path := "/dna/intent/api/v1/projects" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestConfigurationTemplatesCreateTemplateProject). + SetResult(&ResponseConfigurationTemplatesCreateTemplateProject{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateTemplateProject(requestConfigurationTemplatesCreateTemplateProject) + } + + return nil, response, fmt.Errorf("error with operation CreateTemplateProject") + } + + result := response.Result().(*ResponseConfigurationTemplatesCreateTemplateProject) + return result, response, err + +} + //CreatesACloneOfTheGivenTemplate Creates a clone of the given template - 0384-4a0a-4ee8-bfc2 /* API to clone template @@ -2084,7 +2679,7 @@ func (s *ConfigurationTemplatesService) GetTemplatesDetailsV2(GetTemplatesDetail @param projectID projectId path parameter. @param CreatesACloneOfTheGivenTemplateQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-a-clone-of-the-given-template-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-a-clone-of-the-given-template */ func (s *ConfigurationTemplatesService) CreatesACloneOfTheGivenTemplate(name string, templateID string, projectID string, CreatesACloneOfTheGivenTemplateQueryParams *CreatesACloneOfTheGivenTemplateQueryParams) (*ResponseConfigurationTemplatesCreatesACloneOfTheGivenTemplate, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/clone/name/{name}/project/{projectId}/template/{templateId}" @@ -2126,7 +2721,7 @@ func (s *ConfigurationTemplatesService) CreatesACloneOfTheGivenTemplate(name str -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-project-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-project */ func (s *ConfigurationTemplatesService) CreateProject(requestConfigurationTemplatesCreateProject *RequestConfigurationTemplatesCreateProject) (*ResponseConfigurationTemplatesCreateProject, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/project" @@ -2164,7 +2759,7 @@ func (s *ConfigurationTemplatesService) CreateProject(requestConfigurationTempla @param ImportsTheProjectsProvidedQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!imports-the-projects-provided-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!imports-the-projects-provided */ func (s *ConfigurationTemplatesService) ImportsTheProjectsProvided(ImportsTheProjectsProvidedQueryParams *ImportsTheProjectsProvidedQueryParams) (*ResponseConfigurationTemplatesImportsTheProjectsProvided, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/project/importprojects" @@ -2203,7 +2798,7 @@ func (s *ConfigurationTemplatesService) ImportsTheProjectsProvided(ImportsThePro -Documentation Link: https://developer.cisco.com/docs/dna-center/#!exports-the-projects-for-a-given-criteria-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!exports-the-projects-for-a-given-criteria */ func (s *ConfigurationTemplatesService) ExportsTheProjectsForAGivenCriteria(requestConfigurationTemplatesExportsTheProjectsForAGivenCriteria *RequestConfigurationTemplatesExportsTheProjectsForAGivenCriteria) (*ResponseConfigurationTemplatesExportsTheProjectsForAGivenCriteria, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/project/name/exportprojects" @@ -2243,7 +2838,7 @@ func (s *ConfigurationTemplatesService) ExportsTheProjectsForAGivenCriteria(requ @param ImportsTheTemplatesProvidedQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!imports-the-templates-provided-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!imports-the-templates-provided */ func (s *ConfigurationTemplatesService) ImportsTheTemplatesProvided(projectName string, requestConfigurationTemplatesImportsTheTemplatesProvided *RequestConfigurationTemplatesImportsTheTemplatesProvided, ImportsTheTemplatesProvidedQueryParams *ImportsTheTemplatesProvidedQueryParams) (*ResponseConfigurationTemplatesImportsTheTemplatesProvided, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/project/name/{projectName}/template/importtemplates" @@ -2285,7 +2880,7 @@ func (s *ConfigurationTemplatesService) ImportsTheTemplatesProvided(projectName @param projectID projectId path parameter. UUID of the project in which the template needs to be created -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-template-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-template */ func (s *ConfigurationTemplatesService) CreateTemplate(projectID string, requestConfigurationTemplatesCreateTemplate *RequestConfigurationTemplatesCreateTemplate) (*ResponseConfigurationTemplatesCreateTemplate, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/project/{projectId}/template" @@ -2323,7 +2918,7 @@ func (s *ConfigurationTemplatesService) CreateTemplate(projectID string, request -Documentation Link: https://developer.cisco.com/docs/dna-center/#!deploy-template-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deploy-template */ func (s *ConfigurationTemplatesService) DeployTemplate(requestConfigurationTemplatesDeployTemplate *RequestConfigurationTemplatesDeployTemplate) (*ResponseConfigurationTemplatesDeployTemplate, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/template/deploy" @@ -2360,7 +2955,7 @@ func (s *ConfigurationTemplatesService) DeployTemplate(requestConfigurationTempl -Documentation Link: https://developer.cisco.com/docs/dna-center/#!exports-the-templates-for-a-given-criteria-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!exports-the-templates-for-a-given-criteria */ func (s *ConfigurationTemplatesService) ExportsTheTemplatesForAGivenCriteria(requestConfigurationTemplatesExportsTheTemplatesForAGivenCriteria *RequestConfigurationTemplatesExportsTheTemplatesForAGivenCriteria) (*ResponseConfigurationTemplatesExportsTheTemplatesForAGivenCriteria, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/template/exporttemplates" @@ -2397,7 +2992,7 @@ func (s *ConfigurationTemplatesService) ExportsTheTemplatesForAGivenCriteria(req -Documentation Link: https://developer.cisco.com/docs/dna-center/#!version-template-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!version-template */ func (s *ConfigurationTemplatesService) VersionTemplate(requestConfigurationTemplatesVersionTemplate *RequestConfigurationTemplatesVersionTemplate) (*ResponseConfigurationTemplatesVersionTemplate, *resty.Response, error) { path := "/dna/intent/api/v1/template-programmer/template/version" @@ -2429,6 +3024,126 @@ func (s *ConfigurationTemplatesService) VersionTemplate(requestConfigurationTemp } +//AttachNetworkProfileToADayNCliTemplate Attach network profile to a Day-N CLI template - ecba-b925-4ed9-b235 +/* Attaches a network profile to a Day-N CLI template by passing the profile ID and template ID. + + +@param templateID templateId path parameter. The `id` of the template, retrievable from `GET /intent/api/v1/templates` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!attach-network-profile-to-a-day-n-cli-template +*/ +func (s *ConfigurationTemplatesService) AttachNetworkProfileToADayNCliTemplate(templateID string, requestConfigurationTemplatesAttachNetworkProfileToADayNCLITemplate *RequestConfigurationTemplatesAttachNetworkProfileToADayNCliTemplate) (*ResponseConfigurationTemplatesAttachNetworkProfileToADayNCliTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/templates/{templateId}/networkProfilesForSites" + path = strings.Replace(path, "{templateId}", fmt.Sprintf("%v", templateID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestConfigurationTemplatesAttachNetworkProfileToADayNCLITemplate). + SetResult(&ResponseConfigurationTemplatesAttachNetworkProfileToADayNCliTemplate{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.AttachNetworkProfileToADayNCliTemplate(templateID, requestConfigurationTemplatesAttachNetworkProfileToADayNCLITemplate) + } + + return nil, response, fmt.Errorf("error with operation AttachNetworkProfileToADayNCliTemplate") + } + + result := response.Result().(*ResponseConfigurationTemplatesAttachNetworkProfileToADayNCliTemplate) + return result, response, err + +} + +//AttachAListOfNetworkProfilesToADayNCliTemplate Attach a list of network profiles to a Day-N CLI template - 26a5-cb41-46c8-8fe4 +/* Attaches a list of network profiles to the Day-N CLI template by passing the profile IDs and template ID. + + +@param templateID templateId path parameter. The `id` of the template, retrievable from `GET /intent/api/v1/templates` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!attach-a-list-of-network-profiles-to-a-day-n-cli-template +*/ +func (s *ConfigurationTemplatesService) AttachAListOfNetworkProfilesToADayNCliTemplate(templateID string, requestConfigurationTemplatesAttachAListOfNetworkProfilesToADayNCLITemplate *RequestConfigurationTemplatesAttachAListOfNetworkProfilesToADayNCliTemplate) (*ResponseConfigurationTemplatesAttachAListOfNetworkProfilesToADayNCliTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/templates/{templateId}/networkProfilesForSites/bulk" + path = strings.Replace(path, "{templateId}", fmt.Sprintf("%v", templateID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestConfigurationTemplatesAttachAListOfNetworkProfilesToADayNCLITemplate). + SetResult(&ResponseConfigurationTemplatesAttachAListOfNetworkProfilesToADayNCliTemplate{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.AttachAListOfNetworkProfilesToADayNCliTemplate(templateID, requestConfigurationTemplatesAttachAListOfNetworkProfilesToADayNCLITemplate) + } + + return nil, response, fmt.Errorf("error with operation AttachAListOfNetworkProfilesToADayNCliTemplate") + } + + result := response.Result().(*ResponseConfigurationTemplatesAttachAListOfNetworkProfilesToADayNCliTemplate) + return result, response, err + +} + +//CommitTemplateForANewVersion Commit Template For a New Version - c8bd-49fa-4999-b43b +/* Transitions the current draft of a template to a new committed version with a higher version number. + + +@param templateID templateId path parameter. The id of the template to commit a new version for, retrieveable from `GET /dna/intent/api/v1/templates` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!commit-template-for-a-new-version +*/ +func (s *ConfigurationTemplatesService) CommitTemplateForANewVersion(templateID string, requestConfigurationTemplatesCommitTemplateForANewVersion *RequestConfigurationTemplatesCommitTemplateForANewVersion) (*ResponseConfigurationTemplatesCommitTemplateForANewVersion, *resty.Response, error) { + path := "/dna/intent/api/v1/templates/{templateId}/versions/commit" + path = strings.Replace(path, "{templateId}", fmt.Sprintf("%v", templateID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestConfigurationTemplatesCommitTemplateForANewVersion). + SetResult(&ResponseConfigurationTemplatesCommitTemplateForANewVersion{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CommitTemplateForANewVersion(templateID, requestConfigurationTemplatesCommitTemplateForANewVersion) + } + + return nil, response, fmt.Errorf("error with operation CommitTemplateForANewVersion") + } + + result := response.Result().(*ResponseConfigurationTemplatesCommitTemplateForANewVersion) + return result, response, err + +} + //DeployTemplateV2 Deploy Template V2 - 02af-1bdf-4b48-9cbb /* V2 API to deploy a template. @@ -2466,6 +3181,42 @@ func (s *ConfigurationTemplatesService) DeployTemplateV2(requestConfigurationTem } +//UpdateTemplateProject Update Template Project - 5891-e9e3-464a-8787 +/* Update a template project by the project's ID. + + +@param projectID projectId path parameter. The id of the project to update, retrieveable from `GET /dna/intent/api/v1/projects` + +*/ +func (s *ConfigurationTemplatesService) UpdateTemplateProject(projectID string, requestConfigurationTemplatesUpdateTemplateProject *RequestConfigurationTemplatesUpdateTemplateProject) (*ResponseConfigurationTemplatesUpdateTemplateProject, *resty.Response, error) { + path := "/dna/intent/api/v1/projects/{projectId}" + path = strings.Replace(path, "{projectId}", fmt.Sprintf("%v", projectID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestConfigurationTemplatesUpdateTemplateProject). + SetResult(&ResponseConfigurationTemplatesUpdateTemplateProject{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdateTemplateProject(projectID, requestConfigurationTemplatesUpdateTemplateProject) + } + return nil, response, fmt.Errorf("error with operation UpdateTemplateProject") + } + + result := response.Result().(*ResponseConfigurationTemplatesUpdateTemplateProject) + return result, response, err + +} + //UpdateProject Update Project - ecb8-8b89-4318-ac8d /* This API is used to update an existing project. @@ -2565,6 +3316,44 @@ func (s *ConfigurationTemplatesService) PreviewTemplate(requestConfigurationTemp } +//DeleteTemplateProject Delete Template Project - 9c8e-baae-413b-9dbf +/* Delete a template project by the project's ID. + + +@param projectID projectId path parameter. the id of the project to delete, retrieveable from `GET /dna/intent/api/v1/projects` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-template-project +*/ +func (s *ConfigurationTemplatesService) DeleteTemplateProject(projectID string) (*ResponseConfigurationTemplatesDeleteTemplateProject, *resty.Response, error) { + //projectID string + path := "/dna/intent/api/v1/projects/{projectId}" + path = strings.Replace(path, "{projectId}", fmt.Sprintf("%v", projectID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseConfigurationTemplatesDeleteTemplateProject{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteTemplateProject(projectID) + } + return nil, response, fmt.Errorf("error with operation DeleteTemplateProject") + } + + result := response.Result().(*ResponseConfigurationTemplatesDeleteTemplateProject) + return result, response, err + +} + //DeletesTheProject Deletes the project - 8cbb-79f4-4259-82d4 /* Deletes the project by its id @@ -2572,7 +3361,7 @@ func (s *ConfigurationTemplatesService) PreviewTemplate(requestConfigurationTemp @param projectID projectId path parameter. projectId(UUID) of project to be deleted -Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-the-project-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-the-project */ func (s *ConfigurationTemplatesService) DeletesTheProject(projectID string) (*ResponseConfigurationTemplatesDeletesTheProject, *resty.Response, error) { //projectID string @@ -2610,7 +3399,7 @@ func (s *ConfigurationTemplatesService) DeletesTheProject(projectID string) (*Re @param templateID templateId path parameter. templateId(UUID) of template to be deleted -Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-the-template-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-the-template */ func (s *ConfigurationTemplatesService) DeletesTheTemplate(templateID string) (*ResponseConfigurationTemplatesDeletesTheTemplate, *resty.Response, error) { //templateID string @@ -2640,3 +3429,85 @@ func (s *ConfigurationTemplatesService) DeletesTheTemplate(templateID string) (* return result, response, err } + +//DetachAListOfNetworkProfilesFromADayNCliTemplate Detach a list of network profiles from a Day-N CLI template - a487-0999-4c7a-a94d +/* Detach a list of network profiles from a Day-N CLI template with a list of profile IDs along with the template ID. + + +@param templateID templateId path parameter. The `id` of the template, retrievable from `GET /intent/api/v1/templates` + +@param DetachAListOfNetworkProfilesFromADayNCLITemplateQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!detach-a-list-of-network-profiles-from-a-day-n-cli-template +*/ +func (s *ConfigurationTemplatesService) DetachAListOfNetworkProfilesFromADayNCliTemplate(templateID string, DetachAListOfNetworkProfilesFromADayNCLITemplateQueryParams *DetachAListOfNetworkProfilesFromADayNCliTemplateQueryParams) (*ResponseConfigurationTemplatesDetachAListOfNetworkProfilesFromADayNCliTemplate, *resty.Response, error) { + //templateID string,DetachAListOfNetworkProfilesFromADayNCLITemplateQueryParams *DetachAListOfNetworkProfilesFromADayNCliTemplateQueryParams + path := "/dna/intent/api/v1/templates/{templateId}/networkProfilesForSites/bulk" + path = strings.Replace(path, "{templateId}", fmt.Sprintf("%v", templateID), -1) + + queryString, _ := query.Values(DetachAListOfNetworkProfilesFromADayNCLITemplateQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseConfigurationTemplatesDetachAListOfNetworkProfilesFromADayNCliTemplate{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DetachAListOfNetworkProfilesFromADayNCliTemplate(templateID, DetachAListOfNetworkProfilesFromADayNCLITemplateQueryParams) + } + return nil, response, fmt.Errorf("error with operation DetachAListOfNetworkProfilesFromADayNCliTemplate") + } + + result := response.Result().(*ResponseConfigurationTemplatesDetachAListOfNetworkProfilesFromADayNCliTemplate) + return result, response, err + +} + +//DetachANetworkProfileFromADayNCliTemplate Detach a network profile from a Day-N CLI template - d98b-2986-4d5b-b04c +/* Detach a network profile from a Day-N CLI template by the profile ID and template ID. + + +@param templateID templateId path parameter. The `id` of the template, retrievable from `GET /intent/api/v1/templates` + +@param profileID profileId path parameter. The `id` of the network profile, retrievable from `GET /intent/api/v1/networkProfilesForSites` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!detach-a-network-profile-from-a-day-n-cli-template +*/ +func (s *ConfigurationTemplatesService) DetachANetworkProfileFromADayNCliTemplate(templateID string, profileID string) (*ResponseConfigurationTemplatesDetachANetworkProfileFromADayNCliTemplate, *resty.Response, error) { + //templateID string,profileID string + path := "/dna/intent/api/v1/templates/{templateId}/networkProfilesForSites/{profileId}" + path = strings.Replace(path, "{templateId}", fmt.Sprintf("%v", templateID), -1) + path = strings.Replace(path, "{profileId}", fmt.Sprintf("%v", profileID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseConfigurationTemplatesDetachANetworkProfileFromADayNCliTemplate{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DetachANetworkProfileFromADayNCliTemplate(templateID, profileID) + } + return nil, response, fmt.Errorf("error with operation DetachANetworkProfileFromADayNCliTemplate") + } + + result := response.Result().(*ResponseConfigurationTemplatesDetachANetworkProfileFromADayNCliTemplate) + return result, response, err + +} diff --git a/sdk/device_onboarding_pnp.go b/sdk/device_onboarding_pnp.go index 94f5425..72f8cb3 100644 --- a/sdk/device_onboarding_pnp.go +++ b/sdk/device_onboarding_pnp.go @@ -12,8 +12,8 @@ import ( type DeviceOnboardingPnpService service type GetDeviceListSiteManagementQueryParams struct { - Limit int `url:"limit,omitempty"` //Limits number of results - Offset int `url:"offset,omitempty"` //Index of first result + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. The minimum and maximum values are 0 and 500, respectively + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 0. The Minimum value is 0 Sort []string `url:"sort,omitempty"` //Comma seperated list of fields to sort on SortOrder string `url:"sortOrder,omitempty"` //Sort Order Ascending (asc) or Descending (des) SerialNumber []string `url:"serialNumber,omitempty"` //Device Serial Number @@ -54,8 +54,8 @@ type DeregisterVirtualAccountQueryParams struct { Name string `url:"name,omitempty"` //Virtual Account Name } type GetWorkflowsQueryParams struct { - Limit int `url:"limit,omitempty"` //Limits number of results - Offset int `url:"offset,omitempty"` //Index of first result + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. The minimum and maximum values are 0 and 500, respectively + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 0. The Minimum value is 0 Sort []string `url:"sort,omitempty"` //Comma seperated lost of fields to sort on SortOrder string `url:"sortOrder,omitempty"` //Sort Order Ascending (asc) or Descending (des) Type []string `url:"type,omitempty"` //Workflow Type @@ -2409,7 +2409,6 @@ type ResponseItemDeviceOnboardingPnpGetWorkflows struct { Version *float64 `json:"version,omitempty"` // Version TenantID string `json:"tenantId,omitempty"` // Tenant Id } - type ResponseItemDeviceOnboardingPnpGetWorkflowsTasks struct { State string `json:"state,omitempty"` // State Type string `json:"type,omitempty"` // Type @@ -2974,7 +2973,7 @@ type RequestDeviceOnboardingPnpUpdateWorkflowTasksWorkItemList struct { @param GetDeviceListSiteManagementQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-list-site-management-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-list-site-management */ func (s *DeviceOnboardingPnpService) GetDeviceListSiteManagement(GetDeviceListSiteManagementQueryParams *GetDeviceListSiteManagementQueryParams) (*ResponseDeviceOnboardingPnpGetDeviceListSiteManagement, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device" @@ -3011,7 +3010,7 @@ func (s *DeviceOnboardingPnpService) GetDeviceListSiteManagement(GetDeviceListSi @param GetDeviceCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-count */ func (s *DeviceOnboardingPnpService) GetDeviceCount(GetDeviceCountQueryParams *GetDeviceCountQueryParams) (*ResponseDeviceOnboardingPnpGetDeviceCount, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device/count" @@ -3048,7 +3047,7 @@ func (s *DeviceOnboardingPnpService) GetDeviceCount(GetDeviceCountQueryParams *G @param GetDeviceHistoryQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-history-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-history */ func (s *DeviceOnboardingPnpService) GetDeviceHistory(GetDeviceHistoryQueryParams *GetDeviceHistoryQueryParams) (*ResponseDeviceOnboardingPnpGetDeviceHistory, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device/history" @@ -3088,7 +3087,7 @@ func (s *DeviceOnboardingPnpService) GetDeviceHistory(GetDeviceHistoryQueryParam @param name name path parameter. Virtual Account Name -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-sync-result-for-virtual-account-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-sync-result-for-virtual-account */ func (s *DeviceOnboardingPnpService) GetSyncResultForVirtualAccount(domain string, name string) (*ResponseDeviceOnboardingPnpGetSyncResultForVirtualAccount, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device/sacct/{domain}/vacct/{name}/sync-result" @@ -3125,7 +3124,7 @@ func (s *DeviceOnboardingPnpService) GetSyncResultForVirtualAccount(domain strin @param id id path parameter. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-by-id */ func (s *DeviceOnboardingPnpService) GetDeviceByID(id string) (*ResponseDeviceOnboardingPnpGetDeviceByID, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device/{id}" @@ -3160,7 +3159,7 @@ func (s *DeviceOnboardingPnpService) GetDeviceByID(id string) (*ResponseDeviceOn -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-pnp-global-settings-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-pnp-global-settings */ func (s *DeviceOnboardingPnpService) GetPnpGlobalSettings() (*ResponseDeviceOnboardingPnpGetPnpGlobalSettings, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-settings" @@ -3194,7 +3193,7 @@ func (s *DeviceOnboardingPnpService) GetPnpGlobalSettings() (*ResponseDeviceOnbo -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-smart-account-list-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-smart-account-list */ func (s *DeviceOnboardingPnpService) GetSmartAccountList() (*ResponseDeviceOnboardingPnpGetSmartAccountList, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-settings/sacct" @@ -3230,7 +3229,7 @@ func (s *DeviceOnboardingPnpService) GetSmartAccountList() (*ResponseDeviceOnboa @param domain domain path parameter. Smart Account Domain -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-virtual-account-list-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-virtual-account-list */ func (s *DeviceOnboardingPnpService) GetVirtualAccountList(domain string) (*ResponseDeviceOnboardingPnpGetVirtualAccountList, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-settings/sacct/{domain}/vacct" @@ -3266,7 +3265,7 @@ func (s *DeviceOnboardingPnpService) GetVirtualAccountList(domain string) (*Resp @param GetWorkflowsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-workflows-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-workflows */ func (s *DeviceOnboardingPnpService) GetWorkflows(GetWorkflowsQueryParams *GetWorkflowsQueryParams) (*ResponseDeviceOnboardingPnpGetWorkflows, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-workflow" @@ -3303,7 +3302,7 @@ func (s *DeviceOnboardingPnpService) GetWorkflows(GetWorkflowsQueryParams *GetWo @param GetWorkflowCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-workflow-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-workflow-count */ func (s *DeviceOnboardingPnpService) GetWorkflowCount(GetWorkflowCountQueryParams *GetWorkflowCountQueryParams) (*ResponseDeviceOnboardingPnpGetWorkflowCount, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-workflow/count" @@ -3340,7 +3339,7 @@ func (s *DeviceOnboardingPnpService) GetWorkflowCount(GetWorkflowCountQueryParam @param id id path parameter. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-workflow-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-workflow-by-id */ func (s *DeviceOnboardingPnpService) GetWorkflowByID(id string) (*ResponseDeviceOnboardingPnpGetWorkflowByID, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-workflow/{id}" @@ -3375,7 +3374,7 @@ func (s *DeviceOnboardingPnpService) GetWorkflowByID(id string) (*ResponseDevice -Documentation Link: https://developer.cisco.com/docs/dna-center/#!authorize-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!authorize-device */ func (s *DeviceOnboardingPnpService) AuthorizeDevice(requestDeviceOnboardingPnpAuthorizeDevice *RequestDeviceOnboardingPnpAuthorizeDevice) (*ResponseDeviceOnboardingPnpAuthorizeDevice, *resty.Response, error) { path := "/api/v1/onboarding/pnp-device/authorize" @@ -3412,7 +3411,7 @@ func (s *DeviceOnboardingPnpService) AuthorizeDevice(requestDeviceOnboardingPnpA -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-device */ func (s *DeviceOnboardingPnpService) AddDevice(requestDeviceOnboardingPnpAddDevice *RequestDeviceOnboardingPnpAddDevice) (*ResponseDeviceOnboardingPnpAddDevice, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device" @@ -3449,7 +3448,7 @@ func (s *DeviceOnboardingPnpService) AddDevice(requestDeviceOnboardingPnpAddDevi -Documentation Link: https://developer.cisco.com/docs/dna-center/#!claim-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!claim-device */ func (s *DeviceOnboardingPnpService) ClaimDevice(requestDeviceOnboardingPnpClaimDevice *RequestDeviceOnboardingPnpClaimDevice) (*ResponseDeviceOnboardingPnpClaimDevice, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device/claim" @@ -3486,7 +3485,7 @@ func (s *DeviceOnboardingPnpService) ClaimDevice(requestDeviceOnboardingPnpClaim -Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-devices-in-bulk-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-devices-in-bulk */ func (s *DeviceOnboardingPnpService) ImportDevicesInBulk(requestDeviceOnboardingPnpImportDevicesInBulk *RequestDeviceOnboardingPnpImportDevicesInBulk) (*ResponseDeviceOnboardingPnpImportDevicesInBulk, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device/import" @@ -3523,7 +3522,7 @@ func (s *DeviceOnboardingPnpService) ImportDevicesInBulk(requestDeviceOnboarding -Documentation Link: https://developer.cisco.com/docs/dna-center/#!reset-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!reset-device */ func (s *DeviceOnboardingPnpService) ResetDevice(requestDeviceOnboardingPnpResetDevice *RequestDeviceOnboardingPnpResetDevice) (*ResponseDeviceOnboardingPnpResetDevice, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device/reset" @@ -3564,7 +3563,7 @@ CatalystWLC/MobilityExpress/EWC: staticIP, subnetMask, gateway. vlanId and ipInt -Documentation Link: https://developer.cisco.com/docs/dna-center/#!claim-a-device-to-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!claim-a-device-to-a-site */ func (s *DeviceOnboardingPnpService) ClaimADeviceToASite(requestDeviceOnboardingPnpClaimADeviceToASite *RequestDeviceOnboardingPnpClaimADeviceToASite) (*ResponseDeviceOnboardingPnpClaimADeviceToASite, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device/site-claim" @@ -3601,7 +3600,7 @@ func (s *DeviceOnboardingPnpService) ClaimADeviceToASite(requestDeviceOnboarding -Documentation Link: https://developer.cisco.com/docs/dna-center/#!preview-config-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!preview-config */ func (s *DeviceOnboardingPnpService) PreviewConfig(requestDeviceOnboardingPnpPreviewConfig *RequestDeviceOnboardingPnpPreviewConfig) (*ResponseDeviceOnboardingPnpPreviewConfig, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device/site-config-preview" @@ -3638,7 +3637,7 @@ func (s *DeviceOnboardingPnpService) PreviewConfig(requestDeviceOnboardingPnpPre -Documentation Link: https://developer.cisco.com/docs/dna-center/#!un-claim-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!un-claim-device */ func (s *DeviceOnboardingPnpService) UnClaimDevice(requestDeviceOnboardingPnpUnClaimDevice *RequestDeviceOnboardingPnpUnClaimDevice) (*ResponseDeviceOnboardingPnpUnClaimDevice, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device/unclaim" @@ -3675,7 +3674,7 @@ func (s *DeviceOnboardingPnpService) UnClaimDevice(requestDeviceOnboardingPnpUnC -Documentation Link: https://developer.cisco.com/docs/dna-center/#!sync-virtual-account-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!sync-virtual-account-devices */ func (s *DeviceOnboardingPnpService) SyncVirtualAccountDevices(requestDeviceOnboardingPnpSyncVirtualAccountDevices *RequestDeviceOnboardingPnpSyncVirtualAccountDevices) (*ResponseDeviceOnboardingPnpSyncVirtualAccountDevices, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-device/vacct-sync" @@ -3712,7 +3711,7 @@ func (s *DeviceOnboardingPnpService) SyncVirtualAccountDevices(requestDeviceOnbo -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-virtual-account-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-virtual-account */ func (s *DeviceOnboardingPnpService) AddVirtualAccount(requestDeviceOnboardingPnpAddVirtualAccount *RequestDeviceOnboardingPnpAddVirtualAccount) (*ResponseDeviceOnboardingPnpAddVirtualAccount, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-settings/savacct" @@ -3749,7 +3748,7 @@ func (s *DeviceOnboardingPnpService) AddVirtualAccount(requestDeviceOnboardingPn -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-a-workflow-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-a-workflow */ func (s *DeviceOnboardingPnpService) AddAWorkflow(requestDeviceOnboardingPnpAddAWorkflow *RequestDeviceOnboardingPnpAddAWorkflow) (*ResponseDeviceOnboardingPnpAddAWorkflow, *resty.Response, error) { path := "/dna/intent/api/v1/onboarding/pnp-workflow" @@ -3923,7 +3922,7 @@ func (s *DeviceOnboardingPnpService) UpdateWorkflow(id string, requestDeviceOnbo @param id id path parameter. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-device-by-id-from-pnp-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-device-by-id-from-pnp */ func (s *DeviceOnboardingPnpService) DeleteDeviceByIDFromPnp(id string) (*ResponseDeviceOnboardingPnpDeleteDeviceByIDFromPnp, *resty.Response, error) { //id string @@ -3944,8 +3943,7 @@ func (s *DeviceOnboardingPnpService) DeleteDeviceByIDFromPnp(id string) (*Respon if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteDeviceByIDFromPnp( - id) + return s.DeleteDeviceByIDFromPnp(id) } return nil, response, fmt.Errorf("error with operation DeleteDeviceByIdFromPnp") } @@ -3961,7 +3959,7 @@ func (s *DeviceOnboardingPnpService) DeleteDeviceByIDFromPnp(id string) (*Respon @param DeregisterVirtualAccountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!deregister-virtual-account-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deregister-virtual-account */ func (s *DeviceOnboardingPnpService) DeregisterVirtualAccount(DeregisterVirtualAccountQueryParams *DeregisterVirtualAccountQueryParams) (*ResponseDeviceOnboardingPnpDeregisterVirtualAccount, *resty.Response, error) { //DeregisterVirtualAccountQueryParams *DeregisterVirtualAccountQueryParams @@ -3983,8 +3981,7 @@ func (s *DeviceOnboardingPnpService) DeregisterVirtualAccount(DeregisterVirtualA if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeregisterVirtualAccount( - DeregisterVirtualAccountQueryParams) + return s.DeregisterVirtualAccount(DeregisterVirtualAccountQueryParams) } return nil, response, fmt.Errorf("error with operation DeregisterVirtualAccount") } @@ -4000,7 +3997,7 @@ func (s *DeviceOnboardingPnpService) DeregisterVirtualAccount(DeregisterVirtualA @param id id path parameter. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-workflow-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-workflow-by-id */ func (s *DeviceOnboardingPnpService) DeleteWorkflowByID(id string) (*ResponseDeviceOnboardingPnpDeleteWorkflowByID, *resty.Response, error) { //id string @@ -4021,8 +4018,7 @@ func (s *DeviceOnboardingPnpService) DeleteWorkflowByID(id string) (*ResponseDev if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteWorkflowByID( - id) + return s.DeleteWorkflowByID(id) } return nil, response, fmt.Errorf("error with operation DeleteWorkflowById") } diff --git a/sdk/device_replacement.go b/sdk/device_replacement.go index 24b6ae7..3dc7fef 100644 --- a/sdk/device_replacement.go +++ b/sdk/device_replacement.go @@ -3,6 +3,7 @@ package dnac import ( "fmt" "net/http" + "strings" "github.com/go-resty/resty/v2" "github.com/google/go-querystring/query" @@ -26,6 +27,19 @@ type ReturnListOfReplacementDevicesWithReplacementDetailsQueryParams struct { type ReturnReplacementDevicesCountQueryParams struct { ReplacementStatus []string `url:"replacementStatus,omitempty"` //Device Replacement status list[READY-FOR-REPLACEMENT, REPLACEMENT-IN-PROGRESS, REPLACEMENT-SCHEDULED, REPLACED, ERROR] } +type RetrieveTheStatusOfAllTheDeviceReplacementWorkflowsQueryParams struct { + Family string `url:"family,omitempty"` //Faulty device family. + FaultyDeviceName string `url:"faultyDeviceName,omitempty"` //Faulty device name. + FaultyDevicePlatform string `url:"faultyDevicePlatform,omitempty"` //Faulty device platform. + FaultyDeviceSerialNumber string `url:"faultyDeviceSerialNumber,omitempty"` //Faulty device serial number. + ReplacementDevicePlatform string `url:"replacementDevicePlatform,omitempty"` //Replacement device platform. + ReplacementDeviceSerialNumber string `url:"replacementDeviceSerialNumber,omitempty"` //Replacement device serial number. + ReplacementStatus string `url:"replacementStatus,omitempty"` //Device replacement status. Available values : MARKED_FOR_REPLACEMENT, NETWORK_READINESS_REQUESTED, NETWORK_READINESS_FAILED, READY_FOR_REPLACEMENT, REPLACEMENT_SCHEDULED, REPLACEMENT_IN_PROGRESS, REPLACED, ERROR. Replacement status: 'MARKED_FOR_REPLACEMENT' - The faulty device has been marked for replacement. 'NETWORK_READINESS_REQUESTED' - Initiated steps to shut down neighboring device interfaces and create a DHCP server on the uplink neighbor if the faulty device is part of a fabric setup. 'NETWORK_READINESS_FAILED' - Preparation of the network failed. Neighboring device interfaces were not shut down, and the DHCP server on the uplink neighbor was not created. 'READY_FOR_REPLACEMENT' - The network is prepared for the faulty device replacement. Neighboring device interfaces are shut down, and the DHCP server on the uplink neighbor is set up. 'REPLACEMENT_SCHEDULED' - Device replacement has been scheduled. 'REPLACEMENT_IN_PROGRESS' - Device replacement is currently in progress. 'REPLACED' - Device replacement was successful. 'ERROR' - Device replacement has failed. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Maximum value can be 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. Available values : id, creationTime, family, faultyDeviceId, fautyDeviceName, faultyDevicePlatform, faultyDeviceSerialNumber, replacementDevicePlatform, replacementDeviceSerialNumber, replacementTime. + SortOrder string `url:"sortOrder,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : ASC, DESC +} type ResponseDeviceReplacementReturnListOfReplacementDevicesWithReplacementDetails struct { Response *[]ResponseDeviceReplacementReturnListOfReplacementDevicesWithReplacementDetailsResponse `json:"response,omitempty"` // @@ -77,6 +91,74 @@ type ResponseDeviceReplacementDeployDeviceReplacementWorkflowResponse struct { TaskID string `json:"taskId,omitempty"` // URL string `json:"url,omitempty"` // } +type ResponseDeviceReplacementRetrieveTheStatusOfAllTheDeviceReplacementWorkflows struct { + Response *[]ResponseDeviceReplacementRetrieveTheStatusOfAllTheDeviceReplacementWorkflowsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response. +} +type ResponseDeviceReplacementRetrieveTheStatusOfAllTheDeviceReplacementWorkflowsResponse struct { + CreationTime *int `json:"creationTime,omitempty"` // Time of marking the device for replacement in Unix epoch time in milliseconds + Family string `json:"family,omitempty"` // Faulty device family + FaultyDeviceID string `json:"faultyDeviceId,omitempty"` // Faulty device id + FaultyDeviceName string `json:"faultyDeviceName,omitempty"` // Faulty device name + FaultyDevicePlatform string `json:"faultyDevicePlatform,omitempty"` // Faulty device platform + FaultyDeviceSerialNumber string `json:"faultyDeviceSerialNumber,omitempty"` // Faulty device serial number + ID string `json:"id,omitempty"` // Unique identifier of the device replacement resource + NeighborDeviceID string `json:"neighborDeviceId,omitempty"` // Unique identifier of the neighbor device to create the DHCP server + ReplacementDevicePlatform string `json:"replacementDevicePlatform,omitempty"` // Replacement device platform + ReplacementDeviceSerialNumber string `json:"replacementDeviceSerialNumber,omitempty"` // Replacement device serial number + ReplacementStatus string `json:"replacementStatus,omitempty"` // Device Replacement status. 'MARKED_FOR_REPLACEMENT' - The faulty device has been marked for replacement. 'NETWORK_READINESS_REQUESTED' - Initiated steps to shut down neighboring device interfaces and create a DHCP server on the uplink neighbor if the faulty device is part of a fabric setup. 'NETWORK_READINESS_FAILED' - Preparation of the network failed. Neighboring device interfaces were not shut down, and the DHCP server on the uplink neighbor was not created. 'READY_FOR_REPLACEMENT' - The network is prepared for the faulty device replacement. Neighboring device interfaces are shut down, and the DHCP server on the uplink neighbor is set up. 'REPLACEMENT_SCHEDULED' - Device replacement has been scheduled. 'REPLACEMENT_IN_PROGRESS' - Device replacement is currently in progress. 'REPLACED' - Device replacement was successful. 'ERROR' - Device replacement has failed. + ReplacementTime *int `json:"replacementTime,omitempty"` // The Unix epoch time in milliseconds at which the device was replaced successfully + Workflow *ResponseDeviceReplacementRetrieveTheStatusOfAllTheDeviceReplacementWorkflowsResponseWorkflow `json:"workflow,omitempty"` // +} +type ResponseDeviceReplacementRetrieveTheStatusOfAllTheDeviceReplacementWorkflowsResponseWorkflow struct { + ID string `json:"id,omitempty"` // Workflow id + Name string `json:"name,omitempty"` // Name of the workflow + WorkflowStatus string `json:"workflowStatus,omitempty"` // Workflow status. 'RUNNING' - Workflow is currently in progress. 'SUCCESS' - Workflow completed successfully. 'FAILED' - Workflow completed with failure. + StartTime *int `json:"startTime,omitempty"` // Start time of the workflow in Unix epoch time in milliseconds + EndTime *int `json:"endTime,omitempty"` // Completion time of the workflow in Unix epoch time in milliseconds + Steps *[]ResponseDeviceReplacementRetrieveTheStatusOfAllTheDeviceReplacementWorkflowsResponseWorkflowSteps `json:"steps,omitempty"` // +} +type ResponseDeviceReplacementRetrieveTheStatusOfAllTheDeviceReplacementWorkflowsResponseWorkflowSteps struct { + Name string `json:"name,omitempty"` // Workflow step name + Status string `json:"status,omitempty"` // Workflow step status. 'INIT' - Workflow step has not started execution. 'RUNNING' - Workflow step is currently in progress. 'SUCCESS' - Workflow step completed successfully. 'FAILED' - Workflow step completed with failure. 'ABORTED' - Workflow step aborted execution due to failure of the previous step. 'TIMEOUT' - Workflow step timedout to complete execution. + StatusMessage string `json:"statusMessage,omitempty"` // Detailed status message for the step + StartTime *int `json:"startTime,omitempty"` // Start time of the workflow step in Unix epoch time in milliseconds + EndTime *int `json:"endTime,omitempty"` // Completion time of the workflow step in Unix epoch time in milliseconds +} +type ResponseDeviceReplacementRetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDevice struct { + Response *ResponseDeviceReplacementRetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response. +} +type ResponseDeviceReplacementRetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDeviceResponse struct { + CreationTime *int `json:"creationTime,omitempty"` // Time of marking the device for replacement in Unix epoch time in milliseconds + Family string `json:"family,omitempty"` // Faulty device family + FaultyDeviceID string `json:"faultyDeviceId,omitempty"` // Faulty device id + FaultyDeviceName string `json:"faultyDeviceName,omitempty"` // Faulty device name + FaultyDevicePlatform string `json:"faultyDevicePlatform,omitempty"` // Faulty device platform + FaultyDeviceSerialNumber string `json:"faultyDeviceSerialNumber,omitempty"` // Faulty device serial number + ID string `json:"id,omitempty"` // Unique identifier of the device replacement resource + NeighborDeviceID string `json:"neighborDeviceId,omitempty"` // Unique identifier of the neighbor device to create the DHCP server + ReplacementDevicePlatform string `json:"replacementDevicePlatform,omitempty"` // Replacement device platform + ReplacementDeviceSerialNumber string `json:"replacementDeviceSerialNumber,omitempty"` // Replacement device serial number + ReplacementStatus string `json:"replacementStatus,omitempty"` // Device Replacement status. 'MARKED_FOR_REPLACEMENT' - The faulty device has been marked for replacement. 'NETWORK_READINESS_REQUESTED' - Initiated steps to shut down neighboring device interfaces and create a DHCP server on the uplink neighbor if the faulty device is part of a fabric setup. 'NETWORK_READINESS_FAILED' - Preparation of the network failed. Neighboring device interfaces were not shut down, and the DHCP server on the uplink neighbor was not created. 'READY_FOR_REPLACEMENT' - The network is prepared for the faulty device replacement. Neighboring device interfaces are shut down, and the DHCP server on the uplink neighbor is set up. 'REPLACEMENT_SCHEDULED' - Device replacement has been scheduled. 'REPLACEMENT_IN_PROGRESS' - Device replacement is currently in progress. 'REPLACED' - Device replacement was successful. 'ERROR' - Device replacement has failed. + ReplacementTime *int `json:"replacementTime,omitempty"` // The Unix epoch time in milliseconds at which the device was replaced successfully + Workflow *ResponseDeviceReplacementRetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDeviceResponseWorkflow `json:"workflow,omitempty"` // +} +type ResponseDeviceReplacementRetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDeviceResponseWorkflow struct { + ID string `json:"id,omitempty"` // Workflow id + Name string `json:"name,omitempty"` // Name of the workflow + WorkflowStatus string `json:"workflowStatus,omitempty"` // Workflow status. 'RUNNING' - Workflow is currently in progress. 'SUCCESS' - Workflow completed successfully. 'FAILED' - Workflow completed with failure. + StartTime *int `json:"startTime,omitempty"` // Start time of the workflow in Unix epoch time in milliseconds + EndTime *int `json:"endTime,omitempty"` // Completion time of the workflow in Unix epoch time in milliseconds + Steps *[]ResponseDeviceReplacementRetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDeviceResponseWorkflowSteps `json:"steps,omitempty"` // +} +type ResponseDeviceReplacementRetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDeviceResponseWorkflowSteps struct { + Name string `json:"name,omitempty"` // Workflow step name + Status string `json:"status,omitempty"` // Workflow step status. 'INIT' - Workflow step has not started execution. 'RUNNING' - Workflow step is currently in progress. 'SUCCESS' - Workflow step completed successfully. 'FAILED' - Workflow step completed with failure. 'ABORTED' - Workflow step aborted execution due to failure of the previous step. 'TIMEOUT' - Workflow step timedout to complete execution. + StatusMessage string `json:"statusMessage,omitempty"` // Detailed status message for the step + StartTime *int `json:"startTime,omitempty"` // Start time of the workflow step in Unix epoch time in milliseconds + EndTime *int `json:"endTime,omitempty"` // Completion time of the workflow step in Unix epoch time in milliseconds +} type RequestDeviceReplacementUnmarkDeviceForReplacement []RequestItemDeviceReplacementUnmarkDeviceForReplacement // Array of RequestDeviceReplacementUnMarkDeviceForReplacement type RequestItemDeviceReplacementUnmarkDeviceForReplacement struct { CreationTime *int `json:"creationTime,omitempty"` // Date and time of marking the device for replacement @@ -122,7 +204,7 @@ type RequestDeviceReplacementDeployDeviceReplacementWorkflow struct { @param ReturnListOfReplacementDevicesWithReplacementDetailsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!return-list-of-replacement-devices-with-replacement-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!return-list-of-replacement-devices-with-replacement-details */ func (s *DeviceReplacementService) ReturnListOfReplacementDevicesWithReplacementDetails(ReturnListOfReplacementDevicesWithReplacementDetailsQueryParams *ReturnListOfReplacementDevicesWithReplacementDetailsQueryParams) (*ResponseDeviceReplacementReturnListOfReplacementDevicesWithReplacementDetails, *resty.Response, error) { path := "/dna/intent/api/v1/device-replacement" @@ -159,7 +241,7 @@ func (s *DeviceReplacementService) ReturnListOfReplacementDevicesWithReplacement @param ReturnReplacementDevicesCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!return-replacement-devices-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!return-replacement-devices-count */ func (s *DeviceReplacementService) ReturnReplacementDevicesCount(ReturnReplacementDevicesCountQueryParams *ReturnReplacementDevicesCountQueryParams) (*ResponseDeviceReplacementReturnReplacementDevicesCount, *resty.Response, error) { path := "/dna/intent/api/v1/device-replacement/count" @@ -190,12 +272,86 @@ func (s *DeviceReplacementService) ReturnReplacementDevicesCount(ReturnReplaceme } +//RetrieveTheStatusOfAllTheDeviceReplacementWorkflows Retrieve the status of all the device replacement workflows. - e6b8-0a1a-4929-a7a9 +/* Retrieve the list of device replacements with replacement details. Filters can be applied based on faulty device name, faulty device platform, faulty device serial number, replacement device platform, replacement device serial number, device replacement status, device family. + + +@param RetrieveTheStatusOfAllTheDeviceReplacementWorkflowsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-status-of-all-the-device-replacement-workflows +*/ +func (s *DeviceReplacementService) RetrieveTheStatusOfAllTheDeviceReplacementWorkflows(RetrieveTheStatusOfAllTheDeviceReplacementWorkflowsQueryParams *RetrieveTheStatusOfAllTheDeviceReplacementWorkflowsQueryParams) (*ResponseDeviceReplacementRetrieveTheStatusOfAllTheDeviceReplacementWorkflows, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceReplacements" + + queryString, _ := query.Values(RetrieveTheStatusOfAllTheDeviceReplacementWorkflowsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDeviceReplacementRetrieveTheStatusOfAllTheDeviceReplacementWorkflows{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveTheStatusOfAllTheDeviceReplacementWorkflows(RetrieveTheStatusOfAllTheDeviceReplacementWorkflowsQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveTheStatusOfAllTheDeviceReplacementWorkflows") + } + + result := response.Result().(*ResponseDeviceReplacementRetrieveTheStatusOfAllTheDeviceReplacementWorkflows) + return result, response, err + +} + +//RetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDevice Retrieve the status of device replacement workflow that replaces a faulty device with a replacement device. - 92ba-aa03-43c8-9d62 +/* Fetches the status of the device replacement workflow for a given device replacement `id`. Invoke the API `/dna/intent/api/v1/networkDeviceReplacements` to `GET` the list of all device replacements and use the `id` field data as input to this API. + + +@param id id path parameter. Instance UUID of the device replacement + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-status-of-device-replacement-workflow-that-replaces-a-faulty-device-with-a-replacement-device +*/ +func (s *DeviceReplacementService) RetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDevice(id string) (*ResponseDeviceReplacementRetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceReplacements/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseDeviceReplacementRetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDevice(id) + } + return nil, response, fmt.Errorf("error with operation RetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDevice") + } + + result := response.Result().(*ResponseDeviceReplacementRetrieveTheStatusOfDeviceReplacementWorkflowThatReplacesAFaultyDeviceWithAReplacementDevice) + return result, response, err + +} + //MarkDeviceForReplacement Mark device for replacement - 64b9-dad0-403a-aca1 /* Marks device for replacement -Documentation Link: https://developer.cisco.com/docs/dna-center/#!mark-device-for-replacement-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!mark-device-for-replacement */ func (s *DeviceReplacementService) MarkDeviceForReplacement(requestDeviceReplacementMarkDeviceForReplacement *RequestDeviceReplacementMarkDeviceForReplacement) (*ResponseDeviceReplacementMarkDeviceForReplacement, *resty.Response, error) { path := "/dna/intent/api/v1/device-replacement" @@ -232,7 +388,7 @@ func (s *DeviceReplacementService) MarkDeviceForReplacement(requestDeviceReplace -Documentation Link: https://developer.cisco.com/docs/dna-center/#!deploy-device-replacement-workflow-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deploy-device-replacement-workflow */ func (s *DeviceReplacementService) DeployDeviceReplacementWorkflow(requestDeviceReplacementDeployDeviceReplacementWorkflow *RequestDeviceReplacementDeployDeviceReplacementWorkflow) (*ResponseDeviceReplacementDeployDeviceReplacementWorkflow, *resty.Response, error) { path := "/dna/intent/api/v1/device-replacement/workflow" diff --git a/sdk/devices.go b/sdk/devices.go index 9a68ce8..da9dc75 100644 --- a/sdk/devices.go +++ b/sdk/devices.go @@ -11,6 +11,67 @@ import ( type DevicesService service +type RetrievesTheListOfAAAServicesForGivenParametersQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. If `startTime` is not provided, API will default to current time. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + SortBy string `url:"sortBy,omitempty"` //Field name on which sorting needs to be done + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. + ServerIP string `url:"serverIp,omitempty"` //IP Address of the AAA Server. This parameter supports wildcard (`*`) character -based search. Example: `10.76.81.*` or `*56.78*` or `*50.28` Examples: serverIp=10.42.3.31 (single IP Address is requested) serverIp=10.42.3.31&serverIp=name2&fabricVnName=name3 (multiple IP Addresses are requested) + DeviceID string `url:"deviceId,omitempty"` //The device UUID. Examples: `deviceId=6bef213c-19ca-4170-8375-b694e251101c` (single deviceId is requested) `deviceId=6bef213c-19ca-4170-8375-b694e251101c&deviceId=32219612-819e-4b5e-a96b-cf22aca13dd9 (multiple networkDeviceIds with & separator) + DeviceName string `url:"deviceName,omitempty"` //Name of the device. This parameter supports wildcard (`*`) character -based search. Example: `wnbu-sjc*` or `*wnbu-sjc*` or `*wnbu-sjc` Examples: deviceName=wnbu-sjc24.cisco.com (single device name is requested) deviceName=wnbu-sjc24.cisco.com&deviceName=wnbu-sjc22.cisco.com (multiple device names are requested) + SiteHierarchy string `url:"siteHierarchy,omitempty"` //The full hierarchical breakdown of the site tree starting from Global site name and ending with the specific site name. The Root site is named "Global" (Ex. `Global/AreaName/BuildingName/FloorName`) This field supports wildcard asterisk (`*`) character search support. E.g. `*/San*, */San, /San*` Examples: `?siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `?siteHierarchy=Global/AreaName/BuildingName/FloorName&siteHierarchy=Global/AreaName2/BuildingName2/FloorName2` (multiple siteHierarchies requested) + DeviceSiteHierarchyID string `url:"deviceSiteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&deviceSiteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) + SiteID string `url:"siteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) Examples: `?siteId=id1` (single id requested) `?siteId=id1&siteId=id2&siteId=id3` (multiple ids requested) +} +type RetrievesTheListOfAAAServicesForGivenParametersHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheTotalNumberOfAAAServicesForGivenParametersQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + ServerIP string `url:"serverIp,omitempty"` //IP Address of the AAA Server. This parameter supports wildcard (`*`) character -based search. Example: `10.76.81.*` or `*56.78*` or `*50.28` Examples: serverIp=10.42.3.31 (single IP Address is requested) serverIp=10.42.3.31&serverIp=name2&fabricVnName=name3 (multiple IP Addresses are requested) + DeviceID string `url:"deviceId,omitempty"` //The device UUID. Examples: `deviceId=6bef213c-19ca-4170-8375-b694e251101c` (single deviceId is requested) `deviceId=6bef213c-19ca-4170-8375-b694e251101c&deviceId=32219612-819e-4b5e-a96b-cf22aca13dd9 (multiple networkDeviceIds with & separator) + DeviceName string `url:"deviceName,omitempty"` //Name of the device. This parameter supports wildcard (`*`) character -based search. Example: `wnbu-sjc*` or `*wnbu-sjc*` or `*wnbu-sjc` Examples: deviceName=wnbu-sjc24.cisco.com (single device name is requested) deviceName=wnbu-sjc24.cisco.com&deviceName=wnbu-sjc22.cisco.com (multiple device names are requested) + DeviceSiteHierarchy string `url:"deviceSiteHierarchy,omitempty"` //The full hierarchical breakdown of the site tree starting from Global site name and ending with the specific site name. The Root site is named "Global" (Ex. `Global/AreaName/BuildingName/FloorName`) This field supports wildcard asterisk (`*`) character search support. E.g. `*/San*, */San, /San*` Examples: `?siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `?deviceSiteHierarchy=Global/AreaName/BuildingName/FloorName&deviceSiteHierarchy=Global/AreaName2/BuildingName2/FloorName2` (multiple siteHierarchies requested) + DeviceSiteHierarchyID string `url:"deviceSiteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&deviceSiteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) + DeviceSiteID string `url:"deviceSiteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) Examples: `?deviceSiteIds=id1` (single id requested) `?deviceSiteIds=id1&deviceSiteIds=id2&siteId=id3` (multiple ids requested) +} +type RetrievesTheTotalNumberOfAAAServicesForGivenParametersHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheServiceQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. +} +type RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheServiceHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} type QueryAssuranceEventsQueryParams struct { DeviceFamily string `url:"deviceFamily,omitempty"` //Device family. Please note that multiple families across network device type and client type is not allowed. For example, choosing `Routers` along with `Wireless Client` or `Unified AP` is not supported. Examples: `deviceFamily=Switches and Hubs` (single deviceFamily requested) `deviceFamily=Switches and Hubs&deviceFamily=Routers` (multiple deviceFamily requested) StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. If `startTime` is not provided, API will default to current time minus 24 hours. @@ -67,7 +128,127 @@ type GetDetailsOfASingleAssuranceEventHeaderParams struct { type GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams struct { XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. } -type GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesQueryParams struct { +type RetrievesTheListOfDHCPServicesForGivenParametersQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + SortBy string `url:"sortBy,omitempty"` //Field name on which sorting needs to be done + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. + ServerIP string `url:"serverIp,omitempty"` //IP Address of the DHCP Server. This parameter supports wildcard (`*`) character -based search. Example: `10.76.81.*` or `*56.78*` or `*50.28` Examples: serverIp=10.42.3.31 (single IP Address is requested) serverIp=10.42.3.31&serverIp=name2&fabricVnName=name3 (multiple IP Addresses are requested) + DeviceID string `url:"deviceId,omitempty"` //The device UUID. Examples: `deviceId=6bef213c-19ca-4170-8375-b694e251101c` (single deviceId is requested) `deviceId=6bef213c-19ca-4170-8375-b694e251101c&deviceId=32219612-819e-4b5e-a96b-cf22aca13dd9 (multiple networkDeviceIds with & separator) + DeviceName string `url:"deviceName,omitempty"` //Name of the device. This parameter supports wildcard (`*`) character -based search. Example: `wnbu-sjc*` or `*wnbu-sjc*` or `*wnbu-sjc` Examples: deviceName=wnbu-sjc24.cisco.com (single device name is requested) deviceName=wnbu-sjc24.cisco.com&deviceName=wnbu-sjc22.cisco.com (multiple device names are requested) + DeviceSiteHierarchy string `url:"deviceSiteHierarchy,omitempty"` //The full hierarchical breakdown of the site tree starting from Global site name and ending with the specific site name. The Root site is named "Global" (Ex. `Global/AreaName/BuildingName/FloorName`) This field supports wildcard asterisk (`*`) character search support. E.g. `*/San*, */San, /San*` Examples: `?siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `?deviceSiteHierarchy=Global/AreaName/BuildingName/FloorName&deviceSiteHierarchy=Global/AreaName2/BuildingName2/FloorName2` (multiple siteHierarchies requested) + DeviceSiteHierarchyID string `url:"deviceSiteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&deviceSiteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) + DeviceSiteID string `url:"deviceSiteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) Examples: `?deviceSiteIds=id1` (single id requested) `?deviceSiteIds=id1&deviceSiteIds=id2&siteId=id3` (multiple ids requested) +} +type RetrievesTheListOfDHCPServicesForGivenParametersHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheTotalNumberOfDHCPServicesForGivenParametersQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + ServerIP string `url:"serverIp,omitempty"` //IP Address of the DHCP Server. This parameter supports wildcard (`*`) character -based search. Example: `10.76.81.*` or `*56.78*` or `*50.28` Examples: serverIp=10.42.3.31 (single IP Address is requested) serverIp=10.42.3.31&serverIp=name2&fabricVnName=name3 (multiple IP Addresses are requested) + DeviceID string `url:"deviceId,omitempty"` //The device UUID. Examples: `deviceId=6bef213c-19ca-4170-8375-b694e251101c` (single deviceId is requested) `deviceId=6bef213c-19ca-4170-8375-b694e251101c&deviceId=32219612-819e-4b5e-a96b-cf22aca13dd9 (multiple networkDeviceIds with & separator) + DeviceName string `url:"deviceName,omitempty"` //Name of the device. This parameter supports wildcard (`*`) character -based search. Example: `wnbu-sjc*` or `*wnbu-sjc*` or `*wnbu-sjc` Examples: deviceName=wnbu-sjc24.cisco.com (single device name is requested) deviceName=wnbu-sjc24.cisco.com&deviceName=wnbu-sjc22.cisco.com (multiple device names are requested) + DeviceSiteHierarchy string `url:"deviceSiteHierarchy,omitempty"` //The full hierarchical breakdown of the site tree starting from Global site name and ending with the specific site name. The Root site is named "Global" (Ex. `Global/AreaName/BuildingName/FloorName`) This field supports wildcard asterisk (`*`) character search support. E.g. `*/San*, */San, /San*` Examples: `?siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `?deviceSiteHierarchy=Global/AreaName/BuildingName/FloorName&deviceSiteHierarchy=Global/AreaName2/BuildingName2/FloorName2` (multiple siteHierarchies requested) + DeviceSiteHierarchyID string `url:"deviceSiteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&deviceSiteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) + DeviceSiteID string `url:"deviceSiteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) Examples: `?deviceSiteIds=id1` (single id requested) `?deviceSiteIds=id1&deviceSiteIds=id2&siteId=id3` (multiple ids requested) +} +type RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheServiceQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. +} +type RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheServiceHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheListOfDNSServicesForGivenParametersQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + SortBy string `url:"sortBy,omitempty"` //Field name on which sorting needs to be done + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. + ServerIP string `url:"serverIp,omitempty"` //IP Address of the DNS Server. This parameter supports wildcard (`*`) character -based search. Example: `10.76.81.*` or `*56.78*` or `*50.28` Examples: serverIp=10.42.3.31 (single IP Address is requested) serverIp=10.42.3.31&serverIp=name2&fabricVnName=name3 (multiple IP Addresses are requested) + DeviceID string `url:"deviceId,omitempty"` //The device UUID. Examples: `deviceId=6bef213c-19ca-4170-8375-b694e251101c` (single deviceId is requested) `deviceId=6bef213c-19ca-4170-8375-b694e251101c&deviceId=32219612-819e-4b5e-a96b-cf22aca13dd9 (multiple networkDeviceIds with & separator) + DeviceSiteHierarchyID string `url:"deviceSiteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&deviceSiteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) + DeviceSiteID string `url:"deviceSiteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) Examples: `?deviceSiteIds=id1` (single id requested) `?deviceSiteIds=id1&deviceSiteIds=id2&siteId=id3` (multiple ids requested) + SSID string `url:"ssid,omitempty"` //SSID is the name of wireless network to which client connects to. It is also referred to as WLAN ID - Wireless Local Area Network Identifier. This field supports wildcard (`*`) character-based search. If the field contains the (`*`) character, please use the /query API for search. Ex: `*Alpha*` or `Alpha*` or `*Alpha` Examples: `ssid=Alpha` (single ssid requested) `ssid=Alpha&ssid=Guest` (multiple ssid requested) +} +type RetrievesTheListOfDNSServicesForGivenParametersHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + ServerIP string `url:"serverIp,omitempty"` //IP Address of the DNS Server. This parameter supports wildcard (`*`) character -based search. Example: `10.76.81.*` or `*56.78*` or `*50.28` Examples: serverIp=10.42.3.31 (single IP Address is requested) serverIp=10.42.3.31&serverIp=name2&fabricVnName=name3 (multiple IP Addresses are requested) + DeviceID string `url:"deviceId,omitempty"` //The device UUID. Examples: `deviceId=6bef213c-19ca-4170-8375-b694e251101c` (single deviceId is requested) `deviceId=6bef213c-19ca-4170-8375-b694e251101c&deviceId=32219612-819e-4b5e-a96b-cf22aca13dd9 (multiple networkDeviceIds with & separator) + DeviceSiteHierarchyID string `url:"deviceSiteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?deviceSiteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&deviceSiteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) + DeviceSiteID string `url:"deviceSiteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) Examples: `?deviceSiteIds=id1` (single id requested) `?deviceSiteIds=id1&deviceSiteIds=id2&siteId=id3` (multiple ids requested) + SSID string `url:"ssid,omitempty"` //SSID is the name of wireless network to which client connects to. It is also referred to as WLAN ID - Wireless Local Area Network Identifier. This field supports wildcard (`*`) character-based search. If the field contains the (`*`) character, please use the /query API for search. Ex: `*Alpha*` or `Alpha*` or `*Alpha` Examples: `ssid=Alpha` (single ssid requested) `ssid=Alpha&ssid=Guest` (multiple ssid requested) +} +type RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheServiceQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. +} +type RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheServiceHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesQueryParams struct { StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. If `startTime` is not provided, API will default to current time. EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. Limit float64 `url:"limit,omitempty"` //Maximum number of records to return @@ -77,13 +258,13 @@ type GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesQueryParams struc SiteHierarchy string `url:"siteHierarchy,omitempty"` //The full hierarchical breakdown of the site tree starting from Global site name and ending with the specific site name. The Root site is named "Global" (Ex. `Global/AreaName/BuildingName/FloorName`) This field supports wildcard asterisk (`*`) character search support. E.g. `*/San*, */San, /San*` Examples: `?siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `?siteHierarchy=Global/AreaName/BuildingName/FloorName&siteHierarchy=Global/AreaName2/BuildingName2/FloorName2` (multiple siteHierarchies requested) SiteHierarchyID string `url:"siteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&siteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) SiteID string `url:"siteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) Examples: `?siteId=id1` (single id requested) `?siteId=id1&siteId=id2&siteId=id3` (multiple ids requested) - View string `url:"view,omitempty"` //The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific view associated fields. The default view is ``configuration``. ### Response data proviced by each view: 1. **configuration** [id,adminStatus,description,duplexConfig,duplexOper,interfaceIfIndex,interfaceType,ipv4Address,ipv6AddressList,isL3Interface,isWan,macAddress,mediaType,name,operStatus, portChannelId,portMode, portType,speed,timestamp,vlanId,networkDeviceId,networkDeviceIpAddress,networkDeviceMacAddress,siteName,siteHierarchy,siteHierarchyId] 2. **statistics** [id,name,rxDiscards,rxError,rxRate,rxUtilization,txDiscards,txError,txRate,txUtilization,networkDeviceId,networkDeviceIpAddress,networkDeviceMacAddress,siteName,siteHierarchy,siteHierarchyId] 3. **stackPort** [id,name,peerStackMember,peerStackPort,stackPortType,networkDeviceId,networkDeviceIpAddress,networkDeviceMacAddress,siteName,siteHierarchy,siteHierarchyId] The default view is configuration, If need to access an additional view, simply include the view name in the query parameter. Examples: view=configuration (single view requested) view=configuration&view=statistic&stackPort (multiple views requested) - Attribute string `url:"attribute,omitempty"` //The following list of attributes can be provided in the attribute field [id,adminStatus, description,duplexConfig,duplexOper,interfaceIfIndex,interfaceType,ipv4Address,ipv6AddressList,isL3Interface,isWan,macAddress,mediaType,name,operStatus,peerStackMember,peerStackPort, portChannelId,portMode, portType,rxDiscards,rxError,rxRate,rxUtilization,speed,stackPortType,timestamp,txDiscards,txError,txRate,txUtilization,vlanId,networkDeviceId,networkDeviceIpAddress,networkDeviceMacAddress,siteName,siteHierarchy,siteHierarchyId] If length of attribute list is too long, please use 'views' param instead. Examples: attributes=name (single attribute requested) attributes=name,description,duplexOper (multiple attributes with comma separator) + View string `url:"view,omitempty"` //Views which are supported by this API. Each view represents a specific data set. ### Response data provided by each view: 1. **configuration** [id,name,adminStatus,description,duplexConfig,duplexOper,interfaceIfIndex,interfaceType,ipv4Address,ipv6AddressList,isL3Interface,isWan,macAddress,mediaType,name,operStatus, portChannelId,portMode, portType,speed,timestamp,vlanId,networkDeviceId,networkDeviceIpAddress,networkDeviceMacAddress,siteName,siteHierarchy,siteHierarchyId] 2. **statistics** [id,name,rxDiscards,rxError,rxRate,rxUtilization,txDiscards,txError,txRate,txUtilization,networkDeviceId,networkDeviceIpAddress,networkDeviceMacAddress,siteName,siteHierarchy,siteHierarchyId] 3. **stackPort** [id,name,peerStackMember,peerStackPort,stackPortType,networkDeviceId,networkDeviceIpAddress,networkDeviceMacAddress,siteName,siteHierarchy,siteHierarchyId] 4. **poE** [id, name,rxDiscards,rxError,rxRate,rxUtilization,txDiscards,txError,txRate,txUtilization,networkDeviceId,networkDeviceIpAddress,networkDeviceMacAddress,siteName,siteHierarchy,siteHierarchyId] When this query parameter is not added by default all configuration attributes will be available in the response. **[configuration,statistics,stackPort]** + Attribute string `url:"attribute,omitempty"` //The following list of attributes can be provided in the attribute field [id,adminStatus, description,duplexConfig,duplexOper,interfaceIfIndex,interfaceType,ipv4Address,ipv6AddressList,isL3Interface,isWan,macAddress,mediaType,name,operStatus,peerStackMember,peerStackPort, portChannelId,portMode, portType,rxDiscards,rxError,rxRate,rxUtilization,speed,stackPortType,timestamp,txDiscards,txError,txRate,txUtilization,vlanId,networkDeviceId,networkDeviceIpAddress,networkDeviceMacAddress,siteName,siteHierarchy,siteHierarchyId,poeAdminStatus,poeOperStatus,chassisId,moduleId,pdClassSignal,pdClassSpare,pdDeviceType,pdDeviceModel,pdPowerAdminMaxInWatt,pdPowerBudgetInWatt,pdPowerConsumedInWatt,pdPowerRemainingInWatt,pdMaxPowerDrawn,pdConnectedDeviceList,poeOperPriority,fastPoEEnabled,perpetualPoEEnabled,policingPoEEnabled,upoePlusEnabled,fourPairEnabled,poeDataTimestamp,pdLocation,pdDeviceName,pdConnectedSwitch,connectedSwitchUuid,ieeeCompliant,connectedSwitchType] If length of attribute list is too long, please use 'views' param instead. Examples: attributes=name (single attribute requested) attributes=name&description&duplexOper (multiple attributes with comma separator) NetworkDeviceID string `url:"networkDeviceId,omitempty"` //The list of Network Device Uuids. (Ex. `6bef213c-19ca-4170-8375-b694e251101c`) Examples: `networkDeviceId=6bef213c-19ca-4170-8375-b694e251101c` (single networkDeviceId requested) `networkDeviceId=6bef213c-19ca-4170-8375-b694e251101c&networkDeviceId=32219612-819e-4b5e-a96b-cf22aca13dd9&networkDeviceId=2541e9a7-b80d-4955-8aa2-79b233318ba0` (multiple networkDeviceIds with & separator) - NetworkDeviceIPAddress string `url:"networkDeviceIpAddress,omitempty"` //The list of Network Device management IP Address. (Ex. `121.1.1.10`) This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `networkDeviceIpAddress=121.1.1.10` `networkDeviceIpAddress=121.1.1.10&networkDeviceIpAddress=172.20.1.10&networkDeviceIpAddress=10.10.20.10` (multiple networkDevice IP Address with & separator) - NetworkDeviceMacAddress string `url:"networkDeviceMacAddress,omitempty"` //The list of Network Device MAC Address. (Ex. `64:f6:9d:07:9a:00`) This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `networkDeviceMacAddress=64:f6:9d:07:9a:00` `networkDeviceMacAddress=64:f6:9d:07:9a:00&networkDeviceMacAddress=70:56:9d:07:ac:77` (multiple networkDevice MAC addresses with & separator) + NetworkDeviceIPAddress string `url:"networkDeviceIpAddress,omitempty"` //The list of Network Device management IP Address. (Ex. `121.1.1.10`) This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `networkDeviceIpAddress=121.1.1.10` `networkDeviceIpAddress=121.1.1.10&networkDeviceIpAddress=172.20.1.10&networkDeviceIpAddress=10.10.20.10` (multiple networkDevice IP Address with & separator) + NetworkDeviceMacAddress string `url:"networkDeviceMacAddress,omitempty"` //The list of Network Device MAC Address. (Ex. `64:f6:9d:07:9a:00`) This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `networkDeviceMacAddress=64:f6:9d:07:9a:00` `networkDeviceMacAddress=64:f6:9d:07:9a:00&networkDeviceMacAddress=70:56:9d:07:ac:77` (multiple networkDevice MAC addresses with & separator) InterfaceID string `url:"interfaceId,omitempty"` //The list of Interface Uuids. (Ex. `6bef213c-19ca-4170-8375-b694e251101c`) Examples: `interfaceId=6bef213c-19ca-4170-8375-b694e251101c` (single interface uuid ) `interfaceId=6bef213c-19ca-4170-8375-b694e251101c&32219612-819e-4b5e-a96b-cf22aca13dd9&2541e9a7-b80d-4955-8aa2-79b233318ba0` (multiple Interface uuid with & separator) - InterfaceName string `url:"interfaceName,omitempty"` //The list of Interface name (Ex. `GigabitEthernet1/0/1`) This field supports wildcard (`*`) character-based search. Ex: `*1/0/1*` or `1/0/1*` or `*1/0/1` Examples: `interfaceNames=GigabitEthernet1/0/1` (single interface name) `interfaceNames=GigabitEthernet1/0/1&GigabitEthernet2/0/1&GigabitEthernet3/0/1` (multiple interface names with & separator) + InterfaceName string `url:"interfaceName,omitempty"` //The list of Interface name (Ex. `GigabitEthernet1/0/1`) This field supports wildcard (`*`) character-based search. Ex: `*1/0/1*` or `1/0/1*` or `*1/0/1` Examples: `interfaceNames=GigabitEthernet1/0/1` (single interface name) `interfaceNames=GigabitEthernet1/0/1&GigabitEthernet2/0/1&GigabitEthernet3/0/1` (multiple interface names with & separator) } type GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountQueryParams struct { StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. If `startTime` is not provided, API will default to current time. @@ -92,16 +273,16 @@ type GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsN SiteHierarchyID string `url:"siteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&siteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) SiteID string `url:"siteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) Examples: `?siteId=id1` (single id requested) `?siteId=id1&siteId=id2&siteId=id3` (multiple ids requested) NetworkDeviceID string `url:"networkDeviceId,omitempty"` //The list of Network Device Uuids. (Ex. `6bef213c-19ca-4170-8375-b694e251101c`) Examples: `networkDeviceId=6bef213c-19ca-4170-8375-b694e251101c` (single networkDeviceId requested) `networkDeviceId=6bef213c-19ca-4170-8375-b694e251101c&networkDeviceId=32219612-819e-4b5e-a96b-cf22aca13dd9&networkDeviceId=2541e9a7-b80d-4955-8aa2-79b233318ba0` (multiple networkDeviceIds with & separator) - NetworkDeviceIPAddress string `url:"networkDeviceIpAddress,omitempty"` //The list of Network Device management IP Address. (Ex. `121.1.1.10`) This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `networkDeviceIpAddress=121.1.1.10` `networkDeviceIpAddress=121.1.1.10&networkDeviceIpAddress=172.20.1.10&networkDeviceIpAddress=10.10.20.10` (multiple networkDevice IP Address with & separator) - NetworkDeviceMacAddress string `url:"networkDeviceMacAddress,omitempty"` //The list of Network Device MAC Address. (Ex. `64:f6:9d:07:9a:00`) This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `networkDeviceMacAddress=64:f6:9d:07:9a:00` `networkDeviceMacAddress=64:f6:9d:07:9a:00&networkDeviceMacAddress=70:56:9d:07:ac:77` (multiple networkDevice MAC addresses with & separator) + NetworkDeviceIPAddress string `url:"networkDeviceIpAddress,omitempty"` //The list of Network Device management IP Address. (Ex. `121.1.1.10`) This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `networkDeviceIpAddress=121.1.1.10` `networkDeviceIpAddress=121.1.1.10&networkDeviceIpAddress=172.20.1.10&networkDeviceIpAddress=10.10.20.10` (multiple networkDevice IP Address with & separator) + NetworkDeviceMacAddress string `url:"networkDeviceMacAddress,omitempty"` //The list of Network Device MAC Address. (Ex. `64:f6:9d:07:9a:00`) This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `networkDeviceMacAddress=64:f6:9d:07:9a:00` `networkDeviceMacAddress=64:f6:9d:07:9a:00&networkDeviceMacAddress=70:56:9d:07:ac:77` (multiple networkDevice MAC addresses with & separator) InterfaceID string `url:"interfaceId,omitempty"` //The list of Interface Uuids. (Ex. `6bef213c-19ca-4170-8375-b694e251101c`) Examples: `interfaceId=6bef213c-19ca-4170-8375-b694e251101c` (single interface uuid ) `interfaceId=6bef213c-19ca-4170-8375-b694e251101c&32219612-819e-4b5e-a96b-cf22aca13dd9&2541e9a7-b80d-4955-8aa2-79b233318ba0` (multiple Interface uuid with & separator) - InterfaceName string `url:"interfaceName,omitempty"` //The list of Interface name (Ex. `GigabitEthernet1/0/1`) This field supports wildcard (`*`) character-based search. Ex: `*1/0/1*` or `1/0/1*` or `*1/0/1` Examples: `interfaceNames=GigabitEthernet1/0/1` (single interface name) `interfaceNames=GigabitEthernet1/0/1&GigabitEthernet2/0/1&GigabitEthernet3/0/1` (multiple interface names with & separator) + InterfaceName string `url:"interfaceName,omitempty"` //The list of Interface name (Ex. `GigabitEthernet1/0/1`) This field supports wildcard (`*`) character-based search. Ex: `*1/0/1*` or `1/0/1*` or `*1/0/1` Examples: `interfaceNames=GigabitEthernet1/0/1` (single interface name) `interfaceNames=GigabitEthernet1/0/1&GigabitEthernet2/0/1&GigabitEthernet3/0/1` (multiple interface names with & separator) } -type GetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsDataQueryParams struct { +type GetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsAndPoeDataQueryParams struct { StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. If `startTime` is not provided, API will default to current time. EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. View string `url:"view,omitempty"` //Interface data model views - Attribute string `url:"attribute,omitempty"` //The following list of attributes can be provided in the attribute field [id,adminStatus, description,duplexConfig,duplexOper,interfaceIfIndex,interfaceType,ipv4Address,ipv6AddressList,isL3Interface,isWan,macAddress,mediaType,name,operStatus,peerStackMember,peerStackPort, portChannelId,portMode, portType,rxDiscards,rxError,rxRate,rxUtilization,speed,stackPortType,timestamp,txDiscards,txError,txRate,txUtilization,vlanId,networkDeviceId,networkDeviceIpAddress,networkDeviceMacAddress,siteName,siteHierarchy,siteHierarchyId] If length of attribute list is too long, please use 'views' param instead. Examples: attributes=name (single attribute requested) attributes=name,description,duplexOper (multiple attributes with comma separator) + Attribute string `url:"attribute,omitempty"` //The following list of attributes can be provided in the attribute field [id,adminStatus, description,duplexConfig,duplexOper,interfaceIfIndex,interfaceType,ipv4Address,ipv6AddressList,isL3Interface,isWan,macAddress,mediaType,name,operStatus,peerStackMember,peerStackPort, portChannelId,portMode, portType,rxDiscards,rxError,rxRate,rxUtilization,speed,stackPortType,timestamp,txDiscards,txError,txRate,txUtilization,vlanId,networkDeviceId,networkDeviceIpAddress,networkDeviceMacAddress,siteName,siteHierarchy,siteHierarchyId,poeAdminStatus,poeOperStatus,chassisId,moduleId,pdClassSignal,pdClassSpare,pdDeviceType,pdDeviceModel,pdPowerAdminMaxInWatt,pdPowerBudgetInWatt,pdPowerConsumedInWatt,pdPowerRemainingInWatt,pdMaxPowerDrawn,pdConnectedDeviceList,poeOperPriority,fastPoEEnabled,perpetualPoEEnabled,policingPoEEnabled,upoePlusEnabled,fourPairEnabled,poeDataTimestamp,pdLocation,pdDeviceName,pdConnectedSwitch,connectedSwitchUuid,ieeeCompliant,connectedSwitchType] If length of attribute list is too long, please use 'views' param instead. Examples: attributes=name (single attribute requested) attributes=name&description&duplexOper (multiple attributes with comma separator) } type GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams struct { StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. If `startTime` is not provided, API will default to current time. @@ -115,7 +296,7 @@ type GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams str SiteID string `url:"siteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) This field supports wildcard asterisk (*) character search support. E.g.*flooruuid*, *flooruuid, flooruuid* Examples: `?siteId=id1` (single id requested) `?siteId=id1&siteId=id2&siteId=id3` (multiple ids requested) ID string `url:"id,omitempty"` //The list of entity Uuids. (Ex."6bef213c-19ca-4170-8375-b694e251101c") Examples: id=6bef213c-19ca-4170-8375-b694e251101c (single entity uuid requested) id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9&id=2541e9a7-b80d-4955-8aa2-79b233318ba0 (multiple entity uuid with '&' separator) ManagementIPAddress string `url:"managementIpAddress,omitempty"` //The list of entity management IP Address. It can be either Ipv4 or Ipv6 address or combination of both(Ex. "121.1.1.10") This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: managementIpAddresses=121.1.1.10 managementIpAddresses=121.1.1.10&managementIpAddresses=172.20.1.10&managementIpAddresses=200:10&=managementIpAddresses172.20.3.4 (multiple entity IP Address with & separator) - MacAddress string `url:"macAddress,omitempty"` //The macAddress of the network device or client This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `macAddress=AB:AB:AB:CD:CD:CD` (single macAddress requested) `macAddress=AB:AB:AB:CD:CD:DC&macAddress=AB:AB:AB:CD:CD:FE` (multiple macAddress requested) + MacAddress string `url:"macAddress,omitempty"` //The macAddress of the network device or client This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `macAddress=AB:AB:AB:CD:CD:CD` (single macAddress requested) `macAddress=AB:AB:AB:CD:CD:DC&macAddress=AB:AB:AB:CD:CD:FE` (multiple macAddress requested) Family string `url:"family,omitempty"` //The list of network device family names Examples:family=Switches and Hubs (single network device family name )family=Switches and Hubs&family=Router&family=Wireless Controller (multiple Network device family names with & separator). This field is not case sensitive. Type string `url:"type,omitempty"` //The list of network device type This field supports wildcard (`*`) character-based search. Ex: `*9407R*` or `*9407R` or `9407R*` Examples: type=SwitchesCisco Catalyst 9407R Switch (single network device types ) type=Cisco Catalyst 38xx stack-able ethernet switch&type=Cisco 3945 Integrated Services Router G2 (multiple Network device types with & separator) Role string `url:"role,omitempty"` //The list of network device role. Examples:role=CORE, role=CORE&role=ACCESS&role=ROUTER (multiple Network device roles with & separator). This field is not case sensitive. @@ -123,8 +304,13 @@ type GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams str MaintenanceMode bool `url:"maintenanceMode,omitempty"` //The device maintenanceMode status true or false SoftwareVersion string `url:"softwareVersion,omitempty"` //The list of network device software version This field supports wildcard (`*`) character-based search. Ex: `*17.8*` or `*17.8` or `17.8*` Examples: softwareVersion=2.3.4.0 (single network device software version ) softwareVersion=17.9.3.23&softwareVersion=17.7.1.2&softwareVersion=*.17.7 (multiple Network device software versions with & separator) HealthScore string `url:"healthScore,omitempty"` //The list of entity health score categories Examples: healthScore=good, healthScore=good&healthScore=fair (multiple entity healthscore values with & separator). This field is not case sensitive. - View string `url:"view,omitempty"` //The List of Network Device model views. Please refer to ```NetworkDeviceView``` for the supported list - Attribute string `url:"attribute,omitempty"` //The List of Network Device model attributes. This is helps to specify the interested fields in the request. + View string `url:"view,omitempty"` //The List of Network Device model views. Please refer to ```NetworkDeviceView``` section in the Open API specification document mentioned in the description. + Attribute string `url:"attribute,omitempty"` //The List of Network Device model attributes. Please refer to ```NetworkDeviceAttribute``` section in the Open API specification document mentioned in the description. + FabricSiteID string `url:"fabricSiteId,omitempty"` //The fabric site Id or list to fabric site Ids to filter the data This field supports wildcard asterisk (*) character search support. E.g. *uuid*, *uuid, uuid* Examples: `?fabricSiteId=fabricSiteUuid) ?fabricSiteId=fabricSiteUuid1&fabricSiteId=fabricSiteUuid2 (multiple fabricSiteIds requested) + L2Vn string `url:"l2Vn,omitempty"` //The L2 Virtual Network Id or list to Virtual Network Ids to filter the data This field supports wildcard asterisk (*) character search support. E.g. *uuid*, *uuid, uuid* Examples: `?l2Vn=virtualNetworkId ?l2Vn=virtualNetworkId1&l2Vn=virtualNetworkId2 (multiple virtualNetworkId's requested) + L3Vn string `url:"l3Vn,omitempty"` //The L3 Virtual Network Id or list to Virtual Network Ids to filter the data This field supports wildcard asterisk (*) character search support. E.g. *uuid*, *uuid, uuid* Examples: `?l3Vn=virtualNetworkId ?l3Vn=virtualNetworkId1&l3Vn=virtualNetworkId2 (multiple virtualNetworkId's requested) + TransitNetworkID string `url:"transitNetworkId,omitempty"` //The Transit Network Id or list to Transit Network Ids to filter the data This field supports wildcard asterisk (*) character search support. E.g. *uuid*, *uuid, uuid* Examples: `?transitNetworkId=transitNetworkId ?transitNetworkId=transitNetworkuuid1&transitNetworkId=transitNetworkuuid1 (multiple transitNetworkIds requested + FabricRole string `url:"fabricRole,omitempty"` //The list of fabric device role. Examples: fabricRole=BORDER, fabricRole=BORDER&fabricRole=EDGE (multiple fabric device roles with & separator) Available values : BORDER, EDGE, MAP-SERVER, LEAF, SPINE, TRANSIT-CP, EXTENDED-NODE, WLC, UNIFIED-AP } type GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams struct { StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. If `startTime` is not provided, API will default to current time. @@ -134,7 +320,7 @@ type GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams SiteHierarchyID string `url:"siteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (*) character search support. E.g. `*uuid*, *uuid, uuid* Examples: `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&siteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) SiteID string `url:"siteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) This field supports wildcard asterisk (*) character search support. E.g.*flooruuid*, *flooruuid, flooruuid* Examples: `?siteId=id1` (single id requested) `?siteId=id1&siteId=id2&siteId=id3` (multiple ids requested) ManagementIPAddress string `url:"managementIpAddress,omitempty"` //The list of entity management IP Address. It can be either Ipv4 or Ipv6 address or combination of both(Ex. "121.1.1.10") This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: managementIpAddresses=121.1.1.10 managementIpAddresses=121.1.1.10&managementIpAddresses=172.20.1.10&managementIpAddresses=200:10&=managementIpAddresses172.20.3.4 (multiple entity IP Address with & separator) - MacAddress string `url:"macAddress,omitempty"` //The macAddress of the network device or client This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `macAddress=AB:AB:AB:CD:CD:CD` (single macAddress requested) `macAddress=AB:AB:AB:CD:CD:DC&macAddress=AB:AB:AB:CD:CD:FE` (multiple macAddress requested) + MacAddress string `url:"macAddress,omitempty"` //The macAddress of the network device or client This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `macAddress=AB:AB:AB:CD:CD:CD` (single macAddress requested) `macAddress=AB:AB:AB:CD:CD:DC&macAddress=AB:AB:AB:CD:CD:FE` (multiple macAddress requested) Family string `url:"family,omitempty"` //The list of network device family names Examples:family=Switches and Hubs (single network device family name )family=Switches and Hubs&family=Router&family=Wireless Controller (multiple Network device family names with & separator). This field is not case sensitive. Type string `url:"type,omitempty"` //The list of network device type This field supports wildcard (`*`) character-based search. Ex: `*9407R*` or `*9407R` or `9407R*`Examples:type=SwitchesCisco Catalyst 9407R Switch (single network device types )type=Cisco Catalyst 38xx stack-able ethernet switch&type=Cisco 3945 Integrated Services Router G2 (multiple Network device types with & separator) Role string `url:"role,omitempty"` //The list of network device role. Examples:role=CORE, role=CORE&role=ACCESS&role=ROUTER (multiple Network device roles with & separator). This field is not case sensitive. @@ -142,17 +328,20 @@ type GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams MaintenanceMode bool `url:"maintenanceMode,omitempty"` //The device maintenanceMode status true or false SoftwareVersion string `url:"softwareVersion,omitempty"` //The list of network device software version This field supports wildcard (`*`) character-based search. Ex: `*17.8*` or `*17.8` or `17.8*` Examples: softwareVersion=2.3.4.0 (single network device software version ) softwareVersion=17.9.3.23&softwareVersion=17.7.1.2&softwareVersion=*.17.7 (multiple Network device software versions with & separator) HealthScore string `url:"healthScore,omitempty"` //The list of entity health score categories Examples:healthScore=good,healthScore=good&healthScore=fair (multiple entity healthscore values with & separator). This field is not case sensitive. - View string `url:"view,omitempty"` //The List of Network Device model views. Please refer to ```NetworkDeviceView``` for the supported list - Attribute string `url:"attribute,omitempty"` //The List of Network Device model attributes. This is helps to specify the interested fields in the request. + FabricSiteID string `url:"fabricSiteId,omitempty"` //The fabric site Id or list to fabric site Ids to filter the data This field supports wildcard asterisk (*) character search support. E.g. *uuid*, *uuid, uuid* Examples: `?fabricSiteId=fabricSiteUuid) ?fabricSiteId=fabricSiteUuid1&fabricSiteId=fabricSiteUuid2 (multiple fabricSiteIds requested) + L2Vn string `url:"l2Vn,omitempty"` //The L2 Virtual Network Id or list to Virtual Network Ids to filter the data This field supports wildcard asterisk (*) character search support. E.g. *uuid*, *uuid, uuid* Examples: `?l2Vn=virtualNetworkId ?l2Vn=virtualNetworkId1&l2Vn=virtualNetworkId2 (multiple virtualNetworkId's requested) + L3Vn string `url:"l3Vn,omitempty"` //The L3 Virtual Network Id or list to Virtual Network Ids to filter the data This field supports wildcard asterisk (*) character search support. E.g. *uuid*, *uuid, uuid* Examples: `?l3Vn=virtualNetworkId ?l3Vn=virtualNetworkId1&l3Vn=virtualNetworkId2 (multiple virtualNetworkId's requested) + TransitNetworkID string `url:"transitNetworkId,omitempty"` //The Transit Network Id or list to Transit Network Ids to filter the data This field supports wildcard asterisk (*) character search support. E.g. *uuid*, *uuid, uuid* Examples: `?transitNetworkId=transitNetworkId ?transitNetworkId=transitNetworkuuid1&transitNetworkId=transitNetworkuuid1 (multiple transitNetworkIds requested) + FabricRole string `url:"fabricRole,omitempty"` //The list of fabric device role. Examples: fabricRole=BORDER, fabricRole=BORDER&fabricRole=EDGE (multiple fabric device roles with & separator) Available values : BORDER, EDGE, MAP-SERVER, LEAF, SPINE, TRANSIT-CP, EXTENDED-NODE, WLC, UNIFIED-AP } type GetTheDeviceDataForTheGivenDeviceIDUUIDQueryParams struct { StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. If `startTime` is not provided, API will default to current time. EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. - View string `url:"view,omitempty"` //The List of Network Device model views. Please refer to ```NetworkDeviceView``` for the supported list - Attribute string `url:"attribute,omitempty"` //The List of Network Device model attributes. This is helps to specify the interested fields in the request. + View string `url:"view,omitempty"` //The List of Network Device model views. Please refer to ```NetworkDeviceView``` section in the Open API specification document mentioned in the description. + Attribute string `url:"attribute,omitempty"` //The List of Network Device model attributes. Please refer to ```NetworkDeviceAttribute``` section in the Open API specification document mentioned in the description. } type GetPlannedAccessPointsForBuildingQueryParams struct { - Limit float64 `url:"limit,omitempty"` //The page size limit for the response, e.g. limit=100 will return a maximum of 100 records + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. Offset float64 `url:"offset,omitempty"` //The page offset for the response. E.g. if limit=100, offset=0 will return first 100 records, offset=1 will return next 100 records, etc. Radios bool `url:"radios,omitempty"` //Whether to include the planned radio details of the planned access points } @@ -164,7 +353,7 @@ type GetDeviceDetailQueryParams struct { type GetDeviceEnrichmentDetailsHeaderParams struct { EntityType string `url:"entity_type,omitempty"` //Expects type string. Device enrichment details can be fetched based on either Device ID or Device MAC address or Device IP Address. This parameter value must either be device_id/mac_address/ip_address EntityValue string `url:"entity_value,omitempty"` //Expects type string. Contains the actual value for the entity type that has been defined - Persistbapioutput string `url:"__persistbapioutput,omitempty"` //Expects type bool. + Persistbapioutput string `url:"__persistbapioutput,omitempty"` //Expects type bool. For the enrichment details to be made available as part of the API response, this header must be set to true. This header must be explicitly passed when called from client applications outside Catalyst Center } type DevicesQueryParams struct { DeviceRole string `url:"deviceRole,omitempty"` //CORE, ACCESS, DISTRIBUTION, ROUTER, WLC, or AP (case insensitive) @@ -176,7 +365,7 @@ type DevicesQueryParams struct { Offset float64 `url:"offset,omitempty"` //The offset of the first device in the returned data (Mutiple of 'limit' + 1) } type GetPlannedAccessPointsForFloorQueryParams struct { - Limit float64 `url:"limit,omitempty"` //The page size limit for the response, e.g. limit=100 will return a maximum of 100 records + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. Offset float64 `url:"offset,omitempty"` //The page offset for the response. E.g. if limit=100, offset=0 will return first 100 records, offset=1 will return next 100 records, etc. Radios bool `url:"radios,omitempty"` //Whether to include the planned radio details of the planned access points } @@ -195,12 +384,20 @@ type UpdateHealthScoreDefinitionsHeaderParams struct { ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. } +type GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams struct { + DeviceType string `url:"deviceType,omitempty"` //These are the device families supported for health score definitions. If no input is made on device family, all device families are considered. + ID string `url:"id,omitempty"` //The definition identifier. Examples: id=015d9cba-4f53-4087-8317-7e49e5ffef46 (single entity id request) id=015d9cba-4f53-4087-8317-7e49e5ffef46&id=015d9cba-4f53-4087-8317-7e49e5ffef47 (multiple ids in the query param) + IncludeForOverallHealth bool `url:"includeForOverallHealth,omitempty"` //The inclusion status of the issue definition, either true or false. true indicates that particular health metric is included in overall health computation, otherwise false. By default it's set to true. +} +type GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} type GetHealthScoreDefinitionForTheGivenIDHeaderParams struct { XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. } type GetAllInterfacesQueryParams struct { Offset int `url:"offset,omitempty"` //Offset - Limit int `url:"limit,omitempty"` //Limit + Limit int `url:"limit,omitempty"` //The number of records to show for this page. Min: 1, Max: 500 LastInputTime string `url:"lastInputTime,omitempty"` //Last Input Time LastOutputTime string `url:"lastOutputTime,omitempty"` //Last Output Time } @@ -247,7 +444,7 @@ type GetDeviceListQueryParams struct { ID string `url:"id,omitempty"` //Accepts comma separated ids and return list of network-devices for the given ids. If invalid or not-found ids are provided, null entry will be returned in the list. DeviceSupportLevel string `url:"deviceSupportLevel,omitempty"` //deviceSupportLevel Offset int `url:"offset,omitempty"` //offset >= 1 [X gives results from Xth device onwards] - Limit int `url:"limit,omitempty"` //1 <= limit <= 500 [max. no. of devices to be returned in the result] + Limit int `url:"limit,omitempty"` //The number of records to show for this page. Min: 1, Max: 500 } type GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams struct { VrfName string `url:"vrfName,omitempty"` //vrfName @@ -271,7 +468,7 @@ type GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams struct { RoleSource string `url:"roleSource,omitempty"` //roleSource AssociatedWlcIP string `url:"associatedWlcIp,omitempty"` //associatedWlcIp Offset int `url:"offset,omitempty"` //offset - Limit int `url:"limit,omitempty"` //limit + Limit int `url:"limit,omitempty"` //The number of records to show for this page. Min: 1, Max: 500 } type GetDeviceCountKnowYourNetworkQueryParams struct { Hostname []string `url:"hostname,omitempty"` //hostname @@ -285,14 +482,14 @@ type GetFunctionalCapabilityForDevicesQueryParams struct { } type InventoryInsightDeviceLinkMismatchAPIQueryParams struct { Offset int `url:"offset,omitempty"` //Row Number. Default value is 1 - Limit int `url:"limit,omitempty"` //Default value is 500 + Limit int `url:"limit,omitempty"` //The number of records to show for this page. Min: 1, Max: 500 Category string `url:"category,omitempty"` //Links mismatch category. Value can be speed-duplex or vlan. SortBy string `url:"sortBy,omitempty"` //Sort By Order string `url:"order,omitempty"` //Order. Value can be asc or desc. Default value is asc } type GetModulesQueryParams struct { DeviceID string `url:"deviceId,omitempty"` //deviceId - Limit int `url:"limit,omitempty"` //limit + Limit int `url:"limit,omitempty"` //The number of records to show for this page. Min: 1, Max: 500 Offset int `url:"offset,omitempty"` //offset NameList []string `url:"nameList,omitempty"` //nameList VendorEquipmentTypeList []string `url:"vendorEquipmentTypeList,omitempty"` //vendorEquipmentTypeList @@ -332,25 +529,334 @@ type DeleteDeviceByIDQueryParams struct { type GetDeviceInterfaceVLANsQueryParams struct { InterfaceType string `url:"interfaceType,omitempty"` //Vlan associated with sub-interface. If no interfaceType mentioned it will return all types of Vlan interfaces. If interfaceType is selected but not specified then it will take default value. } +type RetrieveScheduledMaintenanceWindowsForNetworkDevicesQueryParams struct { + NetworkDeviceIDs string `url:"networkDeviceIds,omitempty"` //List of network device ids. + Status string `url:"status,omitempty"` //The status of the maintenance schedule. Possible values are: UPCOMING, IN_PROGRESS, COMPLETED, FAILED. Refer features for more details. + Limit string `url:"limit,omitempty"` //The number of records to show for this page. Min: 1, Max: 500 + Offset string `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. +} +type RetrieveTheTotalNumberOfScheduledMaintenanceWindowsQueryParams struct { + NetworkDeviceIDs string `url:"networkDeviceIds,omitempty"` //List of network device ids. + Status string `url:"status,omitempty"` //The status of the maintenance schedule. Possible values are: UPCOMING, IN_PROGRESS, COMPLETED, FAILED. Refer features for more details. +} +type RetrieveNetworkDevicesQueryParams struct { + ID string `url:"id,omitempty"` //Network device Id + ManagementAddress string `url:"managementAddress,omitempty"` //Management address of the network device + SerialNumber string `url:"serialNumber,omitempty"` //Serial number of the network device + Family string `url:"family,omitempty"` //Product family of the network device. For example, Switches, Routers, etc. + StackDevice string `url:"stackDevice,omitempty"` //Flag indicating if the device is a stack device + Role string `url:"role,omitempty"` //Role assigned to the network device. Available values : BORDER_ROUTER, CORE, DISTRIBUTION, ACCESS, UNKNOWN + Status string `url:"status,omitempty"` //Inventory related status of the network device. Available values : MANAGED, SYNC_NOT_STARTED, SYNC_INIT_FAILED, SYNC_PRECHECK_FAILED, SYNC_IN_PROGRESS, SYNC_INTERNAL_ERROR, SYNC_DISABLED, DELETING_DEVICE, UNDER_MAINTENANCE, QUARANTINED, UNASSOCIATED, UNREACHABLE, UNKNOWN. Refer features for more details. + ReachabilityStatus string `url:"reachabilityStatus,omitempty"` //Reachability status of the network device. Available values : REACHABLE, ONLY_PING_REACHABLE, UNREACHABLE, UNKNOWN. Refer features for more details. + ManagementState string `url:"managementState,omitempty"` //The status of the network device's manageability. Available statuses are MANAGED, UNDER_MAINTENANCE, NEVER_MANAGED. Refer features for more details. + Views string `url:"views,omitempty"` //The specific views being requested. This is an optional parameter which can be passed to get one or more of the network device data. If this is not provided, then it will default to BASIC views. If multiple views are provided, the response will contain the union of the views. Refer features for more details. Available values : BASIC, RESYNC, USER_DEFINED_FIELDS. + Limit string `url:"limit,omitempty"` //The number of records to show for this page. Min: 1, Max: 500 + Offset string `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. Available values : id, managementAddress, dnsResolvedManagementIpAddress, hostname, macAddress, type, family, series, platformids, softwareType, softwareVersion, vendor, bootTime, role, roleSource, apEthernetMacAddress, apManagerInterfaceIpAddress, apWlcIpAddress, deviceSupportLevel, reachabilityFailureReason, resyncStartTime, resyncEndTime, resyncReasons, pendingResyncRequestCount, pendingResyncRequestReasons, resyncIntervalSource, resyncIntervalMinutes + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. +} +type CountTheNumberOfNetworkDevicesQueryParams struct { + ID string `url:"id,omitempty"` //Network device Id + ManagementAddress string `url:"managementAddress,omitempty"` //Management address of the network device + SerialNumber string `url:"serialNumber,omitempty"` //Serial number of the network device + Family string `url:"family,omitempty"` //Product family of the network device. For example, Switches, Routers, etc. + StackDevice string `url:"stackDevice,omitempty"` //Flag indicating if the device is a stack device + Role string `url:"role,omitempty"` //Role assigned to the network device. Available values : BORDER_ROUTER, CORE, DISTRIBUTION, ACCESS, UNKNOWN + Status string `url:"status,omitempty"` //Inventory related status of the network device. Available values : MANAGED, SYNC_NOT_STARTED, SYNC_INIT_FAILED, SYNC_PRECHECK_FAILED, SYNC_IN_PROGRESS, SYNC_INTERNAL_ERROR, SYNC_DISABLED, DELETING_DEVICE, UNDER_MAINTENANCE, QUARANTINED, UNASSOCIATED, UNREACHABLE, UNKNOWN. Refer features for more details. + ReachabilityStatus string `url:"reachabilityStatus,omitempty"` //Reachability status of the network device. Available values : REACHABLE, ONLY_PING_REACHABLE, UNREACHABLE, UNKNOWN. Refer features for more details. + ManagementState string `url:"managementState,omitempty"` //The status of the network device's manageability. Available values : MANAGED, UNDER_MAINTENANCE, NEVER_MANAGED. Refer features for more details. +} +type GetDetailsOfASingleNetworkDeviceQueryParams struct { + Views string `url:"views,omitempty"` //The specific views being requested. This is an optional parameter which can be passed to get one or more of the network device data. If this is not provided, then it will default to BASIC views. If multiple views are provided, the response will contain the union of the views. Available values : BASIC, RESYNC, USER_DEFINED_FIELDS +} type GetAllowedMacAddressQueryParams struct { Offset float64 `url:"offset,omitempty"` //The offset of the first item in the collection to return. Limit float64 `url:"limit,omitempty"` //The maximum number of entries to return. If the value exceeds the total count, then the maximum entries will be returned. } -type GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams struct { - DeviceType string `url:"deviceType,omitempty"` //These are the device families supported for health score definitions. If no input is made on device family, all device families are considered. - ID string `url:"id,omitempty"` //The definition identifier. Examples: id=015d9cba-4f53-4087-8317-7e49e5ffef46 (single entity id request) id=015d9cba-4f53-4087-8317-7e49e5ffef46&id=015d9cba-4f53-4087-8317-7e49e5ffef47 (multiple ids in the query param) - IncludeForOverallHealth bool `url:"includeForOverallHealth,omitempty"` //The inclusion status of the issue definition, either true or false. true indicates that particular health metric is included in overall health computation, otherwise false. By default it's set to true. + +type ResponseDevicesRetrievesTheListOfAAAServicesForGivenParameters struct { + Response *[]ResponseDevicesRetrievesTheListOfAAAServicesForGivenParametersResponse `json:"response,omitempty"` // + Page *ResponseDevicesRetrievesTheListOfAAAServicesForGivenParametersPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheListOfAAAServicesForGivenParametersResponse struct { + ID string `json:"id,omitempty"` // Id + ServerIP string `json:"serverIp,omitempty"` // Server Ip + DeviceID string `json:"deviceId,omitempty"` // Device Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + DeviceSiteHierarchy string `json:"deviceSiteHierarchy,omitempty"` // Device Site Hierarchy + DeviceSiteID string `json:"deviceSiteId,omitempty"` // Device Site Id + DeviceSiteHierarchyID string `json:"deviceSiteHierarchyId,omitempty"` // Device Site Hierarchy Id + Transactions *int `json:"transactions,omitempty"` // Transactions + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions + SuccessfulTransactions *int `json:"successfulTransactions,omitempty"` // Successful Transactions + EapTransactions *int `json:"eapTransactions,omitempty"` // Eap Transactions + EapFailedTransactions *int `json:"eapFailedTransactions,omitempty"` // Eap Failed Transactions + EapSuccessfulTransactions *int `json:"eapSuccessfulTransactions,omitempty"` // Eap Successful Transactions + MabTransactions *int `json:"mabTransactions,omitempty"` // Mab Transactions + MabFailedTransactions *int `json:"mabFailedTransactions,omitempty"` // Mab Failed Transactions + MabSuccessfulTransactions *int `json:"mabSuccessfulTransactions,omitempty"` // Mab Successful Transactions + Latency *int `json:"latency,omitempty"` // Latency + EapLatency *int `json:"eapLatency,omitempty"` // Eap Latency + MabLatency *int `json:"mabLatency,omitempty"` // Mab Latency +} +type ResponseDevicesRetrievesTheListOfAAAServicesForGivenParametersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesRetrievesTheListOfAAAServicesForGivenParametersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesRetrievesTheListOfAAAServicesForGivenParametersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order } -type GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams struct { - XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +type ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenParameters struct { + Response *ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenParametersResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenParametersResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters struct { + Response *[]ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersResponse struct { + ID string `json:"id,omitempty"` // Id + ServerIP string `json:"serverIp,omitempty"` // Server Ip + DeviceID string `json:"deviceId,omitempty"` // Device Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + DeviceSiteHierarchy string `json:"deviceSiteHierarchy,omitempty"` // Device Site Hierarchy + DeviceSiteID string `json:"deviceSiteId,omitempty"` // Device Site Id + DeviceSiteHierarchyID string `json:"deviceSiteHierarchyId,omitempty"` // Device Site Hierarchy Id + Transactions *int `json:"transactions,omitempty"` // Transactions + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions + SuccessfulTransactions *int `json:"successfulTransactions,omitempty"` // Successful Transactions + EapTransactions *int `json:"eapTransactions,omitempty"` // Eap Transactions + EapFailedTransactions *int `json:"eapFailedTransactions,omitempty"` // Eap Failed Transactions + EapSuccessfulTransactions *int `json:"eapSuccessfulTransactions,omitempty"` // Eap Successful Transactions + MabTransactions *int `json:"mabTransactions,omitempty"` // Mab Transactions + MabFailedTransactions *int `json:"mabFailedTransactions,omitempty"` // Mab Failed Transactions + MabSuccessfulTransactions *int `json:"mabSuccessfulTransactions,omitempty"` // Mab Successful Transactions + Latency *int `json:"latency,omitempty"` // Latency + EapLatency *int `json:"eapLatency,omitempty"` // Eap Latency + MabLatency *int `json:"mabLatency,omitempty"` // Mab Latency +} +type ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters struct { + Response *ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponse struct { + Groups *[]ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroups `json:"groups,omitempty"` // + Attributes *[]ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroups struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count string `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters struct { + Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponse struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // } +type ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count string `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters struct { + Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + Groups *[]ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroups `json:"groups,omitempty"` // + Attributes *[]ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroups struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type ResponseDevicesRetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheService struct { + Response *ResponseDevicesRetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheServiceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheServiceResponse struct { + ID string `json:"id,omitempty"` // Id + ServerIP string `json:"serverIp,omitempty"` // Server Ip + DeviceID string `json:"deviceId,omitempty"` // Device Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + DeviceSiteHierarchy string `json:"deviceSiteHierarchy,omitempty"` // Device Site Hierarchy + DeviceSiteID string `json:"deviceSiteId,omitempty"` // Device Site Id + DeviceSiteHierarchyID string `json:"deviceSiteHierarchyId,omitempty"` // Device Site Hierarchy Id + Transactions *int `json:"transactions,omitempty"` // Transactions + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions + SuccessfulTransactions *int `json:"successfulTransactions,omitempty"` // Successful Transactions + EapTransactions *int `json:"eapTransactions,omitempty"` // Eap Transactions + EapFailedTransactions *int `json:"eapFailedTransactions,omitempty"` // Eap Failed Transactions + EapSuccessfulTransactions *int `json:"eapSuccessfulTransactions,omitempty"` // Eap Successful Transactions + MabTransactions *int `json:"mabTransactions,omitempty"` // Mab Transactions + MabFailedTransactions *int `json:"mabFailedTransactions,omitempty"` // Mab Failed Transactions + MabSuccessfulTransactions *int `json:"mabSuccessfulTransactions,omitempty"` // Mab Successful Transactions + Latency *int `json:"latency,omitempty"` // Latency + EapLatency *int `json:"eapLatency,omitempty"` // Eap Latency + MabLatency *int `json:"mabLatency,omitempty"` // Mab Latency +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService struct { + Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServicePage `json:"page,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp -type ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions struct { - Response *ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + Groups *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseGroups `json:"groups,omitempty"` // + + Attributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseAttributes `json:"attributes,omitempty"` // + + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // } -type ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponse struct { +type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseGroups struct { + ID string `json:"id,omitempty"` // Id + + Attributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseGroupsAttributes `json:"attributes,omitempty"` // + + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServicePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } type ResponseDevicesQueryAssuranceEvents struct { Response *[]ResponseDevicesQueryAssuranceEventsResponse `json:"response,omitempty"` // @@ -738,91 +1244,632 @@ type ResponseDevicesGetListOfChildEventsForTheGivenWirelessClientEventResponse s SubReasonDescription string `json:"subReasonDescription,omitempty"` // Sub Reason Description FailureCategory string `json:"failureCategory,omitempty"` // Failure Category } -type ResponseDevicesGetsInterfacesAlongWithStatisticsDataFromAllNetworkDevices struct { - Response *[]ResponseDevicesGetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesResponse `json:"response,omitempty"` // - Page *ResponseDevicesGetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesPage `json:"page,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseDevicesRetrievesTheListOfDHCPServicesForGivenParameters struct { + Response *[]ResponseDevicesRetrievesTheListOfDHCPServicesForGivenParametersResponse `json:"response,omitempty"` // + Page *ResponseDevicesRetrievesTheListOfDHCPServicesForGivenParametersPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheListOfDHCPServicesForGivenParametersResponse struct { + ID string `json:"id,omitempty"` // Id + ServerIP string `json:"serverIp,omitempty"` // Server Ip + DeviceID string `json:"deviceId,omitempty"` // Device Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + DeviceSiteHierarchy string `json:"deviceSiteHierarchy,omitempty"` // Device Site Hierarchy + DeviceSiteID string `json:"deviceSiteId,omitempty"` // Device Site Id + DeviceSiteHierarchyID string `json:"deviceSiteHierarchyId,omitempty"` // Device Site Hierarchy Id + Transactions *int `json:"transactions,omitempty"` // Transactions + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions + SuccessfulTransactions *int `json:"successfulTransactions,omitempty"` // Successful Transactions + Latency *int `json:"latency,omitempty"` // Latency + DiscoverOfferLatency *int `json:"discoverOfferLatency,omitempty"` // Discover Offer Latency + RequestAcknowledgeLatency *int `json:"requestAcknowledgeLatency,omitempty"` // Request Acknowledge Latency +} +type ResponseDevicesRetrievesTheListOfDHCPServicesForGivenParametersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesRetrievesTheListOfDHCPServicesForGivenParametersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesRetrievesTheListOfDHCPServicesForGivenParametersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order } -type ResponseDevicesGetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesResponse struct { - ID string `json:"id,omitempty"` // Id - AdminStatus string `json:"adminStatus,omitempty"` // Admin Status - Description string `json:"description,omitempty"` // Description - DuplexConfig string `json:"duplexConfig,omitempty"` // Duplex Config - DuplexOper string `json:"duplexOper,omitempty"` // Duplex Oper - InterfaceIfIndex *int `json:"interfaceIfIndex,omitempty"` // Interface If Index - InterfaceType string `json:"interfaceType,omitempty"` // Interface Type - IPv4Address string `json:"ipv4Address,omitempty"` // Ipv4 Address - IPv6AddressList []string `json:"ipv6AddressList,omitempty"` // Ipv6 Address List - IsL3Interface *bool `json:"isL3Interface,omitempty"` // Is L3 Interface - IsWan *bool `json:"isWan,omitempty"` // Is Wan - MacAddr string `json:"macAddr,omitempty"` // Mac Addr - MediaType string `json:"mediaType,omitempty"` // Media Type - Name string `json:"name,omitempty"` // Name - OperStatus string `json:"operStatus,omitempty"` // Oper Status - PeerStackMember *int `json:"peerStackMember,omitempty"` // Peer Stack Member - PeerStackPort string `json:"peerStackPort,omitempty"` // Peer Stack Port - PortChannelID string `json:"portChannelId,omitempty"` // Port Channel Id - PortMode string `json:"portMode,omitempty"` // Port Mode - PortType string `json:"portType,omitempty"` // Port Type - RxDiscards *float64 `json:"rxDiscards,omitempty"` // Rx Discards - RxError *int `json:"rxError,omitempty"` // Rx Error - RxRate *float64 `json:"rxRate,omitempty"` // Rx Rate - RxUtilization *float64 `json:"rxUtilization,omitempty"` // Rx Utilization - Speed string `json:"speed,omitempty"` // Speed - StackPortType string `json:"stackPortType,omitempty"` // Stack Port Type - Timestamp *int `json:"timestamp,omitempty"` // Timestamp - TxDiscards *float64 `json:"txDiscards,omitempty"` // Tx Discards - TxError *int `json:"txError,omitempty"` // Tx Error - TxRate *float64 `json:"txRate,omitempty"` // Tx Rate - TxUtilization *float64 `json:"txUtilization,omitempty"` // Tx Utilization - VLANID string `json:"vlanId,omitempty"` // Vlan Id - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id - NetworkDeviceIPAddress string `json:"networkDeviceIpAddress,omitempty"` // Network Device Ip Address - NetworkDeviceMacAddress string `json:"networkDeviceMacAddress,omitempty"` // Network Device Mac Address - SiteName string `json:"siteName,omitempty"` // Site Name - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id +type ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenParameters struct { + Response *ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenParametersResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } -type ResponseDevicesGetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesPage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - Count *int `json:"count,omitempty"` // Count - SortBy *[]ResponseDevicesGetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesPageSortBy `json:"sortBy,omitempty"` // +type ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenParametersResponse struct { + Count *int `json:"count,omitempty"` // Count } -type ResponseDevicesGetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesPageSortBy struct { +type ResponseDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters struct { + Response *[]ResponseDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersResponse struct { + ID string `json:"id,omitempty"` // Id + ServerIP string `json:"serverIp,omitempty"` // Server Ip + DeviceID string `json:"deviceId,omitempty"` // Device Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + DeviceSiteHierarchy string `json:"deviceSiteHierarchy,omitempty"` // Device Site Hierarchy + DeviceSiteID string `json:"deviceSiteId,omitempty"` // Device Site Id + DeviceSiteHierarchyID string `json:"deviceSiteHierarchyId,omitempty"` // Device Site Hierarchy Id + Transactions *int `json:"transactions,omitempty"` // Transactions + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions + SuccessfulTransactions *int `json:"successfulTransactions,omitempty"` // Successful Transactions + Latency *int `json:"latency,omitempty"` // Latency + DiscoverOfferLatency *int `json:"discoverOfferLatency,omitempty"` // Discover Offer Latency + RequestAcknowledgeLatency *int `json:"requestAcknowledgeLatency,omitempty"` // Request Acknowledge Latency +} +type ResponseDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy struct { Name string `json:"name,omitempty"` // Name Order string `json:"order,omitempty"` // Order } -type ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount struct { - Response *ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters struct { + Response *ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } -type ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountResponse struct { +type ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersResponse struct { Count *int `json:"count,omitempty"` // Count } -type ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions struct { - Response *[]ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponse `json:"response,omitempty"` // - Page *ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage `json:"page,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } -type ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponse struct { - ID string `json:"id,omitempty"` // Id - AdminStatus string `json:"adminStatus,omitempty"` // Admin Status - Description string `json:"description,omitempty"` // Description - DuplexConfig string `json:"duplexConfig,omitempty"` // Duplex Config - DuplexOper string `json:"duplexOper,omitempty"` // Duplex Oper - InterfaceIfIndex *int `json:"interfaceIfIndex,omitempty"` // Interface If Index - InterfaceType string `json:"interfaceType,omitempty"` // Interface Type - IPv4Address string `json:"ipv4Address,omitempty"` // Ipv4 Address - IPv6AddressList []string `json:"ipv6AddressList,omitempty"` // Ipv6 Address List - IsL3Interface *bool `json:"isL3Interface,omitempty"` // Is L3 Interface - IsWan *bool `json:"isWan,omitempty"` // Is Wan - MacAddr string `json:"macAddr,omitempty"` // Mac Addr - MediaType string `json:"mediaType,omitempty"` // Media Type - Name string `json:"name,omitempty"` // Name - OperStatus string `json:"operStatus,omitempty"` // Oper Status - PeerStackMember *int `json:"peerStackMember,omitempty"` // Peer Stack Member - PeerStackPort string `json:"peerStackPort,omitempty"` // Peer Stack Port +type ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponse struct { + Groups *[]ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroups `json:"groups,omitempty"` // + Attributes *[]ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroups struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count string `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters struct { + Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponse struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count string `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters struct { + Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + Groups *[]ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroups `json:"groups,omitempty"` // + Attributes *[]ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroups struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type ResponseDevicesRetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService struct { + Response *ResponseDevicesRetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheServiceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheServiceResponse struct { + ID string `json:"id,omitempty"` // Id + ServerIP string `json:"serverIp,omitempty"` // Server Ip + DeviceID string `json:"deviceId,omitempty"` // Device Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + DeviceSiteHierarchy string `json:"deviceSiteHierarchy,omitempty"` // Device Site Hierarchy + DeviceSiteID string `json:"deviceSiteId,omitempty"` // Device Site Id + DeviceSiteHierarchyID string `json:"deviceSiteHierarchyId,omitempty"` // Device Site Hierarchy Id + Transactions *int `json:"transactions,omitempty"` // Transactions + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions + SuccessfulTransactions *int `json:"successfulTransactions,omitempty"` // Successful Transactions + Latency *int `json:"latency,omitempty"` // Latency + DiscoverOfferLatency *int `json:"discoverOfferLatency,omitempty"` // Discover Offer Latency + RequestAcknowledgeLatency *int `json:"requestAcknowledgeLatency,omitempty"` // Request Acknowledge Latency +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheService struct { + Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServicePage `json:"page,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + Groups *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponseGroups `json:"groups,omitempty"` // + Attributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponseGroups struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServicePage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type ResponseDevicesRetrievesTheListOfDNSServicesForGivenParameters struct { + Response *[]ResponseDevicesRetrievesTheListOfDNSServicesForGivenParametersResponse `json:"response,omitempty"` // + Page *ResponseDevicesRetrievesTheListOfDNSServicesForGivenParametersPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheListOfDNSServicesForGivenParametersResponse struct { + ID string `json:"id,omitempty"` // Id + ServerIP string `json:"serverIp,omitempty"` // Server Ip + DeviceID string `json:"deviceId,omitempty"` // Device Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + DeviceSiteHierarchy string `json:"deviceSiteHierarchy,omitempty"` // Device Site Hierarchy + DeviceSiteID string `json:"deviceSiteId,omitempty"` // Device Site Id + DeviceSiteHierarchyID string `json:"deviceSiteHierarchyId,omitempty"` // Device Site Hierarchy Id + Transactions *int `json:"transactions,omitempty"` // Transactions + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions + Failures *[]ResponseDevicesRetrievesTheListOfDNSServicesForGivenParametersResponseFailures `json:"failures,omitempty"` // + SuccessfulTransactions *int `json:"successfulTransactions,omitempty"` // Successful Transactions + Latency *int `json:"latency,omitempty"` // Latency + SSID string `json:"ssid,omitempty"` // Ssid +} +type ResponseDevicesRetrievesTheListOfDNSServicesForGivenParametersResponseFailures struct { + FailureResponseCode *int `json:"failureResponseCode,omitempty"` // Failure Response Code + FailureDescription string `json:"failureDescription,omitempty"` // Failure Description + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions +} +type ResponseDevicesRetrievesTheListOfDNSServicesForGivenParametersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesRetrievesTheListOfDNSServicesForGivenParametersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesRetrievesTheListOfDNSServicesForGivenParametersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenParameters struct { + Response *ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenParametersResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenParametersResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFilters struct { + Response *[]ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersResponse struct { + ID string `json:"id,omitempty"` // Id + ServerIP string `json:"serverIp,omitempty"` // Server Ip + DeviceID string `json:"deviceId,omitempty"` // Device Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + DeviceSiteHierarchy string `json:"deviceSiteHierarchy,omitempty"` // Device Site Hierarchy + DeviceSiteID string `json:"deviceSiteId,omitempty"` // Device Site Id + DeviceSiteHierarchyID string `json:"deviceSiteHierarchyId,omitempty"` // Device Site Hierarchy Id + Transactions *int `json:"transactions,omitempty"` // Transactions + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions + Failures *[]ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersResponseFailures `json:"failures,omitempty"` // + SuccessfulTransactions *int `json:"successfulTransactions,omitempty"` // Successful Transactions + Latency *int `json:"latency,omitempty"` // Latency + SSID string `json:"ssid,omitempty"` // Ssid +} +type ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersResponseFailures struct { + FailureResponseCode *int `json:"failureResponseCode,omitempty"` // Failure Response Code + FailureDescription string `json:"failureDescription,omitempty"` // Failure Description + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions +} +type ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters struct { + Response *ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters struct { + Version string `json:"version,omitempty"` // Version + Response *ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponse struct { + Groups *[]ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroups `json:"groups,omitempty"` // + Attributes *[]ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroups struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count string `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters struct { + Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponse struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count string `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters struct { + Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + Groups *[]ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroups `json:"groups,omitempty"` // + Attributes *[]ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroups struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService struct { + Response *ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheServiceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheServiceResponse struct { + ID string `json:"id,omitempty"` // Id + ServerIP string `json:"serverIp,omitempty"` // Server Ip + DeviceID string `json:"deviceId,omitempty"` // Device Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + DeviceSiteHierarchy string `json:"deviceSiteHierarchy,omitempty"` // Device Site Hierarchy + DeviceSiteID string `json:"deviceSiteId,omitempty"` // Device Site Id + DeviceSiteHierarchyID string `json:"deviceSiteHierarchyId,omitempty"` // Device Site Hierarchy Id + Transactions *int `json:"transactions,omitempty"` // Transactions + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions + Failures *[]ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheServiceResponseFailures `json:"failures,omitempty"` // + SuccessfulTransactions *int `json:"successfulTransactions,omitempty"` // Successful Transactions + Latency *int `json:"latency,omitempty"` // Latency + SSID string `json:"ssid,omitempty"` // Ssid +} +type ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheServiceResponseFailures struct { + FailureResponseCode *int `json:"failureResponseCode,omitempty"` // Failure Response Code + FailureDescription string `json:"failureDescription,omitempty"` // Failure Description + FailedTransactions *int `json:"failedTransactions,omitempty"` // Failed Transactions +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheService struct { + Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServicePage `json:"page,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + Groups *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponseGroups `json:"groups,omitempty"` // + Attributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponseGroups struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServicePage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevices struct { + Response *[]ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesResponse struct { + ID string `json:"id,omitempty"` // Id + AdminStatus string `json:"adminStatus,omitempty"` // Admin Status + Description string `json:"description,omitempty"` // Description + DuplexConfig string `json:"duplexConfig,omitempty"` // Duplex Config + DuplexOper string `json:"duplexOper,omitempty"` // Duplex Oper + InterfaceIfIndex *int `json:"interfaceIfIndex,omitempty"` // Interface If Index + InterfaceType string `json:"interfaceType,omitempty"` // Interface Type + IPv4Address string `json:"ipv4Address,omitempty"` // Ipv4 Address + IPv6AddressList []string `json:"ipv6AddressList,omitempty"` // Ipv6 Address List + IsL3Interface *bool `json:"isL3Interface,omitempty"` // Is L3 Interface + IsWan *bool `json:"isWan,omitempty"` // Is Wan + MacAddr string `json:"macAddr,omitempty"` // Mac Addr + MediaType string `json:"mediaType,omitempty"` // Media Type + Name string `json:"name,omitempty"` // Name + OperStatus string `json:"operStatus,omitempty"` // Oper Status + PeerStackMember *int `json:"peerStackMember,omitempty"` // Peer Stack Member + PeerStackPort string `json:"peerStackPort,omitempty"` // Peer Stack Port + PortChannelID string `json:"portChannelId,omitempty"` // Port Channel Id + PortMode string `json:"portMode,omitempty"` // Port Mode + PortType string `json:"portType,omitempty"` // Port Type + RxDiscards *float64 `json:"rxDiscards,omitempty"` // Rx Discards + RxError *int `json:"rxError,omitempty"` // Rx Error + RxRate *float64 `json:"rxRate,omitempty"` // Rx Rate + RxUtilization *float64 `json:"rxUtilization,omitempty"` // Rx Utilization + Speed string `json:"speed,omitempty"` // Speed + StackPortType string `json:"stackPortType,omitempty"` // Stack Port Type + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + TxDiscards *float64 `json:"txDiscards,omitempty"` // Tx Discards + TxError *int `json:"txError,omitempty"` // Tx Error + TxRate *float64 `json:"txRate,omitempty"` // Tx Rate + TxUtilization *float64 `json:"txUtilization,omitempty"` // Tx Utilization + VLANID string `json:"vlanId,omitempty"` // Vlan Id + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id + NetworkDeviceIPAddress string `json:"networkDeviceIpAddress,omitempty"` // Network Device Ip Address + NetworkDeviceMacAddress string `json:"networkDeviceMacAddress,omitempty"` // Network Device Mac Address + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + PoeAdminStatus string `json:"poeAdminStatus,omitempty"` // Poe Admin Status + PoeOperStatus string `json:"poeOperStatus,omitempty"` // Poe Oper Status + ChassisID *int `json:"chassisId,omitempty"` // Chassis Id + ModuleID *int `json:"moduleId,omitempty"` // Module Id + PdClassSignal string `json:"pdClassSignal,omitempty"` // Pd Class Signal + PdClassSpare string `json:"pdClassSpare,omitempty"` // Pd Class Spare + PdDeviceType string `json:"pdDeviceType,omitempty"` // Pd Device Type + PdDeviceModel string `json:"pdDeviceModel,omitempty"` // Pd Device Model + PdPowerAdminMaxInWatt string `json:"pdPowerAdminMaxInWatt,omitempty"` // Pd Power Admin Max In Watt + PdPowerBudgetInWatt string `json:"pdPowerBudgetInWatt,omitempty"` // Pd Power Budget In Watt + PdPowerConsumedInWatt string `json:"pdPowerConsumedInWatt,omitempty"` // Pd Power Consumed In Watt + PdPowerRemainingInWatt string `json:"pdPowerRemainingInWatt,omitempty"` // Pd Power Remaining In Watt + PdMaxPowerDrawn string `json:"pdMaxPowerDrawn,omitempty"` // Pd Max Power Drawn + PdConnectedDeviceList []string `json:"pdConnectedDeviceList,omitempty"` // Pd Connected Device List + PoeOperPriority string `json:"poeOperPriority,omitempty"` // Poe Oper Priority + FastPoEEnabled *bool `json:"fastPoEEnabled,omitempty"` // Fast Po E Enabled + PerpetualPoEEnabled *bool `json:"perpetualPoEEnabled,omitempty"` // Perpetual Po E Enabled + PolicingPoEEnabled *bool `json:"policingPoEEnabled,omitempty"` // Policing Po E Enabled + UpoePlusEnabled *bool `json:"upoePlusEnabled,omitempty"` // Upoe Plus Enabled + FourPairEnabled *bool `json:"fourPairEnabled,omitempty"` // Four Pair Enabled + PoeDataTimestamp *int `json:"poeDataTimestamp,omitempty"` // Poe Data Timestamp + PdLocation string `json:"pdLocation,omitempty"` // Pd Location + PdDeviceName string `json:"pdDeviceName,omitempty"` // Pd Device Name + PdConnectedSwitch string `json:"pdConnectedSwitch,omitempty"` // Pd Connected Switch + ConnectedSwitchUUID string `json:"connectedSwitchUuid,omitempty"` // Connected Switch Uuid + IeeeCompliant *bool `json:"ieeeCompliant,omitempty"` // Ieee Compliant + ConnectedSwitchType string `json:"connectedSwitchType,omitempty"` // Connected Switch Type +} +type ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount struct { + Response *ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions struct { + Response *[]ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponse struct { + ID string `json:"id,omitempty"` // Id + AdminStatus string `json:"adminStatus,omitempty"` // Admin Status + Description string `json:"description,omitempty"` // Description + DuplexConfig string `json:"duplexConfig,omitempty"` // Duplex Config + DuplexOper string `json:"duplexOper,omitempty"` // Duplex Oper + InterfaceIfIndex *int `json:"interfaceIfIndex,omitempty"` // Interface If Index + InterfaceType string `json:"interfaceType,omitempty"` // Interface Type + IPv4Address string `json:"ipv4Address,omitempty"` // Ipv4 Address + IPv6AddressList []string `json:"ipv6AddressList,omitempty"` // Ipv6 Address List + IsL3Interface *bool `json:"isL3Interface,omitempty"` // Is L3 Interface + IsWan *bool `json:"isWan,omitempty"` // Is Wan + MacAddr string `json:"macAddr,omitempty"` // Mac Addr + MediaType string `json:"mediaType,omitempty"` // Media Type + Name string `json:"name,omitempty"` // Name + OperStatus string `json:"operStatus,omitempty"` // Oper Status + PeerStackMember *int `json:"peerStackMember,omitempty"` // Peer Stack Member + PeerStackPort string `json:"peerStackPort,omitempty"` // Peer Stack Port PortChannelID string `json:"portChannelId,omitempty"` // Port Channel Id PortMode string `json:"portMode,omitempty"` // Port Mode PortType string `json:"portType,omitempty"` // Port Type @@ -871,11 +1918,11 @@ type ResponseDevicesTheTotalInterfacesCountAcrossTheNetworkDevices struct { type ResponseDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesResponse struct { Count *int `json:"count,omitempty"` // Count } -type ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsData struct { - Response *ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsDataResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsAndPoeData struct { + Response *ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsAndPoeDataResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } -type ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsDataResponse struct { +type ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsAndPoeDataResponse struct { ID string `json:"id,omitempty"` // Id AdminStatus string `json:"adminStatus,omitempty"` // Admin Status Description string `json:"description,omitempty"` // Description @@ -911,9 +1958,51 @@ type ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWi NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id NetworkDeviceIPAddress string `json:"networkDeviceIpAddress,omitempty"` // Network Device Ip Address NetworkDeviceMacAddress string `json:"networkDeviceMacAddress,omitempty"` // Network Device Mac Address - SiteName string `json:"siteName,omitempty"` // Site Name SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + PoeAdminStatus string `json:"poeAdminStatus,omitempty"` // Poe Admin Status + PoeOperStatus string `json:"poeOperStatus,omitempty"` // Poe Oper Status + ChassisID *int `json:"chassisId,omitempty"` // Chassis Id + ModuleID *int `json:"moduleId,omitempty"` // Module Id + PdClassSignal string `json:"pdClassSignal,omitempty"` // Pd Class Signal + PdClassSpare string `json:"pdClassSpare,omitempty"` // Pd Class Spare + PdDeviceType string `json:"pdDeviceType,omitempty"` // Pd Device Type + PdDeviceModel string `json:"pdDeviceModel,omitempty"` // Pd Device Model + PdPowerAdminMaxInWatt string `json:"pdPowerAdminMaxInWatt,omitempty"` // Pd Power Admin Max In Watt + PdPowerBudgetInWatt string `json:"pdPowerBudgetInWatt,omitempty"` // Pd Power Budget In Watt + PdPowerConsumedInWatt string `json:"pdPowerConsumedInWatt,omitempty"` // Pd Power Consumed In Watt + PdPowerRemainingInWatt string `json:"pdPowerRemainingInWatt,omitempty"` // Pd Power Remaining In Watt + PdMaxPowerDrawn string `json:"pdMaxPowerDrawn,omitempty"` // Pd Max Power Drawn + PdConnectedDeviceList []string `json:"pdConnectedDeviceList,omitempty"` // Pd Connected Device List + PoeOperPriority string `json:"poeOperPriority,omitempty"` // Poe Oper Priority + FastPoEEnabled *bool `json:"fastPoEEnabled,omitempty"` // Fast Po E Enabled + PerpetualPoEEnabled *bool `json:"perpetualPoEEnabled,omitempty"` // Perpetual Po E Enabled + PolicingPoEEnabled *bool `json:"policingPoEEnabled,omitempty"` // Policing Po E Enabled + UpoePlusEnabled *bool `json:"upoePlusEnabled,omitempty"` // Upoe Plus Enabled + FourPairEnabled *bool `json:"fourPairEnabled,omitempty"` // Four Pair Enabled + PoeDataTimestamp *int `json:"poeDataTimestamp,omitempty"` // Poe Data Timestamp + PdLocation string `json:"pdLocation,omitempty"` // Pd Location + PdDeviceName string `json:"pdDeviceName,omitempty"` // Pd Device Name + PdConnectedSwitch string `json:"pdConnectedSwitch,omitempty"` // Pd Connected Switch + ConnectedSwitchUUID string `json:"connectedSwitchUuid,omitempty"` // Connected Switch Uuid + IeeeCompliant *bool `json:"ieeeCompliant,omitempty"` // Ieee Compliant + ConnectedSwitchType string `json:"connectedSwitchType,omitempty"` // Connected Switch Type +} +type ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange struct { + Response *[]ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeResponse `json:"response,omitempty"` // + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + Attributes *[]ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name } type ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters struct { Response *[]ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponse `json:"response,omitempty"` // @@ -959,10 +2048,14 @@ type ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count PortCount *int `json:"portCount,omitempty"` // Port Count + PhysicalPortCount *int `json:"physicalPortCount,omitempty"` // Physical Port Count + VirtualPortCount *int `json:"virtualPortCount,omitempty"` // Virtual Port Count ClientCount *int `json:"clientCount,omitempty"` // Client Count ApDetails *ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseApDetails `json:"apDetails,omitempty"` // MetricsDetails *ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseMetricsDetails `json:"metricsDetails,omitempty"` // FabricDetails *ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseFabricDetails `json:"fabricDetails,omitempty"` // + SwitchPoeDetails *ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseSwitchPoeDetails `json:"switchPoeDetails,omitempty"` // + FabricMetricsDetails *ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseFabricMetricsDetails `json:"fabricMetricsDetails,omitempty"` // AggregateAttributes *[]ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // } type ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseApDetails struct { @@ -1006,7 +2099,6 @@ type ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters } type ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseMetricsDetails struct { OverallHealthScore *int `json:"overallHealthScore,omitempty"` // Overall Health Score - OverallFabricScore *int `json:"overallFabricScore,omitempty"` // Overall Fabric Score CPUUtilization *float64 `json:"cpuUtilization,omitempty"` // Cpu Utilization CPUScore *int `json:"cpuScore,omitempty"` // Cpu Score MemoryUtilization *float64 `json:"memoryUtilization,omitempty"` // Memory Utilization @@ -1036,9 +2128,79 @@ type ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters AirQualityScore *int `json:"airQualityScore,omitempty"` // Air Quality Score } type ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseFabricDetails struct { - FabricRole []string `json:"fabricRole,omitempty"` // Fabric Role - FabricSiteName string `json:"fabricSiteName,omitempty"` // Fabric Site Name - TransitFabrics []string `json:"transitFabrics,omitempty"` // Transit Fabrics + FabricRole []string `json:"fabricRole,omitempty"` // Fabric Role + FabricSiteName string `json:"fabricSiteName,omitempty"` // Fabric Site Name + TransitFabrics []string `json:"transitFabrics,omitempty"` // Transit Fabrics + L2Vns []string `json:"l2Vns,omitempty"` // L2 Vns + L3Vns []string `json:"l3Vns,omitempty"` // L3 Vns + FabricSiteID string `json:"fabricSiteId,omitempty"` // Fabric Site Id + NetworkProtocol string `json:"networkProtocol,omitempty"` // Network Protocol +} +type ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseSwitchPoeDetails struct { + PortCount *int `json:"portCount,omitempty"` // Port Count + UsedPortCount *int `json:"usedPortCount,omitempty"` // Used Port Count + FreePortCount *int `json:"freePortCount,omitempty"` // Free Port Count + PowerConsumed *float64 `json:"powerConsumed,omitempty"` // Power Consumed + PoePowerConsumed *int `json:"poePowerConsumed,omitempty"` // Poe Power Consumed + SystemPowerConsumed *float64 `json:"systemPowerConsumed,omitempty"` // System Power Consumed + PowerBudget *int `json:"powerBudget,omitempty"` // Power Budget + PoePowerAllocated *float64 `json:"poePowerAllocated,omitempty"` // Poe Power Allocated + SystemPowerAllocated *int `json:"systemPowerAllocated,omitempty"` // System Power Allocated + PowerRemaining *float64 `json:"powerRemaining,omitempty"` // Power Remaining + PoeVersion string `json:"poeVersion,omitempty"` // Poe Version + ChassisCount *int `json:"chassisCount,omitempty"` // Chassis Count + ModuleCount *int `json:"moduleCount,omitempty"` // Module Count + ModuleDetails *[]ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseSwitchPoeDetailsModuleDetails `json:"moduleDetails,omitempty"` // +} +type ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseSwitchPoeDetailsModuleDetails struct { + ModuleID string `json:"moduleId,omitempty"` // Module Id + ChassisID string `json:"chassisId,omitempty"` // Chassis Id + ModulePortCount *int `json:"modulePortCount,omitempty"` // Module Port Count + ModuleUsedPortCount *int `json:"moduleUsedPortCount,omitempty"` // Module Used Port Count + ModuleFreePortCount *int `json:"moduleFreePortCount,omitempty"` // Module Free Port Count + ModulePowerConsumed *float64 `json:"modulePowerConsumed,omitempty"` // Module Power Consumed + ModulePoePowerConsumed *int `json:"modulePoePowerConsumed,omitempty"` // Module Poe Power Consumed + ModuleSystemPowerConsumed *float64 `json:"moduleSystemPowerConsumed,omitempty"` // Module System Power Consumed + ModulePowerBudget *int `json:"modulePowerBudget,omitempty"` // Module Power Budget + ModulePoePowerAllocated *float64 `json:"modulePoePowerAllocated,omitempty"` // Module Poe Power Allocated + ModuleSystemPowerAllocated *int `json:"moduleSystemPowerAllocated,omitempty"` // Module System Power Allocated + ModulePowerRemaining *float64 `json:"modulePowerRemaining,omitempty"` // Module Power Remaining + InterfacePowerMax *int `json:"interfacePowerMax,omitempty"` // Interface Power Max +} +type ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseFabricMetricsDetails struct { + OverallFabricScore *int `json:"overallFabricScore,omitempty"` // Overall Fabric Score + FabricTransitScore *int `json:"fabricTransitScore,omitempty"` // Fabric Transit Score + FabricSiteScore *int `json:"fabricSiteScore,omitempty"` // Fabric Site Score + FabricVnScore *int `json:"fabricVnScore,omitempty"` // Fabric Vn Score + FabsiteFcpScore *int `json:"fabsiteFcpScore,omitempty"` // Fabsite Fcp Score + FabsiteInfraScore *int `json:"fabsiteInfraScore,omitempty"` // Fabsite Infra Score + FabsiteFsconnScore *int `json:"fabsiteFsconnScore,omitempty"` // Fabsite Fsconn Score + VnExitScore *int `json:"vnExitScore,omitempty"` // Vn Exit Score + VnFcpScore *int `json:"vnFcpScore,omitempty"` // Vn Fcp Score + VnStatusScore *int `json:"vnStatusScore,omitempty"` // Vn Status Score + VnServiceScore *int `json:"vnServiceScore,omitempty"` // Vn Service Score + TransitControlPlaneScore *int `json:"transitControlPlaneScore,omitempty"` // Transit Control Plane Score + TransitServicesScore *int `json:"transitServicesScore,omitempty"` // Transit Services Score + TCPConnScore *int `json:"tcpConnScore,omitempty"` // Tcp Conn Score + BgpBgpSiteScore *int `json:"bgpBgpSiteScore,omitempty"` // Bgp Bgp Site Score + VniStatusScore *int `json:"vniStatusScore,omitempty"` // Vni Status Score + PubsubTransitConnScore *int `json:"pubsubTransitConnScore,omitempty"` // Pubsub Transit Conn Score + BgpPeerInfraVnScore *int `json:"bgpPeerInfraVnScore,omitempty"` // Bgp Peer Infra Vn Score + InternetAvailScore *int `json:"internetAvailScore,omitempty"` // Internet Avail Score + BgpEvpnScore *int `json:"bgpEvpnScore,omitempty"` // Bgp Evpn Score + LispTransitConnScore *int `json:"lispTransitConnScore,omitempty"` // Lisp Transit Conn Score + CtsEnvDataDownloadScore *int `json:"ctsEnvDataDownloadScore,omitempty"` // Cts Env Data Download Score + PubsubInfraVnScore *int `json:"pubsubInfraVnScore,omitempty"` // Pubsub Infra Vn Score + PeerScore *int `json:"peerScore,omitempty"` // Peer Score + BgpPeerScore *int `json:"bgpPeerScore,omitempty"` // Bgp Peer Score + RemoteInternetAvailScore *int `json:"remoteInternetAvailScore,omitempty"` // Remote Internet Avail Score + BgpTCPScore *int `json:"bgpTcpScore,omitempty"` // Bgp Tcp Score + PubsubSessionScore *int `json:"pubsubSessionScore,omitempty"` // Pubsub Session Score + AAAStatusScore *int `json:"aaaStatusScore,omitempty"` // Aaa Status Score + LispCpConnScore *int `json:"lispCpConnScore,omitempty"` // Lisp Cp Conn Score + BgpPubsubSiteScore *int `json:"bgpPubsubSiteScore,omitempty"` // Bgp Pubsub Site Score + McastScore *int `json:"mcastScore,omitempty"` // Mcast Score + PortChannelScore *int `json:"portChannelScore,omitempty"` // Port Channel Score } type ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersResponseAggregateAttributes struct { Name string `json:"name,omitempty"` // Name @@ -1065,78 +2227,128 @@ type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersA Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponse struct { - ID string `json:"id,omitempty"` // Id - Name string `json:"name,omitempty"` // Name - ManagementIPAddress string `json:"managementIpAddress,omitempty"` // Management Ip Address - PlatformID string `json:"platformId,omitempty"` // Platform Id - DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family - SerialNumber string `json:"serialNumber,omitempty"` // Serial Number - MacAddress string `json:"macAddress,omitempty"` // Mac Address - DeviceSeries string `json:"deviceSeries,omitempty"` // Device Series - SoftwareVersion string `json:"softwareVersion,omitempty"` // Software Version - ProductVendor string `json:"productVendor,omitempty"` // Product Vendor - DeviceRole string `json:"deviceRole,omitempty"` // Device Role - DeviceType string `json:"deviceType,omitempty"` // Device Type - CommunicationState string `json:"communicationState,omitempty"` // Communication State - CollectionStatus string `json:"collectionStatus,omitempty"` // Collection Status - HaStatus string `json:"haStatus,omitempty"` // Ha Status - LastBootTime *int `json:"lastBootTime,omitempty"` // Last Boot Time - SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - SiteID string `json:"siteId,omitempty"` // Site Id - DeviceGroupHierarchyID string `json:"deviceGroupHierarchyId,omitempty"` // Device Group Hierarchy Id - TagNames []string `json:"tagNames,omitempty"` // Tag Names - StackType string `json:"stackType,omitempty"` // Stack Type - OsType string `json:"osType,omitempty"` // Os Type - RingStatus *bool `json:"ringStatus,omitempty"` // Ring Status - MaintenanceModeEnabled *bool `json:"maintenanceModeEnabled,omitempty"` // Maintenance Mode Enabled - UpTime *int `json:"upTime,omitempty"` // Up Time - IPv4Address string `json:"ipv4Address,omitempty"` // Ipv4 Address - IPv6Address string `json:"ipv6Address,omitempty"` // Ipv6 Address - RedundancyMode string `json:"redundancyMode,omitempty"` // Redundancy Mode - FeatureFlagList []string `json:"featureFlagList,omitempty"` // Feature Flag List - HaLastResetReason string `json:"haLastResetReason,omitempty"` // Ha Last Reset Reason - RedundancyPeerStateDerived string `json:"redundancyPeerStateDerived,omitempty"` // Redundancy Peer State Derived - RedundancyPeerState string `json:"redundancyPeerState,omitempty"` // Redundancy Peer State - RedundancyStateDerived string `json:"redundancyStateDerived,omitempty"` // Redundancy State Derived - RedundancyState string `json:"redundancyState,omitempty"` // Redundancy State - WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count - WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count - PortCount *int `json:"portCount,omitempty"` // Port Count - ClientCount *int `json:"clientCount,omitempty"` // Client Count - ApDetails *ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseApDetails `json:"apDetails,omitempty"` // - MetricsDetails *ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseMetricsDetails `json:"metricsDetails,omitempty"` // - FabricDetails *ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseFabricDetails `json:"fabricDetails,omitempty"` // - AggregateAttributes *[]ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // -} -type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseApDetails struct { - ConnectedWlcName string `json:"connectedWlcName,omitempty"` // Connected Wlc Name - PolicyTagName string `json:"policyTagName,omitempty"` // Policy Tag Name - ApOperationalState string `json:"apOperationalState,omitempty"` // Ap Operational State - PowerSaveMode string `json:"powerSaveMode,omitempty"` // Power Save Mode - OperationalMode string `json:"operationalMode,omitempty"` // Operational Mode - ResetReason string `json:"resetReason,omitempty"` // Reset Reason - Protocol string `json:"protocol,omitempty"` // Protocol - PowerMode string `json:"powerMode,omitempty"` // Power Mode - ConnectedTime *int `json:"connectedTime,omitempty"` // Connected Time - LedFlashEnabled *bool `json:"ledFlashEnabled,omitempty"` // Led Flash Enabled - LedFlashSeconds *int `json:"ledFlashSeconds,omitempty"` // Led Flash Seconds - SubMode string `json:"subMode,omitempty"` // Sub Mode - HomeApEnabled *bool `json:"homeApEnabled,omitempty"` // Home Ap Enabled - PowerType string `json:"powerType,omitempty"` // Power Type - ApType string `json:"apType,omitempty"` // Ap Type - AdminState string `json:"adminState,omitempty"` // Admin State - IcapCapability string `json:"icapCapability,omitempty"` // Icap Capability - RegulatoryDomain string `json:"regulatoryDomain,omitempty"` // Regulatory Domain - EthernetMac string `json:"ethernetMac,omitempty"` // Ethernet Mac - RfTagName string `json:"rfTagName,omitempty"` // Rf Tag Name - SiteTagName string `json:"siteTagName,omitempty"` // Site Tag Name - PowerSaveModeCapable string `json:"powerSaveModeCapable,omitempty"` // Power Save Mode Capable - PowerProfile string `json:"powerProfile,omitempty"` // Power Profile - FlexGroup string `json:"flexGroup,omitempty"` // Flex Group - PowerCalendarProfile string `json:"powerCalendarProfile,omitempty"` // Power Calendar Profile - ApGroup string `json:"apGroup,omitempty"` // Ap Group - Radios *[]ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseApDetailsRadios `json:"radios,omitempty"` // + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + ManagementIPAddress string `json:"managementIpAddress,omitempty"` // Management Ip Address + + PlatformID string `json:"platformId,omitempty"` // Platform Id + + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + + SerialNumber string `json:"serialNumber,omitempty"` // Serial Number + + MacAddress string `json:"macAddress,omitempty"` // Mac Address + + DeviceSeries string `json:"deviceSeries,omitempty"` // Device Series + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Software Version + + ProductVendor string `json:"productVendor,omitempty"` // Product Vendor + + DeviceRole string `json:"deviceRole,omitempty"` // Device Role + + DeviceType string `json:"deviceType,omitempty"` // Device Type + + CommunicationState string `json:"communicationState,omitempty"` // Communication State + + CollectionStatus string `json:"collectionStatus,omitempty"` // Collection Status + + HaStatus string `json:"haStatus,omitempty"` // Ha Status + + LastBootTime *int `json:"lastBootTime,omitempty"` // Last Boot Time + + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + + SiteID string `json:"siteId,omitempty"` // Site Id + + DeviceGroupHierarchyID string `json:"deviceGroupHierarchyId,omitempty"` // Device Group Hierarchy Id + + TagNames []string `json:"tagNames,omitempty"` // Tag Names + + StackType string `json:"stackType,omitempty"` // Stack Type + + OsType string `json:"osType,omitempty"` // Os Type + + RingStatus *bool `json:"ringStatus,omitempty"` // Ring Status + + MaintenanceModeEnabled *bool `json:"maintenanceModeEnabled,omitempty"` // Maintenance Mode Enabled + + UpTime *int `json:"upTime,omitempty"` // Up Time + + IPv4Address string `json:"ipv4Address,omitempty"` // Ipv4 Address + + IPv6Address string `json:"ipv6Address,omitempty"` // Ipv6 Address + + RedundancyMode string `json:"redundancyMode,omitempty"` // Redundancy Mode + + FeatureFlagList []string `json:"featureFlagList,omitempty"` // Feature Flag List + + HaLastResetReason string `json:"haLastResetReason,omitempty"` // Ha Last Reset Reason + + RedundancyPeerStateDerived string `json:"redundancyPeerStateDerived,omitempty"` // Redundancy Peer State Derived + + RedundancyPeerState string `json:"redundancyPeerState,omitempty"` // Redundancy Peer State + + RedundancyStateDerived string `json:"redundancyStateDerived,omitempty"` // Redundancy State Derived + + RedundancyState string `json:"redundancyState,omitempty"` // Redundancy State + + WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count + + WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count + + PortCount *int `json:"portCount,omitempty"` // Port Count + + PhysicalPortCount *int `json:"physicalPortCount,omitempty"` // Physical Port Count + + VirtualPortCount *int `json:"virtualPortCount,omitempty"` // Virtual Port Count + + ClientCount *int `json:"clientCount,omitempty"` // Client Count + + ApDetails *ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseApDetails `json:"apDetails,omitempty"` // + + MetricsDetails *ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseMetricsDetails `json:"metricsDetails,omitempty"` // + + FabricDetails *ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseFabricDetails `json:"fabricDetails,omitempty"` // + + SwitchPoeDetails *ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseSwitchPoeDetails `json:"switchPoeDetails,omitempty"` // + + FabricMetricsDetails *ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseFabricMetricsDetails `json:"fabricMetricsDetails,omitempty"` // + + AggregateAttributes *[]ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseApDetails struct { + ConnectedWlcName string `json:"connectedWlcName,omitempty"` // Connected Wlc Name + PolicyTagName string `json:"policyTagName,omitempty"` // Policy Tag Name + ApOperationalState string `json:"apOperationalState,omitempty"` // Ap Operational State + PowerSaveMode string `json:"powerSaveMode,omitempty"` // Power Save Mode + OperationalMode string `json:"operationalMode,omitempty"` // Operational Mode + ResetReason string `json:"resetReason,omitempty"` // Reset Reason + Protocol string `json:"protocol,omitempty"` // Protocol + PowerMode string `json:"powerMode,omitempty"` // Power Mode + ConnectedTime *int `json:"connectedTime,omitempty"` // Connected Time + LedFlashEnabled *bool `json:"ledFlashEnabled,omitempty"` // Led Flash Enabled + LedFlashSeconds *int `json:"ledFlashSeconds,omitempty"` // Led Flash Seconds + SubMode string `json:"subMode,omitempty"` // Sub Mode + HomeApEnabled *bool `json:"homeApEnabled,omitempty"` // Home Ap Enabled + PowerType string `json:"powerType,omitempty"` // Power Type + ApType string `json:"apType,omitempty"` // Ap Type + AdminState string `json:"adminState,omitempty"` // Admin State + IcapCapability string `json:"icapCapability,omitempty"` // Icap Capability + RegulatoryDomain string `json:"regulatoryDomain,omitempty"` // Regulatory Domain + EthernetMac string `json:"ethernetMac,omitempty"` // Ethernet Mac + RfTagName string `json:"rfTagName,omitempty"` // Rf Tag Name + SiteTagName string `json:"siteTagName,omitempty"` // Site Tag Name + PowerSaveModeCapable string `json:"powerSaveModeCapable,omitempty"` // Power Save Mode Capable + PowerProfile string `json:"powerProfile,omitempty"` // Power Profile + FlexGroup string `json:"flexGroup,omitempty"` // Flex Group + PowerCalendarProfile string `json:"powerCalendarProfile,omitempty"` // Power Calendar Profile + ApGroup string `json:"apGroup,omitempty"` // Ap Group + Radios *[]ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseApDetailsRadios `json:"radios,omitempty"` // } type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseApDetailsRadios struct { ID string `json:"id,omitempty"` // Id @@ -1150,7 +2362,6 @@ type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersA } type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseMetricsDetails struct { OverallHealthScore *int `json:"overallHealthScore,omitempty"` // Overall Health Score - OverallFabricScore *int `json:"overallFabricScore,omitempty"` // Overall Fabric Score CPUUtilization *float64 `json:"cpuUtilization,omitempty"` // Cpu Utilization CPUScore *int `json:"cpuScore,omitempty"` // Cpu Score MemoryUtilization *float64 `json:"memoryUtilization,omitempty"` // Memory Utilization @@ -1180,9 +2391,142 @@ type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersA AirQualityScore *int `json:"airQualityScore,omitempty"` // Air Quality Score } type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseFabricDetails struct { - FabricRole []string `json:"fabricRole,omitempty"` // Fabric Role - FabricSiteName string `json:"fabricSiteName,omitempty"` // Fabric Site Name + FabricRole []string `json:"fabricRole,omitempty"` // Fabric Role + + FabricSiteName string `json:"fabricSiteName,omitempty"` // Fabric Site Name + TransitFabrics []string `json:"transitFabrics,omitempty"` // Transit Fabrics + + L2Vns []string `json:"l2Vns,omitempty"` // L2 Vns + + L3Vns []string `json:"l3Vns,omitempty"` // L3 Vns + + FabricSiteID string `json:"fabricSiteId,omitempty"` // Fabric Site Id + + NetworkProtocol string `json:"networkProtocol,omitempty"` // Network Protocol +} +type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseSwitchPoeDetails struct { + PortCount *int `json:"portCount,omitempty"` // Port Count + + UsedPortCount *int `json:"usedPortCount,omitempty"` // Used Port Count + + FreePortCount *int `json:"freePortCount,omitempty"` // Free Port Count + + PowerConsumed *float64 `json:"powerConsumed,omitempty"` // Power Consumed + + PoePowerConsumed *int `json:"poePowerConsumed,omitempty"` // Poe Power Consumed + + SystemPowerConsumed *float64 `json:"systemPowerConsumed,omitempty"` // System Power Consumed + + PowerBudget *int `json:"powerBudget,omitempty"` // Power Budget + + PoePowerAllocated *float64 `json:"poePowerAllocated,omitempty"` // Poe Power Allocated + + SystemPowerAllocated *int `json:"systemPowerAllocated,omitempty"` // System Power Allocated + + PowerRemaining *float64 `json:"powerRemaining,omitempty"` // Power Remaining + + PoeVersion string `json:"poeVersion,omitempty"` // Poe Version + + ChassisCount *int `json:"chassisCount,omitempty"` // Chassis Count + + ModuleCount *int `json:"moduleCount,omitempty"` // Module Count + + ModuleDetails *[]ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseSwitchPoeDetailsModuleDetails `json:"moduleDetails,omitempty"` // +} +type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseSwitchPoeDetailsModuleDetails struct { + ModuleID string `json:"moduleId,omitempty"` // Module Id + + ChassisID string `json:"chassisId,omitempty"` // Chassis Id + + ModulePortCount *int `json:"modulePortCount,omitempty"` // Module Port Count + + ModuleUsedPortCount *int `json:"moduleUsedPortCount,omitempty"` // Module Used Port Count + + ModuleFreePortCount *int `json:"moduleFreePortCount,omitempty"` // Module Free Port Count + + ModulePowerConsumed *float64 `json:"modulePowerConsumed,omitempty"` // Module Power Consumed + + ModulePoePowerConsumed *int `json:"modulePoePowerConsumed,omitempty"` // Module Poe Power Consumed + + ModuleSystemPowerConsumed *float64 `json:"moduleSystemPowerConsumed,omitempty"` // Module System Power Consumed + + ModulePowerBudget *int `json:"modulePowerBudget,omitempty"` // Module Power Budget + + ModulePoePowerAllocated *float64 `json:"modulePoePowerAllocated,omitempty"` // Module Poe Power Allocated + + ModuleSystemPowerAllocated *int `json:"moduleSystemPowerAllocated,omitempty"` // Module System Power Allocated + + ModulePowerRemaining *float64 `json:"modulePowerRemaining,omitempty"` // Module Power Remaining + + InterfacePowerMax *int `json:"interfacePowerMax,omitempty"` // Interface Power Max +} +type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseFabricMetricsDetails struct { + OverallFabricScore *int `json:"overallFabricScore,omitempty"` // Overall Fabric Score + + FabricTransitScore *int `json:"fabricTransitScore,omitempty"` // Fabric Transit Score + + FabricSiteScore *int `json:"fabricSiteScore,omitempty"` // Fabric Site Score + + FabricVnScore *int `json:"fabricVnScore,omitempty"` // Fabric Vn Score + + FabsiteFcpScore *int `json:"fabsiteFcpScore,omitempty"` // Fabsite Fcp Score + + FabsiteInfraScore *int `json:"fabsiteInfraScore,omitempty"` // Fabsite Infra Score + + FabsiteFsconnScore *int `json:"fabsiteFsconnScore,omitempty"` // Fabsite Fsconn Score + + VnExitScore *int `json:"vnExitScore,omitempty"` // Vn Exit Score + + VnFcpScore *int `json:"vnFcpScore,omitempty"` // Vn Fcp Score + + VnStatusScore *int `json:"vnStatusScore,omitempty"` // Vn Status Score + + VnServiceScore *int `json:"vnServiceScore,omitempty"` // Vn Service Score + + TransitControlPlaneScore *int `json:"transitControlPlaneScore,omitempty"` // Transit Control Plane Score + + TransitServicesScore *int `json:"transitServicesScore,omitempty"` // Transit Services Score + + TCPConnScore *int `json:"tcpConnScore,omitempty"` // Tcp Conn Score + + BgpBgpSiteScore *int `json:"bgpBgpSiteScore,omitempty"` // Bgp Bgp Site Score + + VniStatusScore *int `json:"vniStatusScore,omitempty"` // Vni Status Score + + PubsubTransitConnScore *int `json:"pubsubTransitConnScore,omitempty"` // Pubsub Transit Conn Score + + BgpPeerInfraVnScore *int `json:"bgpPeerInfraVnScore,omitempty"` // Bgp Peer Infra Vn Score + + InternetAvailScore *int `json:"internetAvailScore,omitempty"` // Internet Avail Score + + BgpEvpnScore *int `json:"bgpEvpnScore,omitempty"` // Bgp Evpn Score + + LispTransitConnScore *int `json:"lispTransitConnScore,omitempty"` // Lisp Transit Conn Score + + CtsEnvDataDownloadScore *int `json:"ctsEnvDataDownloadScore,omitempty"` // Cts Env Data Download Score + + PubsubInfraVnScore *int `json:"pubsubInfraVnScore,omitempty"` // Pubsub Infra Vn Score + + PeerScore *int `json:"peerScore,omitempty"` // Peer Score + + BgpPeerScore *int `json:"bgpPeerScore,omitempty"` // Bgp Peer Score + + RemoteInternetAvailScore *int `json:"remoteInternetAvailScore,omitempty"` // Remote Internet Avail Score + + BgpTCPScore *int `json:"bgpTcpScore,omitempty"` // Bgp Tcp Score + + PubsubSessionScore *int `json:"pubsubSessionScore,omitempty"` // Pubsub Session Score + + AAAStatusScore *int `json:"aaaStatusScore,omitempty"` // Aaa Status Score + + LispCpConnScore *int `json:"lispCpConnScore,omitempty"` // Lisp Cp Conn Score + + BgpPubsubSiteScore *int `json:"bgpPubsubSiteScore,omitempty"` // Bgp Pubsub Site Score + + McastScore *int `json:"mcastScore,omitempty"` // Mcast Score + + PortChannelScore *int `json:"portChannelScore,omitempty"` // Port Channel Score } type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponseAggregateAttributes struct { Name string `json:"name,omitempty"` // Name @@ -1190,400 +2534,858 @@ type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersA Value *float64 `json:"value,omitempty"` // Value } type ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - Count *int `json:"count,omitempty"` // Count + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + SortBy string `json:"sortBy,omitempty"` // Sort By - Order string `json:"order,omitempty"` // Order + + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions struct { + Response *ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsResponse struct { + Count *int `json:"count,omitempty"` // Count } type ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices struct { Response *ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponse `json:"response,omitempty"` // - Page *[]ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPage `json:"page,omitempty"` // + + Page *[]ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPage `json:"page,omitempty"` // } type ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponse struct { - Attributes *[]ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseAttributes `json:"attributes,omitempty"` // Attributes + Attributes *[]ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseAttributes `json:"attributes,omitempty"` // Attributes + AggregateAttributes *[]ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // Aggregate Attributes - Groups *[]ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseGroups `json:"groups,omitempty"` // + + Groups *[]ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseGroups `json:"groups,omitempty"` // } type ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseAttributes interface{} type ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseAggregateAttributes interface{} type ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseGroups struct { - ID string `json:"id,omitempty"` // Id - Attributes *[]ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseGroupsAttributes `json:"attributes,omitempty"` // + ID string `json:"id,omitempty"` // Id + + Attributes *[]ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // } type ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseGroupsAttributes struct { - Name string `json:"name,omitempty"` // Name + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value } type ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesResponseGroupsAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - Function string `json:"function,omitempty"` // Function - Value *float64 `json:"value,omitempty"` // Value + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Value *float64 `json:"value,omitempty"` // Value } type ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - Count *int `json:"count,omitempty"` // Count + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPageSortBy `json:"sortBy,omitempty"` // } type ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPageSortBy struct { - Name string `json:"name,omitempty"` // Name + Name string `json:"name,omitempty"` // Name + + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevices struct { + Response *[]ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesResponse `json:"response,omitempty"` // + + Page *[]ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesResponse struct { + ID string `json:"id,omitempty"` // Id + + Attributes *[]ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesResponseAttributes `json:"attributes,omitempty"` // + + AggregateAttributes *[]ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value string `json:"value,omitempty"` // Value +} +type ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Value *float64 `json:"value,omitempty"` // Value +} +type ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + SortBy *[]ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + + Function string `json:"function,omitempty"` // Function } type ResponseDevicesGetsTheTrendAnalyticsData struct { Response *[]ResponseDevicesGetsTheTrendAnalyticsDataResponse `json:"response,omitempty"` // - Page *ResponseDevicesGetsTheTrendAnalyticsDataPage `json:"page,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Page *ResponseDevicesGetsTheTrendAnalyticsDataPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetsTheTrendAnalyticsDataResponse struct { - Timestamp *float64 `json:"timestamp,omitempty"` // Timestamp - Attributes *[]ResponseDevicesGetsTheTrendAnalyticsDataResponseAttributes `json:"attributes,omitempty"` // + Timestamp *float64 `json:"timestamp,omitempty"` // Timestamp + + Attributes *[]ResponseDevicesGetsTheTrendAnalyticsDataResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetsTheTrendAnalyticsDataResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // - Groups *[]ResponseDevicesGetsTheTrendAnalyticsDataResponseGroups `json:"groups,omitempty"` // + + Groups *[]ResponseDevicesGetsTheTrendAnalyticsDataResponseGroups `json:"groups,omitempty"` // } type ResponseDevicesGetsTheTrendAnalyticsDataResponseAttributes struct { - Name string `json:"name,omitempty"` // Name + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value } type ResponseDevicesGetsTheTrendAnalyticsDataResponseAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - Function string `json:"function,omitempty"` // Function - Value *float64 `json:"value,omitempty"` // Value + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Value *float64 `json:"value,omitempty"` // Value } type ResponseDevicesGetsTheTrendAnalyticsDataResponseGroups struct { - ID string `json:"id,omitempty"` // Id - Attributes *[]ResponseDevicesGetsTheTrendAnalyticsDataResponseGroupsAttributes `json:"attributes,omitempty"` // + ID string `json:"id,omitempty"` // Id + + Attributes *[]ResponseDevicesGetsTheTrendAnalyticsDataResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesGetsTheTrendAnalyticsDataResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // } type ResponseDevicesGetsTheTrendAnalyticsDataResponseGroupsAttributes struct { - Name string `json:"name,omitempty"` // Name + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value } type ResponseDevicesGetsTheTrendAnalyticsDataResponseGroupsAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - Function string `json:"function,omitempty"` // Function - Value *float64 `json:"value,omitempty"` // Value + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Value *float64 `json:"value,omitempty"` // Value } type ResponseDevicesGetsTheTrendAnalyticsDataPage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - Count *int `json:"count,omitempty"` // Count + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUID struct { Response *ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponse struct { - ID string `json:"id,omitempty"` // Id - Name string `json:"name,omitempty"` // Name - ManagementIPAddress string `json:"managementIpAddress,omitempty"` // Management Ip Address - PlatformID string `json:"platformId,omitempty"` // Platform Id - DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family - SerialNumber string `json:"serialNumber,omitempty"` // Serial Number - MacAddress string `json:"macAddress,omitempty"` // Mac Address - DeviceSeries string `json:"deviceSeries,omitempty"` // Device Series - SoftwareVersion string `json:"softwareVersion,omitempty"` // Software Version - ProductVendor string `json:"productVendor,omitempty"` // Product Vendor - DeviceRole string `json:"deviceRole,omitempty"` // Device Role - DeviceType string `json:"deviceType,omitempty"` // Device Type - CommunicationState string `json:"communicationState,omitempty"` // Communication State - CollectionStatus string `json:"collectionStatus,omitempty"` // Collection Status - HaStatus string `json:"haStatus,omitempty"` // Ha Status - LastBootTime *int `json:"lastBootTime,omitempty"` // Last Boot Time - SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - SiteID string `json:"siteId,omitempty"` // Site Id - DeviceGroupHierarchyID string `json:"deviceGroupHierarchyId,omitempty"` // Device Group Hierarchy Id - TagNames []string `json:"tagNames,omitempty"` // Tag Names - StackType string `json:"stackType,omitempty"` // Stack Type - OsType string `json:"osType,omitempty"` // Os Type - RingStatus *bool `json:"ringStatus,omitempty"` // Ring Status - MaintenanceModeEnabled *bool `json:"maintenanceModeEnabled,omitempty"` // Maintenance Mode Enabled - UpTime *int `json:"upTime,omitempty"` // Up Time - IPv4Address string `json:"ipv4Address,omitempty"` // Ipv4 Address - IPv6Address string `json:"ipv6Address,omitempty"` // Ipv6 Address - RedundancyMode string `json:"redundancyMode,omitempty"` // Redundancy Mode - FeatureFlagList []string `json:"featureFlagList,omitempty"` // Feature Flag List - HaLastResetReason string `json:"haLastResetReason,omitempty"` // Ha Last Reset Reason - RedundancyPeerStateDerived string `json:"redundancyPeerStateDerived,omitempty"` // Redundancy Peer State Derived - RedundancyPeerState string `json:"redundancyPeerState,omitempty"` // Redundancy Peer State - RedundancyStateDerived string `json:"redundancyStateDerived,omitempty"` // Redundancy State Derived - RedundancyState string `json:"redundancyState,omitempty"` // Redundancy State - WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count - WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count - PortCount *int `json:"portCount,omitempty"` // Port Count - ClientCount *int `json:"clientCount,omitempty"` // Client Count - ApDetails *ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseApDetails `json:"apDetails,omitempty"` // - MetricsDetails *ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseMetricsDetails `json:"metricsDetails,omitempty"` // - FabricDetails *ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseFabricDetails `json:"fabricDetails,omitempty"` // - AggregateAttributes *[]ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // -} -type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseApDetails struct { - ConnectedWlcName string `json:"connectedWlcName,omitempty"` // Connected Wlc Name - PolicyTagName string `json:"policyTagName,omitempty"` // Policy Tag Name - ApOperationalState string `json:"apOperationalState,omitempty"` // Ap Operational State - PowerSaveMode string `json:"powerSaveMode,omitempty"` // Power Save Mode - OperationalMode string `json:"operationalMode,omitempty"` // Operational Mode - ResetReason string `json:"resetReason,omitempty"` // Reset Reason - Protocol string `json:"protocol,omitempty"` // Protocol - PowerMode string `json:"powerMode,omitempty"` // Power Mode - ConnectedTime *int `json:"connectedTime,omitempty"` // Connected Time - LedFlashEnabled *bool `json:"ledFlashEnabled,omitempty"` // Led Flash Enabled - LedFlashSeconds *int `json:"ledFlashSeconds,omitempty"` // Led Flash Seconds - SubMode string `json:"subMode,omitempty"` // Sub Mode - HomeApEnabled *bool `json:"homeApEnabled,omitempty"` // Home Ap Enabled - PowerType string `json:"powerType,omitempty"` // Power Type - ApType string `json:"apType,omitempty"` // Ap Type - AdminState string `json:"adminState,omitempty"` // Admin State - IcapCapability string `json:"icapCapability,omitempty"` // Icap Capability - RegulatoryDomain string `json:"regulatoryDomain,omitempty"` // Regulatory Domain - EthernetMac string `json:"ethernetMac,omitempty"` // Ethernet Mac - RfTagName string `json:"rfTagName,omitempty"` // Rf Tag Name - SiteTagName string `json:"siteTagName,omitempty"` // Site Tag Name - PowerSaveModeCapable string `json:"powerSaveModeCapable,omitempty"` // Power Save Mode Capable - PowerProfile string `json:"powerProfile,omitempty"` // Power Profile - FlexGroup string `json:"flexGroup,omitempty"` // Flex Group - PowerCalendarProfile string `json:"powerCalendarProfile,omitempty"` // Power Calendar Profile - ApGroup string `json:"apGroup,omitempty"` // Ap Group - Radios *[]ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseApDetailsRadios `json:"radios,omitempty"` // -} -type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseApDetailsRadios struct { - ID string `json:"id,omitempty"` // Id - Band string `json:"band,omitempty"` // Band - Noise *int `json:"noise,omitempty"` // Noise - AirQuality *float64 `json:"airQuality,omitempty"` // Air Quality - Interference *float64 `json:"interference,omitempty"` // Interference - TrafficUtil *int `json:"trafficUtil,omitempty"` // Traffic Util - Utilization *float64 `json:"utilization,omitempty"` // Utilization - ClientCount *int `json:"clientCount,omitempty"` // Client Count -} -type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseMetricsDetails struct { - OverallHealthScore *int `json:"overallHealthScore,omitempty"` // Overall Health Score - OverallFabricScore *int `json:"overallFabricScore,omitempty"` // Overall Fabric Score - CPUUtilization *float64 `json:"cpuUtilization,omitempty"` // Cpu Utilization - CPUScore *int `json:"cpuScore,omitempty"` // Cpu Score - MemoryUtilization *float64 `json:"memoryUtilization,omitempty"` // Memory Utilization - MemoryScore *int `json:"memoryScore,omitempty"` // Memory Score - AvgTemperature *float64 `json:"avgTemperature,omitempty"` // Avg Temperature - MaxTemperature *float64 `json:"maxTemperature,omitempty"` // Max Temperature - DiscardScore *int `json:"discardScore,omitempty"` // Discard Score - DiscardInterfaces []string `json:"discardInterfaces,omitempty"` // Discard Interfaces - ErrorScore *int `json:"errorScore,omitempty"` // Error Score - ErrorInterfaces []string `json:"errorInterfaces,omitempty"` // Error Interfaces - InterDeviceLinkScore *int `json:"interDeviceLinkScore,omitempty"` // Inter Device Link Score + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + ManagementIPAddress string `json:"managementIpAddress,omitempty"` // Management Ip Address + + PlatformID string `json:"platformId,omitempty"` // Platform Id + + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + + SerialNumber string `json:"serialNumber,omitempty"` // Serial Number + + MacAddress string `json:"macAddress,omitempty"` // Mac Address + + DeviceSeries string `json:"deviceSeries,omitempty"` // Device Series + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Software Version + + ProductVendor string `json:"productVendor,omitempty"` // Product Vendor + + DeviceRole string `json:"deviceRole,omitempty"` // Device Role + + DeviceType string `json:"deviceType,omitempty"` // Device Type + + CommunicationState string `json:"communicationState,omitempty"` // Communication State + + CollectionStatus string `json:"collectionStatus,omitempty"` // Collection Status + + HaStatus string `json:"haStatus,omitempty"` // Ha Status + + LastBootTime *int `json:"lastBootTime,omitempty"` // Last Boot Time + + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + + SiteID string `json:"siteId,omitempty"` // Site Id + + DeviceGroupHierarchyID string `json:"deviceGroupHierarchyId,omitempty"` // Device Group Hierarchy Id + + TagNames []string `json:"tagNames,omitempty"` // Tag Names + + StackType string `json:"stackType,omitempty"` // Stack Type + + OsType string `json:"osType,omitempty"` // Os Type + + RingStatus *bool `json:"ringStatus,omitempty"` // Ring Status + + MaintenanceModeEnabled *bool `json:"maintenanceModeEnabled,omitempty"` // Maintenance Mode Enabled + + UpTime *int `json:"upTime,omitempty"` // Up Time + + IPv4Address string `json:"ipv4Address,omitempty"` // Ipv4 Address + + IPv6Address string `json:"ipv6Address,omitempty"` // Ipv6 Address + + RedundancyMode string `json:"redundancyMode,omitempty"` // Redundancy Mode + + FeatureFlagList []string `json:"featureFlagList,omitempty"` // Feature Flag List + + HaLastResetReason string `json:"haLastResetReason,omitempty"` // Ha Last Reset Reason + + RedundancyPeerStateDerived string `json:"redundancyPeerStateDerived,omitempty"` // Redundancy Peer State Derived + + RedundancyPeerState string `json:"redundancyPeerState,omitempty"` // Redundancy Peer State + + RedundancyStateDerived string `json:"redundancyStateDerived,omitempty"` // Redundancy State Derived + + RedundancyState string `json:"redundancyState,omitempty"` // Redundancy State + + WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count + + WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count + + PortCount *int `json:"portCount,omitempty"` // Port Count + + PhysicalPortCount *int `json:"physicalPortCount,omitempty"` // Physical Port Count + + VirtualPortCount *int `json:"virtualPortCount,omitempty"` // Virtual Port Count + + ClientCount *int `json:"clientCount,omitempty"` // Client Count + + ApDetails *ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseApDetails `json:"apDetails,omitempty"` // + + MetricsDetails *ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseMetricsDetails `json:"metricsDetails,omitempty"` // + + FabricDetails *ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseFabricDetails `json:"fabricDetails,omitempty"` // + + SwitchPoeDetails *ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseSwitchPoeDetails `json:"switchPoeDetails,omitempty"` // + + FabricMetricsDetails *ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseFabricMetricsDetails `json:"fabricMetricsDetails,omitempty"` // + + AggregateAttributes *[]ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseApDetails struct { + ConnectedWlcName string `json:"connectedWlcName,omitempty"` // Connected Wlc Name + + PolicyTagName string `json:"policyTagName,omitempty"` // Policy Tag Name + + ApOperationalState string `json:"apOperationalState,omitempty"` // Ap Operational State + + PowerSaveMode string `json:"powerSaveMode,omitempty"` // Power Save Mode + + OperationalMode string `json:"operationalMode,omitempty"` // Operational Mode + + ResetReason string `json:"resetReason,omitempty"` // Reset Reason + + Protocol string `json:"protocol,omitempty"` // Protocol + + PowerMode string `json:"powerMode,omitempty"` // Power Mode + + ConnectedTime *int `json:"connectedTime,omitempty"` // Connected Time + + LedFlashEnabled *bool `json:"ledFlashEnabled,omitempty"` // Led Flash Enabled + + LedFlashSeconds *int `json:"ledFlashSeconds,omitempty"` // Led Flash Seconds + + SubMode string `json:"subMode,omitempty"` // Sub Mode + + HomeApEnabled *bool `json:"homeApEnabled,omitempty"` // Home Ap Enabled + + PowerType string `json:"powerType,omitempty"` // Power Type + + ApType string `json:"apType,omitempty"` // Ap Type + + AdminState string `json:"adminState,omitempty"` // Admin State + + IcapCapability string `json:"icapCapability,omitempty"` // Icap Capability + + RegulatoryDomain string `json:"regulatoryDomain,omitempty"` // Regulatory Domain + + EthernetMac string `json:"ethernetMac,omitempty"` // Ethernet Mac + + RfTagName string `json:"rfTagName,omitempty"` // Rf Tag Name + + SiteTagName string `json:"siteTagName,omitempty"` // Site Tag Name + + PowerSaveModeCapable string `json:"powerSaveModeCapable,omitempty"` // Power Save Mode Capable + + PowerProfile string `json:"powerProfile,omitempty"` // Power Profile + + FlexGroup string `json:"flexGroup,omitempty"` // Flex Group + + PowerCalendarProfile string `json:"powerCalendarProfile,omitempty"` // Power Calendar Profile + + ApGroup string `json:"apGroup,omitempty"` // Ap Group + + Radios *[]ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseApDetailsRadios `json:"radios,omitempty"` // +} +type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseApDetailsRadios struct { + ID string `json:"id,omitempty"` // Id + + Band string `json:"band,omitempty"` // Band + + Noise *int `json:"noise,omitempty"` // Noise + + AirQuality *float64 `json:"airQuality,omitempty"` // Air Quality + + Interference *float64 `json:"interference,omitempty"` // Interference + + TrafficUtil *int `json:"trafficUtil,omitempty"` // Traffic Util + + Utilization *float64 `json:"utilization,omitempty"` // Utilization + + ClientCount *int `json:"clientCount,omitempty"` // Client Count +} +type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseMetricsDetails struct { + OverallHealthScore *int `json:"overallHealthScore,omitempty"` // Overall Health Score + + CPUUtilization *float64 `json:"cpuUtilization,omitempty"` // Cpu Utilization + + CPUScore *int `json:"cpuScore,omitempty"` // Cpu Score + + MemoryUtilization *float64 `json:"memoryUtilization,omitempty"` // Memory Utilization + + MemoryScore *int `json:"memoryScore,omitempty"` // Memory Score + + AvgTemperature *float64 `json:"avgTemperature,omitempty"` // Avg Temperature + + MaxTemperature *float64 `json:"maxTemperature,omitempty"` // Max Temperature + + DiscardScore *int `json:"discardScore,omitempty"` // Discard Score + + DiscardInterfaces []string `json:"discardInterfaces,omitempty"` // Discard Interfaces + + ErrorScore *int `json:"errorScore,omitempty"` // Error Score + + ErrorInterfaces []string `json:"errorInterfaces,omitempty"` // Error Interfaces + + InterDeviceLinkScore *int `json:"interDeviceLinkScore,omitempty"` // Inter Device Link Score + InterDeviceConnectedDownInterfaces []string `json:"interDeviceConnectedDownInterfaces,omitempty"` // Inter Device Connected Down Interfaces - LinkUtilizationScore *int `json:"linkUtilizationScore,omitempty"` // Link Utilization Score - HighLinkUtilizationInterfaces []string `json:"highLinkUtilizationInterfaces,omitempty"` // High Link Utilization Interfaces - FreeTimerScore *int `json:"freeTimerScore,omitempty"` // Free Timer Score - FreeTimer *float64 `json:"freeTimer,omitempty"` // Free Timer - PacketPoolScore *int `json:"packetPoolScore,omitempty"` // Packet Pool Score - PacketPool *int `json:"packetPool,omitempty"` // Packet Pool - FreeMemoryBufferScore *int `json:"freeMemoryBufferScore,omitempty"` // Free Memory Buffer Score - FreeMemoryBuffer *float64 `json:"freeMemoryBuffer,omitempty"` // Free Memory Buffer - WqePoolScore *int `json:"wqePoolScore,omitempty"` // Wqe Pool Score - WqePool *int `json:"wqePool,omitempty"` // Wqe Pool - ApCount *int `json:"apCount,omitempty"` // Ap Count - NoiseScore *int `json:"noiseScore,omitempty"` // Noise Score - UtilizationScore *int `json:"utilizationScore,omitempty"` // Utilization Score - InterferenceScore *int `json:"interferenceScore,omitempty"` // Interference Score - AirQualityScore *int `json:"airQualityScore,omitempty"` // Air Quality Score + + LinkUtilizationScore *int `json:"linkUtilizationScore,omitempty"` // Link Utilization Score + + HighLinkUtilizationInterfaces []string `json:"highLinkUtilizationInterfaces,omitempty"` // High Link Utilization Interfaces + + FreeTimerScore *int `json:"freeTimerScore,omitempty"` // Free Timer Score + + FreeTimer *float64 `json:"freeTimer,omitempty"` // Free Timer + + PacketPoolScore *int `json:"packetPoolScore,omitempty"` // Packet Pool Score + + PacketPool *int `json:"packetPool,omitempty"` // Packet Pool + + FreeMemoryBufferScore *int `json:"freeMemoryBufferScore,omitempty"` // Free Memory Buffer Score + + FreeMemoryBuffer *float64 `json:"freeMemoryBuffer,omitempty"` // Free Memory Buffer + + WqePoolScore *int `json:"wqePoolScore,omitempty"` // Wqe Pool Score + + WqePool *int `json:"wqePool,omitempty"` // Wqe Pool + + ApCount *int `json:"apCount,omitempty"` // Ap Count + + NoiseScore *int `json:"noiseScore,omitempty"` // Noise Score + + UtilizationScore *int `json:"utilizationScore,omitempty"` // Utilization Score + + InterferenceScore *int `json:"interferenceScore,omitempty"` // Interference Score + + AirQualityScore *int `json:"airQualityScore,omitempty"` // Air Quality Score } type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseFabricDetails struct { - FabricRole []string `json:"fabricRole,omitempty"` // Fabric Role - FabricSiteName string `json:"fabricSiteName,omitempty"` // Fabric Site Name + FabricRole []string `json:"fabricRole,omitempty"` // Fabric Role + + FabricSiteName string `json:"fabricSiteName,omitempty"` // Fabric Site Name + TransitFabrics []string `json:"transitFabrics,omitempty"` // Transit Fabrics + + L2Vns []string `json:"l2Vns,omitempty"` // L2 Vns + + L3Vns []string `json:"l3Vns,omitempty"` // L3 Vns + + FabricSiteID string `json:"fabricSiteId,omitempty"` // Fabric Site Id + + NetworkProtocol string `json:"networkProtocol,omitempty"` // Network Protocol +} +type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseSwitchPoeDetails struct { + PortCount *int `json:"portCount,omitempty"` // Port Count + + UsedPortCount *int `json:"usedPortCount,omitempty"` // Used Port Count + + FreePortCount *int `json:"freePortCount,omitempty"` // Free Port Count + + PowerConsumed *float64 `json:"powerConsumed,omitempty"` // Power Consumed + + PoePowerConsumed *int `json:"poePowerConsumed,omitempty"` // Poe Power Consumed + + SystemPowerConsumed *float64 `json:"systemPowerConsumed,omitempty"` // System Power Consumed + + PowerBudget *int `json:"powerBudget,omitempty"` // Power Budget + + PoePowerAllocated *float64 `json:"poePowerAllocated,omitempty"` // Poe Power Allocated + + SystemPowerAllocated *int `json:"systemPowerAllocated,omitempty"` // System Power Allocated + + PowerRemaining *float64 `json:"powerRemaining,omitempty"` // Power Remaining + + PoeVersion string `json:"poeVersion,omitempty"` // Poe Version + + ChassisCount *int `json:"chassisCount,omitempty"` // Chassis Count + + ModuleCount *int `json:"moduleCount,omitempty"` // Module Count + + ModuleDetails *[]ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseSwitchPoeDetailsModuleDetails `json:"moduleDetails,omitempty"` // +} +type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseSwitchPoeDetailsModuleDetails struct { + ModuleID string `json:"moduleId,omitempty"` // Module Id + + ChassisID string `json:"chassisId,omitempty"` // Chassis Id + + ModulePortCount *int `json:"modulePortCount,omitempty"` // Module Port Count + + ModuleUsedPortCount *int `json:"moduleUsedPortCount,omitempty"` // Module Used Port Count + + ModuleFreePortCount *int `json:"moduleFreePortCount,omitempty"` // Module Free Port Count + + ModulePowerConsumed *float64 `json:"modulePowerConsumed,omitempty"` // Module Power Consumed + + ModulePoePowerConsumed *int `json:"modulePoePowerConsumed,omitempty"` // Module Poe Power Consumed + + ModuleSystemPowerConsumed *float64 `json:"moduleSystemPowerConsumed,omitempty"` // Module System Power Consumed + + ModulePowerBudget *int `json:"modulePowerBudget,omitempty"` // Module Power Budget + + ModulePoePowerAllocated *float64 `json:"modulePoePowerAllocated,omitempty"` // Module Poe Power Allocated + + ModuleSystemPowerAllocated *int `json:"moduleSystemPowerAllocated,omitempty"` // Module System Power Allocated + + ModulePowerRemaining *float64 `json:"modulePowerRemaining,omitempty"` // Module Power Remaining + + InterfacePowerMax *int `json:"interfacePowerMax,omitempty"` // Interface Power Max +} +type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseFabricMetricsDetails struct { + OverallFabricScore *int `json:"overallFabricScore,omitempty"` // Overall Fabric Score + + FabricTransitScore *int `json:"fabricTransitScore,omitempty"` // Fabric Transit Score + + FabricSiteScore *int `json:"fabricSiteScore,omitempty"` // Fabric Site Score + + FabricVnScore *int `json:"fabricVnScore,omitempty"` // Fabric Vn Score + + FabsiteFcpScore *int `json:"fabsiteFcpScore,omitempty"` // Fabsite Fcp Score + + FabsiteInfraScore *int `json:"fabsiteInfraScore,omitempty"` // Fabsite Infra Score + + FabsiteFsconnScore *int `json:"fabsiteFsconnScore,omitempty"` // Fabsite Fsconn Score + + VnExitScore *int `json:"vnExitScore,omitempty"` // Vn Exit Score + + VnFcpScore *int `json:"vnFcpScore,omitempty"` // Vn Fcp Score + + VnStatusScore *int `json:"vnStatusScore,omitempty"` // Vn Status Score + + VnServiceScore *int `json:"vnServiceScore,omitempty"` // Vn Service Score + + TransitControlPlaneScore *int `json:"transitControlPlaneScore,omitempty"` // Transit Control Plane Score + + TransitServicesScore *int `json:"transitServicesScore,omitempty"` // Transit Services Score + + TCPConnScore *int `json:"tcpConnScore,omitempty"` // Tcp Conn Score + + BgpBgpSiteScore *int `json:"bgpBgpSiteScore,omitempty"` // Bgp Bgp Site Score + + VniStatusScore *int `json:"vniStatusScore,omitempty"` // Vni Status Score + + PubsubTransitConnScore *int `json:"pubsubTransitConnScore,omitempty"` // Pubsub Transit Conn Score + + BgpPeerInfraVnScore *int `json:"bgpPeerInfraVnScore,omitempty"` // Bgp Peer Infra Vn Score + + InternetAvailScore *int `json:"internetAvailScore,omitempty"` // Internet Avail Score + + BgpEvpnScore *int `json:"bgpEvpnScore,omitempty"` // Bgp Evpn Score + + LispTransitConnScore *int `json:"lispTransitConnScore,omitempty"` // Lisp Transit Conn Score + + CtsEnvDataDownloadScore *int `json:"ctsEnvDataDownloadScore,omitempty"` // Cts Env Data Download Score + + PubsubInfraVnScore *int `json:"pubsubInfraVnScore,omitempty"` // Pubsub Infra Vn Score + + PeerScore *int `json:"peerScore,omitempty"` // Peer Score + + BgpPeerScore *int `json:"bgpPeerScore,omitempty"` // Bgp Peer Score + + RemoteInternetAvailScore *int `json:"remoteInternetAvailScore,omitempty"` // Remote Internet Avail Score + + BgpTCPScore *int `json:"bgpTcpScore,omitempty"` // Bgp Tcp Score + + PubsubSessionScore *int `json:"pubsubSessionScore,omitempty"` // Pubsub Session Score + + AAAStatusScore *int `json:"aaaStatusScore,omitempty"` // Aaa Status Score + + LispCpConnScore *int `json:"lispCpConnScore,omitempty"` // Lisp Cp Conn Score + + BgpPubsubSiteScore *int `json:"bgpPubsubSiteScore,omitempty"` // Bgp Pubsub Site Score + + McastScore *int `json:"mcastScore,omitempty"` // Mcast Score + + PortChannelScore *int `json:"portChannelScore,omitempty"` // Port Channel Score } type ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUIDResponseAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - Function string `json:"function,omitempty"` // Function - Value *float64 `json:"value,omitempty"` // Value + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Value *float64 `json:"value,omitempty"` // Value } type ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRange struct { Response *[]ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponse `json:"response,omitempty"` // - Page *ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangePage `json:"page,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Page *ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangePage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponse struct { - Timestamp *float64 `json:"timestamp,omitempty"` // Timestamp - Attributes *[]ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseAttributes `json:"attributes,omitempty"` // + Timestamp *float64 `json:"timestamp,omitempty"` // Timestamp + + Attributes *[]ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // - Groups *[]ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseGroups `json:"groups,omitempty"` // + + Groups *[]ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseGroups `json:"groups,omitempty"` // } type ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseAttributes struct { - Name string `json:"name,omitempty"` // Name + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value } type ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - Function string `json:"function,omitempty"` // Function - Value *float64 `json:"value,omitempty"` // Value + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Value *float64 `json:"value,omitempty"` // Value } type ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseGroups struct { - ID string `json:"id,omitempty"` // Id - Attributes *[]ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseGroupsAttributes `json:"attributes,omitempty"` // + ID string `json:"id,omitempty"` // Id + + Attributes *[]ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // } type ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseGroupsAttributes struct { - Name string `json:"name,omitempty"` // Name + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value } type ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeResponseGroupsAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - Function string `json:"function,omitempty"` // Function - Value *float64 `json:"value,omitempty"` // Value + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Value *float64 `json:"value,omitempty"` // Value } type ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangePage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - Count *int `json:"count,omitempty"` // Count + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } type ResponseDevicesGetPlannedAccessPointsForBuilding struct { Response *[]ResponseDevicesGetPlannedAccessPointsForBuildingResponse `json:"response,omitempty"` // - Version *int `json:"version,omitempty"` // Version of the api response model - Total *int `json:"total,omitempty"` // Total number of the planned access points + + Version *int `json:"version,omitempty"` // Version of the api response model + + Total *int `json:"total,omitempty"` // Total number of the planned access points } type ResponseDevicesGetPlannedAccessPointsForBuildingResponse struct { Attributes *ResponseDevicesGetPlannedAccessPointsForBuildingResponseAttributes `json:"attributes,omitempty"` // - Location *ResponseDevicesGetPlannedAccessPointsForBuildingResponseLocation `json:"location,omitempty"` // - Position *ResponseDevicesGetPlannedAccessPointsForBuildingResponsePosition `json:"position,omitempty"` // - RadioCount *int `json:"radioCount,omitempty"` // Number of radios of the planned access point - Radios *[]ResponseDevicesGetPlannedAccessPointsForBuildingResponseRadios `json:"radios,omitempty"` // - IsSensor *bool `json:"isSensor,omitempty"` // Determines if the planned access point is sensor or not + + Location *ResponseDevicesGetPlannedAccessPointsForBuildingResponseLocation `json:"location,omitempty"` // + + Position *ResponseDevicesGetPlannedAccessPointsForBuildingResponsePosition `json:"position,omitempty"` // + + RadioCount *int `json:"radioCount,omitempty"` // Number of radios of the planned access point + + Radios *[]ResponseDevicesGetPlannedAccessPointsForBuildingResponseRadios `json:"radios,omitempty"` // + + IsSensor *bool `json:"isSensor,omitempty"` // Determines if the planned access point is sensor or not } type ResponseDevicesGetPlannedAccessPointsForBuildingResponseAttributes struct { - ID *float64 `json:"id,omitempty"` // Unique id of the planned access point - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance uuid of the planned access point - Name string `json:"name,omitempty"` // Display name of the planned access point - TypeString string `json:"typeString,omitempty"` // Type string representation of the planned access point - Domain string `json:"domain,omitempty"` // Service domain to which the planned access point belongs - HeirarchyName string `json:"heirarchyName,omitempty"` // Hierarchy name of the planned access point - Source string `json:"source,omitempty"` // Source of the data used to create the planned access point - CreateDate *float64 `json:"createDate,omitempty"` // Created date of the planned access point - MacAddress string `json:"macAddress,omitempty"` // MAC address of the planned access point -} -type ResponseDevicesGetPlannedAccessPointsForBuildingResponseLocation struct { - Altitude *float64 `json:"altitude,omitempty"` // Altitude of the planned access point's location - Lattitude *float64 `json:"lattitude,omitempty"` // Latitude of the planned access point's location - Longtitude *float64 `json:"longtitude,omitempty"` // Longitude of the planned access point's location -} -type ResponseDevicesGetPlannedAccessPointsForBuildingResponsePosition struct { - X *float64 `json:"x,omitempty"` // x-coordinate of the planned access point on the map, 0,0 point being the top-left corner - Y *float64 `json:"y,omitempty"` // y-coordinate of the planned access point on the map, 0,0 point being the top-left corner + ID *float64 `json:"id,omitempty"` // Unique id of the planned access point + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance uuid of the planned access point + + Name string `json:"name,omitempty"` // Display name of the planned access point + + TypeString string `json:"typeString,omitempty"` // Type string representation of the planned access point + + Domain string `json:"domain,omitempty"` // Service domain to which the planned access point belongs + + HeirarchyName string `json:"heirarchyName,omitempty"` // Hierarchy name of the planned access point + + Source string `json:"source,omitempty"` // Source of the data used to create the planned access point + + CreateDate *float64 `json:"createDate,omitempty"` // Created date of the planned access point + + MacAddress string `json:"macAddress,omitempty"` // MAC address of the planned access point +} +type ResponseDevicesGetPlannedAccessPointsForBuildingResponseLocation struct { + Altitude *float64 `json:"altitude,omitempty"` // Altitude of the planned access point's location + + Lattitude *float64 `json:"lattitude,omitempty"` // Latitude of the planned access point's location + + Longtitude *float64 `json:"longtitude,omitempty"` // Longitude of the planned access point's location +} +type ResponseDevicesGetPlannedAccessPointsForBuildingResponsePosition struct { + X *float64 `json:"x,omitempty"` // x-coordinate of the planned access point on the map, 0,0 point being the top-left corner + + Y *float64 `json:"y,omitempty"` // y-coordinate of the planned access point on the map, 0,0 point being the top-left corner + Z *float64 `json:"z,omitempty"` // z-coordinate, or height, of the planned access point on the map } type ResponseDevicesGetPlannedAccessPointsForBuildingResponseRadios struct { Attributes *ResponseDevicesGetPlannedAccessPointsForBuildingResponseRadiosAttributes `json:"attributes,omitempty"` // - Antenna *ResponseDevicesGetPlannedAccessPointsForBuildingResponseRadiosAntenna `json:"antenna,omitempty"` // - IsSensor *bool `json:"isSensor,omitempty"` // Determines if it is sensor or not + + Antenna *ResponseDevicesGetPlannedAccessPointsForBuildingResponseRadiosAntenna `json:"antenna,omitempty"` // + + IsSensor *bool `json:"isSensor,omitempty"` // Determines if it is sensor or not } type ResponseDevicesGetPlannedAccessPointsForBuildingResponseRadiosAttributes struct { - ID *int `json:"id,omitempty"` // Id of the radio - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the radio - SlotID *float64 `json:"slotId,omitempty"` // Slot number in which the radio resides in the parent access point - IfTypeString string `json:"ifTypeString,omitempty"` // String representation of native band - IfTypeSubband string `json:"ifTypeSubband,omitempty"` // Sub band type of the radio - Channel *float64 `json:"channel,omitempty"` // Channel in which the radio operates - ChannelString string `json:"channelString,omitempty"` // Channel string representation - IfMode string `json:"ifMode,omitempty"` // IF mode of the radio - TxPowerLevel *float64 `json:"txPowerLevel,omitempty"` // Tx Power at which this radio operates (in dBm) + ID *int `json:"id,omitempty"` // Id of the radio + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the radio + + SlotID *float64 `json:"slotId,omitempty"` // Slot number in which the radio resides in the parent access point + + IfTypeString string `json:"ifTypeString,omitempty"` // String representation of native band + + IfTypeSubband string `json:"ifTypeSubband,omitempty"` // Sub band type of the radio + + Channel *float64 `json:"channel,omitempty"` // Channel in which the radio operates + + ChannelString string `json:"channelString,omitempty"` // Channel string representation + + IfMode string `json:"ifMode,omitempty"` // IF mode of the radio + + TxPowerLevel *float64 `json:"txPowerLevel,omitempty"` // Tx Power at which this radio operates (in dBm) } type ResponseDevicesGetPlannedAccessPointsForBuildingResponseRadiosAntenna struct { - Name string `json:"name,omitempty"` // Name of the antenna - Type string `json:"type,omitempty"` // Type of the antenna associated with this radio - Mode string `json:"mode,omitempty"` // Mode of the antenna associated with this radio - AzimuthAngle *float64 `json:"azimuthAngle,omitempty"` // Azimuth angle of the antenna + Name string `json:"name,omitempty"` // Name of the antenna + + Type string `json:"type,omitempty"` // Type of the antenna associated with this radio + + Mode string `json:"mode,omitempty"` // Mode of the antenna associated with this radio + + AzimuthAngle *float64 `json:"azimuthAngle,omitempty"` // Azimuth angle of the antenna + ElevationAngle *float64 `json:"elevationAngle,omitempty"` // Elevation angle of the antenna - Gain *float64 `json:"gain,omitempty"` // Gain of the antenna + + Gain *float64 `json:"gain,omitempty"` // Gain of the antenna } type ResponseDevicesGetDeviceDetail struct { Response *ResponseDevicesGetDeviceDetailResponse `json:"response,omitempty"` // } type ResponseDevicesGetDeviceDetailResponse struct { - NoiseScore *int `json:"noiseScore,omitempty"` // Device (AP) WIFI signal noise health score - PolicyTagName string `json:"policyTagName,omitempty"` // Device (AP) policy tag - InterferenceScore *int `json:"interferenceScore,omitempty"` // Device (AP) WIFI signal interference health score - OpState string `json:"opState,omitempty"` // Operation state of device (AP) - PowerSaveMode string `json:"powerSaveMode,omitempty"` // Device power save mode - Mode string `json:"mode,omitempty"` // Device mode (AP) - ResetReason string `json:"resetReason,omitempty"` // Device reset reason - NwDeviceRole string `json:"nwDeviceRole,omitempty"` // Device role - Protocol string `json:"protocol,omitempty"` // Protocol code - PowerMode string `json:"powerMode,omitempty"` // Device's power mode - ConnectedTime string `json:"connectedTime,omitempty"` // UTC timestamp - RingStatus *bool `json:"ringStatus,omitempty"` // Device's ring status - LedFlashSeconds string `json:"ledFlashSeconds,omitempty"` // LED flash seconds - IPAddrManagementIPAddr string `json:"ip_addr_managementIpAddr,omitempty"` // Device's management IP address - StackType string `json:"stackType,omitempty"` // Device stack type (applicable for stackable devices) - SubMode string `json:"subMode,omitempty"` // Device submode - SerialNumber string `json:"serialNumber,omitempty"` // Device serial number - NwDeviceName string `json:"nwDeviceName,omitempty"` // Device name - DeviceGroupHierarchyID string `json:"deviceGroupHierarchyId,omitempty"` // Device group site hierarchy UUID - CPU *float64 `json:"cpu,omitempty"` // Device CPU utilization - Utilization string `json:"utilization,omitempty"` // Device utilization - NwDeviceID string `json:"nwDeviceId,omitempty"` // Device's UUID - SiteHierarchyGraphID string `json:"siteHierarchyGraphId,omitempty"` // Site hierarchy UUID in which device is assigned to - NwDeviceFamily string `json:"nwDeviceFamily,omitempty"` // Device faimly string - MacAddress string `json:"macAddress,omitempty"` // Device MAC address - HomeApEnabled string `json:"homeApEnabled,omitempty"` // Home Ap Enabled - DeviceSeries string `json:"deviceSeries,omitempty"` // Device series string - CollectionStatus string `json:"collectionStatus,omitempty"` // Device's telemetry data collection status for DNAC - UtilizationScore *int `json:"utilizationScore,omitempty"` // Device utilization health score - MaintenanceMode *bool `json:"maintenanceMode,omitempty"` // Whether device is in maintenance mode - Interference string `json:"interference,omitempty"` // Device (AP) WIFI signal interference - SoftwareVersion string `json:"softwareVersion,omitempty"` // Device's software version string - TagIDList *[]ResponseDevicesGetDeviceDetailResponseTagIDList `json:"tagIdList,omitempty"` // Tag ID List - PowerType string `json:"powerType,omitempty"` // Device (AP) power type - OverallHealth *int `json:"overallHealth,omitempty"` // Device's overall health score - ManagementIPAddr string `json:"managementIpAddr,omitempty"` // Management IP address of the device - Memory string `json:"memory,omitempty"` // Device memory utilization - CommunicationState string `json:"communicationState,omitempty"` // Device communication state - ApType string `json:"apType,omitempty"` // Ap Type - AdminState string `json:"adminState,omitempty"` // Device (AP) admin state - Noise string `json:"noise,omitempty"` // Device (AP) WIFI signal noise - IcapCapability string `json:"icapCapability,omitempty"` // Device (AP) ICAP capability bit values - RegulatoryDomain string `json:"regulatoryDomain,omitempty"` // Device (AP) WIFI domain - EthernetMac string `json:"ethernetMac,omitempty"` // Device (AP) ethernet MAC address - NwDeviceType string `json:"nwDeviceType,omitempty"` // Device type - AirQuality string `json:"airQuality,omitempty"` // Device (AP) WIFI air quality - RfTagName string `json:"rfTagName,omitempty"` // Device (AP) RF tag name - SiteTagName string `json:"siteTagName,omitempty"` // Device (AP) site tag name - PlatformID string `json:"platformId,omitempty"` // Device's platform ID - UpTime string `json:"upTime,omitempty"` // Device up time - MemoryScore *int `json:"memoryScore,omitempty"` // Device's memory usage score - PowerSaveModeCapable string `json:"powerSaveModeCapable,omitempty"` // Device (AP) power save mode capability - PowerProfile string `json:"powerProfile,omitempty"` // Device (AP) power profile name - AirQualityScore *int `json:"airQualityScore,omitempty"` // Device (AP) air quality health score - Location string `json:"location,omitempty"` // Device's site hierarchy UUID - FlexGroup string `json:"flexGroup,omitempty"` // Deivce (A) flexconnect group - LastBootTime *float64 `json:"lastBootTime,omitempty"` // Device's last boot UTC timestamp - PowerCalendarProfile string `json:"powerCalendarProfile,omitempty"` // Device (AP) power calendar profile name - ConnectivityStatus *int `json:"connectivityStatus,omitempty"` // Device connectivity status - LedFlashEnabled string `json:"ledFlashEnabled,omitempty"` // Device (AP) LED flash - CPUScore *int `json:"cpuScore,omitempty"` // Device's CPU usage score - AvgTemperature *float64 `json:"avgTemperature,omitempty"` // Device's average temperature - MaxTemperature *float64 `json:"maxTemperature,omitempty"` // Device's max temperature - HaStatus string `json:"haStatus,omitempty"` // Device's HA status - OsType string `json:"osType,omitempty"` // Device's OS type - Timestamp *int `json:"timestamp,omitempty"` // UTC timestamp of the device health data - ApGroup string `json:"apGroup,omitempty"` // Device (AP) AP group - RedundancyMode string `json:"redundancyMode,omitempty"` // Device redundancy mode - FeatureFlagList []string `json:"featureFlagList,omitempty"` // List of device feature capabilities - FreeMbufScore *int `json:"freeMbufScore,omitempty"` // Free memory buffer health score - HALastResetReason string `json:"HALastResetReason,omitempty"` // Last HA reset reason - WqeScore *int `json:"wqeScore,omitempty"` // WQE health score - RedundancyPeerStateDerived string `json:"redundancyPeerStateDerived,omitempty"` // Redundancy Peer State Derived - FreeTimerScore *int `json:"freeTimerScore,omitempty"` // Free Timer Score - RedundancyPeerState string `json:"redundancyPeerState,omitempty"` // Redundancy Peer State - RedundancyStateDerived string `json:"redundancyStateDerived,omitempty"` // Derived redundancy state - RedundancyState string `json:"redundancyState,omitempty"` // Redundancy state - PacketPoolScore *int `json:"packetPoolScore,omitempty"` // Device packet pool health score - FreeTimer *float64 `json:"freeTimer,omitempty"` // Free timer of the device - PacketPool *float64 `json:"packetPool,omitempty"` // Packet pool of the device - Wqe *float64 `json:"wqe,omitempty"` // WQE of the device - FreeMbuf *float64 `json:"freeMbuf,omitempty"` // Free memory buffer of the device + NoiseScore *int `json:"noiseScore,omitempty"` // Device (AP) WIFI signal noise health score + + PolicyTagName string `json:"policyTagName,omitempty"` // Device (AP) policy tag + + InterferenceScore *int `json:"interferenceScore,omitempty"` // Device (AP) WIFI signal interference health score + + OpState string `json:"opState,omitempty"` // Operation state of device (AP) + + PowerSaveMode string `json:"powerSaveMode,omitempty"` // Device power save mode + + Mode string `json:"mode,omitempty"` // Device mode (AP) + + ResetReason string `json:"resetReason,omitempty"` // Device reset reason + + NwDeviceRole string `json:"nwDeviceRole,omitempty"` // Device role + + Protocol string `json:"protocol,omitempty"` // Protocol code + + PowerMode string `json:"powerMode,omitempty"` // Device's power mode + + ConnectedTime string `json:"connectedTime,omitempty"` // UTC timestamp + + RingStatus *bool `json:"ringStatus,omitempty"` // Device's ring status + + LedFlashSeconds string `json:"ledFlashSeconds,omitempty"` // LED flash seconds + + IPAddrManagementIPAddr string `json:"ip_addr_managementIpAddr,omitempty"` // Device's management IP address + + StackType string `json:"stackType,omitempty"` // Device stack type (applicable for stackable devices) + + SubMode string `json:"subMode,omitempty"` // Device submode + + SerialNumber string `json:"serialNumber,omitempty"` // Device serial number + + NwDeviceName string `json:"nwDeviceName,omitempty"` // Device name + + DeviceGroupHierarchyID string `json:"deviceGroupHierarchyId,omitempty"` // Device group site hierarchy UUID + + CPU *float64 `json:"cpu,omitempty"` // Device CPU utilization + + Utilization string `json:"utilization,omitempty"` // Device utilization + + NwDeviceID string `json:"nwDeviceId,omitempty"` // Device's UUID + + SiteHierarchyGraphID string `json:"siteHierarchyGraphId,omitempty"` // Site hierarchy UUID in which device is assigned to + + NwDeviceFamily string `json:"nwDeviceFamily,omitempty"` // Device faimly string + + MacAddress string `json:"macAddress,omitempty"` // Device MAC address + + HomeApEnabled string `json:"homeApEnabled,omitempty"` // Home Ap Enabled + + DeviceSeries string `json:"deviceSeries,omitempty"` // Device series string + + CollectionStatus string `json:"collectionStatus,omitempty"` // Device's telemetry data collection status for DNAC + + UtilizationScore *int `json:"utilizationScore,omitempty"` // Device utilization health score + + MaintenanceMode *bool `json:"maintenanceMode,omitempty"` // Whether device is in maintenance mode + + Interference string `json:"interference,omitempty"` // Device (AP) WIFI signal interference + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Device's software version string + + TagIDList *[]ResponseDevicesGetDeviceDetailResponseTagIDList `json:"tagIdList,omitempty"` // Tag ID List + + PowerType string `json:"powerType,omitempty"` // Device (AP) power type + + OverallHealth *int `json:"overallHealth,omitempty"` // Device's overall health score + + ManagementIPAddr string `json:"managementIpAddr,omitempty"` // Management IP address of the device + + Memory string `json:"memory,omitempty"` // Device memory utilization + + CommunicationState string `json:"communicationState,omitempty"` // Device communication state + + ApType string `json:"apType,omitempty"` // Ap Type + + AdminState string `json:"adminState,omitempty"` // Device (AP) admin state + + Noise string `json:"noise,omitempty"` // Device (AP) WIFI signal noise + + IcapCapability string `json:"icapCapability,omitempty"` // Device (AP) ICAP capability bit values + + RegulatoryDomain string `json:"regulatoryDomain,omitempty"` // Device (AP) WIFI domain + + EthernetMac string `json:"ethernetMac,omitempty"` // Device (AP) ethernet MAC address + + NwDeviceType string `json:"nwDeviceType,omitempty"` // Device type + + AirQuality string `json:"airQuality,omitempty"` // Device (AP) WIFI air quality + + RfTagName string `json:"rfTagName,omitempty"` // Device (AP) RF tag name + + SiteTagName string `json:"siteTagName,omitempty"` // Device (AP) site tag name + + PlatformID string `json:"platformId,omitempty"` // Device's platform ID + + UpTime string `json:"upTime,omitempty"` // Device up time + + MemoryScore *int `json:"memoryScore,omitempty"` // Device's memory usage score + + PowerSaveModeCapable string `json:"powerSaveModeCapable,omitempty"` // Device (AP) power save mode capability + + PowerProfile string `json:"powerProfile,omitempty"` // Device (AP) power profile name + + AirQualityScore *int `json:"airQualityScore,omitempty"` // Device (AP) air quality health score + + Location string `json:"location,omitempty"` // Device's site hierarchy UUID + + FlexGroup string `json:"flexGroup,omitempty"` // Deivce (A) flexconnect group + + LastBootTime *float64 `json:"lastBootTime,omitempty"` // Device's last boot UTC timestamp + + PowerCalendarProfile string `json:"powerCalendarProfile,omitempty"` // Device (AP) power calendar profile name + + ConnectivityStatus *int `json:"connectivityStatus,omitempty"` // Device connectivity status + + LedFlashEnabled string `json:"ledFlashEnabled,omitempty"` // Device (AP) LED flash + + CPUScore *int `json:"cpuScore,omitempty"` // Device's CPU usage score + + AvgTemperature *float64 `json:"avgTemperature,omitempty"` // Device's average temperature + + MaxTemperature *float64 `json:"maxTemperature,omitempty"` // Device's max temperature + + HaStatus string `json:"haStatus,omitempty"` // Device's HA status + + OsType string `json:"osType,omitempty"` // Device's OS type + + Timestamp *int `json:"timestamp,omitempty"` // UTC timestamp of the device health data + + ApGroup string `json:"apGroup,omitempty"` // Device (AP) AP group + + RedundancyMode string `json:"redundancyMode,omitempty"` // Device redundancy mode + + FeatureFlagList []string `json:"featureFlagList,omitempty"` // List of device feature capabilities + + FreeMbufScore *int `json:"freeMbufScore,omitempty"` // Free memory buffer health score + + HALastResetReason string `json:"HALastResetReason,omitempty"` // Last HA reset reason + + WqeScore *int `json:"wqeScore,omitempty"` // WQE health score + + RedundancyPeerStateDerived string `json:"redundancyPeerStateDerived,omitempty"` // Redundancy Peer State Derived + + FreeTimerScore *int `json:"freeTimerScore,omitempty"` // Free Timer Score + + RedundancyPeerState string `json:"redundancyPeerState,omitempty"` // Redundancy Peer State + + RedundancyStateDerived string `json:"redundancyStateDerived,omitempty"` // Derived redundancy state + + RedundancyState string `json:"redundancyState,omitempty"` // Redundancy state + + PacketPoolScore *int `json:"packetPoolScore,omitempty"` // Device packet pool health score + + FreeTimer *float64 `json:"freeTimer,omitempty"` // Free timer of the device + + PacketPool *float64 `json:"packetPool,omitempty"` // Packet pool of the device + + Wqe *float64 `json:"wqe,omitempty"` // WQE of the device + + FreeMbuf *float64 `json:"freeMbuf,omitempty"` // Free memory buffer of the device } type ResponseDevicesGetDeviceDetailResponseTagIDList interface{} type ResponseDevicesGetDeviceEnrichmentDetails []ResponseItemDevicesGetDeviceEnrichmentDetails // Array of ResponseDevicesGetDeviceEnrichmentDetails @@ -1591,44 +3393,81 @@ type ResponseItemDevicesGetDeviceEnrichmentDetails struct { DeviceDetails *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetails `json:"deviceDetails,omitempty"` // } type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetails struct { - Family string `json:"family,omitempty"` // Device Family - Type string `json:"type,omitempty"` // Device Type - Location *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsLocation `json:"location,omitempty"` // Device location - Site hierarchy - ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code - MacAddress string `json:"macAddress,omitempty"` // Device MAC address - Role string `json:"role,omitempty"` // Device role - ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface - AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated WLC IP address of the AP device - BootDateTime string `json:"bootDateTime,omitempty"` // Device's last boot UTC timestamp - CollectionStatus string `json:"collectionStatus,omitempty"` // Device's telemetry data collection status for DNAC - InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device - LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device - LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device - ManagementIPAddress string `json:"managementIpAddress,omitempty"` // Device Management Ip Address - MemorySize string `json:"memorySize,omitempty"` // Processor memory size - PlatformID string `json:"platformId,omitempty"` // Device's platform ID - ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices - ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Reachability Status of the Device(Reachable/Unreachable) - SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device - SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device - TunnelUDPPort *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsTunnelUDPPort `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC - WaasDeviceMode *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsWaasDeviceMode `json:"waasDeviceMode,omitempty"` // WAAS device mode - Series string `json:"series,omitempty"` // Device Series - InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync - CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device - SerialNumber string `json:"serialNumber,omitempty"` // Device Serial Number - SoftwareVersion string `json:"softwareVersion,omitempty"` // Device Software Version - RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto - Hostname string `json:"hostname,omitempty"` // Device Hostname - UpTime string `json:"upTime,omitempty"` // Device's uptime - LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated - ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description - LocationName *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsLocationName `json:"locationName,omitempty"` // [Deprecated] Name of the associated location - TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device - ID string `json:"id,omitempty"` // Device's UUID - NeighborTopology *[]ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopology `json:"neighborTopology,omitempty"` // + Family string `json:"family,omitempty"` // Device Family + + Type string `json:"type,omitempty"` // Device Type + + Location *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsLocation `json:"location,omitempty"` // Device location - Site hierarchy + + ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code + + MacAddress string `json:"macAddress,omitempty"` // Device MAC address + + Role string `json:"role,omitempty"` // Device role + + ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface + + AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated WLC IP address of the AP device + + BootDateTime string `json:"bootDateTime,omitempty"` // Device's last boot UTC timestamp + + CollectionStatus string `json:"collectionStatus,omitempty"` // Device's telemetry data collection status for DNAC + + InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device + + LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device + + LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device + + ManagementIPAddress string `json:"managementIpAddress,omitempty"` // Device Management Ip Address + + MemorySize string `json:"memorySize,omitempty"` // Processor memory size + + PlatformID string `json:"platformId,omitempty"` // Device's platform ID + + ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices + + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Reachability Status of the Device(Reachable/Unreachable) + + SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device + + SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device + + TunnelUDPPort *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsTunnelUDPPort `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC + + WaasDeviceMode *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsWaasDeviceMode `json:"waasDeviceMode,omitempty"` // WAAS device mode + + Series string `json:"series,omitempty"` // Device Series + + InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync + + CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device + + SerialNumber string `json:"serialNumber,omitempty"` // Device Serial Number + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Device Software Version + + RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto + + Hostname string `json:"hostname,omitempty"` // Device Hostname + + UpTime string `json:"upTime,omitempty"` // Device's uptime + + LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated + + ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description + + LocationName *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsLocationName `json:"locationName,omitempty"` // [Deprecated] Name of the associated location + + TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device + + ID string `json:"id,omitempty"` // Device's UUID + + NeighborTopology *[]ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopology `json:"neighborTopology,omitempty"` // } type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsLocation interface{} type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsTunnelUDPPort interface{} @@ -1636,26 +3475,44 @@ type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsWaasDeviceMode in type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsLocationName interface{} type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopology struct { Nodes *[]ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodes `json:"nodes,omitempty"` // + Links *[]ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyLinks `json:"links,omitempty"` // } type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodes struct { - Role string `json:"role,omitempty"` // Role of the Node - Name string `json:"name,omitempty"` // Hostname of the Node - ID string `json:"id,omitempty"` // Id of the Node - Description string `json:"description,omitempty"` // Description of the Node - DeviceType string `json:"deviceType,omitempty"` // Device type of the node, like switch, AP, WCL,GateWay - PlatformID string `json:"platformId,omitempty"` // Type of platform - Family string `json:"family,omitempty"` // Device Family of the Node - IP string `json:"ip,omitempty"` // IP Address of the Node - SoftwareVersion string `json:"softwareVersion,omitempty"` // Software Version of the Node - UserID *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesUserID `json:"userId,omitempty"` // User Id of the Node - NodeType string `json:"nodeType,omitempty"` // Type of the Node - RadioFrequency *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesRadioFrequency `json:"radioFrequency,omitempty"` // Frequency of wireless radio channel - Clients *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesClients `json:"clients,omitempty"` // Number of clients - Count *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesCount `json:"count,omitempty"` // The number of group nodes (for ap sepecifically) - HealthScore *int `json:"healthScore,omitempty"` // The total health score of the node - Level *float64 `json:"level,omitempty"` // The level index to be used by UI widget (starts from 0) - FabricGroup *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesFabricGroup `json:"fabricGroup,omitempty"` // Fabric device group name + Role string `json:"role,omitempty"` // Role of the Node + + Name string `json:"name,omitempty"` // Hostname of the Node + + ID string `json:"id,omitempty"` // Id of the Node + + Description string `json:"description,omitempty"` // Description of the Node + + DeviceType string `json:"deviceType,omitempty"` // Device type of the node, like switch, AP, WCL,GateWay + + PlatformID string `json:"platformId,omitempty"` // Type of platform + + Family string `json:"family,omitempty"` // Device Family of the Node + + IP string `json:"ip,omitempty"` // IP Address of the Node + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Software Version of the Node + + UserID *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesUserID `json:"userId,omitempty"` // User Id of the Node + + NodeType string `json:"nodeType,omitempty"` // Type of the Node + + RadioFrequency *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesRadioFrequency `json:"radioFrequency,omitempty"` // Frequency of wireless radio channel + + Clients *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesClients `json:"clients,omitempty"` // Number of clients + + Count *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesCount `json:"count,omitempty"` // The number of group nodes (for ap sepecifically) + + HealthScore *int `json:"healthScore,omitempty"` // The total health score of the node + + Level *float64 `json:"level,omitempty"` // The level index to be used by UI widget (starts from 0) + + FabricGroup *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesFabricGroup `json:"fabricGroup,omitempty"` // Fabric device group name + ConnectedDevice *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesConnectedDevice `json:"connectedDevice,omitempty"` // The connected device to show the connected switch to wlc } type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesUserID interface{} @@ -1665,300 +3522,496 @@ type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyN type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesFabricGroup interface{} type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyNodesConnectedDevice interface{} type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyLinks struct { - Source string `json:"source,omitempty"` // Edge line starting node - LinkStatus string `json:"linkStatus,omitempty"` // The status of the link (up/down) - Label *[]ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyLinksLabel `json:"label,omitempty"` // The details of the edge - Target string `json:"target,omitempty"` // End node of the edge line - ID *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyLinksID `json:"id,omitempty"` // Id of the node + Source string `json:"source,omitempty"` // Edge line starting node + + LinkStatus string `json:"linkStatus,omitempty"` // The status of the link (up/down) + + Label *[]ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyLinksLabel `json:"label,omitempty"` // The details of the edge + + Target string `json:"target,omitempty"` // End node of the edge line + + ID *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyLinksID `json:"id,omitempty"` // Id of the node + PortUtilization *ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyLinksPortUtilization `json:"portUtilization,omitempty"` // Number of clients } type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyLinksLabel interface{} type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyLinksID interface{} type ResponseItemDevicesGetDeviceEnrichmentDetailsDeviceDetailsNeighborTopologyLinksPortUtilization interface{} type ResponseDevicesDevices struct { - Version string `json:"version,omitempty"` // Response data's version string - TotalCount *int `json:"totalCount,omitempty"` // Total number of devices - Response *[]ResponseDevicesDevicesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Response data's version string + + TotalCount *int `json:"totalCount,omitempty"` // Total number of devices + + Response *[]ResponseDevicesDevicesResponse `json:"response,omitempty"` // } type ResponseDevicesDevicesResponse struct { - DeviceType string `json:"deviceType,omitempty"` // Device type - CPUUtilization *float64 `json:"cpuUtilization,omitempty"` // Device's CPU utilization - OverallHealth *int `json:"overallHealth,omitempty"` // Overall health score - UtilizationHealth *ResponseDevicesDevicesResponseUtilizationHealth `json:"utilizationHealth,omitempty"` // - AirQualityHealth *ResponseDevicesDevicesResponseAirQualityHealth `json:"airQualityHealth,omitempty"` // - IPAddress string `json:"ipAddress,omitempty"` // Management IP address of the device - CPUHealth *int `json:"cpuHealth,omitempty"` // Device CPU health score - DeviceFamily string `json:"deviceFamily,omitempty"` // Device family - IssueCount *int `json:"issueCount,omitempty"` // Number of issues - MacAddress string `json:"macAddress,omitempty"` // MAC address of the device - NoiseHealth *ResponseDevicesDevicesResponseNoiseHealth `json:"noiseHealth,omitempty"` // - OsVersion string `json:"osVersion,omitempty"` // Device OS version string - Name string `json:"name,omitempty"` // Device name - InterfaceLinkErrHealth *int `json:"interfaceLinkErrHealth,omitempty"` // Device (AP) error health score - MemoryUtilization *float64 `json:"memoryUtilization,omitempty"` // Device memory utilization - InterDeviceLinkAvailHealth *int `json:"interDeviceLinkAvailHealth,omitempty"` // Device connectivity status - InterferenceHealth *ResponseDevicesDevicesResponseInterferenceHealth `json:"interferenceHealth,omitempty"` // - Model string `json:"model,omitempty"` // Device model string - Location string `json:"location,omitempty"` // Site location in which this device is assigned to - ReachabilityHealth string `json:"reachabilityHealth,omitempty"` // Device reachability in the network - Band *ResponseDevicesDevicesResponseBand `json:"band,omitempty"` // - MemoryUtilizationHealth *int `json:"memoryUtilizationHealth,omitempty"` // Device memory utilization health score - ClientCount *ResponseDevicesDevicesResponseClientCount `json:"clientCount,omitempty"` // - AvgTemperature *float64 `json:"avgTemperature,omitempty"` // Average device (switch) temperature - MaxTemperature *float64 `json:"maxTemperature,omitempty"` // Max device (switch) temperature - InterDeviceLinkAvailFabric *int `json:"interDeviceLinkAvailFabric,omitempty"` // Device uplink health - ApCount *int `json:"apCount,omitempty"` // Number of AP count - FreeTimerScore *int `json:"freeTimerScore,omitempty"` // Device free timer health score - FreeTimer *float64 `json:"freeTimer,omitempty"` // Device free timer - PacketPoolHealth *int `json:"packetPoolHealth,omitempty"` // Device packet pool - PacketPool *int `json:"packetPool,omitempty"` // Device packet pool - FreeMemoryBufferHealth *int `json:"freeMemoryBufferHealth,omitempty"` // Device free memory buffer health - FreeMemoryBuffer *float64 `json:"freeMemoryBuffer,omitempty"` // Device free memory - WqePoolsHealth *int `json:"wqePoolsHealth,omitempty"` // Device WQE pool health - WqePools *float64 `json:"wqePools,omitempty"` // Device WQE pool - WanLinkUtilization *float64 `json:"wanLinkUtilization,omitempty"` // WLAN link utilization - CPUUlitilization *float64 `json:"cpuUlitilization,omitempty"` // Device's CPU utilization - UUID string `json:"uuid,omitempty"` // Device UUID + DeviceType string `json:"deviceType,omitempty"` // Device type + + CPUUtilization *float64 `json:"cpuUtilization,omitempty"` // Device's CPU utilization + + OverallHealth *int `json:"overallHealth,omitempty"` // Overall health score + + UtilizationHealth *ResponseDevicesDevicesResponseUtilizationHealth `json:"utilizationHealth,omitempty"` // + + AirQualityHealth *ResponseDevicesDevicesResponseAirQualityHealth `json:"airQualityHealth,omitempty"` // + + IPAddress string `json:"ipAddress,omitempty"` // Management IP address of the device + + CPUHealth *int `json:"cpuHealth,omitempty"` // Device CPU health score + + DeviceFamily string `json:"deviceFamily,omitempty"` // Device family + + IssueCount *int `json:"issueCount,omitempty"` // Number of issues + + MacAddress string `json:"macAddress,omitempty"` // MAC address of the device + + NoiseHealth *ResponseDevicesDevicesResponseNoiseHealth `json:"noiseHealth,omitempty"` // + + OsVersion string `json:"osVersion,omitempty"` // Device OS version string + + Name string `json:"name,omitempty"` // Device name + + InterfaceLinkErrHealth *int `json:"interfaceLinkErrHealth,omitempty"` // Device (AP) error health score + + MemoryUtilization *float64 `json:"memoryUtilization,omitempty"` // Device memory utilization + + InterDeviceLinkAvailHealth *int `json:"interDeviceLinkAvailHealth,omitempty"` // Device connectivity status + + InterferenceHealth *ResponseDevicesDevicesResponseInterferenceHealth `json:"interferenceHealth,omitempty"` // + + Model string `json:"model,omitempty"` // Device model string + + Location string `json:"location,omitempty"` // Site location in which this device is assigned to + + ReachabilityHealth string `json:"reachabilityHealth,omitempty"` // Device reachability in the network + + Band *ResponseDevicesDevicesResponseBand `json:"band,omitempty"` // + + MemoryUtilizationHealth *int `json:"memoryUtilizationHealth,omitempty"` // Device memory utilization health score + + ClientCount *ResponseDevicesDevicesResponseClientCount `json:"clientCount,omitempty"` // + + AvgTemperature *float64 `json:"avgTemperature,omitempty"` // Average device (switch) temperature + + MaxTemperature *float64 `json:"maxTemperature,omitempty"` // Max device (switch) temperature + + InterDeviceLinkAvailFabric *int `json:"interDeviceLinkAvailFabric,omitempty"` // Device uplink health + + ApCount *int `json:"apCount,omitempty"` // Number of AP count + + FreeTimerScore *int `json:"freeTimerScore,omitempty"` // Device free timer health score + + FreeTimer *float64 `json:"freeTimer,omitempty"` // Device free timer + + PacketPoolHealth *int `json:"packetPoolHealth,omitempty"` // Device packet pool + + PacketPool *int `json:"packetPool,omitempty"` // Device packet pool + + FreeMemoryBufferHealth *int `json:"freeMemoryBufferHealth,omitempty"` // Device free memory buffer health + + FreeMemoryBuffer *float64 `json:"freeMemoryBuffer,omitempty"` // Device free memory + + WqePoolsHealth *int `json:"wqePoolsHealth,omitempty"` // Device WQE pool health + + WqePools *float64 `json:"wqePools,omitempty"` // Device WQE pool + + WanLinkUtilization *float64 `json:"wanLinkUtilization,omitempty"` // WLAN link utilization + + CPUUlitilization *float64 `json:"cpuUlitilization,omitempty"` // Device's CPU utilization + + UUID string `json:"uuid,omitempty"` // Device UUID } type ResponseDevicesDevicesResponseUtilizationHealth struct { Radio0 *int `json:"radio0,omitempty"` // Radio0 + Radio1 *int `json:"radio1,omitempty"` // Radio1 + Radio2 *int `json:"radio2,omitempty"` // Radio2 + Radio3 *int `json:"radio3,omitempty"` // Radio3 - Ghz24 *int `json:"Ghz24,omitempty"` // Ghz24 - Ghz50 *int `json:"Ghz50,omitempty"` // Ghz50 + + Ghz24 *int `json:"Ghz24,omitempty"` // Ghz24 + + Ghz50 *int `json:"Ghz50,omitempty"` // Ghz50 } type ResponseDevicesDevicesResponseAirQualityHealth struct { Radio0 *int `json:"radio0,omitempty"` // Radio0 + Radio1 *int `json:"radio1,omitempty"` // Radio1 + Radio2 *int `json:"radio2,omitempty"` // Radio2 + Radio3 *int `json:"radio3,omitempty"` // Radio3 - Ghz24 *int `json:"Ghz24,omitempty"` // Ghz24 - Ghz50 *int `json:"Ghz50,omitempty"` // Ghz50 + + Ghz24 *int `json:"Ghz24,omitempty"` // Ghz24 + + Ghz50 *int `json:"Ghz50,omitempty"` // Ghz50 } type ResponseDevicesDevicesResponseNoiseHealth struct { Radio0 *int `json:"radio0,omitempty"` // Radio0 + Radio1 *int `json:"radio1,omitempty"` // Radio1 + Radio2 *int `json:"radio2,omitempty"` // Radio2 + Radio3 *int `json:"radio3,omitempty"` // Radio3 - Ghz24 *int `json:"Ghz24,omitempty"` // Ghz24 - Ghz50 *int `json:"Ghz50,omitempty"` // Ghz50 + + Ghz24 *int `json:"Ghz24,omitempty"` // Ghz24 + + Ghz50 *int `json:"Ghz50,omitempty"` // Ghz50 } type ResponseDevicesDevicesResponseInterferenceHealth struct { Radio0 *int `json:"radio0,omitempty"` // Radio0 + Radio1 *int `json:"radio1,omitempty"` // Radio1 + Radio2 *int `json:"radio2,omitempty"` // Radio2 + Radio3 *int `json:"radio3,omitempty"` // Radio3 - Ghz24 *int `json:"Ghz24,omitempty"` // Ghz24 - Ghz50 *int `json:"Ghz50,omitempty"` // Ghz50 + + Ghz24 *int `json:"Ghz24,omitempty"` // Ghz24 + + Ghz50 *int `json:"Ghz50,omitempty"` // Ghz50 } type ResponseDevicesDevicesResponseBand struct { Radio0 string `json:"radio0,omitempty"` // Radio0 + Radio1 string `json:"radio1,omitempty"` // Radio1 + Radio2 string `json:"radio2,omitempty"` // Radio2 - Radio3 *int `json:"radio3,omitempty"` // Radio3 + + Radio3 *int `json:"radio3,omitempty"` // Radio3 } type ResponseDevicesDevicesResponseClientCount struct { Radio0 *int `json:"radio0,omitempty"` // Radio0 + Radio1 *int `json:"radio1,omitempty"` // Radio1 + Radio2 *int `json:"radio2,omitempty"` // Radio2 + Radio3 *int `json:"radio3,omitempty"` // Radio3 - Ghz24 *int `json:"Ghz24,omitempty"` // Ghz24 - Ghz50 *int `json:"Ghz50,omitempty"` // Ghz50 + + Ghz24 *int `json:"Ghz24,omitempty"` // Ghz24 + + Ghz50 *int `json:"Ghz50,omitempty"` // Ghz50 } type ResponseDevicesUpdatePlannedAccessPointForFloor struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseDevicesUpdatePlannedAccessPointForFloorResponse `json:"response,omitempty"` // } type ResponseDevicesUpdatePlannedAccessPointForFloorResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseDevicesCreatePlannedAccessPointForFloor struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseDevicesCreatePlannedAccessPointForFloorResponse `json:"response,omitempty"` // } type ResponseDevicesCreatePlannedAccessPointForFloorResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseDevicesGetPlannedAccessPointsForFloor struct { Response *[]ResponseDevicesGetPlannedAccessPointsForFloorResponse `json:"response,omitempty"` // - Version *int `json:"version,omitempty"` // Version of the api response model - Total *int `json:"total,omitempty"` // Total number of the planned access points + + Version *int `json:"version,omitempty"` // Version of the api response model + + Total *int `json:"total,omitempty"` // Total number of the planned access points } type ResponseDevicesGetPlannedAccessPointsForFloorResponse struct { Attributes *ResponseDevicesGetPlannedAccessPointsForFloorResponseAttributes `json:"attributes,omitempty"` // - Location *ResponseDevicesGetPlannedAccessPointsForFloorResponseLocation `json:"location,omitempty"` // - Position *ResponseDevicesGetPlannedAccessPointsForFloorResponsePosition `json:"position,omitempty"` // - RadioCount *int `json:"radioCount,omitempty"` // Number of radios of the planned access point - Radios *[]ResponseDevicesGetPlannedAccessPointsForFloorResponseRadios `json:"radios,omitempty"` // - IsSensor *bool `json:"isSensor,omitempty"` // Determines if the planned access point is sensor or not + + Location *ResponseDevicesGetPlannedAccessPointsForFloorResponseLocation `json:"location,omitempty"` // + + Position *ResponseDevicesGetPlannedAccessPointsForFloorResponsePosition `json:"position,omitempty"` // + + RadioCount *int `json:"radioCount,omitempty"` // Number of radios of the planned access point + + Radios *[]ResponseDevicesGetPlannedAccessPointsForFloorResponseRadios `json:"radios,omitempty"` // + + IsSensor *bool `json:"isSensor,omitempty"` // Determines if the planned access point is sensor or not } type ResponseDevicesGetPlannedAccessPointsForFloorResponseAttributes struct { - ID *float64 `json:"id,omitempty"` // Unique id of the planned access point - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance uuid of the planned access point - Name string `json:"name,omitempty"` // Display name of the planned access point - TypeString string `json:"typeString,omitempty"` // Type string representation of the planned access point - Domain string `json:"domain,omitempty"` // Service domain to which the planned access point belongs - HeirarchyName string `json:"heirarchyName,omitempty"` // Hierarchy name of the planned access point - Source string `json:"source,omitempty"` // Source of the data used to create the planned access point - CreateDate *float64 `json:"createDate,omitempty"` // Created date of the planned access point - MacAddress string `json:"macAddress,omitempty"` // MAC address of the planned access point -} + ID *float64 `json:"id,omitempty"` // Unique id of the planned access point + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance uuid of the planned access point + + Name string `json:"name,omitempty"` // Display name of the planned access point + + TypeString string `json:"typeString,omitempty"` // Type string representation of the planned access point + + Domain string `json:"domain,omitempty"` // Service domain to which the planned access point belongs + + HeirarchyName string `json:"heirarchyName,omitempty"` // Hierarchy name of the planned access point + + Source string `json:"source,omitempty"` // Source of the data used to create the planned access point + + CreateDate *float64 `json:"createDate,omitempty"` // Created date of the planned access point + + MacAddress string `json:"macAddress,omitempty"` // MAC address of the planned access point +} type ResponseDevicesGetPlannedAccessPointsForFloorResponseLocation struct { - Altitude *float64 `json:"altitude,omitempty"` // Altitude of the planned access point's location - Lattitude *float64 `json:"lattitude,omitempty"` // Latitude of the planned access point's location + Altitude *float64 `json:"altitude,omitempty"` // Altitude of the planned access point's location + + Lattitude *float64 `json:"lattitude,omitempty"` // Latitude of the planned access point's location + Longtitude *float64 `json:"longtitude,omitempty"` // Longitude of the planned access point's location } type ResponseDevicesGetPlannedAccessPointsForFloorResponsePosition struct { X *float64 `json:"x,omitempty"` // x-coordinate of the planned access point on the map, 0,0 point being the top-left corner + Y *float64 `json:"y,omitempty"` // y-coordinate of the planned access point on the map, 0,0 point being the top-left corner + Z *float64 `json:"z,omitempty"` // z-coordinate, or height, of the planned access point on the map } type ResponseDevicesGetPlannedAccessPointsForFloorResponseRadios struct { Attributes *ResponseDevicesGetPlannedAccessPointsForFloorResponseRadiosAttributes `json:"attributes,omitempty"` // - Antenna *ResponseDevicesGetPlannedAccessPointsForFloorResponseRadiosAntenna `json:"antenna,omitempty"` // - IsSensor *bool `json:"isSensor,omitempty"` // Determines if it is sensor or not + + Antenna *ResponseDevicesGetPlannedAccessPointsForFloorResponseRadiosAntenna `json:"antenna,omitempty"` // + + IsSensor *bool `json:"isSensor,omitempty"` // Determines if it is sensor or not } type ResponseDevicesGetPlannedAccessPointsForFloorResponseRadiosAttributes struct { - ID *int `json:"id,omitempty"` // Id of the radio - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the radio - SlotID *float64 `json:"slotId,omitempty"` // Slot number in which the radio resides in the parent access point - IfTypeString string `json:"ifTypeString,omitempty"` // String representation of native band - IfTypeSubband string `json:"ifTypeSubband,omitempty"` // Sub band type of the radio - Channel *float64 `json:"channel,omitempty"` // Channel in which the radio operates - ChannelString string `json:"channelString,omitempty"` // Channel string representation - IfMode string `json:"ifMode,omitempty"` // IF mode of the radio - TxPowerLevel *float64 `json:"txPowerLevel,omitempty"` // Tx Power at which this radio operates (in dBm) + ID *int `json:"id,omitempty"` // Id of the radio + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the radio + + SlotID *float64 `json:"slotId,omitempty"` // Slot number in which the radio resides in the parent access point + + IfTypeString string `json:"ifTypeString,omitempty"` // String representation of native band + + IfTypeSubband string `json:"ifTypeSubband,omitempty"` // Sub band type of the radio + + Channel *float64 `json:"channel,omitempty"` // Channel in which the radio operates + + ChannelString string `json:"channelString,omitempty"` // Channel string representation + + IfMode string `json:"ifMode,omitempty"` // IF mode of the radio + + TxPowerLevel *float64 `json:"txPowerLevel,omitempty"` // Tx Power at which this radio operates (in dBm) } type ResponseDevicesGetPlannedAccessPointsForFloorResponseRadiosAntenna struct { - Name string `json:"name,omitempty"` // Name of the antenna - Type string `json:"type,omitempty"` // Type of the antenna associated with this radio - Mode string `json:"mode,omitempty"` // Mode of the antenna associated with this radio - AzimuthAngle *float64 `json:"azimuthAngle,omitempty"` // Azimuth angle of the antenna + Name string `json:"name,omitempty"` // Name of the antenna + + Type string `json:"type,omitempty"` // Type of the antenna associated with this radio + + Mode string `json:"mode,omitempty"` // Mode of the antenna associated with this radio + + AzimuthAngle *float64 `json:"azimuthAngle,omitempty"` // Azimuth angle of the antenna + ElevationAngle *float64 `json:"elevationAngle,omitempty"` // Elevation angle of the antenna - Gain *float64 `json:"gain,omitempty"` // Gain of the antenna + + Gain *float64 `json:"gain,omitempty"` // Gain of the antenna } type ResponseDevicesDeletePlannedAccessPointForFloor struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseDevicesDeletePlannedAccessPointForFloorResponse `json:"response,omitempty"` // } type ResponseDevicesDeletePlannedAccessPointForFloorResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseDevicesGetAllHealthScoreDefinitionsForGivenFilters struct { Response *[]ResponseDevicesGetAllHealthScoreDefinitionsForGivenFiltersResponse `json:"response,omitempty"` // } type ResponseDevicesGetAllHealthScoreDefinitionsForGivenFiltersResponse struct { - ID string `json:"id,omitempty"` // Id - Name string `json:"name,omitempty"` // Name - DisplayName string `json:"displayName,omitempty"` // Display Name - DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family - Description string `json:"description,omitempty"` // Description - IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health - DefinitionStatus string `json:"definitionStatus,omitempty"` // Definition Status - ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value - SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold - LastModified string `json:"lastModified,omitempty"` // Last Modified + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + DisplayName string `json:"displayName,omitempty"` // Display Name + + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + + Description string `json:"description,omitempty"` // Description + + IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health + + DefinitionStatus string `json:"definitionStatus,omitempty"` // Definition Status + + ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value + + SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold + + LastModified string `json:"lastModified,omitempty"` // Last Modified } type ResponseDevicesUpdateHealthScoreDefinitions struct { Response *[]ResponseDevicesUpdateHealthScoreDefinitionsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesUpdateHealthScoreDefinitionsResponse struct { - ID string `json:"id,omitempty"` // Id - Name string `json:"name,omitempty"` // Name - DisplayName string `json:"displayName,omitempty"` // Display Name - DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family - Description string `json:"description,omitempty"` // Description - IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health - DefinitionStatus string `json:"definitionStatus,omitempty"` // Definition Status - ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value - SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold - LastModified string `json:"lastModified,omitempty"` // Last Modified + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + DisplayName string `json:"displayName,omitempty"` // Display Name + + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + + Description string `json:"description,omitempty"` // Description + + IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health + + DefinitionStatus string `json:"definitionStatus,omitempty"` // Definition Status + + ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value + + SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold + + LastModified string `json:"lastModified,omitempty"` // Last Modified +} +type ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters struct { + Response *ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersResponse struct { + Count *int `json:"count,omitempty"` // Count } type ResponseDevicesGetHealthScoreDefinitionForTheGivenID struct { Response *[]ResponseDevicesGetHealthScoreDefinitionForTheGivenIDResponse `json:"response,omitempty"` // } type ResponseDevicesGetHealthScoreDefinitionForTheGivenIDResponse struct { - ID string `json:"id,omitempty"` // Id - Name string `json:"name,omitempty"` // Name - DisplayName string `json:"displayName,omitempty"` // Display Name - DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family - Description string `json:"description,omitempty"` // Description - IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health - DefinitionStatus string `json:"definitionStatus,omitempty"` // Definition Status - ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value - SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold - LastModified string `json:"lastModified,omitempty"` // Last Modified + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + DisplayName string `json:"displayName,omitempty"` // Display Name + + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + + Description string `json:"description,omitempty"` // Description + + IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health + + DefinitionStatus string `json:"definitionStatus,omitempty"` // Definition Status + + ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value + + SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold + + LastModified string `json:"lastModified,omitempty"` // Last Modified } type ResponseDevicesUpdateHealthScoreDefinitionForTheGivenID struct { Response *ResponseDevicesUpdateHealthScoreDefinitionForTheGivenIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesUpdateHealthScoreDefinitionForTheGivenIDResponse struct { - ID string `json:"id,omitempty"` // Id - Name string `json:"name,omitempty"` // Name - DisplayName string `json:"displayName,omitempty"` // Display Name - DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family - Description string `json:"description,omitempty"` // Description - IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health - DefinitionStatus string `json:"definitionStatus,omitempty"` // Definition Status - ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value - SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold - LastModified string `json:"lastModified,omitempty"` // Last Modified + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + DisplayName string `json:"displayName,omitempty"` // Display Name + + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family + + Description string `json:"description,omitempty"` // Description + + IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health + + DefinitionStatus string `json:"definitionStatus,omitempty"` // Definition Status + + ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value + + SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold + + LastModified string `json:"lastModified,omitempty"` // Last Modified } type ResponseDevicesGetAllInterfaces struct { Response *[]ResponseDevicesGetAllInterfacesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetAllInterfacesResponse struct { - Addresses *[]ResponseDevicesGetAllInterfacesResponseAddresses `json:"addresses,omitempty"` // - AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') - ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. - Description string `json:"description,omitempty"` // Description for the Interface - Name string `json:"name,omitempty"` // Name for the interface - DeviceID string `json:"deviceId,omitempty"` // Device Id of the device - Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex - ID string `json:"id,omitempty"` // ID of the Interface - IfIndex string `json:"ifIndex,omitempty"` // Interface index - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface - InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual - IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device - IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device - IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled - LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface - LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated - MacAddress string `json:"macAddress,omitempty"` // MAC address of interface - MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC - MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC - MediaType string `json:"mediaType,omitempty"` // Media Type of the interface - Mtu string `json:"mtu,omitempty"` // MTU Information of Interface - NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port - OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled - Pid string `json:"pid,omitempty"` // Platform ID of the device - PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed - PortName string `json:"portName,omitempty"` // Interface name - PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface - SerialNo string `json:"serialNo,omitempty"` // Serial number of the device - Series string `json:"series,omitempty"` // Series of the device - Speed string `json:"speed,omitempty"` // Speed of the interface - Status string `json:"status,omitempty"` // Interface status as Down / Up - VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface - VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface + Addresses *[]ResponseDevicesGetAllInterfacesResponseAddresses `json:"addresses,omitempty"` // + + AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') + + ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. + + Description string `json:"description,omitempty"` // Description for the Interface + + Name string `json:"name,omitempty"` // Name for the interface + + DeviceID string `json:"deviceId,omitempty"` // Device Id of the device + + Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex + + ID string `json:"id,omitempty"` // ID of the Interface + + IfIndex string `json:"ifIndex,omitempty"` // Interface index + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface + + InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual + + IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device + + IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device + + IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled + + LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface + + LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated + + MacAddress string `json:"macAddress,omitempty"` // MAC address of interface + + MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC + + MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC + + MediaType string `json:"mediaType,omitempty"` // Media Type of the interface + + Mtu string `json:"mtu,omitempty"` // MTU Information of Interface + + NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port + + OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled + + Pid string `json:"pid,omitempty"` // Platform ID of the device + + PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed + + PortName string `json:"portName,omitempty"` // Interface name + + PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface + + SerialNo string `json:"serialNo,omitempty"` // Serial number of the device + + Series string `json:"series,omitempty"` // Series of the device + + Speed string `json:"speed,omitempty"` // Speed of the interface + + Status string `json:"status,omitempty"` // Interface status as Down / Up + + VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface + + VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface } type ResponseDevicesGetAllInterfacesResponseAddresses struct { Address *ResponseDevicesGetAllInterfacesResponseAddressesAddress `json:"address,omitempty"` // - Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) + + Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) } type ResponseDevicesGetAllInterfacesResponseAddressesAddress struct { - IPAddress *ResponseDevicesGetAllInterfacesResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // - IPMask *ResponseDevicesGetAllInterfacesResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // - IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not + IPAddress *ResponseDevicesGetAllInterfacesResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // + + IPMask *ResponseDevicesGetAllInterfacesResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // + + IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not } type ResponseDevicesGetAllInterfacesResponseAddressesAddressIPAddress struct { Address string `json:"address,omitempty"` // IP address of the interface @@ -1967,58 +4020,97 @@ type ResponseDevicesGetAllInterfacesResponseAddressesAddressIPMask struct { Address string `json:"address,omitempty"` // IP Mask of the interface } type ResponseDevicesGetDeviceInterfaceCountForMultipleDevices struct { - Response *int `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + Response *int `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetInterfaceByIP struct { Response *[]ResponseDevicesGetInterfaceByIPResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetInterfaceByIPResponse struct { - Addresses *[]ResponseDevicesGetInterfaceByIPResponseAddresses `json:"addresses,omitempty"` // - AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') - ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. - Description string `json:"description,omitempty"` // Description for the Interface - Name string `json:"name,omitempty"` // Name for the interface - DeviceID string `json:"deviceId,omitempty"` // Device Id of the device - Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex - ID string `json:"id,omitempty"` // ID of the Interface - IfIndex string `json:"ifIndex,omitempty"` // Interface index - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface - InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual - IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device - IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device - IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled - LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface - LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated - MacAddress string `json:"macAddress,omitempty"` // MAC address of interface - MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC - MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC - MediaType string `json:"mediaType,omitempty"` // Media Type of the interface - Mtu string `json:"mtu,omitempty"` // MTU Information of Interface - NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port - OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled - Pid string `json:"pid,omitempty"` // Platform ID of the device - PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed - PortName string `json:"portName,omitempty"` // Interface name - PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface - SerialNo string `json:"serialNo,omitempty"` // Serial number of the device - Series string `json:"series,omitempty"` // Series of the device - Speed string `json:"speed,omitempty"` // Speed of the interface - Status string `json:"status,omitempty"` // Interface status as Down / Up - VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface - VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface + Addresses *[]ResponseDevicesGetInterfaceByIPResponseAddresses `json:"addresses,omitempty"` // + + AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') + + ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. + + Description string `json:"description,omitempty"` // Description for the Interface + + Name string `json:"name,omitempty"` // Name for the interface + + DeviceID string `json:"deviceId,omitempty"` // Device Id of the device + + Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex + + ID string `json:"id,omitempty"` // ID of the Interface + + IfIndex string `json:"ifIndex,omitempty"` // Interface index + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface + + InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual + + IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device + + IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device + + IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled + + LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface + + LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated + + MacAddress string `json:"macAddress,omitempty"` // MAC address of interface + + MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC + + MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC + + MediaType string `json:"mediaType,omitempty"` // Media Type of the interface + + Mtu string `json:"mtu,omitempty"` // MTU Information of Interface + + NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port + + OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled + + Pid string `json:"pid,omitempty"` // Platform ID of the device + + PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed + + PortName string `json:"portName,omitempty"` // Interface name + + PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface + + SerialNo string `json:"serialNo,omitempty"` // Serial number of the device + + Series string `json:"series,omitempty"` // Series of the device + + Speed string `json:"speed,omitempty"` // Speed of the interface + + Status string `json:"status,omitempty"` // Interface status as Down / Up + + VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface + + VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface } type ResponseDevicesGetInterfaceByIPResponseAddresses struct { Address *ResponseDevicesGetInterfaceByIPResponseAddressesAddress `json:"address,omitempty"` // - Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) + + Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) } type ResponseDevicesGetInterfaceByIPResponseAddressesAddress struct { - IPAddress *ResponseDevicesGetInterfaceByIPResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // - IPMask *ResponseDevicesGetInterfaceByIPResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // - IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not + IPAddress *ResponseDevicesGetInterfaceByIPResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // + + IPMask *ResponseDevicesGetInterfaceByIPResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // + + IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not } type ResponseDevicesGetInterfaceByIPResponseAddressesAddressIPAddress struct { Address string `json:"address,omitempty"` // IP address of the interface @@ -2028,53 +4120,91 @@ type ResponseDevicesGetInterfaceByIPResponseAddressesAddressIPMask struct { } type ResponseDevicesGetIsisInterfaces struct { Response *[]ResponseDevicesGetIsisInterfacesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetIsisInterfacesResponse struct { - Addresses *[]ResponseDevicesGetIsisInterfacesResponseAddresses `json:"addresses,omitempty"` // - AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') - ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. - Description string `json:"description,omitempty"` // Description for the Interface - Name string `json:"name,omitempty"` // Name for the interface - DeviceID string `json:"deviceId,omitempty"` // Device Id of the device - Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex - ID string `json:"id,omitempty"` // ID of the Interface - IfIndex string `json:"ifIndex,omitempty"` // Interface index - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface - InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual - IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device - IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device - IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled - LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface - LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated - MacAddress string `json:"macAddress,omitempty"` // MAC address of interface - MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC - MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC - MediaType string `json:"mediaType,omitempty"` // Media Type of the interface - Mtu string `json:"mtu,omitempty"` // MTU Information of Interface - NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port - OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled - Pid string `json:"pid,omitempty"` // Platform ID of the device - PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed - PortName string `json:"portName,omitempty"` // Interface name - PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface - SerialNo string `json:"serialNo,omitempty"` // Serial number of the device - Series string `json:"series,omitempty"` // Series of the device - Speed string `json:"speed,omitempty"` // Speed of the interface - Status string `json:"status,omitempty"` // Interface status as Down / Up - VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface - VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface + Addresses *[]ResponseDevicesGetIsisInterfacesResponseAddresses `json:"addresses,omitempty"` // + + AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') + + ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. + + Description string `json:"description,omitempty"` // Description for the Interface + + Name string `json:"name,omitempty"` // Name for the interface + + DeviceID string `json:"deviceId,omitempty"` // Device Id of the device + + Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex + + ID string `json:"id,omitempty"` // ID of the Interface + + IfIndex string `json:"ifIndex,omitempty"` // Interface index + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface + + InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual + + IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device + + IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device + + IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled + + LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface + + LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated + + MacAddress string `json:"macAddress,omitempty"` // MAC address of interface + + MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC + + MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC + + MediaType string `json:"mediaType,omitempty"` // Media Type of the interface + + Mtu string `json:"mtu,omitempty"` // MTU Information of Interface + + NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port + + OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled + + Pid string `json:"pid,omitempty"` // Platform ID of the device + + PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed + + PortName string `json:"portName,omitempty"` // Interface name + + PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface + + SerialNo string `json:"serialNo,omitempty"` // Serial number of the device + + Series string `json:"series,omitempty"` // Series of the device + + Speed string `json:"speed,omitempty"` // Speed of the interface + + Status string `json:"status,omitempty"` // Interface status as Down / Up + + VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface + + VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface } type ResponseDevicesGetIsisInterfacesResponseAddresses struct { Address *ResponseDevicesGetIsisInterfacesResponseAddressesAddress `json:"address,omitempty"` // - Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) + + Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) } type ResponseDevicesGetIsisInterfacesResponseAddressesAddress struct { - IPAddress *ResponseDevicesGetIsisInterfacesResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // - IPMask *ResponseDevicesGetIsisInterfacesResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // - IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not + IPAddress *ResponseDevicesGetIsisInterfacesResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // + + IPMask *ResponseDevicesGetIsisInterfacesResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // + + IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not } type ResponseDevicesGetIsisInterfacesResponseAddressesAddressIPAddress struct { Address string `json:"address,omitempty"` // IP address of the interface @@ -2084,53 +4214,91 @@ type ResponseDevicesGetIsisInterfacesResponseAddressesAddressIPMask struct { } type ResponseDevicesGetInterfaceInfoByID struct { Response *[]ResponseDevicesGetInterfaceInfoByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetInterfaceInfoByIDResponse struct { - Addresses *[]ResponseDevicesGetInterfaceInfoByIDResponseAddresses `json:"addresses,omitempty"` // - AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') - ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. - Description string `json:"description,omitempty"` // Description for the Interface - Name string `json:"name,omitempty"` // Name for the interface - DeviceID string `json:"deviceId,omitempty"` // Device Id of the device - Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex - ID string `json:"id,omitempty"` // ID of the Interface - IfIndex string `json:"ifIndex,omitempty"` // Interface index - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface - InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual - IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device - IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device - IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled - LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface - LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated - MacAddress string `json:"macAddress,omitempty"` // MAC address of interface - MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC - MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC - MediaType string `json:"mediaType,omitempty"` // Media Type of the interface - Mtu string `json:"mtu,omitempty"` // MTU Information of Interface - NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port - OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled - Pid string `json:"pid,omitempty"` // Platform ID of the device - PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed - PortName string `json:"portName,omitempty"` // Interface name - PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface - SerialNo string `json:"serialNo,omitempty"` // Serial number of the device - Series string `json:"series,omitempty"` // Series of the device - Speed string `json:"speed,omitempty"` // Speed of the interface - Status string `json:"status,omitempty"` // Interface status as Down / Up - VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface - VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface + Addresses *[]ResponseDevicesGetInterfaceInfoByIDResponseAddresses `json:"addresses,omitempty"` // + + AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') + + ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. + + Description string `json:"description,omitempty"` // Description for the Interface + + Name string `json:"name,omitempty"` // Name for the interface + + DeviceID string `json:"deviceId,omitempty"` // Device Id of the device + + Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex + + ID string `json:"id,omitempty"` // ID of the Interface + + IfIndex string `json:"ifIndex,omitempty"` // Interface index + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface + + InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual + + IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device + + IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device + + IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled + + LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface + + LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated + + MacAddress string `json:"macAddress,omitempty"` // MAC address of interface + + MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC + + MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC + + MediaType string `json:"mediaType,omitempty"` // Media Type of the interface + + Mtu string `json:"mtu,omitempty"` // MTU Information of Interface + + NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port + + OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled + + Pid string `json:"pid,omitempty"` // Platform ID of the device + + PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed + + PortName string `json:"portName,omitempty"` // Interface name + + PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface + + SerialNo string `json:"serialNo,omitempty"` // Serial number of the device + + Series string `json:"series,omitempty"` // Series of the device + + Speed string `json:"speed,omitempty"` // Speed of the interface + + Status string `json:"status,omitempty"` // Interface status as Down / Up + + VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface + + VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface } type ResponseDevicesGetInterfaceInfoByIDResponseAddresses struct { Address *ResponseDevicesGetInterfaceInfoByIDResponseAddressesAddress `json:"address,omitempty"` // - Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) + + Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) } type ResponseDevicesGetInterfaceInfoByIDResponseAddressesAddress struct { - IPAddress *ResponseDevicesGetInterfaceInfoByIDResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // - IPMask *ResponseDevicesGetInterfaceInfoByIDResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // - IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not + IPAddress *ResponseDevicesGetInterfaceInfoByIDResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // + + IPMask *ResponseDevicesGetInterfaceInfoByIDResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // + + IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not } type ResponseDevicesGetInterfaceInfoByIDResponseAddressesAddressIPAddress struct { Address string `json:"address,omitempty"` // IP address of the interface @@ -2139,120 +4307,203 @@ type ResponseDevicesGetInterfaceInfoByIDResponseAddressesAddressIPMask struct { Address string `json:"address,omitempty"` // IP Mask of the interface } type ResponseDevicesGetDeviceInterfaceCount struct { - Response *int `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + Response *int `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceName struct { Response *ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponse struct { - Addresses *[]ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddresses `json:"addresses,omitempty"` // - AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') - ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. - Description string `json:"description,omitempty"` // Description for the Interface - Name string `json:"name,omitempty"` // Name for the interface - DeviceID string `json:"deviceId,omitempty"` // Device Id of the device - Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex - ID string `json:"id,omitempty"` // ID of the Interface - IfIndex string `json:"ifIndex,omitempty"` // Interface index - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface - InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual - IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device - IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device - IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled - LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface - LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated - MacAddress string `json:"macAddress,omitempty"` // MAC address of interface - MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC - MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC - MediaType string `json:"mediaType,omitempty"` // Media Type of the interface - Mtu string `json:"mtu,omitempty"` // MTU Information of Interface - NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port - OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled - Pid string `json:"pid,omitempty"` // Platform ID of the device - PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed - PortName string `json:"portName,omitempty"` // Interface name - PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface - SerialNo string `json:"serialNo,omitempty"` // Serial number of the device - Series string `json:"series,omitempty"` // Series of the device - Speed string `json:"speed,omitempty"` // Speed of the interface - Status string `json:"status,omitempty"` // Interface status as Down / Up - VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface - VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface - Poweroverethernet string `json:"poweroverethernet,omitempty"` // This is internal attribute. Not to be used. Deprecated - NetworkdeviceID string `json:"networkdevice_id,omitempty"` // This is internal attribute. Not to be used. Deprecated - ManagedComputeElement string `json:"managedComputeElement,omitempty"` // This is internal attribute. Not to be used. Deprecated - ManagedNetworkElement string `json:"managedNetworkElement,omitempty"` // This is internal attribute. Not to be used. Deprecated - ManagedNetworkElementURL string `json:"managedNetworkElementUrl,omitempty"` // This is internal attribute. Not to be used. Deprecated - ManagedComputeElementURL string `json:"managedComputeElementUrl,omitempty"` // This is internal attribute. Not to be used. Deprecated -} -type ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddresses struct { - Address *ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddress `json:"address,omitempty"` // - Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) -} -type ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddress struct { - IPAddress *ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // - IPMask *ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // - IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not -} -type ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddressIPAddress struct { - Address string `json:"address,omitempty"` // IP address of the interface -} -type ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddressIPMask struct { - Address string `json:"address,omitempty"` // IP Mask of the interface -} -type ResponseDevicesGetDeviceInterfacesBySpecifiedRange struct { - Response *[]ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // -} -type ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponse struct { - Addresses *[]ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddresses `json:"addresses,omitempty"` // - AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') - ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. - Description string `json:"description,omitempty"` // Description for the Interface - Name string `json:"name,omitempty"` // Name for the interface - DeviceID string `json:"deviceId,omitempty"` // Device Id of the device - Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex - ID string `json:"id,omitempty"` // ID of the Interface - IfIndex string `json:"ifIndex,omitempty"` // Interface index - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface - InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual - IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device - IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device - IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled - LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface - LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated - MacAddress string `json:"macAddress,omitempty"` // MAC address of interface - MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC - MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC - MediaType string `json:"mediaType,omitempty"` // Media Type of the interface - Mtu string `json:"mtu,omitempty"` // MTU Information of Interface - NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port - OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled - Pid string `json:"pid,omitempty"` // Platform ID of the device - PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed - PortName string `json:"portName,omitempty"` // Interface name - PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface - SerialNo string `json:"serialNo,omitempty"` // Serial number of the device - Series string `json:"series,omitempty"` // Series of the device - Speed string `json:"speed,omitempty"` // Speed of the interface - Status string `json:"status,omitempty"` // Interface status as Down / Up - VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface - VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface -} -type ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddresses struct { + Addresses *[]ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddresses `json:"addresses,omitempty"` // + + AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') + + ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. + + Description string `json:"description,omitempty"` // Description for the Interface + + Name string `json:"name,omitempty"` // Name for the interface + + DeviceID string `json:"deviceId,omitempty"` // Device Id of the device + + Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex + + ID string `json:"id,omitempty"` // ID of the Interface + + IfIndex string `json:"ifIndex,omitempty"` // Interface index + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface + + InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual + + IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device + + IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device + + IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled + + LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface + + LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated + + MacAddress string `json:"macAddress,omitempty"` // MAC address of interface + + MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC + + MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC + + MediaType string `json:"mediaType,omitempty"` // Media Type of the interface + + Mtu string `json:"mtu,omitempty"` // MTU Information of Interface + + NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port + + OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled + + Pid string `json:"pid,omitempty"` // Platform ID of the device + + PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed + + PortName string `json:"portName,omitempty"` // Interface name + + PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface + + SerialNo string `json:"serialNo,omitempty"` // Serial number of the device + + Series string `json:"series,omitempty"` // Series of the device + + Speed string `json:"speed,omitempty"` // Speed of the interface + + Status string `json:"status,omitempty"` // Interface status as Down / Up + + VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface + + VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface + + Poweroverethernet string `json:"poweroverethernet,omitempty"` // This is internal attribute. Not to be used. Deprecated + + NetworkdeviceID string `json:"networkdevice_id,omitempty"` // This is internal attribute. Not to be used. Deprecated + + ManagedComputeElement string `json:"managedComputeElement,omitempty"` // This is internal attribute. Not to be used. Deprecated + + ManagedNetworkElement string `json:"managedNetworkElement,omitempty"` // This is internal attribute. Not to be used. Deprecated + + ManagedNetworkElementURL string `json:"managedNetworkElementUrl,omitempty"` // This is internal attribute. Not to be used. Deprecated + + ManagedComputeElementURL string `json:"managedComputeElementUrl,omitempty"` // This is internal attribute. Not to be used. Deprecated +} +type ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddresses struct { + Address *ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddress `json:"address,omitempty"` // + + Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) +} +type ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddress struct { + IPAddress *ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // + + IPMask *ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // + + IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not +} +type ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddressIPAddress struct { + Address string `json:"address,omitempty"` // IP address of the interface +} +type ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddressesAddressIPMask struct { + Address string `json:"address,omitempty"` // IP Mask of the interface +} +type ResponseDevicesGetDeviceInterfacesBySpecifiedRange struct { + Response *[]ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // +} +type ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponse struct { + Addresses *[]ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddresses `json:"addresses,omitempty"` // + + AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') + + ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. + + Description string `json:"description,omitempty"` // Description for the Interface + + Name string `json:"name,omitempty"` // Name for the interface + + DeviceID string `json:"deviceId,omitempty"` // Device Id of the device + + Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex + + ID string `json:"id,omitempty"` // ID of the Interface + + IfIndex string `json:"ifIndex,omitempty"` // Interface index + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface + + InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual + + IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device + + IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device + + IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled + + LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface + + LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated + + MacAddress string `json:"macAddress,omitempty"` // MAC address of interface + + MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC + + MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC + + MediaType string `json:"mediaType,omitempty"` // Media Type of the interface + + Mtu string `json:"mtu,omitempty"` // MTU Information of Interface + + NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port + + OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled + + Pid string `json:"pid,omitempty"` // Platform ID of the device + + PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed + + PortName string `json:"portName,omitempty"` // Interface name + + PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface + + SerialNo string `json:"serialNo,omitempty"` // Serial number of the device + + Series string `json:"series,omitempty"` // Series of the device + + Speed string `json:"speed,omitempty"` // Speed of the interface + + Status string `json:"status,omitempty"` // Interface status as Down / Up + + VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface + + VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface +} +type ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddresses struct { Address *ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddress `json:"address,omitempty"` // - Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) + + Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) } type ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddress struct { - IPAddress *ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // - IPMask *ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // - IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not + IPAddress *ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // + + IPMask *ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // + + IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not } type ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddressIPAddress struct { Address string `json:"address,omitempty"` // IP address of the interface @@ -2262,53 +4513,91 @@ type ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddressI } type ResponseDevicesGetOspfInterfaces struct { Response *[]ResponseDevicesGetOspfInterfacesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetOspfInterfacesResponse struct { - Addresses *[]ResponseDevicesGetOspfInterfacesResponseAddresses `json:"addresses,omitempty"` // - AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') - ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. - Description string `json:"description,omitempty"` // Description for the Interface - Name string `json:"name,omitempty"` // Name for the interface - DeviceID string `json:"deviceId,omitempty"` // Device Id of the device - Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex - ID string `json:"id,omitempty"` // ID of the Interface - IfIndex string `json:"ifIndex,omitempty"` // Interface index - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface - InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual - IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device - IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device - IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled - LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface - LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated - MacAddress string `json:"macAddress,omitempty"` // MAC address of interface - MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC - MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC - MediaType string `json:"mediaType,omitempty"` // Media Type of the interface - Mtu string `json:"mtu,omitempty"` // MTU Information of Interface - NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port - OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled - Pid string `json:"pid,omitempty"` // Platform ID of the device - PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed - PortName string `json:"portName,omitempty"` // Interface name - PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface - SerialNo string `json:"serialNo,omitempty"` // Serial number of the device - Series string `json:"series,omitempty"` // Series of the device - Speed string `json:"speed,omitempty"` // Speed of the interface - Status string `json:"status,omitempty"` // Interface status as Down / Up - VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface - VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface + Addresses *[]ResponseDevicesGetOspfInterfacesResponseAddresses `json:"addresses,omitempty"` // + + AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') + + ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. + + Description string `json:"description,omitempty"` // Description for the Interface + + Name string `json:"name,omitempty"` // Name for the interface + + DeviceID string `json:"deviceId,omitempty"` // Device Id of the device + + Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex + + ID string `json:"id,omitempty"` // ID of the Interface + + IfIndex string `json:"ifIndex,omitempty"` // Interface index + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface + + InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual + + IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device + + IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device + + IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled + + LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface + + LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated + + MacAddress string `json:"macAddress,omitempty"` // MAC address of interface + + MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC + + MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC + + MediaType string `json:"mediaType,omitempty"` // Media Type of the interface + + Mtu string `json:"mtu,omitempty"` // MTU Information of Interface + + NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port + + OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled + + Pid string `json:"pid,omitempty"` // Platform ID of the device + + PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed + + PortName string `json:"portName,omitempty"` // Interface name + + PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface + + SerialNo string `json:"serialNo,omitempty"` // Serial number of the device + + Series string `json:"series,omitempty"` // Series of the device + + Speed string `json:"speed,omitempty"` // Speed of the interface + + Status string `json:"status,omitempty"` // Interface status as Down / Up + + VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface + + VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface } type ResponseDevicesGetOspfInterfacesResponseAddresses struct { Address *ResponseDevicesGetOspfInterfacesResponseAddressesAddress `json:"address,omitempty"` // - Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) + + Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) } type ResponseDevicesGetOspfInterfacesResponseAddressesAddress struct { - IPAddress *ResponseDevicesGetOspfInterfacesResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // - IPMask *ResponseDevicesGetOspfInterfacesResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // - IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not + IPAddress *ResponseDevicesGetOspfInterfacesResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // + + IPMask *ResponseDevicesGetOspfInterfacesResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // + + IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not } type ResponseDevicesGetOspfInterfacesResponseAddressesAddressIPAddress struct { Address string `json:"address,omitempty"` // IP address of the interface @@ -2318,53 +4607,91 @@ type ResponseDevicesGetOspfInterfacesResponseAddressesAddressIPMask struct { } type ResponseDevicesGetInterfaceByID struct { Response *ResponseDevicesGetInterfaceByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetInterfaceByIDResponse struct { - Addresses *[]ResponseDevicesGetInterfaceByIDResponseAddresses `json:"addresses,omitempty"` // - AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') - ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. - Description string `json:"description,omitempty"` // Description for the Interface - Name string `json:"name,omitempty"` // Name for the interface - DeviceID string `json:"deviceId,omitempty"` // Device Id of the device - Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex - ID string `json:"id,omitempty"` // ID of the Interface - IfIndex string `json:"ifIndex,omitempty"` // Interface index - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface - InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual - IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device - IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device - IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled - LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface - LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated - MacAddress string `json:"macAddress,omitempty"` // MAC address of interface - MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC - MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC - MediaType string `json:"mediaType,omitempty"` // Media Type of the interface - Mtu string `json:"mtu,omitempty"` // MTU Information of Interface - NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port - OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled - Pid string `json:"pid,omitempty"` // Platform ID of the device - PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed - PortName string `json:"portName,omitempty"` // Interface name - PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface - SerialNo string `json:"serialNo,omitempty"` // Serial number of the device - Series string `json:"series,omitempty"` // Series of the device - Speed string `json:"speed,omitempty"` // Speed of the interface - Status string `json:"status,omitempty"` // Interface status as Down / Up - VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface - VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface + Addresses *[]ResponseDevicesGetInterfaceByIDResponseAddresses `json:"addresses,omitempty"` // + + AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') + + ClassName string `json:"className,omitempty"` // Classifies the port as switch port ,loopback interface etc. + + Description string `json:"description,omitempty"` // Description for the Interface + + Name string `json:"name,omitempty"` // Name for the interface + + DeviceID string `json:"deviceId,omitempty"` // Device Id of the device + + Duplex string `json:"duplex,omitempty"` // Interface duplex as AutoNegotiate or FullDuplex + + ID string `json:"id,omitempty"` // ID of the Interface + + IfIndex string `json:"ifIndex,omitempty"` // Interface index + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the Interface + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the Interface + + InterfaceType string `json:"interfaceType,omitempty"` // Interface type as Physical or Virtual + + IPv4Address string `json:"ipv4Address,omitempty"` // IPV4 Address of the device + + IPv4Mask string `json:"ipv4Mask,omitempty"` // IPV4 Mask of the device + + IsisSupport string `json:"isisSupport,omitempty"` // Flag for ISIS enabled / disabled + + LastOutgoingPacketTime *float64 `json:"lastOutgoingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was sent from this interface + + LastIncomingPacketTime *float64 `json:"lastIncomingPacketTime,omitempty"` // Time, in milliseconds since UNIX epoch, when the last packet was received on this interface + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the device interface info last got updated + + MacAddress string `json:"macAddress,omitempty"` // MAC address of interface + + MappedPhysicalInterfaceID string `json:"mappedPhysicalInterfaceId,omitempty"` // ID of physical interface mapped with the virtual interface of WLC + + MappedPhysicalInterfaceName string `json:"mappedPhysicalInterfaceName,omitempty"` // Physical interface name mapped with the virtual interface of WLC + + MediaType string `json:"mediaType,omitempty"` // Media Type of the interface + + Mtu string `json:"mtu,omitempty"` // MTU Information of Interface + + NativeVLANID string `json:"nativeVlanId,omitempty"` // Vlan to receive untagged frames on trunk port + + OspfSupport string `json:"ospfSupport,omitempty"` // Flag for OSPF enabled / disabled + + Pid string `json:"pid,omitempty"` // Platform ID of the device + + PortMode string `json:"portMode,omitempty"` // Port mode as access, trunk, routed + + PortName string `json:"portName,omitempty"` // Interface name + + PortType string `json:"portType,omitempty"` // Port type as Ethernet Port / Ethernet SVI / Ethernet Sub Interface + + SerialNo string `json:"serialNo,omitempty"` // Serial number of the device + + Series string `json:"series,omitempty"` // Series of the device + + Speed string `json:"speed,omitempty"` // Speed of the interface + + Status string `json:"status,omitempty"` // Interface status as Down / Up + + VLANID string `json:"vlanId,omitempty"` // Vlan ID of interface + + VoiceVLAN string `json:"voiceVlan,omitempty"` // Vlan information of the interface } type ResponseDevicesGetInterfaceByIDResponseAddresses struct { Address *ResponseDevicesGetInterfaceByIDResponseAddressesAddress `json:"address,omitempty"` // - Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) + + Type string `json:"type,omitempty"` // Type of the interface. For e.g. IPv4, IPv6 (with unicast, multicast, anycast, etc.) } type ResponseDevicesGetInterfaceByIDResponseAddressesAddress struct { - IPAddress *ResponseDevicesGetInterfaceByIDResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // - IPMask *ResponseDevicesGetInterfaceByIDResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // - IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not + IPAddress *ResponseDevicesGetInterfaceByIDResponseAddressesAddressIPAddress `json:"ipAddress,omitempty"` // + + IPMask *ResponseDevicesGetInterfaceByIDResponseAddressesAddressIPMask `json:"ipMask,omitempty"` // + + IsInverseMask *bool `json:"isInverseMask,omitempty"` // Inverse Mask of the IP address is enabled or not } type ResponseDevicesGetInterfaceByIDResponseAddressesAddressIPAddress struct { Address string `json:"address,omitempty"` // IP address of the interface @@ -2374,16 +4701,20 @@ type ResponseDevicesGetInterfaceByIDResponseAddressesAddressIPMask struct { } type ResponseDevicesUpdateInterfaceDetails struct { Response *ResponseDevicesUpdateInterfaceDetailsResponse `json:"response,omitempty"` // - Version *ResponseDevicesUpdateInterfaceDetailsVersion `json:"version,omitempty"` // + + Version *ResponseDevicesUpdateInterfaceDetailsVersion `json:"version,omitempty"` // } type ResponseDevicesUpdateInterfaceDetailsResponse struct { - Type string `json:"type,omitempty"` // Type + Type string `json:"type,omitempty"` // Type + Properties *ResponseDevicesUpdateInterfaceDetailsResponseProperties `json:"properties,omitempty"` // - Required []string `json:"required,omitempty"` // Required + + Required []string `json:"required,omitempty"` // Required } type ResponseDevicesUpdateInterfaceDetailsResponseProperties struct { TaskID *ResponseDevicesUpdateInterfaceDetailsResponsePropertiesTaskID `json:"taskId,omitempty"` // - URL *ResponseDevicesUpdateInterfaceDetailsResponsePropertiesURL `json:"url,omitempty"` // + + URL *ResponseDevicesUpdateInterfaceDetailsResponsePropertiesURL `json:"url,omitempty"` // } type ResponseDevicesUpdateInterfaceDetailsResponsePropertiesTaskID struct { Type string `json:"type,omitempty"` // Type @@ -2396,1609 +4727,5144 @@ type ResponseDevicesUpdateInterfaceDetailsVersion struct { } type ResponseDevicesLegitOperationsForInterface struct { Response *ResponseDevicesLegitOperationsForInterfaceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesLegitOperationsForInterfaceResponse struct { - InterfaceUUID string `json:"interfaceUuid,omitempty"` // Id of the Interface - Properties *[]ResponseDevicesLegitOperationsForInterfaceResponseProperties `json:"properties,omitempty"` // - Operations *[]ResponseDevicesLegitOperationsForInterfaceResponseOperations `json:"operations,omitempty"` // + InterfaceUUID string `json:"interfaceUuid,omitempty"` // Id of the Interface + + Properties *[]ResponseDevicesLegitOperationsForInterfaceResponseProperties `json:"properties,omitempty"` // + + Operations *[]ResponseDevicesLegitOperationsForInterfaceResponseOperations `json:"operations,omitempty"` // } type ResponseDevicesLegitOperationsForInterfaceResponseProperties struct { - Name string `json:"name,omitempty"` // Name of the Property - Applicable string `json:"applicable,omitempty"` // Checks if property is applicable to interface + Name string `json:"name,omitempty"` // Name of the Property + + Applicable string `json:"applicable,omitempty"` // Checks if property is applicable to interface + FailureReason string `json:"failureReason,omitempty"` // Failure reason of the Property } type ResponseDevicesLegitOperationsForInterfaceResponseOperations struct { - Name string `json:"name,omitempty"` // Name of the Operation - Applicable string `json:"applicable,omitempty"` // Checks if operation is applicable to interface + Name string `json:"name,omitempty"` // Name of the Operation + + Applicable string `json:"applicable,omitempty"` // Checks if operation is applicable to interface + FailureReason string `json:"failureReason,omitempty"` // Failure reason of the Operation } type ResponseDevicesClearMacAddressTable struct { Response *ResponseDevicesClearMacAddressTableResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesClearMacAddressTableResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseDevicesGetDeviceList struct { Response *[]ResponseDevicesGetDeviceListResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetDeviceListResponse struct { - ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices - ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status as Reachable / Unreachable - Series string `json:"series,omitempty"` // Device series - SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device - SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device - TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device - TunnelUDPPort string `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC - UptimeSeconds *float64 `json:"uptimeSeconds,omitempty"` // Uptime in Seconds - WaasDeviceMode string `json:"waasDeviceMode,omitempty"` // WAAS device mode - SerialNumber string `json:"serialNumber,omitempty"` // Serial number of device - LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated - MacAddress string `json:"macAddress,omitempty"` // MAC address of device - UpTime string `json:"upTime,omitempty"` // Time that shows for how long the device has been up - DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Support level of the device - Hostname string `json:"hostname,omitempty"` // Device name - Type string `json:"type,omitempty"` // Type of device as switch, router, wireless lan controller, accesspoints - MemorySize string `json:"memorySize,omitempty"` // Processor memory size - Family string `json:"family,omitempty"` // Family of device as switch, router, wireless lan controller, accesspoints - ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code - SoftwareType string `json:"softwareType,omitempty"` // Software type on the device - SoftwareVersion string `json:"softwareVersion,omitempty"` // Software version on the device - Description string `json:"description,omitempty"` // System description - RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto - Location string `json:"location,omitempty"` // [Deprecated] Location ID that is associated with the device - Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core - CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device - InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync - ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // AccessPoint Ethernet MacAddress of AP device - ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface - AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip address of the AP device - BootDateTime string `json:"bootDateTime,omitempty"` // Device boot time - CollectionStatus string `json:"collectionStatus,omitempty"` // Collection status as Synchronizing, Could not synchronize, Not manageable, Managed, Partial Collection Failure, Incomplete, Unreachable, Wrong credential, Reachable, In Progress - ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description - InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated - LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device - LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device - LocationName string `json:"locationName,omitempty"` // [Deprecated] Name of the associated location - ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // Indicates if device went into Managed state atleast once - ManagementIPAddress string `json:"managementIpAddress,omitempty"` // IP address of the device - PlatformID string `json:"platformId,omitempty"` // Platform ID of device - ManagementState string `json:"managementState,omitempty"` // Represents the current management state of the network element: managed, unmanaged, under maintenance, and so on. - PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Count of pending sync requests , if any - ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reason for last/ongoing sync - ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending sync requests , if any - SyncRequestedByApp string `json:"syncRequestedByApp,omitempty"` // Applications which requested for the resync of network device - LastManagedResyncReasons string `json:"lastManagedResyncReasons,omitempty"` // Reasons for last successful sync - DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // Specifies the resolved ip address of dns name - LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Start time for last/ongoing sync - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the device - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device - ID string `json:"id,omitempty"` // Instance Uuid of the device + ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices + + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status as Reachable / Unreachable + + Series string `json:"series,omitempty"` // Device series + + SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device + + SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device + + TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device + + TunnelUDPPort string `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC + + UptimeSeconds *float64 `json:"uptimeSeconds,omitempty"` // Uptime in Seconds + + WaasDeviceMode string `json:"waasDeviceMode,omitempty"` // WAAS device mode + + SerialNumber string `json:"serialNumber,omitempty"` // Serial number of device + + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated + + MacAddress string `json:"macAddress,omitempty"` // MAC address of device + + UpTime string `json:"upTime,omitempty"` // Time that shows for how long the device has been up + + DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Support level of the device + + Hostname string `json:"hostname,omitempty"` // Device name + + Type string `json:"type,omitempty"` // Type of device as switch, router, wireless lan controller, accesspoints + + MemorySize string `json:"memorySize,omitempty"` // Processor memory size + + Family string `json:"family,omitempty"` // Family of device as switch, router, wireless lan controller, accesspoints + + ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code + + SoftwareType string `json:"softwareType,omitempty"` // Software type on the device + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Software version on the device + + Description string `json:"description,omitempty"` // System description + + RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto + + Location string `json:"location,omitempty"` // [Deprecated] Location ID that is associated with the device + + Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core + + CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device + + InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync + + ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // AccessPoint Ethernet MacAddress of AP device + + ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface + + AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip address of the AP device + + BootDateTime string `json:"bootDateTime,omitempty"` // Device boot time + + CollectionStatus string `json:"collectionStatus,omitempty"` // Collection status as Synchronizing, Could not synchronize, Not manageable, Managed, Partial Collection Failure, Incomplete, Unreachable, Wrong credential, Reachable, In Progress + + ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description + + InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated + + LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device + + LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device + + LocationName string `json:"locationName,omitempty"` // [Deprecated] Name of the associated location + + ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // Indicates if device went into Managed state atleast once + + ManagementIPAddress string `json:"managementIpAddress,omitempty"` // IP address of the device + + PlatformID string `json:"platformId,omitempty"` // Platform ID of device + + ManagementState string `json:"managementState,omitempty"` // Represents the current management state of the network element: managed, unmanaged, under maintenance, and so on. + + PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Count of pending sync requests , if any + + ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reason for last/ongoing sync + + ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending sync requests , if any + + SyncRequestedByApp string `json:"syncRequestedByApp,omitempty"` // Applications which requested for the resync of network device + + LastManagedResyncReasons string `json:"lastManagedResyncReasons,omitempty"` // Reasons for last successful sync + + DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // Specifies the resolved ip address of dns name + + LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Start time for last/ongoing sync + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the device + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device + + ID string `json:"id,omitempty"` // Instance Uuid of the device } type ResponseDevicesAddDeviceKnowYourNetwork struct { Response *ResponseDevicesAddDeviceKnowYourNetworkResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesAddDeviceKnowYourNetworkResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDevicesUpdateDeviceDetails struct { Response *ResponseDevicesUpdateDeviceDetailsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesUpdateDeviceDetailsResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } -type ResponseDevicesGetDeviceValuesThatMatchFullyOrPartiallyAnAttribute interface{} -type ResponseDevicesUpdateDeviceRole struct { - Response *ResponseDevicesUpdateDeviceRoleResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // +type ResponseDevicesGetDeviceValuesThatMatchFullyOrPartiallyAnAttribute struct { + Response []string `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // +} +type ResponseDevicesUpdateDeviceRole struct { + Response *ResponseDevicesUpdateDeviceRoleResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesUpdateDeviceRoleResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDevicesGetPollingIntervalForAllDevices struct { - Response *int `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + Response *int `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetDeviceConfigForAllDevices struct { Response *[]ResponseDevicesGetDeviceConfigForAllDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetDeviceConfigForAllDevicesResponse struct { - AttributeInfo *ResponseDevicesGetDeviceConfigForAllDevicesResponseAttributeInfo `json:"attributeInfo,omitempty"` // - CdpNeighbors string `json:"cdpNeighbors,omitempty"` // - HealthMonitor string `json:"healthMonitor,omitempty"` // - ID string `json:"id,omitempty"` // - IntfDescription string `json:"intfDescription,omitempty"` // - Inventory string `json:"inventory,omitempty"` // - IPIntfBrief string `json:"ipIntfBrief,omitempty"` // - MacAddressTable string `json:"macAddressTable,omitempty"` // - RunningConfig string `json:"runningConfig,omitempty"` // - SNMP string `json:"snmp,omitempty"` // - Version string `json:"version,omitempty"` // + AttributeInfo *ResponseDevicesGetDeviceConfigForAllDevicesResponseAttributeInfo `json:"attributeInfo,omitempty"` // + + CdpNeighbors string `json:"cdpNeighbors,omitempty"` // + + HealthMonitor string `json:"healthMonitor,omitempty"` // + + ID string `json:"id,omitempty"` // + + IntfDescription string `json:"intfDescription,omitempty"` // + + Inventory string `json:"inventory,omitempty"` // + + IPIntfBrief string `json:"ipIntfBrief,omitempty"` // + + MacAddressTable string `json:"macAddressTable,omitempty"` // + + RunningConfig string `json:"runningConfig,omitempty"` // + + SNMP string `json:"snmp,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetDeviceConfigForAllDevicesResponseAttributeInfo interface{} type ResponseDevicesGetDeviceConfigCount struct { - Response *int `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + Response *int `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetDeviceCountKnowYourNetwork struct { - Response *int `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + Response *int `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesExportDeviceList struct { Response *ResponseDevicesExportDeviceListResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesExportDeviceListResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDevicesGetFunctionalCapabilityForDevices struct { Response *[]ResponseDevicesGetFunctionalCapabilityForDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetFunctionalCapabilityForDevicesResponse struct { - AttributeInfo *ResponseDevicesGetFunctionalCapabilityForDevicesResponseAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated - DeviceID string `json:"deviceId,omitempty"` // Device Id of the device + AttributeInfo *ResponseDevicesGetFunctionalCapabilityForDevicesResponseAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated + + DeviceID string `json:"deviceId,omitempty"` // Device Id of the device + FunctionalCapability *[]ResponseDevicesGetFunctionalCapabilityForDevicesResponseFunctionalCapability `json:"functionalCapability,omitempty"` // - ID string `json:"id,omitempty"` // Deprecated + + ID string `json:"id,omitempty"` // Deprecated } type ResponseDevicesGetFunctionalCapabilityForDevicesResponseAttributeInfo interface{} type ResponseDevicesGetFunctionalCapabilityForDevicesResponseFunctionalCapability struct { - AttributeInfo *ResponseDevicesGetFunctionalCapabilityForDevicesResponseFunctionalCapabilityAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated + AttributeInfo *ResponseDevicesGetFunctionalCapabilityForDevicesResponseFunctionalCapabilityAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated + FunctionDetails *[]ResponseDevicesGetFunctionalCapabilityForDevicesResponseFunctionalCapabilityFunctionDetails `json:"functionDetails,omitempty"` // - FunctionName string `json:"functionName,omitempty"` // Name of the function - FunctionOpState string `json:"functionOpState,omitempty"` // Operational state of the function - ID string `json:"id,omitempty"` // Id of the function + + FunctionName string `json:"functionName,omitempty"` // Name of the function + + FunctionOpState string `json:"functionOpState,omitempty"` // Operational state of the function + + ID string `json:"id,omitempty"` // Id of the function } type ResponseDevicesGetFunctionalCapabilityForDevicesResponseFunctionalCapabilityAttributeInfo interface{} type ResponseDevicesGetFunctionalCapabilityForDevicesResponseFunctionalCapabilityFunctionDetails struct { AttributeInfo *ResponseDevicesGetFunctionalCapabilityForDevicesResponseFunctionalCapabilityFunctionDetailsAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated - ID string `json:"id,omitempty"` // Deprecated - PropertyName string `json:"propertyName,omitempty"` // Property Name of the function - StringValue string `json:"stringValue,omitempty"` // Value for the property + + ID string `json:"id,omitempty"` // Deprecated + + PropertyName string `json:"propertyName,omitempty"` // Property Name of the function + + StringValue string `json:"stringValue,omitempty"` // Value for the property } type ResponseDevicesGetFunctionalCapabilityForDevicesResponseFunctionalCapabilityFunctionDetailsAttributeInfo interface{} type ResponseDevicesGetFunctionalCapabilityByID struct { Response *ResponseDevicesGetFunctionalCapabilityByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetFunctionalCapabilityByIDResponse struct { - AttributeInfo *ResponseDevicesGetFunctionalCapabilityByIDResponseAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated + AttributeInfo *ResponseDevicesGetFunctionalCapabilityByIDResponseAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated + FunctionDetails *[]ResponseDevicesGetFunctionalCapabilityByIDResponseFunctionDetails `json:"functionDetails,omitempty"` // - FunctionName string `json:"functionName,omitempty"` // Name of the function - FunctionOpState string `json:"functionOpState,omitempty"` // Operational state of the function - ID string `json:"id,omitempty"` // Id of the function + + FunctionName string `json:"functionName,omitempty"` // Name of the function + + FunctionOpState string `json:"functionOpState,omitempty"` // Operational state of the function + + ID string `json:"id,omitempty"` // Id of the function } type ResponseDevicesGetFunctionalCapabilityByIDResponseAttributeInfo interface{} type ResponseDevicesGetFunctionalCapabilityByIDResponseFunctionDetails struct { AttributeInfo *ResponseDevicesGetFunctionalCapabilityByIDResponseFunctionDetailsAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated - ID string `json:"id,omitempty"` // Deprecated - PropertyName string `json:"propertyName,omitempty"` // Property Name of the function - StringValue string `json:"stringValue,omitempty"` // Value for the property + + ID string `json:"id,omitempty"` // Deprecated + + PropertyName string `json:"propertyName,omitempty"` // Property Name of the function + + StringValue string `json:"stringValue,omitempty"` // Value for the property } type ResponseDevicesGetFunctionalCapabilityByIDResponseFunctionDetailsAttributeInfo interface{} type ResponseDevicesInventoryInsightDeviceLinkMismatchAPI struct { Response *[]ResponseDevicesInventoryInsightDeviceLinkMismatchAPIResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Api version + + Version string `json:"version,omitempty"` // Api version } type ResponseDevicesInventoryInsightDeviceLinkMismatchAPIResponse struct { - EndPortAllowedVLANIDs string `json:"endPortAllowedVlanIds,omitempty"` // End port allowed vlan ids - EndPortNativeVLANID string `json:"endPortNativeVlanId,omitempty"` // End port native vlan id - StartPortAllowedVLANIDs string `json:"startPortAllowedVlanIds,omitempty"` // Start port allowed vlan ids - StartPortNativeVLANID string `json:"startPortNativeVlanId,omitempty"` // Start port native vlan id - LinkStatus string `json:"linkStatus,omitempty"` // Link status - EndDeviceHostName string `json:"endDeviceHostName,omitempty"` // End device hostname - EndDeviceID string `json:"endDeviceId,omitempty"` // End device id - EndDeviceIPAddress string `json:"endDeviceIpAddress,omitempty"` // End device ip address - EndPortAddress string `json:"endPortAddress,omitempty"` // End port address - EndPortDuplex string `json:"endPortDuplex,omitempty"` // End port duplex - EndPortID string `json:"endPortId,omitempty"` // End port id - EndPortMask string `json:"endPortMask,omitempty"` // End port mask - EndPortName string `json:"endPortName,omitempty"` // End port name - EndPortPepID string `json:"endPortPepId,omitempty"` // End port pep id - EndPortSpeed string `json:"endPortSpeed,omitempty"` // End port speed - StartDeviceHostName string `json:"startDeviceHostName,omitempty"` // Start device hostname - StartDeviceID string `json:"startDeviceId,omitempty"` // Start device id - StartDeviceIPAddress string `json:"startDeviceIpAddress,omitempty"` // Start device ip address - StartPortAddress string `json:"startPortAddress,omitempty"` // Start port address - StartPortDuplex string `json:"startPortDuplex,omitempty"` // Start port duplex - StartPortID string `json:"startPortId,omitempty"` // Start port id - StartPortMask string `json:"startPortMask,omitempty"` // Start port mask - StartPortName string `json:"startPortName,omitempty"` // Start port name - StartPortPepID string `json:"startPortPepId,omitempty"` // Start port pep id - StartPortSpeed string `json:"startPortSpeed,omitempty"` // Start port speed - LastUpdated string `json:"lastUpdated,omitempty"` // Last updated - NumUpdates *float64 `json:"numUpdates,omitempty"` // Number updates - AvgUpdateFrequency *float64 `json:"avgUpdateFrequency,omitempty"` // Average update frequency - Type string `json:"type,omitempty"` // Type - InstanceUUID string `json:"instanceUuid,omitempty"` // Unique instance id - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance tenant id + EndPortAllowedVLANIDs string `json:"endPortAllowedVlanIds,omitempty"` // End port allowed vlan ids + + EndPortNativeVLANID string `json:"endPortNativeVlanId,omitempty"` // End port native vlan id + + StartPortAllowedVLANIDs string `json:"startPortAllowedVlanIds,omitempty"` // Start port allowed vlan ids + + StartPortNativeVLANID string `json:"startPortNativeVlanId,omitempty"` // Start port native vlan id + + LinkStatus string `json:"linkStatus,omitempty"` // Link status + + EndDeviceHostName string `json:"endDeviceHostName,omitempty"` // End device hostname + + EndDeviceID string `json:"endDeviceId,omitempty"` // End device id + + EndDeviceIPAddress string `json:"endDeviceIpAddress,omitempty"` // End device ip address + + EndPortAddress string `json:"endPortAddress,omitempty"` // End port address + + EndPortDuplex string `json:"endPortDuplex,omitempty"` // End port duplex + + EndPortID string `json:"endPortId,omitempty"` // End port id + + EndPortMask string `json:"endPortMask,omitempty"` // End port mask + + EndPortName string `json:"endPortName,omitempty"` // End port name + + EndPortPepID string `json:"endPortPepId,omitempty"` // End port pep id + + EndPortSpeed string `json:"endPortSpeed,omitempty"` // End port speed + + StartDeviceHostName string `json:"startDeviceHostName,omitempty"` // Start device hostname + + StartDeviceID string `json:"startDeviceId,omitempty"` // Start device id + + StartDeviceIPAddress string `json:"startDeviceIpAddress,omitempty"` // Start device ip address + + StartPortAddress string `json:"startPortAddress,omitempty"` // Start port address + + StartPortDuplex string `json:"startPortDuplex,omitempty"` // Start port duplex + + StartPortID string `json:"startPortId,omitempty"` // Start port id + + StartPortMask string `json:"startPortMask,omitempty"` // Start port mask + + StartPortName string `json:"startPortName,omitempty"` // Start port name + + StartPortPepID string `json:"startPortPepId,omitempty"` // Start port pep id + + StartPortSpeed string `json:"startPortSpeed,omitempty"` // Start port speed + + LastUpdated string `json:"lastUpdated,omitempty"` // Last updated + + NumUpdates *float64 `json:"numUpdates,omitempty"` // Number updates + + AvgUpdateFrequency *float64 `json:"avgUpdateFrequency,omitempty"` // Average update frequency + + Type string `json:"type,omitempty"` // Type + + InstanceUUID string `json:"instanceUuid,omitempty"` // Unique instance id + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance tenant id } type ResponseDevicesGetNetworkDeviceByIP struct { Response *ResponseDevicesGetNetworkDeviceByIPResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetNetworkDeviceByIPResponse struct { - ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface - AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip address of the AP device - BootDateTime string `json:"bootDateTime,omitempty"` // Device boot time - CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device - CollectionStatus string `json:"collectionStatus,omitempty"` // Collection status as Synchronizing, Could not synchronize, Not manageable, Managed, Partial Collection Failure, Incomplete, Unreachable, Wrong credential, Reachable, In Progress - ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code - ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description - Family string `json:"family,omitempty"` // Family of device as switch, router, wireless lan controller, accesspoints - Hostname string `json:"hostname,omitempty"` // Device name - ID string `json:"id,omitempty"` // Instance Uuid of the device - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the device - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device - InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device - InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync - LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated - LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device - LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device - Location string `json:"location,omitempty"` // [Deprecated] Location ID that is associated with the device - LocationName string `json:"locationName,omitempty"` // [Deprecated] Name of the associated location - MacAddress string `json:"macAddress,omitempty"` // MAC address of device - ManagementIPAddress string `json:"managementIpAddress,omitempty"` // IP address of the device - MemorySize string `json:"memorySize,omitempty"` // Processor memory size - PlatformID string `json:"platformId,omitempty"` // Platform ID of device - ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices - ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status as Reachable / Unreachable - Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core - RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto - SerialNumber string `json:"serialNumber,omitempty"` // Serial number of device - Series string `json:"series,omitempty"` // Device series - SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device - SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device - SoftwareType string `json:"softwareType,omitempty"` // Software type on the device - SoftwareVersion string `json:"softwareVersion,omitempty"` // Software version on the device - TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device - TunnelUDPPort string `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC - Type string `json:"type,omitempty"` // Type of device as switch, router, wireless lan controller, accesspoints - UpTime string `json:"upTime,omitempty"` // Time that shows for how long the device has been up - WaasDeviceMode string `json:"waasDeviceMode,omitempty"` // WAAS device mode - DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // Specifies the resolved ip address of dns name - ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // AccessPoint Ethernet MacAddress of AP device - Vendor string `json:"vendor,omitempty"` // Vendor details - ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending sync requests , if any - PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Count of pending sync requests , if any - ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reason for last/ongoing sync - LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Start time for last/ongoing sync - UptimeSeconds *float64 `json:"uptimeSeconds,omitempty"` // Uptime in Seconds - ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // Indicates if device went into Managed state atleast once - DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Support level of the device - ManagementState string `json:"managementState,omitempty"` // Represents the current management state of the network element: managed, unmanaged, under maintenance, and so on. - Description string `json:"description,omitempty"` // System description + ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface + + AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip address of the AP device + + BootDateTime string `json:"bootDateTime,omitempty"` // Device boot time + + CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device + + CollectionStatus string `json:"collectionStatus,omitempty"` // Collection status as Synchronizing, Could not synchronize, Not manageable, Managed, Partial Collection Failure, Incomplete, Unreachable, Wrong credential, Reachable, In Progress + + ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code + + ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description + + Family string `json:"family,omitempty"` // Family of device as switch, router, wireless lan controller, accesspoints + + Hostname string `json:"hostname,omitempty"` // Device name + + ID string `json:"id,omitempty"` // Instance Uuid of the device + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the device + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device + + InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device + + InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync + + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated + + LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device + + LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device + + Location string `json:"location,omitempty"` // [Deprecated] Location ID that is associated with the device + + LocationName string `json:"locationName,omitempty"` // [Deprecated] Name of the associated location + + MacAddress string `json:"macAddress,omitempty"` // MAC address of device + + ManagementIPAddress string `json:"managementIpAddress,omitempty"` // IP address of the device + + MemorySize string `json:"memorySize,omitempty"` // Processor memory size + + PlatformID string `json:"platformId,omitempty"` // Platform ID of device + + ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices + + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status as Reachable / Unreachable + + Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core + + RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto + + SerialNumber string `json:"serialNumber,omitempty"` // Serial number of device + + Series string `json:"series,omitempty"` // Device series + + SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device + + SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device + + SoftwareType string `json:"softwareType,omitempty"` // Software type on the device + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Software version on the device + + TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device + + TunnelUDPPort string `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC + + Type string `json:"type,omitempty"` // Type of device as switch, router, wireless lan controller, accesspoints + + UpTime string `json:"upTime,omitempty"` // Time that shows for how long the device has been up + + WaasDeviceMode string `json:"waasDeviceMode,omitempty"` // WAAS device mode + + DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // Specifies the resolved ip address of dns name + + ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // AccessPoint Ethernet MacAddress of AP device + + Vendor string `json:"vendor,omitempty"` // Vendor details + + ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending sync requests , if any + + PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Count of pending sync requests , if any + + ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reason for last/ongoing sync + + LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Start time for last/ongoing sync + + UptimeSeconds *float64 `json:"uptimeSeconds,omitempty"` // Uptime in Seconds + + ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // Indicates if device went into Managed state atleast once + + DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Support level of the device + + ManagementState string `json:"managementState,omitempty"` // Represents the current management state of the network element: managed, unmanaged, under maintenance, and so on. + + Description string `json:"description,omitempty"` // System description } type ResponseDevicesGetModules struct { Response *[]ResponseDevicesGetModulesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetModulesResponse struct { - AssemblyNumber string `json:"assemblyNumber,omitempty"` // Assembly Number of the module - AssemblyRevision string `json:"assemblyRevision,omitempty"` // Assembly Revision of the module - AttributeInfo *ResponseDevicesGetModulesResponseAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated - ContainmentEntity string `json:"containmentEntity,omitempty"` // Containment Entity of the module - Description string `json:"description,omitempty"` // Description of the module - EntityPhysicalIndex string `json:"entityPhysicalIndex,omitempty"` // Entity Physical Index of the module - ID string `json:"id,omitempty"` // ID of the module - IsFieldReplaceable string `json:"isFieldReplaceable,omitempty"` // To mention if field is replaceable - IsReportingAlarmsAllowed string `json:"isReportingAlarmsAllowed,omitempty"` // To mention if reporting alarms are allowed - Manufacturer string `json:"manufacturer,omitempty"` // Manufacturer of the module - ModuleIndex *int `json:"moduleIndex,omitempty"` // Index of the module - Name string `json:"name,omitempty"` // Name of the module - OperationalStateCode string `json:"operationalStateCode,omitempty"` // Operational state of the module - PartNumber string `json:"partNumber,omitempty"` // Part number of the module - SerialNumber string `json:"serialNumber,omitempty"` // Serial number of the module - VendorEquipmentType string `json:"vendorEquipmentType,omitempty"` // Vendor euipment type of the module + AssemblyNumber string `json:"assemblyNumber,omitempty"` // Assembly Number of the module + + AssemblyRevision string `json:"assemblyRevision,omitempty"` // Assembly Revision of the module + + AttributeInfo *ResponseDevicesGetModulesResponseAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated + + ContainmentEntity string `json:"containmentEntity,omitempty"` // Containment Entity of the module + + Description string `json:"description,omitempty"` // Description of the module + + EntityPhysicalIndex string `json:"entityPhysicalIndex,omitempty"` // Entity Physical Index of the module + + ID string `json:"id,omitempty"` // ID of the module + + IsFieldReplaceable string `json:"isFieldReplaceable,omitempty"` // To mention if field is replaceable + + IsReportingAlarmsAllowed string `json:"isReportingAlarmsAllowed,omitempty"` // To mention if reporting alarms are allowed + + Manufacturer string `json:"manufacturer,omitempty"` // Manufacturer of the module + + ModuleIndex *int `json:"moduleIndex,omitempty"` // Index of the module + + Name string `json:"name,omitempty"` // Name of the module + + OperationalStateCode string `json:"operationalStateCode,omitempty"` // Operational state of the module + + PartNumber string `json:"partNumber,omitempty"` // Part number of the module + + SerialNumber string `json:"serialNumber,omitempty"` // Serial number of the module + + VendorEquipmentType string `json:"vendorEquipmentType,omitempty"` // Vendor euipment type of the module } type ResponseDevicesGetModulesResponseAttributeInfo interface{} type ResponseDevicesGetModuleCount struct { - Response *int `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + Response *int `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetModuleInfoByID struct { Response *ResponseDevicesGetModuleInfoByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetModuleInfoByIDResponse struct { - AssemblyNumber string `json:"assemblyNumber,omitempty"` // Assembly number of the module - AssemblyRevision string `json:"assemblyRevision,omitempty"` // Assembly revision of the module - AttributeInfo *ResponseDevicesGetModuleInfoByIDResponseAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated - ContainmentEntity string `json:"containmentEntity,omitempty"` // Containment entity of the module - Description string `json:"description,omitempty"` // Description of the module - EntityPhysicalIndex string `json:"entityPhysicalIndex,omitempty"` // Entity physical index of the module - ID string `json:"id,omitempty"` // Id of the module - IsFieldReplaceable string `json:"isFieldReplaceable,omitempty"` // To mention if field is replaceable - IsReportingAlarmsAllowed string `json:"isReportingAlarmsAllowed,omitempty"` // To mention if reporting alarms are allowed - Manufacturer string `json:"manufacturer,omitempty"` // Manufacturer of the module - ModuleIndex *int `json:"moduleIndex,omitempty"` // Index of the module - Name string `json:"name,omitempty"` // Name of the module - OperationalStateCode string `json:"operationalStateCode,omitempty"` // Operational state of the module - PartNumber string `json:"partNumber,omitempty"` // Part number of the module - SerialNumber string `json:"serialNumber,omitempty"` // Serial number of the modules - VendorEquipmentType string `json:"vendorEquipmentType,omitempty"` // Vendor equipment type of the module + AssemblyNumber string `json:"assemblyNumber,omitempty"` // Assembly number of the module + + AssemblyRevision string `json:"assemblyRevision,omitempty"` // Assembly revision of the module + + AttributeInfo *ResponseDevicesGetModuleInfoByIDResponseAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated + + ContainmentEntity string `json:"containmentEntity,omitempty"` // Containment entity of the module + + Description string `json:"description,omitempty"` // Description of the module + + EntityPhysicalIndex string `json:"entityPhysicalIndex,omitempty"` // Entity physical index of the module + + ID string `json:"id,omitempty"` // Id of the module + + IsFieldReplaceable string `json:"isFieldReplaceable,omitempty"` // To mention if field is replaceable + + IsReportingAlarmsAllowed string `json:"isReportingAlarmsAllowed,omitempty"` // To mention if reporting alarms are allowed + + Manufacturer string `json:"manufacturer,omitempty"` // Manufacturer of the module + + ModuleIndex *int `json:"moduleIndex,omitempty"` // Index of the module + + Name string `json:"name,omitempty"` // Name of the module + + OperationalStateCode string `json:"operationalStateCode,omitempty"` // Operational state of the module + + PartNumber string `json:"partNumber,omitempty"` // Part number of the module + + SerialNumber string `json:"serialNumber,omitempty"` // Serial number of the modules + + VendorEquipmentType string `json:"vendorEquipmentType,omitempty"` // Vendor equipment type of the module } type ResponseDevicesGetModuleInfoByIDResponseAttributeInfo interface{} type ResponseDevicesGetDeviceBySerialNumber struct { Response *ResponseDevicesGetDeviceBySerialNumberResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetDeviceBySerialNumberResponse struct { - ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface - AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip address of the AP device - BootDateTime string `json:"bootDateTime,omitempty"` // Device boot time - CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device - CollectionStatus string `json:"collectionStatus,omitempty"` // Collection status as Synchronizing, Could not synchronize, Not manageable, Managed, Partial Collection Failure, Incomplete, Unreachable, Wrong credential, Reachable, In Progress - ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code - ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description - Family string `json:"family,omitempty"` // Family of device as switch, router, wireless lan controller, accesspoints - Hostname string `json:"hostname,omitempty"` // Device name - ID string `json:"id,omitempty"` // Instance Uuid of the device - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the device - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device - InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device - InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync - LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated - LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device - LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device - Location string `json:"location,omitempty"` // [Deprecated] Location ID that is associated with the device - LocationName string `json:"locationName,omitempty"` // [Deprecated] Name of the associated location - MacAddress string `json:"macAddress,omitempty"` // MAC address of device - ManagementIPAddress string `json:"managementIpAddress,omitempty"` // IP address of the device - MemorySize string `json:"memorySize,omitempty"` // Processor memory size - PlatformID string `json:"platformId,omitempty"` // Platform ID of device - ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices - ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status as Reachable / Unreachable - Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core - RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto - SerialNumber string `json:"serialNumber,omitempty"` // Serial number of device - Series string `json:"series,omitempty"` // Device series - SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device - SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device - SoftwareType string `json:"softwareType,omitempty"` // Software type on the device - SoftwareVersion string `json:"softwareVersion,omitempty"` // Software version on the device - TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device - TunnelUDPPort string `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC - Type string `json:"type,omitempty"` // Type of device as switch, router, wireless lan controller, accesspoints - UpTime string `json:"upTime,omitempty"` // Time that shows for how long the device has been up - WaasDeviceMode string `json:"waasDeviceMode,omitempty"` // WAAS device mode - DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // Specifies the resolved ip address of dns name - ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // AccessPoint Ethernet MacAddress of AP device - Vendor string `json:"vendor,omitempty"` // Vendor details - ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending sync requests , if any - PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Count of pending sync requests , if any - ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reason for last/ongoing sync - LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Start time for last/ongoing sync - UptimeSeconds *float64 `json:"uptimeSeconds,omitempty"` // Uptime in Seconds - ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // Indicates if device went into Managed state atleast once - DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Support level of the device - ManagementState string `json:"managementState,omitempty"` // Represents the current management state of the network element: managed, unmanaged, under maintenance, and so on. - Description string `json:"description,omitempty"` // System description + ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface + + AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip address of the AP device + + BootDateTime string `json:"bootDateTime,omitempty"` // Device boot time + + CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device + + CollectionStatus string `json:"collectionStatus,omitempty"` // Collection status as Synchronizing, Could not synchronize, Not manageable, Managed, Partial Collection Failure, Incomplete, Unreachable, Wrong credential, Reachable, In Progress + + ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code + + ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description + + Family string `json:"family,omitempty"` // Family of device as switch, router, wireless lan controller, accesspoints + + Hostname string `json:"hostname,omitempty"` // Device name + + ID string `json:"id,omitempty"` // Instance Uuid of the device + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the device + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device + + InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device + + InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync + + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated + + LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device + + LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device + + Location string `json:"location,omitempty"` // [Deprecated] Location ID that is associated with the device + + LocationName string `json:"locationName,omitempty"` // [Deprecated] Name of the associated location + + MacAddress string `json:"macAddress,omitempty"` // MAC address of device + + ManagementIPAddress string `json:"managementIpAddress,omitempty"` // IP address of the device + + MemorySize string `json:"memorySize,omitempty"` // Processor memory size + + PlatformID string `json:"platformId,omitempty"` // Platform ID of device + + ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices + + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status as Reachable / Unreachable + + Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core + + RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto + + SerialNumber string `json:"serialNumber,omitempty"` // Serial number of device + + Series string `json:"series,omitempty"` // Device series + + SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device + + SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device + + SoftwareType string `json:"softwareType,omitempty"` // Software type on the device + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Software version on the device + + TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device + + TunnelUDPPort string `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC + + Type string `json:"type,omitempty"` // Type of device as switch, router, wireless lan controller, accesspoints + + UpTime string `json:"upTime,omitempty"` // Time that shows for how long the device has been up + + WaasDeviceMode string `json:"waasDeviceMode,omitempty"` // WAAS device mode + + DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // Specifies the resolved ip address of dns name + + ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // AccessPoint Ethernet MacAddress of AP device + + Vendor string `json:"vendor,omitempty"` // Vendor details + + ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending sync requests , if any + + PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Count of pending sync requests , if any + + ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reason for last/ongoing sync + + LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Start time for last/ongoing sync + + UptimeSeconds *float64 `json:"uptimeSeconds,omitempty"` // Uptime in Seconds + + ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // Indicates if device went into Managed state atleast once + + DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Support level of the device + + ManagementState string `json:"managementState,omitempty"` // Represents the current management state of the network element: managed, unmanaged, under maintenance, and so on. + + Description string `json:"description,omitempty"` // System description } type ResponseDevicesSyncDevices struct { Response *ResponseDevicesSyncDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesSyncDevicesResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDevicesGetDevicesRegisteredForWsaNotification struct { Response *ResponseDevicesGetDevicesRegisteredForWsaNotificationResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetDevicesRegisteredForWsaNotificationResponse struct { - MacAddress string `json:"macAddress,omitempty"` // MAC address of device - ModelNumber string `json:"modelNumber,omitempty"` // Model number of the device - Name string `json:"name,omitempty"` // Name of the device + MacAddress string `json:"macAddress,omitempty"` // MAC address of device + + ModelNumber string `json:"modelNumber,omitempty"` // Model number of the device + + Name string `json:"name,omitempty"` // Name of the device + SerialNumber string `json:"serialNumber,omitempty"` // Serial Number of the device - TenantID string `json:"tenantId,omitempty"` // Tenant Id of the device + + TenantID string `json:"tenantId,omitempty"` // Tenant Id of the device } type ResponseDevicesGetAllUserDefinedFields struct { Response *[]ResponseDevicesGetAllUserDefinedFieldsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetAllUserDefinedFieldsResponse struct { - ID string `json:"id,omitempty"` // DeviceId of the Device - Name string `json:"name,omitempty"` // UDF name + ID string `json:"id,omitempty"` // DeviceId of the Device + + Name string `json:"name,omitempty"` // UDF name + Description string `json:"description,omitempty"` // Description for UDF } type ResponseDevicesCreateUserDefinedField struct { Response *ResponseDevicesCreateUserDefinedFieldResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesCreateUserDefinedFieldResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseDevicesUpdateUserDefinedField struct { Response *ResponseDevicesUpdateUserDefinedFieldResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesUpdateUserDefinedFieldResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseDevicesDeleteUserDefinedField struct { Response *ResponseDevicesDeleteUserDefinedFieldResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesDeleteUserDefinedFieldResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseDevicesGetChassisDetailsForDevice struct { Response *[]ResponseDevicesGetChassisDetailsForDeviceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetChassisDetailsForDeviceResponse struct { - AssemblyNumber string `json:"assemblyNumber,omitempty"` // Assembly Number of the chassis - AssemblyRevision string `json:"assemblyRevision,omitempty"` // Assembly Revision of the chassis - ContainmentEntity string `json:"containmentEntity,omitempty"` // Containment Entity of the chassis - Description string `json:"description,omitempty"` // Description of the chassis - EntityPhysicalIndex string `json:"entityPhysicalIndex,omitempty"` // Entity Physical Index of the chassis - HardwareVersion string `json:"hardwareVersion,omitempty"` // Hardware Version of the chassis - InstanceUUID string `json:"instanceUuid,omitempty"` // ID of the chassis - IsFieldReplaceable string `json:"isFieldReplaceable,omitempty"` // To mention if field is replaceable + AssemblyNumber string `json:"assemblyNumber,omitempty"` // Assembly Number of the chassis + + AssemblyRevision string `json:"assemblyRevision,omitempty"` // Assembly Revision of the chassis + + ContainmentEntity string `json:"containmentEntity,omitempty"` // Containment Entity of the chassis + + Description string `json:"description,omitempty"` // Description of the chassis + + EntityPhysicalIndex string `json:"entityPhysicalIndex,omitempty"` // Entity Physical Index of the chassis + + HardwareVersion string `json:"hardwareVersion,omitempty"` // Hardware Version of the chassis + + InstanceUUID string `json:"instanceUuid,omitempty"` // ID of the chassis + + IsFieldReplaceable string `json:"isFieldReplaceable,omitempty"` // To mention if field is replaceable + IsReportingAlarmsAllowed string `json:"isReportingAlarmsAllowed,omitempty"` // To mention if reporting alarms are allowed - Manufacturer string `json:"manufacturer,omitempty"` // Manufacturer of the chassis - Name string `json:"name,omitempty"` // Name of the chassis - PartNumber string `json:"partNumber,omitempty"` // Part Number of the chassis - SerialNumber string `json:"serialNumber,omitempty"` // Serial Number of the chassis - VendorEquipmentType string `json:"vendorEquipmentType,omitempty"` // Vendor Equipment Type of the chassis + + Manufacturer string `json:"manufacturer,omitempty"` // Manufacturer of the chassis + + Name string `json:"name,omitempty"` // Name of the chassis + + PartNumber string `json:"partNumber,omitempty"` // Part Number of the chassis + + SerialNumber string `json:"serialNumber,omitempty"` // Serial Number of the chassis + + VendorEquipmentType string `json:"vendorEquipmentType,omitempty"` // Vendor Equipment Type of the chassis } type ResponseDevicesGetStackDetailsForDevice struct { Response *ResponseDevicesGetStackDetailsForDeviceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetStackDetailsForDeviceResponse struct { - DeviceID string `json:"deviceId,omitempty"` // Device ID - StackPortInfo *[]ResponseDevicesGetStackDetailsForDeviceResponseStackPortInfo `json:"stackPortInfo,omitempty"` // + DeviceID string `json:"deviceId,omitempty"` // Device ID + + StackPortInfo *[]ResponseDevicesGetStackDetailsForDeviceResponseStackPortInfo `json:"stackPortInfo,omitempty"` // + StackSwitchInfo *[]ResponseDevicesGetStackDetailsForDeviceResponseStackSwitchInfo `json:"stackSwitchInfo,omitempty"` // - SvlSwitchInfo *[]ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfo `json:"svlSwitchInfo,omitempty"` // + + SvlSwitchInfo *[]ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfo `json:"svlSwitchInfo,omitempty"` // } type ResponseDevicesGetStackDetailsForDeviceResponseStackPortInfo struct { - IsSynchOk string `json:"isSynchOk,omitempty"` // If link partner sends valid protocol message - LinkActive *bool `json:"linkActive,omitempty"` // If stack port is in same state as link partner - LinkOk *bool `json:"linkOk,omitempty"` // If link is stable - Name string `json:"name,omitempty"` // Name of the stack port - NeighborPort string `json:"neighborPort,omitempty"` // Neighbor's member number and stack port number - NrLinkOkChanges *int `json:"nrLinkOkChanges,omitempty"` // Relative stability of the link - StackCableLengthInfo string `json:"stackCableLengthInfo,omitempty"` // Cable length - StackPortOperStatusInfo string `json:"stackPortOperStatusInfo,omitempty"` // Port opearation status - SwitchPort string `json:"switchPort,omitempty"` // Member number and stack port number -} -type ResponseDevicesGetStackDetailsForDeviceResponseStackSwitchInfo struct { - EntPhysicalIndex string `json:"entPhysicalIndex,omitempty"` // - HwPriority *int `json:"hwPriority,omitempty"` // Hardware priority of the switch - MacAddress string `json:"macAddress,omitempty"` // Mac address of the switch - NumNextReload *int `json:"numNextReload,omitempty"` // Stack member number to be used in next reload - PlatformID string `json:"platformId,omitempty"` // Platform Id - Role string `json:"role,omitempty"` // Function of the switch - SerialNumber string `json:"serialNumber,omitempty"` // Serial number - SoftwareImage string `json:"softwareImage,omitempty"` // Software image type running on the switch - StackMemberNumber *int `json:"stackMemberNumber,omitempty"` // Switch member number - State string `json:"state,omitempty"` // Current state of the switch - SwitchPriority *int `json:"switchPriority,omitempty"` // Priority of the switch -} -type ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfo struct { - DadProtocol string `json:"dadProtocol,omitempty"` // Stackwise virtual dual active detection config - DadRecoveryReloadEnabled *bool `json:"dadRecoveryReloadEnabled,omitempty"` // If dad recovery reload enabled - DomainNumber *int `json:"domainNumber,omitempty"` // Stackwise virtual switch domain number - InDadRecoveryMode *bool `json:"inDadRecoveryMode,omitempty"` // If in dad recovery mode - SwVirtualStatus string `json:"swVirtualStatus,omitempty"` // Stackwise virtual status - SwitchMembers *[]ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfoSwitchMembers `json:"switchMembers,omitempty"` // -} + IsSynchOk string `json:"isSynchOk,omitempty"` // If link partner sends valid protocol message + + LinkActive *bool `json:"linkActive,omitempty"` // If stack port is in same state as link partner + + LinkOk *bool `json:"linkOk,omitempty"` // If link is stable + + Name string `json:"name,omitempty"` // Name of the stack port + + NeighborPort string `json:"neighborPort,omitempty"` // Neighbor's member number and stack port number + + NrLinkOkChanges *int `json:"nrLinkOkChanges,omitempty"` // Relative stability of the link + + StackCableLengthInfo string `json:"stackCableLengthInfo,omitempty"` // Cable length + + StackPortOperStatusInfo string `json:"stackPortOperStatusInfo,omitempty"` // Port opearation status + + SwitchPort string `json:"switchPort,omitempty"` // Member number and stack port number +} +type ResponseDevicesGetStackDetailsForDeviceResponseStackSwitchInfo struct { + EntPhysicalIndex string `json:"entPhysicalIndex,omitempty"` // + + HwPriority *int `json:"hwPriority,omitempty"` // Hardware priority of the switch + + MacAddress string `json:"macAddress,omitempty"` // Mac address of the switch + + NumNextReload *int `json:"numNextReload,omitempty"` // Stack member number to be used in next reload + + PlatformID string `json:"platformId,omitempty"` // Platform Id + + Role string `json:"role,omitempty"` // Function of the switch + + SerialNumber string `json:"serialNumber,omitempty"` // Serial number + + SoftwareImage string `json:"softwareImage,omitempty"` // Software image type running on the switch + + StackMemberNumber *int `json:"stackMemberNumber,omitempty"` // Switch member number + + State string `json:"state,omitempty"` // Current state of the switch + + SwitchPriority *int `json:"switchPriority,omitempty"` // Priority of the switch +} +type ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfo struct { + DadProtocol string `json:"dadProtocol,omitempty"` // Stackwise virtual dual active detection config + + DadRecoveryReloadEnabled *bool `json:"dadRecoveryReloadEnabled,omitempty"` // If dad recovery reload enabled + + DomainNumber *int `json:"domainNumber,omitempty"` // Stackwise virtual switch domain number + + InDadRecoveryMode *bool `json:"inDadRecoveryMode,omitempty"` // If in dad recovery mode + + SwVirtualStatus string `json:"swVirtualStatus,omitempty"` // Stackwise virtual status + + SwitchMembers *[]ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfoSwitchMembers `json:"switchMembers,omitempty"` // +} type ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfoSwitchMembers struct { - Bandwidth string `json:"bandwidth,omitempty"` // Bandwidth - SvlMemberEndPoints *[]ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfoSwitchMembersSvlMemberEndPoints `json:"svlMemberEndPoints,omitempty"` // - SvlMemberNumber *int `json:"svlMemberNumber,omitempty"` // Switch member number + Bandwidth string `json:"bandwidth,omitempty"` // Bandwidth + + SvlMemberEndPoints *[]ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfoSwitchMembersSvlMemberEndPoints `json:"svlMemberEndPoints,omitempty"` // + + SvlMemberNumber *int `json:"svlMemberNumber,omitempty"` // Switch member number + SvlMemberPepSettings *[]ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfoSwitchMembersSvlMemberPepSettings `json:"svlMemberPepSettings,omitempty"` // } type ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfoSwitchMembersSvlMemberEndPoints struct { SvlMemberEndPointPorts *[]ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfoSwitchMembersSvlMemberEndPointsSvlMemberEndPointPorts `json:"svlMemberEndPointPorts,omitempty"` // - SvlNumber *int `json:"svlNumber,omitempty"` // Stackwise virtual link number - SvlStatus string `json:"svlStatus,omitempty"` // Stackwise virtual status + + SvlNumber *int `json:"svlNumber,omitempty"` // Stackwise virtual link number + + SvlStatus string `json:"svlStatus,omitempty"` // Stackwise virtual status } type ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfoSwitchMembersSvlMemberEndPointsSvlMemberEndPointPorts struct { SvlProtocolStatus string `json:"svlProtocolStatus,omitempty"` // Stackwise virtual protocol status - SwLocalInterface string `json:"swLocalInterface,omitempty"` // Stackwise virtual local interface + + SwLocalInterface string `json:"swLocalInterface,omitempty"` // Stackwise virtual local interface + SwRemoteInterface string `json:"swRemoteInterface,omitempty"` // Stackwise virtual remote interface } type ResponseDevicesGetStackDetailsForDeviceResponseSvlSwitchInfoSwitchMembersSvlMemberPepSettings struct { - DadEnabled *bool `json:"dadEnabled,omitempty"` // If dadInterface is configured for dual active detection + DadEnabled *bool `json:"dadEnabled,omitempty"` // If dadInterface is configured for dual active detection + DadInterfaceName string `json:"dadInterfaceName,omitempty"` // Interface for dual active detection } type ResponseDevicesRemoveUserDefinedFieldFromDevice struct { Response *ResponseDevicesRemoveUserDefinedFieldFromDeviceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesRemoveUserDefinedFieldFromDeviceResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseDevicesAddUserDefinedFieldToDevice struct { Response *ResponseDevicesAddUserDefinedFieldToDeviceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesAddUserDefinedFieldToDeviceResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseDevicesGetTheDetailsOfPhysicalComponentsOfTheGivenDevice struct { Response *[]ResponseDevicesGetTheDetailsOfPhysicalComponentsOfTheGivenDeviceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetTheDetailsOfPhysicalComponentsOfTheGivenDeviceResponse struct { OperationalStateCode string `json:"operationalStateCode,omitempty"` // Operational State Code - ProductID string `json:"productId,omitempty"` // Product Id - SerialNumber string `json:"serialNumber,omitempty"` // Serial Number - VendorEquipmentType string `json:"vendorEquipmentType,omitempty"` // Vendor Equipment Type - Description string `json:"description,omitempty"` // Description - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid - Name string `json:"name,omitempty"` // Name - Manufacturer string `json:"manufacturer,omitempty"` // Manufacturer + + ProductID string `json:"productId,omitempty"` // Product Id + + SerialNumber string `json:"serialNumber,omitempty"` // Serial Number + + VendorEquipmentType string `json:"vendorEquipmentType,omitempty"` // Vendor Equipment Type + + Description string `json:"description,omitempty"` // Description + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid + + Name string `json:"name,omitempty"` // Name + + Manufacturer string `json:"manufacturer,omitempty"` // Manufacturer } type ResponseDevicesReturnsPoeInterfaceDetailsForTheDevice struct { - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesReturnsPoeInterfaceDetailsForTheDeviceResponse `json:"response,omitempty"` // } type ResponseDevicesReturnsPoeInterfaceDetailsForTheDeviceResponse struct { - AdminStatus string `json:"adminStatus,omitempty"` // Administration Status. Possible values: AUTO, STATIC, NEVER - OperStatus string `json:"operStatus,omitempty"` // Operational Status. Possible values: ON, OFF, FAULTY, POWER_DENY - InterfaceName string `json:"interfaceName,omitempty"` // Name of the interface - MaxPortPower string `json:"maxPortPower,omitempty"` // Maximum power (in Watts) that port can hold + AdminStatus string `json:"adminStatus,omitempty"` // Administration Status. Possible values: AUTO, STATIC, NEVER + + OperStatus string `json:"operStatus,omitempty"` // Operational Status. Possible values: ON, OFF, FAULTY, POWER_DENY + + InterfaceName string `json:"interfaceName,omitempty"` // Name of the interface + + MaxPortPower string `json:"maxPortPower,omitempty"` // Maximum power (in Watts) that port can hold + AllocatedPower string `json:"allocatedPower,omitempty"` // Power (in Watts) allocated for a given interface + PortPowerDrawn string `json:"portPowerDrawn,omitempty"` // Power (in Watts) that the port has drawn so far } type ResponseDevicesGetConnectedDeviceDetail struct { Response *ResponseDevicesGetConnectedDeviceDetailResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetConnectedDeviceDetailResponse struct { - NeighborDevice string `json:"neighborDevice,omitempty"` // Info about the devices connected to the interface - NeighborPort string `json:"neighborPort,omitempty"` // Info about the connected interface - Capabilities []string `json:"capabilities,omitempty"` // Info about capabilities of the connected device + NeighborDevice string `json:"neighborDevice,omitempty"` // Info about the devices connected to the interface + + NeighborPort string `json:"neighborPort,omitempty"` // Info about the connected interface + + Capabilities []string `json:"capabilities,omitempty"` // Info about capabilities of the connected device } type ResponseDevicesGetLinecardDetails struct { Response *[]ResponseDevicesGetLinecardDetailsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetLinecardDetailsResponse struct { Serialno string `json:"serialno,omitempty"` // Serial number of the line card - Partno string `json:"partno,omitempty"` // Part number of the line card + + Partno string `json:"partno,omitempty"` // Part number of the line card + Switchno string `json:"switchno,omitempty"` // Switch number of the line card - Slotno string `json:"slotno,omitempty"` // Slot number of line card + + Slotno string `json:"slotno,omitempty"` // Slot number of line card } type ResponseDevicesPoeDetails struct { Response *ResponseDevicesPoeDetailsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesPoeDetailsResponse struct { PowerAllocated string `json:"powerAllocated,omitempty"` // Total power available on the switch on all interfaces combined in Watts - PowerConsumed string `json:"powerConsumed,omitempty"` // Total power being currently drawn by all interfaces combined in Watts + + PowerConsumed string `json:"powerConsumed,omitempty"` // Total power being currently drawn by all interfaces combined in Watts + PowerRemaining string `json:"powerRemaining,omitempty"` // Total power remaining in Watts (powerConsumed - powerAllocated) } type ResponseDevicesGetSupervisorCardDetail struct { Response *[]ResponseDevicesGetSupervisorCardDetailResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetSupervisorCardDetailResponse struct { Serialno string `json:"serialno,omitempty"` // Serial number of the supervisor card - Partno string `json:"partno,omitempty"` // Part number of the supervisor card + + Partno string `json:"partno,omitempty"` // Part number of the supervisor card + Switchno string `json:"switchno,omitempty"` // Switch number of the supervisor card - Slotno string `json:"slotno,omitempty"` // Slot number of supervisor card + + Slotno string `json:"slotno,omitempty"` // Slot number of supervisor card } type ResponseDevicesUpdateDeviceManagementAddress struct { Response *ResponseDevicesUpdateDeviceManagementAddressResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDevicesUpdateDeviceManagementAddressResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseDevicesGetDeviceByID struct { Response *ResponseDevicesGetDeviceByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetDeviceByIDResponse struct { - ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface - AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip address of the AP device - BootDateTime string `json:"bootDateTime,omitempty"` // Device boot time - CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device - CollectionStatus string `json:"collectionStatus,omitempty"` // Collection status as Synchronizing, Could not synchronize, Not manageable, Managed, Partial Collection Failure, Incomplete, Unreachable, Wrong credential, Reachable, In Progress - ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code - ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description - Family string `json:"family,omitempty"` // Family of device as switch, router, wireless lan controller, accesspoints - Hostname string `json:"hostname,omitempty"` // Device name - ID string `json:"id,omitempty"` // Instance Uuid of the device - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the device - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device - InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device - InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync - LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated - LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device - LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device - Location string `json:"location,omitempty"` // [Deprecated] Location ID that is associated with the device - LocationName string `json:"locationName,omitempty"` // [Deprecated] Name of the associated location - MacAddress string `json:"macAddress,omitempty"` // MAC address of device - ManagementIPAddress string `json:"managementIpAddress,omitempty"` // IP address of the device - MemorySize string `json:"memorySize,omitempty"` // Processor memory size - PlatformID string `json:"platformId,omitempty"` // Platform ID of device - ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices - ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status as Reachable / Unreachable - Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core - RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto - SerialNumber string `json:"serialNumber,omitempty"` // Serial number of device - Series string `json:"series,omitempty"` // Device series - SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device - SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device - SoftwareType string `json:"softwareType,omitempty"` // Software type on the device - SoftwareVersion string `json:"softwareVersion,omitempty"` // Software version on the device - TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device - TunnelUDPPort string `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC - Type string `json:"type,omitempty"` // Type of device as switch, router, wireless lan controller, accesspoints - UpTime string `json:"upTime,omitempty"` // Time that shows for how long the device has been up - WaasDeviceMode string `json:"waasDeviceMode,omitempty"` // WAAS device mode - DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // Specifies the resolved ip address of dns name - ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // AccessPoint Ethernet MacAddress of AP device - Vendor string `json:"vendor,omitempty"` // Vendor details - ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending sync requests , if any - PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Count of pending sync requests , if any - ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reason for last/ongoing sync - LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Start time for last/ongoing sync - UptimeSeconds *float64 `json:"uptimeSeconds,omitempty"` // Uptime in Seconds - ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // Indicates if device went into Managed state atleast once - DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Support level of the device - ManagementState string `json:"managementState,omitempty"` // Represents the current management state of the network element: managed, unmanaged, under maintenance, and so on. - Description string `json:"description,omitempty"` // System description + ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface + + AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip address of the AP device + + BootDateTime string `json:"bootDateTime,omitempty"` // Device boot time + + CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device + + CollectionStatus string `json:"collectionStatus,omitempty"` // Collection status as Synchronizing, Could not synchronize, Not manageable, Managed, Partial Collection Failure, Incomplete, Unreachable, Wrong credential, Reachable, In Progress + + ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code + + ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description + + Family string `json:"family,omitempty"` // Family of device as switch, router, wireless lan controller, accesspoints + + Hostname string `json:"hostname,omitempty"` // Device name + + ID string `json:"id,omitempty"` // Instance Uuid of the device + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the device + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device + + InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device + + InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync + + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated + + LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device + + LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device + + Location string `json:"location,omitempty"` // [Deprecated] Location ID that is associated with the device + + LocationName string `json:"locationName,omitempty"` // [Deprecated] Name of the associated location + + MacAddress string `json:"macAddress,omitempty"` // MAC address of device + + ManagementIPAddress string `json:"managementIpAddress,omitempty"` // IP address of the device + + MemorySize string `json:"memorySize,omitempty"` // Processor memory size + + PlatformID string `json:"platformId,omitempty"` // Platform ID of device + + ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices + + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status as Reachable / Unreachable + + Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core + + RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto + + SerialNumber string `json:"serialNumber,omitempty"` // Serial number of device + + Series string `json:"series,omitempty"` // Device series + + SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device + + SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device + + SoftwareType string `json:"softwareType,omitempty"` // Software type on the device + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Software version on the device + + TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device + + TunnelUDPPort string `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC + + Type string `json:"type,omitempty"` // Type of device as switch, router, wireless lan controller, accesspoints + + UpTime string `json:"upTime,omitempty"` // Time that shows for how long the device has been up + + WaasDeviceMode string `json:"waasDeviceMode,omitempty"` // WAAS device mode + + DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // Specifies the resolved ip address of dns name + + ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // AccessPoint Ethernet MacAddress of AP device + + Vendor string `json:"vendor,omitempty"` // Vendor details + + ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending sync requests , if any + + PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Count of pending sync requests , if any + + ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reason for last/ongoing sync + + LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Start time for last/ongoing sync + + UptimeSeconds *float64 `json:"uptimeSeconds,omitempty"` // Uptime in Seconds + + ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // Indicates if device went into Managed state atleast once + + DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Support level of the device + + ManagementState string `json:"managementState,omitempty"` // Represents the current management state of the network element: managed, unmanaged, under maintenance, and so on. + + Description string `json:"description,omitempty"` // System description } type ResponseDevicesDeleteDeviceByID struct { Response *ResponseDevicesDeleteDeviceByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesDeleteDeviceByIDResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDevicesGetDeviceSummary struct { Response *ResponseDevicesGetDeviceSummaryResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetDeviceSummaryResponse struct { - ID string `json:"id,omitempty"` // Unique identifier of the network device - Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core + ID string `json:"id,omitempty"` // Unique identifier of the network device + + Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core + RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto } type ResponseDevicesGetPollingIntervalByID struct { - Response *int `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + Response *int `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetOrganizationListForMeraki struct { Response []string `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetDeviceInterfaceVLANs struct { Response *[]ResponseDevicesGetDeviceInterfaceVLANsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetDeviceInterfaceVLANsResponse struct { - InterfaceName string `json:"interfaceName,omitempty"` // Interface name - IPAddress string `json:"ipAddress,omitempty"` // IP address - Mask *int `json:"mask,omitempty"` // Mask IP + InterfaceName string `json:"interfaceName,omitempty"` // Interface name + + IPAddress string `json:"ipAddress,omitempty"` // IP address + + Mask *int `json:"mask,omitempty"` // Mask IP + NetworkAddress string `json:"networkAddress,omitempty"` // Network addresses - NumberOfIPs *int `json:"numberOfIPs,omitempty"` // Number of Ip addresses - Prefix string `json:"prefix,omitempty"` // Prefix associated with the IP address - VLANNumber *int `json:"vlanNumber,omitempty"` // Vlan Number - VLANType string `json:"vlanType,omitempty"` // [Deprecated] Description of the interface VLAN + + NumberOfIPs *int `json:"numberOfIPs,omitempty"` // Number of Ip addresses + + Prefix string `json:"prefix,omitempty"` // Prefix associated with the IP address + + VLANNumber *int `json:"vlanNumber,omitempty"` // Vlan Number + + VLANType string `json:"vlanType,omitempty"` // [Deprecated] Description of the interface VLAN } type ResponseDevicesGetWirelessLanControllerDetailsByID struct { - AdminEnabledPorts *[]int `json:"adminEnabledPorts,omitempty"` // Admin Enabled Ports of the Device - ApGroupName string `json:"apGroupName,omitempty"` // Name of the AP Group that Access point assigned - DeviceID string `json:"deviceId,omitempty"` // Device Id - EthMacAddress string `json:"ethMacAddress,omitempty"` // Ethernet MacAddress of the Device - FlexGroupName string `json:"flexGroupName,omitempty"` // Name of the Flex Group that Access point assigned - ID string `json:"id,omitempty"` // Id of the Device - InstanceTenantID string `json:"instanceTenantId,omitempty"` // TenantId of the Device - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance UUID of the Device - LagModeEnabled *bool `json:"lagModeEnabled,omitempty"` // LagMode status of the Device - NetconfEnabled *bool `json:"netconfEnabled,omitempty"` // Netconf Status of the Device - WirelessLicenseInfo string `json:"wirelessLicenseInfo,omitempty"` // License type of Wireless Device - WirelessPackageInstalled *bool `json:"wirelessPackageInstalled,omitempty"` // Status of the Wireless Package on the Device + AdminEnabledPorts *[]int `json:"adminEnabledPorts,omitempty"` // Admin Enabled Ports of the Device + + ApGroupName string `json:"apGroupName,omitempty"` // Name of the AP Group that Access point assigned + + DeviceID string `json:"deviceId,omitempty"` // Device Id + + EthMacAddress string `json:"ethMacAddress,omitempty"` // Ethernet MacAddress of the Device + + FlexGroupName string `json:"flexGroupName,omitempty"` // Name of the Flex Group that Access point assigned + + ID string `json:"id,omitempty"` // Id of the Device + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // TenantId of the Device + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance UUID of the Device + + LagModeEnabled *bool `json:"lagModeEnabled,omitempty"` // LagMode status of the Device + + NetconfEnabled *bool `json:"netconfEnabled,omitempty"` // Netconf Status of the Device + + WirelessLicenseInfo string `json:"wirelessLicenseInfo,omitempty"` // License type of Wireless Device + + WirelessPackageInstalled *bool `json:"wirelessPackageInstalled,omitempty"` // Status of the Wireless Package on the Device } type ResponseDevicesGetDeviceConfigByID struct { Response string `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetNetworkDeviceByPaginationRange struct { Response *[]ResponseDevicesGetNetworkDeviceByPaginationRangeResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDevicesGetNetworkDeviceByPaginationRangeResponse struct { - ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface - AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip address of the AP device - BootDateTime string `json:"bootDateTime,omitempty"` // Device boot time - CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device - CollectionStatus string `json:"collectionStatus,omitempty"` // Collection status as Synchronizing, Could not synchronize, Not manageable, Managed, Partial Collection Failure, Incomplete, Unreachable, Wrong credential, Reachable, In Progress - ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code - ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description - Family string `json:"family,omitempty"` // Family of device as switch, router, wireless lan controller, accesspoints - Hostname string `json:"hostname,omitempty"` // Device name - ID string `json:"id,omitempty"` // Instance Uuid of the device - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the device - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device - InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device - InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync - LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated - LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated - LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device - LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device - Location string `json:"location,omitempty"` // [Deprecated] Location ID that is associated with the device - LocationName string `json:"locationName,omitempty"` // [Deprecated] Name of the associated location - MacAddress string `json:"macAddress,omitempty"` // MAC address of device - ManagementIPAddress string `json:"managementIpAddress,omitempty"` // IP address of the device - MemorySize string `json:"memorySize,omitempty"` // Processor memory size - PlatformID string `json:"platformId,omitempty"` // Platform ID of device - ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices - ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status as Reachable / Unreachable - Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core - RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto - SerialNumber string `json:"serialNumber,omitempty"` // Serial number of device - Series string `json:"series,omitempty"` // Device series - SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device - SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device - SoftwareType string `json:"softwareType,omitempty"` // Software type on the device - SoftwareVersion string `json:"softwareVersion,omitempty"` // Software version on the device - TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device - TunnelUDPPort string `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC - Type string `json:"type,omitempty"` // Type of device as switch, router, wireless lan controller, accesspoints - UpTime string `json:"upTime,omitempty"` // Time that shows for how long the device has been up - WaasDeviceMode string `json:"waasDeviceMode,omitempty"` // WAAS device mode - DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // Specifies the resolved ip address of dns name - ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // AccessPoint Ethernet MacAddress of AP device - Vendor string `json:"vendor,omitempty"` // Vendor details - ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending sync requests , if any - PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Count of pending sync requests , if any - ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reason for last/ongoing sync - LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Start time for last/ongoing sync - UptimeSeconds *float64 `json:"uptimeSeconds,omitempty"` // Uptime in Seconds - ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // Indicates if device went into Managed state atleast once - DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Support level of the device - ManagementState string `json:"managementState,omitempty"` // Represents the current management state of the network element: managed, unmanaged, under maintenance, and so on. - Description string `json:"description,omitempty"` // System description + ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // IP address of WLC on AP manager interface + + AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip address of the AP device + + BootDateTime string `json:"bootDateTime,omitempty"` // Device boot time + + CollectionInterval string `json:"collectionInterval,omitempty"` // Re sync Interval of the device + + CollectionStatus string `json:"collectionStatus,omitempty"` // Collection status as Synchronizing, Could not synchronize, Not manageable, Managed, Partial Collection Failure, Incomplete, Unreachable, Wrong credential, Reachable, In Progress + + ErrorCode string `json:"errorCode,omitempty"` // Inventory status error code + + ErrorDescription string `json:"errorDescription,omitempty"` // Inventory status description + + Family string `json:"family,omitempty"` // Family of device as switch, router, wireless lan controller, accesspoints + + Hostname string `json:"hostname,omitempty"` // Device name + + ID string `json:"id,omitempty"` // Instance Uuid of the device + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of the device + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the device + + InterfaceCount string `json:"interfaceCount,omitempty"` // Number of interfaces on the device + + InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Status detail of inventory sync + + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Time in epoch when the network device info last got updated + + LastUpdated string `json:"lastUpdated,omitempty"` // Time when the network device info last got updated + + LineCardCount string `json:"lineCardCount,omitempty"` // Number of linecards on the device + + LineCardID string `json:"lineCardId,omitempty"` // IDs of linecards of the device + + Location string `json:"location,omitempty"` // [Deprecated] Location ID that is associated with the device + + LocationName string `json:"locationName,omitempty"` // [Deprecated] Name of the associated location + + MacAddress string `json:"macAddress,omitempty"` // MAC address of device + + ManagementIPAddress string `json:"managementIpAddress,omitempty"` // IP address of the device + + MemorySize string `json:"memorySize,omitempty"` // Processor memory size + + PlatformID string `json:"platformId,omitempty"` // Platform ID of device + + ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Failure reason for unreachable devices + + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status as Reachable / Unreachable + + Role string `json:"role,omitempty"` // Role of device as access, distribution, border router, core + + RoleSource string `json:"roleSource,omitempty"` // Role source as manual / auto + + SerialNumber string `json:"serialNumber,omitempty"` // Serial number of device + + Series string `json:"series,omitempty"` // Device series + + SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact on device + + SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location on device + + SoftwareType string `json:"softwareType,omitempty"` // Software type on the device + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Software version on the device + + TagCount string `json:"tagCount,omitempty"` // Number of tags associated with the device + + TunnelUDPPort string `json:"tunnelUdpPort,omitempty"` // Mobility protocol port is stored as tunneludpport for WLC + + Type string `json:"type,omitempty"` // Type of device as switch, router, wireless lan controller, accesspoints + + UpTime string `json:"upTime,omitempty"` // Time that shows for how long the device has been up + + WaasDeviceMode string `json:"waasDeviceMode,omitempty"` // WAAS device mode + + DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // Specifies the resolved ip address of dns name + + ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // AccessPoint Ethernet MacAddress of AP device + + Vendor string `json:"vendor,omitempty"` // Vendor details + + ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending sync requests , if any + + PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Count of pending sync requests , if any + + ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reason for last/ongoing sync + + LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Start time for last/ongoing sync + + UptimeSeconds *float64 `json:"uptimeSeconds,omitempty"` // Uptime in Seconds + + ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // Indicates if device went into Managed state atleast once + + DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Support level of the device + + ManagementState string `json:"managementState,omitempty"` // Represents the current management state of the network element: managed, unmanaged, under maintenance, and so on. + + Description string `json:"description,omitempty"` // System description } -type ResponseDevicesUpdateGlobalResyncInterval struct { - Response *ResponseDevicesUpdateGlobalResyncIntervalResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version of the response +type ResponseDevicesCreateMaintenanceScheduleForNetworkDevices struct { + Response *ResponseDevicesCreateMaintenanceScheduleForNetworkDevicesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version of the response } -type ResponseDevicesUpdateGlobalResyncIntervalResponse struct { +type ResponseDevicesCreateMaintenanceScheduleForNetworkDevicesResponse struct { TaskID string `json:"taskId,omitempty"` // Unique identifier for the task - URL string `json:"url,omitempty"` // URL for the task + + URL string `json:"url,omitempty"` // URL for the task } -type ResponseDevicesOverrideResyncInterval struct { - Response *ResponseDevicesOverrideResyncIntervalResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version of the response +type ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevices struct { + Response *[]ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevicesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version number of the response } -type ResponseDevicesOverrideResyncIntervalResponse struct { - TaskID string `json:"taskId,omitempty"` // Unique identifier for the task - URL string `json:"url,omitempty"` // URL for the task +type ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevicesResponse struct { + ID string `json:"id,omitempty"` // Id of the schedule maintenance window + + Description string `json:"description,omitempty"` // A brief narrative describing the maintenance schedule. + + MaintenanceSchedule *ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevicesResponseMaintenanceSchedule `json:"maintenanceSchedule,omitempty"` // + + NetworkDeviceIDs []string `json:"networkDeviceIds,omitempty"` // List of network device ids. This field is applicable only during creation of schedules; for updates, it is read-only. } -type ResponseDevicesUpdateResyncIntervalForTheNetworkDevice struct { - Response *ResponseDevicesUpdateResyncIntervalForTheNetworkDeviceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version of the response +type ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevicesResponseMaintenanceSchedule struct { + StartID string `json:"startId,omitempty"` // Activity id of start schedule of the maintenance window. To check the status of the start schedule, use GET /dna/intent/api/v1/activities/{id}. startId remains same for every occurrence of recurrence instance. + + EndID string `json:"endId,omitempty"` // Activity id of end schedule of the maintenance window. To check the status of the end schedule, use GET /dna/intent/api/v1/activities/{id}. endId remains same for every occurrence of recurrence instance. + + StartTime *float64 `json:"startTime,omitempty"` // Start time indicates the beginning of the maintenance window in Unix epoch time in milliseconds. + + EndTime *float64 `json:"endTime,omitempty"` // End time indicates the ending of the maintenance window in Unix epoch time in milliseconds. + + Recurrence *ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevicesResponseMaintenanceScheduleRecurrence `json:"recurrence,omitempty"` // + + Status string `json:"status,omitempty"` // The status of the maintenance schedule. } -type ResponseDevicesUpdateResyncIntervalForTheNetworkDeviceResponse struct { - TaskID string `json:"taskId,omitempty"` // Unique identifier for the task - URL string `json:"url,omitempty"` // URL for the task +type ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevicesResponseMaintenanceScheduleRecurrence struct { + Interval *int `json:"interval,omitempty"` // Interval for recurrence in days. The interval must be longer than the duration of the schedules. The maximum allowed interval is 365 days. + + RecurrenceEndTime *float64 `json:"recurrenceEndTime,omitempty"` // The end date for the recurrence in Unix epoch time in milliseconds. Recurrence end time should be greater than maintenance end date/time. } -type ResponseDevicesGetResyncIntervalForTheNetworkDevice struct { - Response *ResponseDevicesGetResyncIntervalForTheNetworkDeviceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseDevicesRetrieveTheTotalNumberOfScheduledMaintenanceWindows struct { + Response *ResponseDevicesRetrieveTheTotalNumberOfScheduledMaintenanceWindowsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response } -type ResponseDevicesGetResyncIntervalForTheNetworkDeviceResponse struct { - Interval *int `json:"interval,omitempty"` // Resync interval of the device +type ResponseDevicesRetrieveTheTotalNumberOfScheduledMaintenanceWindowsResponse struct { + Count *int `json:"count,omitempty"` // Count of scheduled maintenance windows } -type ResponseDevicesRogueAdditionalDetails struct { - Response *[]ResponseDevicesRogueAdditionalDetailsResponse `json:"response,omitempty"` // - TotalCount *int `json:"totalCount,omitempty"` // Total Count - Version string `json:"version,omitempty"` // Version +type ResponseDevicesUpdatesTheMaintenanceScheduleInformation struct { + Response *ResponseDevicesUpdatesTheMaintenanceScheduleInformationResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version of the response } -type ResponseDevicesRogueAdditionalDetailsResponse struct { - MacAddress string `json:"macAddress,omitempty"` // MAC Address of the Rogue BSSID - MldMacAddress string `json:"mldMacAddress,omitempty"` // MLD MAC Address of the Rogue BSSID, this is applicable only for Wi-Fi 7 Rogues - UpdatedTime *int `json:"updatedTime,omitempty"` // Last time when the Rogue is seen in the network - CreatedTime *int `json:"createdTime,omitempty"` // First time when the Rogue is seen in the network - ThreatType string `json:"threatType,omitempty"` // Type of the Rogue Threat - ThreatLevel string `json:"threatLevel,omitempty"` // Level of the Rogue Threat - ApName string `json:"apName,omitempty"` // Detecting AP Name - DetectingApMac string `json:"detectingAPMac,omitempty"` // MAC Address of the Detecting AP - SSID string `json:"ssid,omitempty"` // Rogue SSID - Containment string `json:"containment,omitempty"` // Containment Status of the Rogue - RadioType string `json:"radioType,omitempty"` // Radio Type on which Rogue is detected - ControllerIP string `json:"controllerIp,omitempty"` // IP Address of the Controller detecting this Rogue - ControllerName string `json:"controllerName,omitempty"` // Name of the Controller detecting this Rogue - ChannelNumber string `json:"channelNumber,omitempty"` // Channel Number on which the Rogue is detected - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Hierarchy of the Rogue - Encryption string `json:"encryption,omitempty"` // Security status of the Rogue SSID - SwitchIP string `json:"switchIp,omitempty"` // IP Address of the Switch on which the Rogue is connected. This will be filled only in case of Rogue on Wire Threat Type - SwitchName string `json:"switchName,omitempty"` // Name of the Switch on which the Rogue is connected. This will be filled only in case of Rogue on Wire Threat Type - PortDescription string `json:"portDescription,omitempty"` // Port information of the Switch on which the Rogue is connected. This will be filled only in case of Rogue on Wire Threat Type +type ResponseDevicesUpdatesTheMaintenanceScheduleInformationResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task + + URL string `json:"url,omitempty"` // URL for the task } -type ResponseDevicesRogueAdditionalDetailCount struct { - Response *int `json:"response,omitempty"` // Response - Version string `json:"version,omitempty"` // Version +type ResponseDevicesRetrievesTheMaintenanceScheduleInformation struct { + Response *ResponseDevicesRetrievesTheMaintenanceScheduleInformationResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version number of the response } -type ResponseDevicesStartWirelessRogueApContainment struct { - Response *ResponseDevicesStartWirelessRogueApContainmentResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseDevicesRetrievesTheMaintenanceScheduleInformationResponse struct { + ID string `json:"id,omitempty"` // Id of the schedule maintenance window + + Description string `json:"description,omitempty"` // A brief narrative describing the maintenance schedule. + + MaintenanceSchedule *ResponseDevicesRetrievesTheMaintenanceScheduleInformationResponseMaintenanceSchedule `json:"maintenanceSchedule,omitempty"` // + + NetworkDeviceIDs []string `json:"networkDeviceIds,omitempty"` // List of network device ids. This field is applicable only during creation of schedules; for updates, it is read-only. } -type ResponseDevicesStartWirelessRogueApContainmentResponse struct { - MacAddress string `json:"macAddress,omitempty"` // Mac Address - Type *int `json:"type,omitempty"` // Type - InitiatedOnWlcIP string `json:"initiatedOnWlcIp,omitempty"` // Initiated On Wlc Ip - TaskID string `json:"taskId,omitempty"` // Task Id - TaskType string `json:"taskType,omitempty"` // Task Type - InitiatedOnBssid []string `json:"initiatedOnBssid,omitempty"` // Initiated On Bssid +type ResponseDevicesRetrievesTheMaintenanceScheduleInformationResponseMaintenanceSchedule struct { + StartID string `json:"startId,omitempty"` // Activity id of start schedule of the maintenance window. To check the status of the start schedule, use GET /intent/api/v1/activities/{id}. startId remains same for every occurrence of recurrence instance. + + EndID string `json:"endId,omitempty"` // Activity id of end schedule of the maintenance window. To check the status of the end schedule, use GET /intent/api/v1/activities/{id}. endId remains same for every occurrence of recurrence instance. + + StartTime *float64 `json:"startTime,omitempty"` // Start time indicates the beginning of the maintenance window in Unix epoch time in milliseconds. + + EndTime *float64 `json:"endTime,omitempty"` // End time indicates the ending of the maintenance window in Unix epoch time in milliseconds. + + Recurrence *ResponseDevicesRetrievesTheMaintenanceScheduleInformationResponseMaintenanceScheduleRecurrence `json:"recurrence,omitempty"` // + + Status string `json:"status,omitempty"` // The status of the maintenance schedule. } -type ResponseDevicesWirelessRogueApContainmentStatus struct { - Response *[]ResponseDevicesWirelessRogueApContainmentStatusResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseDevicesRetrievesTheMaintenanceScheduleInformationResponseMaintenanceScheduleRecurrence struct { + Interval *int `json:"interval,omitempty"` // Interval for recurrence in days. The interval must be longer than the duration of the schedules. The maximum allowed interval is 365 days. + + RecurrenceEndTime *float64 `json:"recurrenceEndTime,omitempty"` // The end date for the recurrence in Unix epoch time in milliseconds. Recurrence end time should be greater than maintenance end date/time. } -type ResponseDevicesWirelessRogueApContainmentStatusResponse struct { - MacAddress string `json:"macAddress,omitempty"` // Mac Address - Type *int `json:"type,omitempty"` // Type - Classification string `json:"classification,omitempty"` // Classification - ContainmentStatus string `json:"containmentStatus,omitempty"` // Containment Status - ContainedByWlcIP []string `json:"containedByWlcIp,omitempty"` // Contained By Wlc Ip - LastSeen *int `json:"lastSeen,omitempty"` // Last Seen - StrongestDetectingWlcIP string `json:"strongestDetectingWlcIp,omitempty"` // Strongest Detecting Wlc Ip - LastTaskDetail *ResponseDevicesWirelessRogueApContainmentStatusResponseLastTaskDetail `json:"lastTaskDetail,omitempty"` // - BssidContainmentStatus *[]ResponseDevicesWirelessRogueApContainmentStatusResponseBssidContainmentStatus `json:"bssidContainmentStatus,omitempty"` // +type ResponseDevicesDeleteMaintenanceSchedule struct { + Response *ResponseDevicesDeleteMaintenanceScheduleResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version of the response } -type ResponseDevicesWirelessRogueApContainmentStatusResponseLastTaskDetail struct { - TaskID string `json:"taskId,omitempty"` // Task Id - TaskType string `json:"taskType,omitempty"` // Task Type - TaskState string `json:"taskState,omitempty"` // Task State - TaskStartTime *int `json:"taskStartTime,omitempty"` // Task Start Time - InitiatedOnWlcIP string `json:"initiatedOnWlcIp,omitempty"` // Initiated On Wlc Ip - InitiatedOnBssid []string `json:"initiatedOnBssid,omitempty"` // Initiated On Bssid -} -type ResponseDevicesWirelessRogueApContainmentStatusResponseBssidContainmentStatus struct { - Bssid string `json:"bssid,omitempty"` // Bssid - SSID string `json:"ssid,omitempty"` // Ssid - RadioType string `json:"radioType,omitempty"` // Radio Type - ContainmentStatus string `json:"containmentStatus,omitempty"` // Containment Status - ContainedByWlcIP string `json:"containedByWlcIp,omitempty"` // Contained By Wlc Ip - IsAdhoc *bool `json:"isAdhoc,omitempty"` // Is Adhoc +type ResponseDevicesDeleteMaintenanceScheduleResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task + + URL string `json:"url,omitempty"` // URL for the task } -type ResponseDevicesStopWirelessRogueApContainment struct { - Response *ResponseDevicesStopWirelessRogueApContainmentResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseDevicesRetrieveNetworkDevices struct { + Response *[]ResponseDevicesRetrieveNetworkDevicesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version number of the response } -type ResponseDevicesStopWirelessRogueApContainmentResponse struct { - MacAddress string `json:"macAddress,omitempty"` // Mac Address - Type *int `json:"type,omitempty"` // Type - InitiatedOnWlcIP string `json:"initiatedOnWlcIp,omitempty"` // Initiated On Wlc Ip - TaskID string `json:"taskId,omitempty"` // Task Id - TaskType string `json:"taskType,omitempty"` // Task Type - InitiatedOnBssid []string `json:"initiatedOnBssid,omitempty"` // Initiated On Bssid +type ResponseDevicesRetrieveNetworkDevicesResponse struct { + ID string `json:"id,omitempty"` // Unique identifier of the network device + + ManagementAddress string `json:"managementAddress,omitempty"` // Management address of the network device + + DNSResolvedManagementIPAddress string `json:"dnsResolvedManagementIpAddress,omitempty"` // DNS-resolved management IP address of the network device + + Hostname string `json:"hostname,omitempty"` // Hostname of the network device + + MacAddress string `json:"macAddress,omitempty"` // MAC address of the network device + + SerialNumbers []string `json:"serialNumbers,omitempty"` // Serial number of the network device. In case of stack device, there will be multiple serial numbers + + Type string `json:"type,omitempty"` // Type of the network device. This list of types can be obtained from the API intent/networkDeviceProductNames productName field. + + Family string `json:"family,omitempty"` // Product family of the network device. For example, Switches, Routers, etc + + Series string `json:"series,omitempty"` // The model range or series of the network device + + Status string `json:"status,omitempty"` // Inventory related status of the network device. Refer features for more details + + PlatformIDs []string `json:"platformIds,omitempty"` // Platform identifier of the network device + + SoftwareType string `json:"softwareType,omitempty"` // Type of software running on the network device. For example, IOS-XE, etc. + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Version of the software running on the network device + + Vendor string `json:"vendor,omitempty"` // Vendor of the network device + + StackDevice *bool `json:"stackDevice,omitempty"` // Flag indicating if the network device is a stack device + + BootTime *float64 `json:"bootTime,omitempty"` // The time at which the network device was last rebooted or powered on represented as epoch in milliseconds + + Role string `json:"role,omitempty"` // Role assigned to the network device + + RoleSource string `json:"roleSource,omitempty"` // Indicates whether the network device's role was assigned automatically by the software or manually by an administrator. + + ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // Ethernet MAC address of the AP network device + + ApManagerInterfaceIPAddress string `json:"apManagerInterfaceIpAddress,omitempty"` // Management IP address of the AP network device + + ApWlcIPAddress string `json:"apWlcIpAddress,omitempty"` // Management IP address of the WLC on which AP is associated to + + DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // The level of support Catalyst Center provides for the network device. + + SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location of the network device + + SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact of the network device + + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Reachability status of the network device. Refer features for more details + + ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Reason for reachability failure. This message that provides more information about the reachability failure. + + ManagementState string `json:"managementState,omitempty"` // The status of the network device's manageability. Refer features for more details. + + LastSuccessfulResyncReasons []string `json:"lastSuccessfulResyncReasons,omitempty"` // List of reasons for the last successful resync of the device. If multiple resync requests are made before the device can start the resync, all the reasons will be captured. Possible values: ADD_DEVICE_SYNC, LINK_UP_DOWN, CONFIG_CHANGE, DEVICE_UPDATED_SYNC, AP_EVENT_BASED_SYNC, APP_REQUESTED_SYNC, PERIODIC_SYNC, UI_SYNC, CUSTOM, UNKNOWN, REFRESH_OBJECTS_FEATURE_BASED_SYNC + + ResyncStartTime *float64 `json:"resyncStartTime,omitempty"` // Start time for the last/ongoing resync represented as epoch in milliseconds + + ResyncEndTime *float64 `json:"resyncEndTime,omitempty"` // End time for the last resync represented as epoch in milliseconds + + ResyncReasons []string `json:"resyncReasons,omitempty"` // List of reasons for the ongoing/last resync on the device. If multiple resync requests were made before the resync could start, all the reasons will be captured as an array. Possible values: ADD_DEVICE_SYNC, LINK_UP_DOWN, CONFIG_CHANGE, DEVICE_UPDATED_SYNC, AP_EVENT_BASED_SYNC, APP_REQUESTED_SYNC, PERIODIC_SYNC, UI_SYNC, CUSTOM, UNKNOWN, REFRESH_OBJECTS_FEATURE_BASED_SYNC + + ResyncRequestedByApps []string `json:"resyncRequestedByApps,omitempty"` // List of applications that requested the last/ongoing resync on the device + + PendingResyncRequestCount *int `json:"pendingResyncRequestCount,omitempty"` // Number of pending resync requests for the device + + PendingResyncRequestReasons []string `json:"pendingResyncRequestReasons,omitempty"` // List of reasons for the pending resync requests. Possible values: ADD_DEVICE_SYNC, LINK_UP_DOWN, CONFIG_CHANGE, DEVICE_UPDATED_SYNC, AP_EVENT_BASED_SYNC, APP_REQUESTED_SYNC, PERIODIC_SYNC, UI_SYNC, CUSTOM, UNKNOWN, REFRESH_OBJECTS_FEATURE_BASED_SYNC + + ResyncIntervalSource string `json:"resyncIntervalSource,omitempty"` // Source of the resync interval. Note: Please refer to PUT /dna/intent/api/v1/networkDevices/resyncIntervalSettings API to update the global resync interval. + + ResyncIntervalMinutes *int `json:"resyncIntervalMinutes,omitempty"` // The duration in minutes between the periodic resync attempts for the device + + ErrorCode string `json:"errorCode,omitempty"` // Error code indicating the reason for the last resync failure + + ErrorDescription string `json:"errorDescription,omitempty"` // Additional information regarding the reason for resync failure. This is a human-readable error message and should not be expected programmatically. + + UserDefinedFields *ResponseDevicesRetrieveNetworkDevicesResponseUserDefinedFields `json:"userDefinedFields,omitempty"` // Map of all user defined fields and their values associated with the device. Refer to /dna/intent/api/v1/network-device/user-defined-field API to fetch all the user defined fields. } -type ResponseDevicesThreatDetails struct { - Response *[]ResponseDevicesThreatDetailsResponse `json:"response,omitempty"` // - TotalCount *int `json:"totalCount,omitempty"` // Total Count - Version string `json:"version,omitempty"` // Version +type ResponseDevicesRetrieveNetworkDevicesResponseUserDefinedFields interface{} +type ResponseDevicesCountTheNumberOfNetworkDevices struct { + Response *ResponseDevicesCountTheNumberOfNetworkDevicesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response } -type ResponseDevicesThreatDetailsResponse struct { - MacAddress string `json:"macAddress,omitempty"` // Mac Address - UpdatedTime *int `json:"updatedTime,omitempty"` // Updated Time - Vendor string `json:"vendor,omitempty"` // Vendor - ThreatType string `json:"threatType,omitempty"` // Threat Type - ThreatLevel string `json:"threatLevel,omitempty"` // Threat Level - ApName string `json:"apName,omitempty"` // Ap Name - DetectingApMac string `json:"detectingAPMac,omitempty"` // Detecting A P Mac - SiteID string `json:"siteId,omitempty"` // Site Id - Rssi string `json:"rssi,omitempty"` // Rssi - SSID string `json:"ssid,omitempty"` // Ssid - Containment string `json:"containment,omitempty"` // Containment - State string `json:"state,omitempty"` // State - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy +type ResponseDevicesCountTheNumberOfNetworkDevicesResponse struct { + Count *int `json:"count,omitempty"` // The reported count. } -type ResponseDevicesThreatDetailCount struct { - Response *int `json:"response,omitempty"` // Response - Version string `json:"version,omitempty"` // Version +type ResponseDevicesDeleteNetworkDeviceWithConfigurationCleanup struct { + Response *ResponseDevicesDeleteNetworkDeviceWithConfigurationCleanupResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version of the response } -type ResponseDevicesGetThreatLevels struct { - Response *[]ResponseDevicesGetThreatLevelsResponse `json:"response,omitempty"` // +type ResponseDevicesDeleteNetworkDeviceWithConfigurationCleanupResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task + + URL string `json:"url,omitempty"` // URL for the task } -type ResponseDevicesGetThreatLevelsResponse struct { - Name string `json:"name,omitempty"` // Name - Value *int `json:"value,omitempty"` // Value +type ResponseDevicesDeleteANetworkDeviceWithoutConfigurationCleanup struct { + Response *ResponseDevicesDeleteANetworkDeviceWithoutConfigurationCleanupResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version of the response } -type ResponseDevicesAddAllowedMacAddress struct { - Response string `json:"response,omitempty"` // Response - Error *ResponseDevicesAddAllowedMacAddressError `json:"error,omitempty"` // Error +type ResponseDevicesDeleteANetworkDeviceWithoutConfigurationCleanupResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task + + URL string `json:"url,omitempty"` // URL for the task } -type ResponseDevicesAddAllowedMacAddressError interface{} -type ResponseDevicesGetAllowedMacAddress []ResponseItemDevicesGetAllowedMacAddress // Array of ResponseDevicesGetAllowedMacAddress -type ResponseItemDevicesGetAllowedMacAddress struct { - MacAddress string `json:"macAddress,omitempty"` // Mac Address - Category *int `json:"category,omitempty"` // Category - LastModified *int `json:"lastModified,omitempty"` // Last Modified +type ResponseDevicesQueryNetworkDevicesWithFilters struct { + Response *[]ResponseDevicesQueryNetworkDevicesWithFiltersResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version number of the response } -type ResponseDevicesGetAllowedMacAddressCount struct { - Response *int `json:"response,omitempty"` // Response - Version string `json:"version,omitempty"` // Version +type ResponseDevicesQueryNetworkDevicesWithFiltersResponse struct { + ID string `json:"id,omitempty"` // Unique identifier of the network device + + ManagementAddress string `json:"managementAddress,omitempty"` // Management address of the network device + + DNSResolvedManagementIPAddress string `json:"dnsResolvedManagementIpAddress,omitempty"` // DNS-resolved management IP address of the network device + + Hostname string `json:"hostname,omitempty"` // Hostname of the network device + + MacAddress string `json:"macAddress,omitempty"` // MAC address of the network device + + SerialNumbers []string `json:"serialNumbers,omitempty"` // Serial number of the network device. In case of stack device, there will be multiple serial numbers + + Type string `json:"type,omitempty"` // Type of the network device. This list of types can be obtained from the API intent/networkDeviceProductNames productName field. + + Family string `json:"family,omitempty"` // Product family of the network device. For example, Switches, Routers, etc + + Series string `json:"series,omitempty"` // The model range or series of the network device + + Status string `json:"status,omitempty"` // Inventory related status of the network device. Refer features for more details + + PlatformIDs []string `json:"platformIds,omitempty"` // Platform identifier of the network device + + SoftwareType string `json:"softwareType,omitempty"` // Type of software running on the network device. For example, IOS-XE, etc. + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Version of the software running on the network device + + Vendor string `json:"vendor,omitempty"` // Vendor of the network device + + StackDevice *bool `json:"stackDevice,omitempty"` // Flag indicating if the network device is a stack device + + BootTime *float64 `json:"bootTime,omitempty"` // The time at which the network device was last rebooted or powered on represented as epoch in milliseconds + + Role string `json:"role,omitempty"` // Role assigned to the network device + + RoleSource string `json:"roleSource,omitempty"` // Indicates whether the network device's role was assigned automatically by the software or manually by an administrator. + + ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // Ethernet MAC address of the AP network device + + ApManagerInterfaceIPAddress string `json:"apManagerInterfaceIpAddress,omitempty"` // Management IP address of the AP network device + + ApWlcIPAddress string `json:"apWlcIpAddress,omitempty"` // Management IP address of the WLC on which AP is associated to + + DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // The level of support Catalyst Center provides for the network device. + + SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location of the network device + + SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact of the network device + + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Reachability status of the network device. Refer features for more details + + ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Reason for reachability failure. This message that provides more information about the reachability failure. + + ManagementState string `json:"managementState,omitempty"` // The status of the network device's manageability. Refer features for more details. + + LastSuccessfulResyncReasons []string `json:"lastSuccessfulResyncReasons,omitempty"` // List of reasons for the last successful resync of the device. If multiple resync requests are made before the device can start the resync, all the reasons will be captured. Possible values: ADD_DEVICE_SYNC, LINK_UP_DOWN, CONFIG_CHANGE, DEVICE_UPDATED_SYNC, AP_EVENT_BASED_SYNC, APP_REQUESTED_SYNC, PERIODIC_SYNC, UI_SYNC, CUSTOM, UNKNOWN, REFRESH_OBJECTS_FEATURE_BASED_SYNC + + ResyncStartTime *float64 `json:"resyncStartTime,omitempty"` // Start time for the last/ongoing resync represented as epoch in milliseconds + + ResyncEndTime *float64 `json:"resyncEndTime,omitempty"` // End time for the last resync represented as epoch in milliseconds + + ResyncReasons []string `json:"resyncReasons,omitempty"` // List of reasons for the ongoing/last resync on the device. If multiple resync requests were made before the resync could start, all the reasons will be captured as an array. Possible values: ADD_DEVICE_SYNC, LINK_UP_DOWN, CONFIG_CHANGE, DEVICE_UPDATED_SYNC, AP_EVENT_BASED_SYNC, APP_REQUESTED_SYNC, PERIODIC_SYNC, UI_SYNC, CUSTOM, UNKNOWN, REFRESH_OBJECTS_FEATURE_BASED_SYNC + + ResyncRequestedByApps []string `json:"resyncRequestedByApps,omitempty"` // List of applications that requested the last/ongoing resync on the device + + PendingResyncRequestCount *int `json:"pendingResyncRequestCount,omitempty"` // Number of pending resync requests for the device + + PendingResyncRequestReasons []string `json:"pendingResyncRequestReasons,omitempty"` // List of reasons for the pending resync requests. Possible values: ADD_DEVICE_SYNC, LINK_UP_DOWN, CONFIG_CHANGE, DEVICE_UPDATED_SYNC, AP_EVENT_BASED_SYNC, APP_REQUESTED_SYNC, PERIODIC_SYNC, UI_SYNC, CUSTOM, UNKNOWN, REFRESH_OBJECTS_FEATURE_BASED_SYNC + + ResyncIntervalSource string `json:"resyncIntervalSource,omitempty"` // Source of the resync interval. Note: Please refer to PUT /dna/intent/api/v1/networkDevices/resyncIntervalSettings API to update the global resync interval. + + ResyncIntervalMinutes *int `json:"resyncIntervalMinutes,omitempty"` // The duration in minutes between the periodic resync attempts for the device + + ErrorCode string `json:"errorCode,omitempty"` // Error code indicating the reason for the last resync failure + + ErrorDescription string `json:"errorDescription,omitempty"` // Additional information regarding the reason for resync failure. This is a human-readable error message and should not be expected programmatically. + + UserDefinedFields *ResponseDevicesQueryNetworkDevicesWithFiltersResponseUserDefinedFields `json:"userDefinedFields,omitempty"` // Map of all user defined fields and their values associated with the device. Refer to /dna/intent/api/v1/network-device/user-defined-field API to fetch all the user defined fields. } -type ResponseDevicesRemoveAllowedMacAddress struct { - Response string `json:"response,omitempty"` // Response - Error *ResponseDevicesRemoveAllowedMacAddressError `json:"error,omitempty"` // Error +type ResponseDevicesQueryNetworkDevicesWithFiltersResponseUserDefinedFields interface{} +type ResponseDevicesCountTheNumberOfNetworkDevicesWithFilters struct { + Response *ResponseDevicesCountTheNumberOfNetworkDevicesWithFiltersResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response } -type ResponseDevicesRemoveAllowedMacAddressError interface{} -type ResponseDevicesThreatSummary struct { - Response *[]ResponseDevicesThreatSummaryResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseDevicesCountTheNumberOfNetworkDevicesWithFiltersResponse struct { + Count *int `json:"count,omitempty"` // The reported count. } -type ResponseDevicesThreatSummaryResponse struct { - Timestamp *int `json:"timestamp,omitempty"` // Timestamp - ThreatData *[]ResponseDevicesThreatSummaryResponseThreatData `json:"threatData,omitempty"` // +type ResponseDevicesUpdateGlobalResyncInterval struct { + Response *ResponseDevicesUpdateGlobalResyncIntervalResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version of the response } -type ResponseDevicesThreatSummaryResponseThreatData struct { - ThreatType string `json:"threatType,omitempty"` // Threat Type - ThreatLevel string `json:"threatLevel,omitempty"` // Threat Level - ThreatCount *int `json:"threatCount,omitempty"` // Threat Count +type ResponseDevicesUpdateGlobalResyncIntervalResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task + + URL string `json:"url,omitempty"` // URL for the task } -type ResponseDevicesGetThreatTypes struct { - Response *[]ResponseDevicesGetThreatTypesResponse `json:"response,omitempty"` // +type ResponseDevicesOverrideResyncInterval struct { + Response *ResponseDevicesOverrideResyncIntervalResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version of the response } -type ResponseDevicesGetThreatTypesResponse struct { - Value *int `json:"value,omitempty"` // Value - Name string `json:"name,omitempty"` // Name - Label string `json:"label,omitempty"` // Label - IsCustom *bool `json:"isCustom,omitempty"` // Is Custom - IsDeleted *bool `json:"isDeleted,omitempty"` // Is Deleted +type ResponseDevicesOverrideResyncIntervalResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task + + URL string `json:"url,omitempty"` // URL for the task } -type ResponseDevicesGetDeviceInterfaceStatsInfoV2 struct { - Version string `json:"version,omitempty"` // Version - TotalCount *float64 `json:"totalCount,omitempty"` // The total count - Response *[]ResponseDevicesGetDeviceInterfaceStatsInfoV2Response `json:"response,omitempty"` // - Page *ResponseDevicesGetDeviceInterfaceStatsInfoV2Page `json:"page,omitempty"` // +type ResponseDevicesGetDetailsOfASingleNetworkDevice struct { + Response *ResponseDevicesGetDetailsOfASingleNetworkDeviceResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version number of the response } -type ResponseDevicesGetDeviceInterfaceStatsInfoV2Response struct { - ID string `json:"id,omitempty"` // Interface Instance Id - Values *ResponseDevicesGetDeviceInterfaceStatsInfoV2ResponseValues `json:"values,omitempty"` // +type ResponseDevicesGetDetailsOfASingleNetworkDeviceResponse struct { + ID string `json:"id,omitempty"` // Unique identifier of the network device + + ManagementAddress string `json:"managementAddress,omitempty"` // Management address of the network device + + DNSResolvedManagementIPAddress string `json:"dnsResolvedManagementIpAddress,omitempty"` // DNS-resolved management IP address of the network device + + Hostname string `json:"hostname,omitempty"` // Hostname of the network device + + MacAddress string `json:"macAddress,omitempty"` // MAC address of the network device + + SerialNumbers []string `json:"serialNumbers,omitempty"` // Serial number of the network device. In case of stack device, there will be multiple serial numbers + + Type string `json:"type,omitempty"` // Type of the network device. This list of types can be obtained from the API intent/networkDeviceProductNames productName field. + + Family string `json:"family,omitempty"` // Product family of the network device. For example, Switches, Routers, etc + + Series string `json:"series,omitempty"` // The model range or series of the network device + + Status string `json:"status,omitempty"` // Inventory related status of the network device. Refer features for more details + + PlatformIDs []string `json:"platformIds,omitempty"` // Platform identifier of the network device + + SoftwareType string `json:"softwareType,omitempty"` // Type of software running on the network device. For example, IOS-XE, etc. + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Version of the software running on the network device + + Vendor string `json:"vendor,omitempty"` // Vendor of the network device + + StackDevice *bool `json:"stackDevice,omitempty"` // Flag indicating if the network device is a stack device + + BootTime *float64 `json:"bootTime,omitempty"` // The time at which the network device was last rebooted or powered on represented as epoch in milliseconds + + Role string `json:"role,omitempty"` // Role assigned to the network device + + RoleSource string `json:"roleSource,omitempty"` // Indicates whether the network device's role was assigned automatically by the software or manually by an administrator. + + ApEthernetMacAddress string `json:"apEthernetMacAddress,omitempty"` // Ethernet MAC address of the AP network device + + ApManagerInterfaceIPAddress string `json:"apManagerInterfaceIpAddress,omitempty"` // Management IP address of the AP network device + + ApWlcIPAddress string `json:"apWlcIpAddress,omitempty"` // Management IP address of the WLC on which AP is associated to + + DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // The level of support Catalyst Center provides for the network device. + + SNMPLocation string `json:"snmpLocation,omitempty"` // SNMP location of the network device + + SNMPContact string `json:"snmpContact,omitempty"` // SNMP contact of the network device + + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Reachability status of the network device. Refer features for more details + + ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Reason for reachability failure. This message that provides more information about the reachability failure. + + ManagementState string `json:"managementState,omitempty"` // The status of the network device's manageability. Refer features for more details. + + LastSuccessfulResyncReasons []string `json:"lastSuccessfulResyncReasons,omitempty"` // List of reasons for the last successful resync of the device. If multiple resync requests are made before the device can start the resync, all the reasons will be captured. Possible values: ADD_DEVICE_SYNC, LINK_UP_DOWN, CONFIG_CHANGE, DEVICE_UPDATED_SYNC, AP_EVENT_BASED_SYNC, APP_REQUESTED_SYNC, PERIODIC_SYNC, UI_SYNC, CUSTOM, UNKNOWN, REFRESH_OBJECTS_FEATURE_BASED_SYNC + + ResyncStartTime *float64 `json:"resyncStartTime,omitempty"` // Start time for the last/ongoing resync represented as epoch in milliseconds + + ResyncEndTime *float64 `json:"resyncEndTime,omitempty"` // End time for the last resync represented as epoch in milliseconds + + ResyncReasons []string `json:"resyncReasons,omitempty"` // List of reasons for the ongoing/last resync on the device. If multiple resync requests were made before the resync could start, all the reasons will be captured as an array. Possible values: ADD_DEVICE_SYNC, LINK_UP_DOWN, CONFIG_CHANGE, DEVICE_UPDATED_SYNC, AP_EVENT_BASED_SYNC, APP_REQUESTED_SYNC, PERIODIC_SYNC, UI_SYNC, CUSTOM, UNKNOWN, REFRESH_OBJECTS_FEATURE_BASED_SYNC + + ResyncRequestedByApps []string `json:"resyncRequestedByApps,omitempty"` // List of applications that requested the last/ongoing resync on the device + + PendingResyncRequestCount *int `json:"pendingResyncRequestCount,omitempty"` // Number of pending resync requests for the device + + PendingResyncRequestReasons []string `json:"pendingResyncRequestReasons,omitempty"` // List of reasons for the pending resync requests. Possible values: ADD_DEVICE_SYNC, LINK_UP_DOWN, CONFIG_CHANGE, DEVICE_UPDATED_SYNC, AP_EVENT_BASED_SYNC, APP_REQUESTED_SYNC, PERIODIC_SYNC, UI_SYNC, CUSTOM, UNKNOWN, REFRESH_OBJECTS_FEATURE_BASED_SYNC + + ResyncIntervalSource string `json:"resyncIntervalSource,omitempty"` // Source of the resync interval. Note: Please refer to PUT /dna/intent/api/v1/networkDevices/resyncIntervalSettings API to update the global resync interval. + + ResyncIntervalMinutes *int `json:"resyncIntervalMinutes,omitempty"` // The duration in minutes between the periodic resync attempts for the device + + ErrorCode string `json:"errorCode,omitempty"` // Error code indicating the reason for the last resync failure + + ErrorDescription string `json:"errorDescription,omitempty"` // Additional information regarding the reason for resync failure. This is a human-readable error message and should not be expected programmatically. + + UserDefinedFields *ResponseDevicesGetDetailsOfASingleNetworkDeviceResponseUserDefinedFields `json:"userDefinedFields,omitempty"` // Map of all user defined fields and their values associated with the device. Refer to /dna/intent/api/v1/network-device/user-defined-field API to fetch all the user defined fields. } -type ResponseDevicesGetDeviceInterfaceStatsInfoV2ResponseValues struct { - AdminStatus string `json:"adminStatus,omitempty"` // The desired state of the interface - DeviceID string `json:"deviceId,omitempty"` // Device Id - DuplexConfig string `json:"duplexConfig,omitempty"` // Interface duplex config status - DuplexOper string `json:"duplexOper,omitempty"` // Interface duplex operational status - InterfaceID string `json:"interfaceId,omitempty"` // Interface ifIndex - InterfaceType string `json:"interfaceType,omitempty"` // Physical or Virtual type - InstanceID string `json:"instanceId,omitempty"` // Interface InstanceId - IPv4Address string `json:"ipv4Address,omitempty"` // Interface IPV4 Address - IPv6AddressList []string `json:"ipv6AddressList,omitempty"` // List of interface IPV6 Address - IsL3Interface string `json:"isL3Interface,omitempty"` // Interface is L3 or not - IsWan string `json:"isWan,omitempty"` // nterface is WAN link or not - MacAddr string `json:"macAddr,omitempty"` // Interface MAC Address - MediaType string `json:"mediaType,omitempty"` // Interface media type - Name string `json:"name,omitempty"` // Name of the interface - OperStatus string `json:"operStatus,omitempty"` // Interface operational status - PeerStackMember string `json:"peerStackMember,omitempty"` // Interface peer stack member Id - PeerStackPort string `json:"peerStackPort,omitempty"` // Interface peer stack member port - PortChannelID string `json:"portChannelId,omitempty"` // Interface Port-Channel Id - PortMode string `json:"portMode,omitempty"` // Interface Port Mode - PortType string `json:"portType,omitempty"` // Interface ifType - Description string `json:"description,omitempty"` // Interface description - RxDiscards string `json:"rxDiscards,omitempty"` // Rx Discards in % - RxError string `json:"rxError,omitempty"` // Rx Errors in % - RxRate string `json:"rxRate,omitempty"` // Rx rate in bps - RxUtilization string `json:"rxUtilization,omitempty"` // Rx Utilization in % - Speed string `json:"speed,omitempty"` // Speed of the Interface in kbps - StackPortType string `json:"stackPortType,omitempty"` // Interface stack port type. SVL or DAD - Timestamp string `json:"timestamp,omitempty"` // Interface stats collected timestamp - TxDiscards string `json:"txDiscards,omitempty"` // Tx Discards in % - TxError string `json:"txError,omitempty"` // Tx Errors in % - TxRate string `json:"txRate,omitempty"` // Tx Rate in bps - TxUtilization string `json:"txUtilization,omitempty"` // Tx Utilization in % - VLANID string `json:"vlanId,omitempty"` // Interface VLAN Id +type ResponseDevicesGetDetailsOfASingleNetworkDeviceResponseUserDefinedFields interface{} +type ResponseDevicesUpdateResyncIntervalForTheNetworkDevice struct { + Response *ResponseDevicesUpdateResyncIntervalForTheNetworkDeviceResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version of the response } -type ResponseDevicesGetDeviceInterfaceStatsInfoV2Page struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *float64 `json:"offset,omitempty"` // Offset - Count *int `json:"count,omitempty"` // Count +type ResponseDevicesUpdateResyncIntervalForTheNetworkDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task + + URL string `json:"url,omitempty"` // URL for the task } -type ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters struct { - Response *ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseDevicesGetResyncIntervalForTheNetworkDevice struct { + Response *ResponseDevicesGetResyncIntervalForTheNetworkDeviceResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersResponse struct { - Count *int `json:"count,omitempty"` // Count +type ResponseDevicesGetResyncIntervalForTheNetworkDeviceResponse struct { + Interval *int `json:"interval,omitempty"` // Resync interval of the device } -type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - Views []string `json:"views,omitempty"` // Views - Attributes []string `json:"attributes,omitempty"` // Attributes - Filters *[]RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters `json:"filters,omitempty"` // - AggregateAttributes *[]RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes `json:"aggregateAttributes,omitempty"` // - Page *RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage `json:"page,omitempty"` // +type ResponseDevicesRogueAdditionalDetails struct { + Response *[]ResponseDevicesRogueAdditionalDetailsResponse `json:"response,omitempty"` // + + TotalCount *int `json:"totalCount,omitempty"` // Total Count + + Version string `json:"version,omitempty"` // Version } -type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters struct { - Key string `json:"key,omitempty"` // Key - Operator string `json:"operator,omitempty"` // Operator - Value string `json:"value,omitempty"` // Value +type ResponseDevicesRogueAdditionalDetailsResponse struct { + MacAddress string `json:"macAddress,omitempty"` // MAC Address of the Rogue BSSID + + MldMacAddress string `json:"mldMacAddress,omitempty"` // MLD MAC Address of the Rogue BSSID, this is applicable only for Wi-Fi 7 Rogues + + UpdatedTime *int `json:"updatedTime,omitempty"` // Last time when the Rogue is seen in the network + + CreatedTime *int `json:"createdTime,omitempty"` // First time when the Rogue is seen in the network + + ThreatType string `json:"threatType,omitempty"` // Type of the Rogue Threat + + ThreatLevel string `json:"threatLevel,omitempty"` // Level of the Rogue Threat + + ApName string `json:"apName,omitempty"` // Detecting AP Name + + DetectingApMac string `json:"detectingAPMac,omitempty"` // MAC Address of the Detecting AP + + SSID string `json:"ssid,omitempty"` // Rogue SSID + + Containment string `json:"containment,omitempty"` // Containment Status of the Rogue + + RadioType string `json:"radioType,omitempty"` // Radio Type on which Rogue is detected + + ControllerIP string `json:"controllerIp,omitempty"` // IP Address of the Controller detecting this Rogue + + ControllerName string `json:"controllerName,omitempty"` // Name of the Controller detecting this Rogue + + ChannelNumber string `json:"channelNumber,omitempty"` // Channel Number on which the Rogue is detected + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Hierarchy of the Rogue + + Encryption string `json:"encryption,omitempty"` // Security status of the Rogue SSID + + SwitchIP string `json:"switchIp,omitempty"` // IP Address of the Switch on which the Rogue is connected. This will be filled only in case of Rogue on Wire Threat Type + + SwitchName string `json:"switchName,omitempty"` // Name of the Switch on which the Rogue is connected. This will be filled only in case of Rogue on Wire Threat Type + + PortDescription string `json:"portDescription,omitempty"` // Port information of the Switch on which the Rogue is connected. This will be filled only in case of Rogue on Wire Threat Type } -type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - Function string `json:"function,omitempty"` // Function +type ResponseDevicesRogueAdditionalDetailCount struct { + Response *int `json:"response,omitempty"` // Response + + Version string `json:"version,omitempty"` // Version } -type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - SortBy *[]RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPageSortBy `json:"sortBy,omitempty"` // +type ResponseDevicesStartWirelessRogueApContainment struct { + Response *ResponseDevicesStartWirelessRogueApContainmentResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPageSortBy struct { - Name string `json:"name,omitempty"` // Name - Order string `json:"order,omitempty"` // Order +type ResponseDevicesStartWirelessRogueApContainmentResponse struct { + MacAddress string `json:"macAddress,omitempty"` // Mac Address + + Type *int `json:"type,omitempty"` // Type + + InitiatedOnWlcIP string `json:"initiatedOnWlcIp,omitempty"` // Initiated On Wlc Ip + + TaskID string `json:"taskId,omitempty"` // Task Id + + TaskType string `json:"taskType,omitempty"` // Task Type + + InitiatedOnBssid []string `json:"initiatedOnBssid,omitempty"` // Initiated On Bssid } -type RequestDevicesQueryAssuranceEventsWithFilters struct { - DeviceFamily []string `json:"deviceFamily,omitempty"` // Device Family - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - Attributes []string `json:"attributes,omitempty"` // Attributes - Views []string `json:"views,omitempty"` // Views - Filters *[]RequestDevicesQueryAssuranceEventsWithFiltersFilters `json:"filters,omitempty"` // - Page *RequestDevicesQueryAssuranceEventsWithFiltersPage `json:"page,omitempty"` // +type ResponseDevicesWirelessRogueApContainmentStatus struct { + Response *[]ResponseDevicesWirelessRogueApContainmentStatusResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestDevicesQueryAssuranceEventsWithFiltersFilters struct { - Key string `json:"key,omitempty"` // Key - Operator string `json:"operator,omitempty"` // Operator - Value string `json:"value,omitempty"` // Value +type ResponseDevicesWirelessRogueApContainmentStatusResponse struct { + MacAddress string `json:"macAddress,omitempty"` // Mac Address + + Type *int `json:"type,omitempty"` // Type + + Classification string `json:"classification,omitempty"` // Classification + + ContainmentStatus string `json:"containmentStatus,omitempty"` // Containment Status + + ContainedByWlcIP []string `json:"containedByWlcIp,omitempty"` // Contained By Wlc Ip + + LastSeen *int `json:"lastSeen,omitempty"` // Last Seen + + StrongestDetectingWlcIP string `json:"strongestDetectingWlcIp,omitempty"` // Strongest Detecting Wlc Ip + + LastTaskDetail *ResponseDevicesWirelessRogueApContainmentStatusResponseLastTaskDetail `json:"lastTaskDetail,omitempty"` // + + BssidContainmentStatus *[]ResponseDevicesWirelessRogueApContainmentStatusResponseBssidContainmentStatus `json:"bssidContainmentStatus,omitempty"` // } -type RequestDevicesQueryAssuranceEventsWithFiltersPage struct { - Offset *int `json:"offset,omitempty"` // Offset - Limit *int `json:"limit,omitempty"` // Limit - SortBy *[]RequestDevicesQueryAssuranceEventsWithFiltersPageSortBy `json:"sortBy,omitempty"` // +type ResponseDevicesWirelessRogueApContainmentStatusResponseLastTaskDetail struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + TaskType string `json:"taskType,omitempty"` // Task Type + + TaskState string `json:"taskState,omitempty"` // Task State + + TaskStartTime *int `json:"taskStartTime,omitempty"` // Task Start Time + + InitiatedOnWlcIP string `json:"initiatedOnWlcIp,omitempty"` // Initiated On Wlc Ip + + InitiatedOnBssid []string `json:"initiatedOnBssid,omitempty"` // Initiated On Bssid } -type RequestDevicesQueryAssuranceEventsWithFiltersPageSortBy struct { - Name string `json:"name,omitempty"` // Name - Order string `json:"order,omitempty"` // Order +type ResponseDevicesWirelessRogueApContainmentStatusResponseBssidContainmentStatus struct { + Bssid string `json:"bssid,omitempty"` // Bssid + + SSID string `json:"ssid,omitempty"` // Ssid + + RadioType string `json:"radioType,omitempty"` // Radio Type + + ContainmentStatus string `json:"containmentStatus,omitempty"` // Containment Status + + ContainedByWlcIP string `json:"containedByWlcIp,omitempty"` // Contained By Wlc Ip + + IsAdhoc *bool `json:"isAdhoc,omitempty"` // Is Adhoc } -type RequestDevicesCountTheNumberOfEventsWithFilters struct { - DeviceFamily []string `json:"deviceFamily,omitempty"` // Device Family - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - Filters *[]RequestDevicesCountTheNumberOfEventsWithFiltersFilters `json:"filters,omitempty"` // +type ResponseDevicesStopWirelessRogueApContainment struct { + Response *ResponseDevicesStopWirelessRogueApContainmentResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestDevicesCountTheNumberOfEventsWithFiltersFilters struct { - Key string `json:"key,omitempty"` // Key - Operator string `json:"operator,omitempty"` // Operator - Value string `json:"value,omitempty"` // Value +type ResponseDevicesStopWirelessRogueApContainmentResponse struct { + MacAddress string `json:"macAddress,omitempty"` // Mac Address + + Type *int `json:"type,omitempty"` // Type + + InitiatedOnWlcIP string `json:"initiatedOnWlcIp,omitempty"` // Initiated On Wlc Ip + + TaskID string `json:"taskId,omitempty"` // Task Id + + TaskType string `json:"taskType,omitempty"` // Task Type + + InitiatedOnBssid []string `json:"initiatedOnBssid,omitempty"` // Initiated On Bssid } -type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - Views []string `json:"views,omitempty"` // Views - Attributes []string `json:"attributes,omitempty"` // Attributes - Filters *[]RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters `json:"filters,omitempty"` // - AggregateAttributes *[]RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes `json:"aggregateAttributes,omitempty"` // - Page *RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage `json:"page,omitempty"` // +type ResponseDevicesThreatDetails struct { + Response *[]ResponseDevicesThreatDetailsResponse `json:"response,omitempty"` // + + TotalCount *int `json:"totalCount,omitempty"` // Total Count + + Version string `json:"version,omitempty"` // Version } -type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters struct { - Key string `json:"key,omitempty"` // Key - Operator string `json:"operator,omitempty"` // Operator - LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator - Value *RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersValue `json:"value,omitempty"` // Value - Filters *[]RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersFilters `json:"filters,omitempty"` // +type ResponseDevicesThreatDetailsResponse struct { + MacAddress string `json:"macAddress,omitempty"` // Mac Address + + UpdatedTime *int `json:"updatedTime,omitempty"` // Updated Time + + Vendor string `json:"vendor,omitempty"` // Vendor + + ThreatType string `json:"threatType,omitempty"` // Threat Type + + ThreatLevel string `json:"threatLevel,omitempty"` // Threat Level + + ApName string `json:"apName,omitempty"` // Ap Name + + DetectingApMac string `json:"detectingAPMac,omitempty"` // Detecting A P Mac + + SiteID string `json:"siteId,omitempty"` // Site Id + + Rssi string `json:"rssi,omitempty"` // Rssi + + SSID string `json:"ssid,omitempty"` // Ssid + + Containment string `json:"containment,omitempty"` // Containment + + State string `json:"state,omitempty"` // State + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy } -type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersValue interface{} -type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersFilters struct { - Key string `json:"key,omitempty"` // Key - Operator string `json:"operator,omitempty"` // Operator - LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator - Value *RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersFiltersValue `json:"value,omitempty"` // Value - Filters []string `json:"filters,omitempty"` // Filters +type ResponseDevicesThreatDetailCount struct { + Response *int `json:"response,omitempty"` // Response + + Version string `json:"version,omitempty"` // Version } -type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersFiltersValue interface{} -type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - Function string `json:"function,omitempty"` // Function +type ResponseDevicesGetThreatLevels struct { + Response *[]ResponseDevicesGetThreatLevelsResponse `json:"response,omitempty"` // } -type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - SortBy *[]RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPageSortBy `json:"sortBy,omitempty"` // +type ResponseDevicesGetThreatLevelsResponse struct { + Name string `json:"name,omitempty"` // Name + + Value *int `json:"value,omitempty"` // Value } -type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPageSortBy struct { - Name string `json:"name,omitempty"` // Name - Order string `json:"order,omitempty"` // Order +type ResponseDevicesAddAllowedMacAddress struct { + Response string `json:"response,omitempty"` // Response + + Error *ResponseDevicesAddAllowedMacAddressError `json:"error,omitempty"` // Error } -type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevices struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - Views []string `json:"views,omitempty"` // Views - Attributes []string `json:"attributes,omitempty"` // Attributes - Filters *[]RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesFilters `json:"filters,omitempty"` // - AggregateAttributes *[]RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesAggregateAttributes `json:"aggregateAttributes,omitempty"` // - Page *RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesPage `json:"page,omitempty"` // +type ResponseDevicesAddAllowedMacAddressError interface{} +type ResponseDevicesGetAllowedMacAddress []ResponseItemDevicesGetAllowedMacAddress // Array of ResponseDevicesGetAllowedMacAddress +type ResponseItemDevicesGetAllowedMacAddress struct { + MacAddress string `json:"macAddress,omitempty"` // Mac Address + + Category *int `json:"category,omitempty"` // Category + + LastModified *int `json:"lastModified,omitempty"` // Last Modified } -type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesFilters struct { - Key string `json:"key,omitempty"` // Key - Operator string `json:"operator,omitempty"` // Operator - LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator - Value *RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesFiltersValue `json:"value,omitempty"` // Value - Filters []string `json:"filters,omitempty"` // Filters +type ResponseDevicesGetAllowedMacAddressCount struct { + Response *int `json:"response,omitempty"` // Response + + Version string `json:"version,omitempty"` // Version } -type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesFiltersValue interface{} -type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - Function string `json:"function,omitempty"` // Function +type ResponseDevicesRemoveAllowedMacAddress struct { + Response string `json:"response,omitempty"` // Response + + Error *ResponseDevicesRemoveAllowedMacAddressError `json:"error,omitempty"` // Error } -type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesPage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - SortBy *[]RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesPageSortBy `json:"sortBy,omitempty"` // +type ResponseDevicesRemoveAllowedMacAddressError interface{} +type ResponseDevicesThreatSummary struct { + Response *[]ResponseDevicesThreatSummaryResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesPageSortBy struct { - Name string `json:"name,omitempty"` // Name - Order string `json:"order,omitempty"` // Order +type ResponseDevicesThreatSummaryResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + ThreatData *[]ResponseDevicesThreatSummaryResponseThreatData `json:"threatData,omitempty"` // } -type RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - Views []string `json:"views,omitempty"` // Views - Attributes []string `json:"attributes,omitempty"` // Attributes - Filters *[]RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters `json:"filters,omitempty"` // - AggregateAttributes *[]RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes `json:"aggregateAttributes,omitempty"` // - Page *RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage `json:"page,omitempty"` // +type ResponseDevicesThreatSummaryResponseThreatData struct { + ThreatType string `json:"threatType,omitempty"` // Threat Type + + ThreatLevel string `json:"threatLevel,omitempty"` // Threat Level + + ThreatCount *int `json:"threatCount,omitempty"` // Threat Count } -type RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters struct { - Key string `json:"key,omitempty"` // Key - Operator string `json:"operator,omitempty"` // Operator - Value string `json:"value,omitempty"` // Value +type ResponseDevicesGetThreatTypes struct { + Response *[]ResponseDevicesGetThreatTypesResponse `json:"response,omitempty"` // } -type RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - Function string `json:"function,omitempty"` // Function +type ResponseDevicesGetThreatTypesResponse struct { + Value *int `json:"value,omitempty"` // Value + + Name string `json:"name,omitempty"` // Name + + Label string `json:"label,omitempty"` // Label + + IsCustom *bool `json:"isCustom,omitempty"` // Is Custom + + IsDeleted *bool `json:"isDeleted,omitempty"` // Is Deleted } -type RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - Count *int `json:"count,omitempty"` // Count - SortBy string `json:"sortBy,omitempty"` // Sort By +type ResponseDevicesGetDeviceInterfaceStatsInfoV2 struct { + Version string `json:"version,omitempty"` // Version + + TotalCount *float64 `json:"totalCount,omitempty"` // The total count + + Response *[]ResponseDevicesGetDeviceInterfaceStatsInfoV2Response `json:"response,omitempty"` // + + Page *ResponseDevicesGetDeviceInterfaceStatsInfoV2Page `json:"page,omitempty"` // } -type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - GroupBy []string `json:"groupBy,omitempty"` // Group By - Attributes []string `json:"attributes,omitempty"` // Attributes - Filters *[]RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesFilters `json:"filters,omitempty"` // - AggregateAttributes *[]RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesAggregateAttributes `json:"aggregateAttributes,omitempty"` // - Page *RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPage `json:"page,omitempty"` // +type ResponseDevicesGetDeviceInterfaceStatsInfoV2Response struct { + ID string `json:"id,omitempty"` // Interface Instance Id + + Values *ResponseDevicesGetDeviceInterfaceStatsInfoV2ResponseValues `json:"values,omitempty"` // } -type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesFilters struct { - Key string `json:"key,omitempty"` // Key - Operator string `json:"operator,omitempty"` // Operator - Value string `json:"value,omitempty"` // Value +type ResponseDevicesGetDeviceInterfaceStatsInfoV2ResponseValues struct { + AdminStatus string `json:"adminStatus,omitempty"` // The desired state of the interface + + DeviceID string `json:"deviceId,omitempty"` // Device Id + + DuplexConfig string `json:"duplexConfig,omitempty"` // Interface duplex config status + + DuplexOper string `json:"duplexOper,omitempty"` // Interface duplex operational status + + InterfaceID string `json:"interfaceId,omitempty"` // Interface ifIndex + + InterfaceType string `json:"interfaceType,omitempty"` // Physical or Virtual type + + InstanceID string `json:"instanceId,omitempty"` // Interface InstanceId + + IPv4Address string `json:"ipv4Address,omitempty"` // Interface IPV4 Address + + IPv6AddressList []string `json:"ipv6AddressList,omitempty"` // List of interface IPV6 Address + + IsL3Interface string `json:"isL3Interface,omitempty"` // Interface is L3 or not + + IsWan string `json:"isWan,omitempty"` // nterface is WAN link or not + + MacAddr string `json:"macAddr,omitempty"` // Interface MAC Address + + MediaType string `json:"mediaType,omitempty"` // Interface media type + + Name string `json:"name,omitempty"` // Name of the interface + + OperStatus string `json:"operStatus,omitempty"` // Interface operational status + + PeerStackMember string `json:"peerStackMember,omitempty"` // Interface peer stack member Id + + PeerStackPort string `json:"peerStackPort,omitempty"` // Interface peer stack member port + + PortChannelID string `json:"portChannelId,omitempty"` // Interface Port-Channel Id + + PortMode string `json:"portMode,omitempty"` // Interface Port Mode + + PortType string `json:"portType,omitempty"` // Interface ifType + + Description string `json:"description,omitempty"` // Interface description + + RxDiscards string `json:"rxDiscards,omitempty"` // Rx Discards in % + + RxError string `json:"rxError,omitempty"` // Rx Errors in % + + RxRate string `json:"rxRate,omitempty"` // Rx rate in bps + + RxUtilization string `json:"rxUtilization,omitempty"` // Rx Utilization in % + + Speed string `json:"speed,omitempty"` // Speed of the Interface in kbps + + StackPortType string `json:"stackPortType,omitempty"` // Interface stack port type. SVL or DAD + + Timestamp string `json:"timestamp,omitempty"` // Interface stats collected timestamp + + TxDiscards string `json:"txDiscards,omitempty"` // Tx Discards in % + + TxError string `json:"txError,omitempty"` // Tx Errors in % + + TxRate string `json:"txRate,omitempty"` // Tx Rate in bps + + TxUtilization string `json:"txUtilization,omitempty"` // Tx Utilization in % + + VLANID string `json:"vlanId,omitempty"` // Interface VLAN Id } -type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - Function string `json:"function,omitempty"` // Function +type ResponseDevicesGetDeviceInterfaceStatsInfoV2Page struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *float64 `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count } -type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - SortBy *[]RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPageSortBy `json:"sortBy,omitempty"` // +type RequestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Page *RequestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } -type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPageSortBy struct { - Name string `json:"name,omitempty"` // Name +type RequestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value []string `json:"value,omitempty"` // Value +} +type RequestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type RequestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order } -type RequestDevicesGetsTheTrendAnalyticsData struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - TrendInterval string `json:"trendInterval,omitempty"` // Trend Interval - GroupBy *[]RequestDevicesGetsTheTrendAnalyticsDataGroupBy `json:"groupBy,omitempty"` // Group By - Attributes []string `json:"attributes,omitempty"` // Attributes - Filters *[]RequestDevicesGetsTheTrendAnalyticsDataFilters `json:"filters,omitempty"` // - AggregateAttributes *[]RequestDevicesGetsTheTrendAnalyticsDataAggregateAttributes `json:"aggregateAttributes,omitempty"` // Aggregate Attributes - Page *RequestDevicesGetsTheTrendAnalyticsDataPage `json:"page,omitempty"` // +type RequestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // } -type RequestDevicesGetsTheTrendAnalyticsDataGroupBy interface{} -type RequestDevicesGetsTheTrendAnalyticsDataFilters struct { - Key string `json:"key,omitempty"` // Key +type RequestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator - Value string `json:"value,omitempty"` // Value -} -type RequestDevicesGetsTheTrendAnalyticsDataAggregateAttributes interface{} -type RequestDevicesGetsTheTrendAnalyticsDataPage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order + + Value []string `json:"value,omitempty"` // Value } -type RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRange struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - TrendIntervalInMinutes *int `json:"trendIntervalInMinutes,omitempty"` // Trend Interval In Minutes - GroupBy []string `json:"groupBy,omitempty"` // Group By - Filters *[]RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeFilters `json:"filters,omitempty"` // - Attributes []string `json:"attributes,omitempty"` // Attributes - AggregateAttributes *[]RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeAggregateAttributes `json:"aggregateAttributes,omitempty"` // - Page *RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangePage `json:"page,omitempty"` // +type RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } -type RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeFilters struct { - Key string `json:"key,omitempty"` // Key - Operator string `json:"operator,omitempty"` // Operator - LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator - Value *RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeFiltersValue `json:"value,omitempty"` // Value - Filters []string `json:"filters,omitempty"` // Filters +type RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters } -type RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeFiltersValue interface{} -type RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name +type RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFiltersValue interface{} +type RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function } -type RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangePage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +type RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // } -type RequestDevicesUpdatePlannedAccessPointForFloor struct { - Attributes *RequestDevicesUpdatePlannedAccessPointForFloorAttributes `json:"attributes,omitempty"` // - IsSensor *bool `json:"isSensor,omitempty"` // Indicates that PAP is a sensor - Location *RequestDevicesUpdatePlannedAccessPointForFloorLocation `json:"location,omitempty"` // - Position *RequestDevicesUpdatePlannedAccessPointForFloorPosition `json:"position,omitempty"` // - RadioCount *int `json:"radioCount,omitempty"` // Number of radios of the planned access point - Radios *[]RequestDevicesUpdatePlannedAccessPointForFloorRadios `json:"radios,omitempty"` // +type RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Order string `json:"order,omitempty"` // Order } -type RequestDevicesUpdatePlannedAccessPointForFloorAttributes struct { - CreateDate *float64 `json:"createDate,omitempty"` // Created date of the planned access point - Domain string `json:"domain,omitempty"` // Service domain to which the planned access point belongs - HeirarchyName string `json:"heirarchyName,omitempty"` // Hierarchy name of the planned access point - ID *float64 `json:"id,omitempty"` // Unique id of the planned access point - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance uuid of the planned access point - MacAddress string `json:"macAddress,omitempty"` // MAC address of the planned access point - Name string `json:"name,omitempty"` // Display name of the planned access point - Source string `json:"source,omitempty"` // Source of the data used to create the planned access point - TypeString string `json:"typeString,omitempty"` // Type string representation of the planned access point +type RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TopN *int `json:"topN,omitempty"` // Top N + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } -type RequestDevicesUpdatePlannedAccessPointForFloorLocation struct { - Altitude *float64 `json:"altitude,omitempty"` // Altitude of the planned access point's location - Lattitude *float64 `json:"lattitude,omitempty"` // Latitude of the planned access point's location - Longtitude *float64 `json:"longtitude,omitempty"` // Longitude of the planned access point's location +type RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters } -type RequestDevicesUpdatePlannedAccessPointForFloorPosition struct { - X *float64 `json:"x,omitempty"` // x-coordinate of the planned access point on the map, 0,0 point being the top-left corner - Y *float64 `json:"y,omitempty"` // y-coordinate of the planned access point on the map, 0,0 point being the top-left corner - Z *float64 `json:"z,omitempty"` // z-coordinate, or height, of the planned access point on the map +type RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFiltersValue interface{} +type RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function } -type RequestDevicesUpdatePlannedAccessPointForFloorRadios struct { - Antenna *RequestDevicesUpdatePlannedAccessPointForFloorRadiosAntenna `json:"antenna,omitempty"` // - Attributes *RequestDevicesUpdatePlannedAccessPointForFloorRadiosAttributes `json:"attributes,omitempty"` // - IsSensor *bool `json:"isSensor,omitempty"` // Determines if it is sensor or not +type RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // } -type RequestDevicesUpdatePlannedAccessPointForFloorRadiosAntenna struct { - AzimuthAngle *float64 `json:"azimuthAngle,omitempty"` // Azimuth angle of the antenna - ElevationAngle *float64 `json:"elevationAngle,omitempty"` // Elevation angle of the antenna - Gain *float64 `json:"gain,omitempty"` // Gain of the antenna - Mode string `json:"mode,omitempty"` // Mode of the antenna associated with this radio - Name string `json:"name,omitempty"` // Name of the antenna - Type string `json:"type,omitempty"` // Type of the antenna associated with this radio +type RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Order string `json:"order,omitempty"` // Order } -type RequestDevicesUpdatePlannedAccessPointForFloorRadiosAttributes struct { - Channel *float64 `json:"channel,omitempty"` // Channel in which this radio operates - ChannelString string `json:"channelString,omitempty"` // Channel string representation - ID *int `json:"id,omitempty"` // Id of the radio - IfMode string `json:"ifMode,omitempty"` // IF mode of the radio - IfTypeString string `json:"ifTypeString,omitempty"` // String representation of native band - IfTypeSubband string `json:"ifTypeSubband,omitempty"` // Sub band of the radio - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the radio - SlotID *float64 `json:"slotId,omitempty"` // Slot number in which the radio resides in the parent access point - TxPowerLevel *float64 `json:"txPowerLevel,omitempty"` // Tx Power at which this radio operates (in dBm) +type RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TrendInterval string `json:"trendInterval,omitempty"` // Trend Interval + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } -type RequestDevicesCreatePlannedAccessPointForFloor struct { - Attributes *RequestDevicesCreatePlannedAccessPointForFloorAttributes `json:"attributes,omitempty"` // - IsSensor *bool `json:"isSensor,omitempty"` // Indicates that PAP is a sensor - Location *RequestDevicesCreatePlannedAccessPointForFloorLocation `json:"location,omitempty"` // - Position *RequestDevicesCreatePlannedAccessPointForFloorPosition `json:"position,omitempty"` // - RadioCount *int `json:"radioCount,omitempty"` // Number of radios of the planned access point - Radios *[]RequestDevicesCreatePlannedAccessPointForFloorRadios `json:"radios,omitempty"` // +type RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters } -type RequestDevicesCreatePlannedAccessPointForFloorAttributes struct { - CreateDate *float64 `json:"createDate,omitempty"` // Created date of the planned access point - Domain string `json:"domain,omitempty"` // Service domain to which the planned access point belongs - HeirarchyName string `json:"heirarchyName,omitempty"` // Hierarchy name of the planned access point - ID *float64 `json:"id,omitempty"` // Unique id of the planned access point - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance uuid of the planned access point - MacAddress string `json:"macAddress,omitempty"` // MAC address of the planned access point - Name string `json:"name,omitempty"` // Display name of the planned access point - Source string `json:"source,omitempty"` // Source of the data used to create the planned access point - TypeString string `json:"typeString,omitempty"` // Type string representation of the planned access point +type RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFiltersValue interface{} +type RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function } -type RequestDevicesCreatePlannedAccessPointForFloorLocation struct { - Altitude *float64 `json:"altitude,omitempty"` // Altitude of the planned access point's location - Lattitude *float64 `json:"lattitude,omitempty"` // Latitude of the planned access point's location - Longtitude *float64 `json:"longtitude,omitempty"` // Longitude of the planned access point's location +type RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } -type RequestDevicesCreatePlannedAccessPointForFloorPosition struct { - X *float64 `json:"x,omitempty"` // x-coordinate of the planned access point on the map, 0,0 point being the top-left corner - Y *float64 `json:"y,omitempty"` // y-coordinate of the planned access point on the map, 0,0 point being the top-left corner - Z *float64 `json:"z,omitempty"` // z-coordinate, or height, of the planned access point on the map +type RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TrendInterval string `json:"trendInterval,omitempty"` // Trend Interval + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServicePage `json:"page,omitempty"` // } -type RequestDevicesCreatePlannedAccessPointForFloorRadios struct { - Antenna *RequestDevicesCreatePlannedAccessPointForFloorRadiosAntenna `json:"antenna,omitempty"` // - Attributes *RequestDevicesCreatePlannedAccessPointForFloorRadiosAttributes `json:"attributes,omitempty"` // - IsSensor *bool `json:"isSensor,omitempty"` // Determines if it is sensor or not +type RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters } -type RequestDevicesCreatePlannedAccessPointForFloorRadiosAntenna struct { - AzimuthAngle *float64 `json:"azimuthAngle,omitempty"` // Azimuth angle of the antenna - ElevationAngle *float64 `json:"elevationAngle,omitempty"` // Elevation angle of the antenna - Gain *float64 `json:"gain,omitempty"` // Gain of the antenna - Mode string `json:"mode,omitempty"` // Mode of the antenna associated with this radio - Name string `json:"name,omitempty"` // Name of the antenna - Type string `json:"type,omitempty"` // Type of the antenna associated with this radio +type RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceFiltersValue interface{} +type RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function } -type RequestDevicesCreatePlannedAccessPointForFloorRadiosAttributes struct { - Channel *float64 `json:"channel,omitempty"` // Channel in which this radio operates - ChannelString string `json:"channelString,omitempty"` // Channel string representation - ID *int `json:"id,omitempty"` // Id of the radio - IfMode string `json:"ifMode,omitempty"` // IF mode of the radio - IfTypeString string `json:"ifTypeString,omitempty"` // String representation of native band - IfTypeSubband string `json:"ifTypeSubband,omitempty"` // Sub band of the radio - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the radio - SlotID *float64 `json:"slotId,omitempty"` // Slot number in which the radio resides in the parent access point - TxPowerLevel *float64 `json:"txPowerLevel,omitempty"` // Tx Power at which this radio operates (in dBm) +type RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServicePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } -type RequestDevicesUpdateHealthScoreDefinitions []RequestItemDevicesUpdateHealthScoreDefinitions // Array of RequestDevicesUpdateHealthScoreDefinitions -type RequestItemDevicesUpdateHealthScoreDefinitions struct { - ID string `json:"id,omitempty"` // Id - IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health - ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value - SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold +type RequestDevicesQueryAssuranceEventsWithFilters struct { + DeviceFamily []string `json:"deviceFamily,omitempty"` // Device Family + + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Attributes []string `json:"attributes,omitempty"` // Attributes + + Views []string `json:"views,omitempty"` // Views + + Filters *[]RequestDevicesQueryAssuranceEventsWithFiltersFilters `json:"filters,omitempty"` // + + Page *RequestDevicesQueryAssuranceEventsWithFiltersPage `json:"page,omitempty"` // } -type RequestDevicesUpdateHealthScoreDefinitionForTheGivenID struct { - IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health - ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Thresehold Value - SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold +type RequestDevicesQueryAssuranceEventsWithFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value } -type RequestDevicesUpdateInterfaceDetails struct { - Description string `json:"description,omitempty"` // Description for the Interface - AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') - VLANID *int `json:"vlanId,omitempty"` // VLAN Id to be Updated - VoiceVLANID *int `json:"voiceVlanId,omitempty"` // Voice Vlan Id to be Updated +type RequestDevicesQueryAssuranceEventsWithFiltersPage struct { + Offset *int `json:"offset,omitempty"` // Offset + + Limit *int `json:"limit,omitempty"` // Limit + + SortBy *[]RequestDevicesQueryAssuranceEventsWithFiltersPageSortBy `json:"sortBy,omitempty"` // } -type RequestDevicesClearMacAddressTable struct { - Operation string `json:"operation,omitempty"` // Operation needs to be specified as 'ClearMacAddress'. - Payload *RequestDevicesClearMacAddressTablePayload `json:"payload,omitempty"` // Payload is not applicable +type RequestDevicesQueryAssuranceEventsWithFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Order string `json:"order,omitempty"` // Order } -type RequestDevicesClearMacAddressTablePayload interface{} -type RequestDevicesAddDeviceKnowYourNetwork struct { - CliTransport string `json:"cliTransport,omitempty"` // CLI transport. Supported values: telnet, ssh. Required if type is NETWORK_DEVICE. - ComputeDevice *bool `json:"computeDevice,omitempty"` // Compute Device or not. Options are true / false. - EnablePassword string `json:"enablePassword,omitempty"` // CLI enable password of the device. Required if device is configured to use enable password. - ExtendedDiscoveryInfo string `json:"extendedDiscoveryInfo,omitempty"` // This field holds that info as whether to add device with canned data or not. Supported values: DISCOVER_WITH_CANNED_DATA. - HTTPPassword string `json:"httpPassword,omitempty"` // HTTP password of the device / API key for Meraki Dashboard. Required if type is MERAKI_DASHBOARD or COMPUTE_DEVICE. - HTTPPort string `json:"httpPort,omitempty"` // HTTP port of the device. Required if type is COMPUTE_DEVICE. - HTTPSecure *bool `json:"httpSecure,omitempty"` // Flag to select HTTP / HTTPS protocol. Options are true / false. true for HTTPS and false for HTTP. Default is true. - HTTPUserName string `json:"httpUserName,omitempty"` // HTTP Username of the device. Required if type is COMPUTE_DEVICE. - IPAddress []string `json:"ipAddress,omitempty"` // IP Address of the device. Required if type is NETWORK_DEVICE, COMPUTE_DEVICE or THIRD_PARTY_DEVICE. - MerakiOrgID []string `json:"merakiOrgId,omitempty"` // Selected Meraki organization for which the devices needs to be imported. Required if type is MERAKI_DASHBOARD. - NetconfPort string `json:"netconfPort,omitempty"` // Netconf Port of the device. cliTransport must be 'ssh' if netconf is provided. - Password string `json:"password,omitempty"` // CLI Password of the device. Required if type is NETWORK_DEVICE. - SerialNumber string `json:"serialNumber,omitempty"` // Serial Number of the Device. Required if extendedDiscoveryInfo is 'DISCOVER_WITH_CANNED_DATA'. - SNMPAuthPassphrase string `json:"snmpAuthPassphrase,omitempty"` // SNMPv3 auth passphrase of the device. Required if snmpMode is authNoPriv or authPriv. - SNMPAuthProtocol string `json:"snmpAuthProtocol,omitempty"` // SNMPv3 auth protocol. Supported values: sha, md5. Required if snmpMode is authNoPriv or authPriv. - SNMPMode string `json:"snmpMode,omitempty"` // SNMPv3 mode. Supported values: noAuthnoPriv, authNoPriv, authPriv. Required if snmpVersion is v3. - SNMPPrivPassphrase string `json:"snmpPrivPassphrase,omitempty"` // SNMPv3 priv passphrase. Required if snmpMode is authPriv. - SNMPPrivProtocol string `json:"snmpPrivProtocol,omitempty"` // SNMPv3 priv protocol. Supported values: AES128. Required if snmpMode is authPriv. - SNMPROCommunity string `json:"snmpROCommunity,omitempty"` // SNMP Read Community of the device. If snmpVersion is v2, at least one of snmpROCommunity and snmpRWCommunity is required. - SNMPRWCommunity string `json:"snmpRWCommunity,omitempty"` // SNMP Write Community of the device. If snmpVersion is v2, at least one of snmpROCommunity and snmpRWCommunity is required. - SNMPRetry *int `json:"snmpRetry,omitempty"` // SNMP retry count. Max value supported is 3. Default is Global SNMP retry (if exists) or 3. - SNMPTimeout *int `json:"snmpTimeout,omitempty"` // SNMP timeout in seconds. Max value supported is 300. Default is Global SNMP timeout (if exists) or 5. - SNMPUserName string `json:"snmpUserName,omitempty"` // SNMPV3 user name of the device. Required if snmpVersion is v3. - SNMPVersion string `json:"snmpVersion,omitempty"` // SNMP version. Values supported: v2, v3. Required if type is NETWORK_DEVICE, COMPUTE_DEVICE or THIRD_PARTY_DEVICE. - Type string `json:"type,omitempty"` // Type of device being added. Default is NETWORK_DEVICE. - UserName string `json:"userName,omitempty"` // CLI user name of the device. Required if type is NETWORK_DEVICE. - UpdateMgmtIPaddressList *[]RequestDevicesAddDevice2UpdateMgmtIPaddressList `json:"updateMgmtIPaddressList,omitempty"` -} -type RequestDevicesAddDevice2UpdateMgmtIPaddressList struct { - ExistMgmtIPAddress string `json:"existMgmtIpAddress,omitempty"` // - NewMgmtIPAddress string `json:"newMgmtIpAddress,omitempty"` // +type RequestDevicesCountTheNumberOfEventsWithFilters struct { + DeviceFamily []string `json:"deviceFamily,omitempty"` // Device Family + + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestDevicesCountTheNumberOfEventsWithFiltersFilters `json:"filters,omitempty"` // } -type RequestDevicesUpdateDeviceDetails struct { - CliTransport string `json:"cliTransport,omitempty"` // CLI transport. Supported values: telnet, ssh. Use NO!$DATA!$ if no change is required. Required if type is NETWORK_DEVICE. - ComputeDevice *bool `json:"computeDevice,omitempty"` // Compute Device or not. Options are true / false. - EnablePassword string `json:"enablePassword,omitempty"` // CLI enable password of the device. Required if device is configured to use enable password. Use NO!$DATA!$ if no change is required. - ExtendedDiscoveryInfo string `json:"extendedDiscoveryInfo,omitempty"` // This field holds that info as whether to add device with canned data or not. Supported values: DISCOVER_WITH_CANNED_DATA. - HTTPPassword string `json:"httpPassword,omitempty"` // HTTP password of the device / API key for Meraki Dashboard. Required if type is MERAKI_DASHBOARD or COMPUTE_DEVICE. Use NO!$DATA!$ if no change is required. - HTTPPort string `json:"httpPort,omitempty"` // HTTP port of the device. Required if type is COMPUTE_DEVICE. - HTTPSecure *bool `json:"httpSecure,omitempty"` // Flag to select HTTP / HTTPS protocol. Options are true / false. true for HTTPS and false for HTTP. - HTTPUserName string `json:"httpUserName,omitempty"` // HTTP Username of the device. Required if type is COMPUTE_DEVICE. Use NO!$DATA!$ if no change is required. - IPAddress []string `json:"ipAddress,omitempty"` // IP Address of the device. Required. Use 'api.meraki.com' for Meraki Dashboard. - MerakiOrgID []string `json:"merakiOrgId,omitempty"` // Selected Meraki organization for which the devices needs to be imported. Required if type is MERAKI_DASHBOARD. - NetconfPort string `json:"netconfPort,omitempty"` // Netconf Port of the device. cliTransport must be 'ssh' if netconf is provided. - Password string `json:"password,omitempty"` // CLI Password of the device. Required if type is NETWORK_DEVICE. Use NO!$DATA!$ if no change is required. - SerialNumber string `json:"serialNumber,omitempty"` // Serial Number of the Device. Required if extendedDiscoveryInfo is 'DISCOVER_WITH_CANNED_DATA'. - SNMPAuthPassphrase string `json:"snmpAuthPassphrase,omitempty"` // SNMPv3 auth passphrase of the device. Required if snmpMode is authNoPriv or authPriv. Use NO!$DATA!$ if no change is required. - SNMPAuthProtocol string `json:"snmpAuthProtocol,omitempty"` // SNMPv3 auth protocol. Supported values: sha, md5. Required if snmpMode is authNoPriv or authPriv. Use NODATACHANGE if no change is required. - SNMPMode string `json:"snmpMode,omitempty"` // SNMPv3 mode. Supported values: noAuthnoPriv, authNoPriv, authPriv. Required if snmpVersion is v3. Use NODATACHANGE if no change is required. - SNMPPrivPassphrase string `json:"snmpPrivPassphrase,omitempty"` // SNMPv3 priv passphrase. Required if snmpMode is authPriv. Use NO!$DATA!$ if no change is required. - SNMPPrivProtocol string `json:"snmpPrivProtocol,omitempty"` // SNMPv3 priv protocol. Supported values: AES128. Required if snmpMode is authPriv. Use NODATACHANGE if no change is required. - SNMPROCommunity string `json:"snmpROCommunity,omitempty"` // SNMP Read Community of the device. If snmpVersion is v2, at least one of snmpROCommunity and snmpRWCommunity is required. Use NO!$DATA!$ if no change is required. - SNMPRWCommunity string `json:"snmpRWCommunity,omitempty"` // SNMP Write Community of the device. If snmpVersion is v2, at least one of snmpROCommunity and snmpRWCommunity is required. Use NO!$DATA!$ if no change is required. - SNMPRetry *int `json:"snmpRetry,omitempty"` // SNMP retry count. Max value supported is 3. Default is Global SNMP retry (if exists) or 3. - SNMPTimeout *int `json:"snmpTimeout,omitempty"` // SNMP timeout in seconds. Max value supported is 300. Default is Global SNMP timeout (if exists) or 5. - SNMPUserName string `json:"snmpUserName,omitempty"` // SNMPV3 user name of the device. Required if snmpVersion is v3. Use NO!$DATA!$ if no change is required. - SNMPVersion string `json:"snmpVersion,omitempty"` // SNMP version. Values supported: v2, v3. Required if type is NETWORK_DEVICE, COMPUTE_DEVICE or THIRD_PARTY_DEVICE. Use NODATACHANGE if no change is required. - Type string `json:"type,omitempty"` // Type of device being edited. Default is NETWORK_DEVICE. - UpdateMgmtIPaddressList *[]RequestDevicesUpdateDeviceDetailsUpdateMgmtIPaddressList `json:"updateMgmtIPaddressList,omitempty"` // - UserName string `json:"userName,omitempty"` // CLI user name of the device. Required if type is NETWORK_DEVICE. Use NO!$DATA!$ if no change is required. +type RequestDevicesCountTheNumberOfEventsWithFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value } -type RequestDevicesUpdateDeviceDetailsUpdateMgmtIPaddressList struct { - ExistMgmtIPAddress string `json:"existMgmtIpAddress,omitempty"` // existMgmtIpAddress IP Address of the device. - NewMgmtIPAddress string `json:"newMgmtIpAddress,omitempty"` // New IP Address to be Updated. +type RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Page *RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } -type RequestDevicesUpdateDeviceRole struct { - ID string `json:"id,omitempty"` // DeviceId of the Device - Role string `json:"role,omitempty"` // Role of device as ACCESS, CORE, DISTRIBUTION, BORDER ROUTER - RoleSource string `json:"roleSource,omitempty"` // Role source as MANUAL / AUTO +type RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value []string `json:"value,omitempty"` // Value } -type RequestDevicesExportDeviceList struct { - DeviceUUIDs []string `json:"deviceUuids,omitempty"` // List of device uuids - OperationEnum string `json:"operationEnum,omitempty"` // 0 to export Device Credential Details Or 1 to export Device Details - Parameters []string `json:"parameters,omitempty"` // List of device parameters that needs to be exported to file - Password string `json:"password,omitempty"` // Password is required when the operationEnum value is 0 +type RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // } -type RequestDevicesSyncDevices []string // Array of RequestDevicesSyncDevices -type RequestDevicesCreateUserDefinedField struct { - Name string `json:"name,omitempty"` // Name of UDF - Description string `json:"description,omitempty"` // Description of UDF +type RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Order string `json:"order,omitempty"` // Order } -type RequestDevicesUpdateUserDefinedField struct { - Name string `json:"name,omitempty"` // Name of UDF - Description string `json:"description,omitempty"` // Description of UDF +type RequestDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // } -type RequestDevicesAddUserDefinedFieldToDevice []RequestItemDevicesAddUserDefinedFieldToDevice // Array of RequestDevicesAddUserDefinedFieldToDevice -type RequestItemDevicesAddUserDefinedFieldToDevice struct { - Name string `json:"name,omitempty"` // Name of the User Defined Field - Value string `json:"value,omitempty"` // Value of the User Defined Field that will be assigned to the device +type RequestDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value []string `json:"value,omitempty"` // Value } -type RequestDevicesUpdateDeviceManagementAddress struct { - NewIP string `json:"newIP,omitempty"` // New IP Address of the device to be Updated +type RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } -type RequestDevicesUpdateGlobalResyncInterval struct { - Interval *int `json:"interval,omitempty"` // Resync Interval should be between 25 to 1440 minutes +type RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters *[]RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersFilters `json:"filters,omitempty"` // } -type RequestDevicesUpdateResyncIntervalForTheNetworkDevice struct { - Interval *int `json:"interval,omitempty"` // Resync interval in minutes. To disable periodic resync, set interval as `0`. To use global settings, set interval as `null`. +type RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersValue interface{} +type RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters } -type RequestDevicesRogueAdditionalDetails struct { - Offset *float64 `json:"offset,omitempty"` // The offset of the first item in the collection to return. Default value is 1 - Limit *float64 `json:"limit,omitempty"` // The maximum number of entries to return. Default value is 1000 - StartTime *float64 `json:"startTime,omitempty"` // This is the epoch start time in milliseconds from which data need to be fetched. Default value is 24 hours earlier to endTime - EndTime *float64 `json:"endTime,omitempty"` // This is the epoch end time in milliseconds upto which data need to be fetched. Default value is current time - SiteID []string `json:"siteId,omitempty"` // Filter Rogues by location. Site IDs information can be fetched from "Get Site" API - ThreatLevel []string `json:"threatLevel,omitempty"` // Filter Rogues by Threat Level. Threat Level information can be fetched from "Get Threat Levels" API - ThreatType []string `json:"threatType,omitempty"` // Filter Rogues by Threat Type. Threat Type information can be fetched from "Get Threat Types" API +type RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersFiltersValue interface{} +type RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function } -type RequestDevicesRogueAdditionalDetailCount struct { - StartTime *float64 `json:"startTime,omitempty"` // This is the epoch start time in milliseconds from which data need to be fetched. Default value is 24 hours earlier to endTime - EndTime *float64 `json:"endTime,omitempty"` // This is the epoch end time in milliseconds upto which data need to be fetched. Default value is current time - SiteID []string `json:"siteId,omitempty"` // Filter Rogues by location. Site IDs information can be fetched from "Get Site" API - ThreatLevel []string `json:"threatLevel,omitempty"` // This information can be fetched from "Get Threat Levels" API - ThreatType []string `json:"threatType,omitempty"` // This information can be fetched from "Get Threat Types" API +type RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // } -type RequestDevicesStartWirelessRogueApContainment struct { - MacAddress string `json:"macAddress,omitempty"` // Mac Address - Type *int `json:"type,omitempty"` // Type +type RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Order string `json:"order,omitempty"` // Order } -type RequestDevicesStopWirelessRogueApContainment struct { - MacAddress string `json:"macAddress,omitempty"` // Mac Address - Type *int `json:"type,omitempty"` // Type - WlcIP string `json:"wlcIp,omitempty"` // Wlc Ip +type RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TopN *int `json:"topN,omitempty"` // Top N + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } -type RequestDevicesThreatDetails struct { - Offset *int `json:"offset,omitempty"` // Offset - Limit *int `json:"limit,omitempty"` // Limit - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - SiteID []string `json:"siteId,omitempty"` // Site Id - ThreatLevel []string `json:"threatLevel,omitempty"` // Threat Level - ThreatType []string `json:"threatType,omitempty"` // Threat Type - IsNewThreat *bool `json:"isNewThreat,omitempty"` // Is New Threat +type RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters } -type RequestDevicesThreatDetailCount struct { - Offset *int `json:"offset,omitempty"` // Offset - Limit *int `json:"limit,omitempty"` // Limit - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - SiteID []string `json:"siteId,omitempty"` // Site Id - ThreatLevel []string `json:"threatLevel,omitempty"` // Threat Level - ThreatType []string `json:"threatType,omitempty"` // Threat Type - IsNewThreat *bool `json:"isNewThreat,omitempty"` // Is New Threat +type RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersValue interface{} +type RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function } -type RequestDevicesAddAllowedMacAddress []RequestItemDevicesAddAllowedMacAddress // Array of RequestDevicesAddAllowedMacAddress -type RequestItemDevicesAddAllowedMacAddress struct { - MacAddress string `json:"macAddress,omitempty"` // Mac Address - Category *int `json:"category,omitempty"` // Category +type RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // } -type RequestDevicesThreatSummary struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - SiteID []string `json:"siteId,omitempty"` // Site Id - ThreatLevel []string `json:"threatLevel,omitempty"` // Threat Level - ThreatType []string `json:"threatType,omitempty"` // Threat Type +type RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Order string `json:"order,omitempty"` // Order } -type RequestDevicesGetDeviceInterfaceStatsInfoV2 struct { - StartTime *int `json:"startTime,omitempty"` // UTC epoch timestamp in milliseconds - EndTime *int `json:"endTime,omitempty"` // UTC epoch timestamp in milliseconds - Query *RequestDevicesGetDeviceInterfaceStatsInfoV2Query `json:"query,omitempty"` // +type RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TrendInterval string `json:"trendInterval,omitempty"` // Trend Interval + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } -type RequestDevicesGetDeviceInterfaceStatsInfoV2Query struct { - Fields *[]RequestDevicesGetDeviceInterfaceStatsInfoV2QueryFields `json:"fields,omitempty"` // Required field names, default ALL - Filters *[]RequestDevicesGetDeviceInterfaceStatsInfoV2QueryFilters `json:"filters,omitempty"` // - Page *RequestDevicesGetDeviceInterfaceStatsInfoV2QueryPage `json:"page,omitempty"` // +type RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters } -type RequestDevicesGetDeviceInterfaceStatsInfoV2QueryFields interface{} -type RequestDevicesGetDeviceInterfaceStatsInfoV2QueryFilters struct { - Key string `json:"key,omitempty"` // Name of the field that the filter should be applied to - Operator string `json:"operator,omitempty"` // Supported operators are eq,in,like - Value string `json:"value,omitempty"` // Value of the field +type RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersValue interface{} +type RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function } -type RequestDevicesGetDeviceInterfaceStatsInfoV2QueryPage struct { - Limit *int `json:"limit,omitempty"` // Number of records, Max is 1000 - Offset *float64 `json:"offset,omitempty"` // Record offset value, default 0 - OrderBy *[]RequestDevicesGetDeviceInterfaceStatsInfoV2QueryPageOrderBy `json:"orderBy,omitempty"` // +type RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } -type RequestDevicesGetDeviceInterfaceStatsInfoV2QueryPageOrderBy struct { - Name string `json:"name,omitempty"` // Name of the field used to sort - Order string `json:"order,omitempty"` // Possible values asc, des +type RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheService struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TrendInterval string `json:"trendInterval,omitempty"` // Trend Interval + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServicePage `json:"page,omitempty"` // } +type RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceFilters struct { + Key string `json:"key,omitempty"` // Key -//QueryAssuranceEvents Query assurance events - 15a5-3b2c-4908-8ba3 -/* Returns the list of events discovered by Catalyst Center, determined by the complex filters. Please refer to the 'API Support Documentation' section to understand which fields are supported. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters +} +type RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceFiltersValue interface{} +type RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServicePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type RequestDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Page *RequestDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type RequestDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value []string `json:"value,omitempty"` // Value +} +type RequestDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type RequestDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order +} +type RequestDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // +} +type RequestDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value []string `json:"value,omitempty"` // Value +} +type RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters *[]RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFiltersFilters `json:"filters,omitempty"` // +} +type RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFiltersValue interface{} +type RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters +} +type RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFiltersFiltersValue interface{} +type RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Order string `json:"order,omitempty"` // Order +} +type RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TopN *int `json:"topN,omitempty"` // Top N + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters +} +type RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFiltersValue interface{} +type RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function + + Order string `json:"order,omitempty"` // Order +} +type RequestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TrendInterval string `json:"trendInterval,omitempty"` // Trend Interval + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // +} +type RequestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters +} +type RequestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersFiltersValue interface{} +type RequestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type RequestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheService struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TrendInterval string `json:"trendInterval,omitempty"` // Trend Interval + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServicePage `json:"page,omitempty"` // +} +type RequestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters +} +type RequestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceFiltersValue interface{} +type RequestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServicePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Views []string `json:"views,omitempty"` // Views + + Attributes []string `json:"attributes,omitempty"` // Attributes + + Filters *[]RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters `json:"filters,omitempty"` // + + AggregateAttributes *[]RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage `json:"page,omitempty"` // +} +type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersValue `json:"value,omitempty"` // Value + + Filters *[]RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersFilters `json:"filters,omitempty"` // +} +type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersValue interface{} +type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters +} +type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFiltersFiltersValue interface{} +type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPageSortBy `json:"sortBy,omitempty"` // +} +type RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Order string `json:"order,omitempty"` // Order +} +type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevices struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Views []string `json:"views,omitempty"` // Views + + Attributes []string `json:"attributes,omitempty"` // Attributes + + Filters *[]RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesFilters `json:"filters,omitempty"` // + + AggregateAttributes *[]RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesPage `json:"page,omitempty"` // +} +type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters +} +type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesFiltersValue interface{} +type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesPageSortBy `json:"sortBy,omitempty"` // +} +type RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevicesPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Order string `json:"order,omitempty"` // Order +} +type RequestDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TrendIntervalInMinutes *int `json:"trendIntervalInMinutes,omitempty"` // Trend Interval In Minutes + + Attributes []string `json:"attributes,omitempty"` // Attributes + + Filters *[]RequestDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeFilters `json:"filters,omitempty"` // + + AggregateAttributes *[]RequestDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type RequestDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value +} +type RequestDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Views []string `json:"views,omitempty"` // Views + + Attributes []string `json:"attributes,omitempty"` // Attributes + + Filters *[]RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters `json:"filters,omitempty"` // + + AggregateAttributes *[]RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage `json:"page,omitempty"` // +} +type RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value +} +type RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + SortBy string `json:"sortBy,omitempty"` // Sort By +} +type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters `json:"filters,omitempty"` // +} +type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value +} +type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Attributes []string `json:"attributes,omitempty"` // Attributes + + Filters *[]RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesFilters `json:"filters,omitempty"` // + + AggregateAttributes *[]RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPage `json:"page,omitempty"` // +} +type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value +} +type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPageSortBy `json:"sortBy,omitempty"` // +} +type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Order string `json:"order,omitempty"` // Order +} +type RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevices struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TopN *int `json:"topN,omitempty"` // Top N + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Attributes *[]RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesAttributes `json:"attributes,omitempty"` // Attributes + + Filters *[]RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesFilters `json:"filters,omitempty"` // + + AggregateAttributes *[]RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesPage `json:"page,omitempty"` // +} +type RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesAttributes interface{} +type RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value +} +type RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *[]RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesPageSortBy `json:"sortBy,omitempty"` // +} +type RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Order string `json:"order,omitempty"` // Order + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesGetsTheTrendAnalyticsData struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TrendInterval string `json:"trendInterval,omitempty"` // Trend Interval + + GroupBy *[]RequestDevicesGetsTheTrendAnalyticsDataGroupBy `json:"groupBy,omitempty"` // Group By + + Attributes []string `json:"attributes,omitempty"` // Attributes + + Filters *[]RequestDevicesGetsTheTrendAnalyticsDataFilters `json:"filters,omitempty"` // + + AggregateAttributes *[]RequestDevicesGetsTheTrendAnalyticsDataAggregateAttributes `json:"aggregateAttributes,omitempty"` // Aggregate Attributes + + Page *RequestDevicesGetsTheTrendAnalyticsDataPage `json:"page,omitempty"` // +} +type RequestDevicesGetsTheTrendAnalyticsDataGroupBy interface{} +type RequestDevicesGetsTheTrendAnalyticsDataFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value +} +type RequestDevicesGetsTheTrendAnalyticsDataAggregateAttributes interface{} +type RequestDevicesGetsTheTrendAnalyticsDataPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRange struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TrendIntervalInMinutes *int `json:"trendIntervalInMinutes,omitempty"` // Trend Interval In Minutes + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + AggregateAttributes *[]RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeAggregateAttributes `json:"aggregateAttributes,omitempty"` // + + Page *RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangePage `json:"page,omitempty"` // +} +type RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + + Value *RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeFiltersValue `json:"value,omitempty"` // Value + + Filters []string `json:"filters,omitempty"` // Filters +} +type RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeFiltersValue interface{} +type RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangeAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRangePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type RequestDevicesUpdatePlannedAccessPointForFloor struct { + Attributes *RequestDevicesUpdatePlannedAccessPointForFloorAttributes `json:"attributes,omitempty"` // + + IsSensor *bool `json:"isSensor,omitempty"` // Indicates that PAP is a sensor + + Location *RequestDevicesUpdatePlannedAccessPointForFloorLocation `json:"location,omitempty"` // + + Position *RequestDevicesUpdatePlannedAccessPointForFloorPosition `json:"position,omitempty"` // + + RadioCount *int `json:"radioCount,omitempty"` // Number of radios of the planned access point + + Radios *[]RequestDevicesUpdatePlannedAccessPointForFloorRadios `json:"radios,omitempty"` // +} +type RequestDevicesUpdatePlannedAccessPointForFloorAttributes struct { + CreateDate *float64 `json:"createDate,omitempty"` // Created date of the planned access point + + Domain string `json:"domain,omitempty"` // Service domain to which the planned access point belongs + + HeirarchyName string `json:"heirarchyName,omitempty"` // Hierarchy name of the planned access point + + ID *float64 `json:"id,omitempty"` // Unique id of the planned access point + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance uuid of the planned access point + + MacAddress string `json:"macAddress,omitempty"` // MAC address of the planned access point + + Name string `json:"name,omitempty"` // Display name of the planned access point + + Source string `json:"source,omitempty"` // Source of the data used to create the planned access point + + TypeString string `json:"typeString,omitempty"` // Type string representation of the planned access point +} +type RequestDevicesUpdatePlannedAccessPointForFloorLocation struct { + Altitude *float64 `json:"altitude,omitempty"` // Altitude of the planned access point's location + + Lattitude *float64 `json:"lattitude,omitempty"` // Latitude of the planned access point's location + + Longtitude *float64 `json:"longtitude,omitempty"` // Longitude of the planned access point's location +} +type RequestDevicesUpdatePlannedAccessPointForFloorPosition struct { + X *float64 `json:"x,omitempty"` // x-coordinate of the planned access point on the map, 0,0 point being the top-left corner + + Y *float64 `json:"y,omitempty"` // y-coordinate of the planned access point on the map, 0,0 point being the top-left corner + + Z *float64 `json:"z,omitempty"` // z-coordinate, or height, of the planned access point on the map +} +type RequestDevicesUpdatePlannedAccessPointForFloorRadios struct { + Antenna *RequestDevicesUpdatePlannedAccessPointForFloorRadiosAntenna `json:"antenna,omitempty"` // + + Attributes *RequestDevicesUpdatePlannedAccessPointForFloorRadiosAttributes `json:"attributes,omitempty"` // + + IsSensor *bool `json:"isSensor,omitempty"` // Determines if it is sensor or not +} +type RequestDevicesUpdatePlannedAccessPointForFloorRadiosAntenna struct { + AzimuthAngle *float64 `json:"azimuthAngle,omitempty"` // Azimuth angle of the antenna + + ElevationAngle *float64 `json:"elevationAngle,omitempty"` // Elevation angle of the antenna + + Gain *float64 `json:"gain,omitempty"` // Gain of the antenna + + Mode string `json:"mode,omitempty"` // Mode of the antenna associated with this radio + + Name string `json:"name,omitempty"` // Name of the antenna + + Type string `json:"type,omitempty"` // Type of the antenna associated with this radio +} +type RequestDevicesUpdatePlannedAccessPointForFloorRadiosAttributes struct { + Channel *float64 `json:"channel,omitempty"` // Channel in which this radio operates + + ChannelString string `json:"channelString,omitempty"` // Channel string representation + + ID *int `json:"id,omitempty"` // Id of the radio + + IfMode string `json:"ifMode,omitempty"` // IF mode of the radio + + IfTypeString string `json:"ifTypeString,omitempty"` // String representation of native band + + IfTypeSubband string `json:"ifTypeSubband,omitempty"` // Sub band of the radio + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the radio + + SlotID *float64 `json:"slotId,omitempty"` // Slot number in which the radio resides in the parent access point + + TxPowerLevel *float64 `json:"txPowerLevel,omitempty"` // Tx Power at which this radio operates (in dBm) +} +type RequestDevicesCreatePlannedAccessPointForFloor struct { + Attributes *RequestDevicesCreatePlannedAccessPointForFloorAttributes `json:"attributes,omitempty"` // + + IsSensor *bool `json:"isSensor,omitempty"` // Indicates that PAP is a sensor + + Location *RequestDevicesCreatePlannedAccessPointForFloorLocation `json:"location,omitempty"` // + + Position *RequestDevicesCreatePlannedAccessPointForFloorPosition `json:"position,omitempty"` // + + RadioCount *int `json:"radioCount,omitempty"` // Number of radios of the planned access point + + Radios *[]RequestDevicesCreatePlannedAccessPointForFloorRadios `json:"radios,omitempty"` // +} +type RequestDevicesCreatePlannedAccessPointForFloorAttributes struct { + CreateDate *float64 `json:"createDate,omitempty"` // Created date of the planned access point + + Domain string `json:"domain,omitempty"` // Service domain to which the planned access point belongs + + HeirarchyName string `json:"heirarchyName,omitempty"` // Hierarchy name of the planned access point + + ID *float64 `json:"id,omitempty"` // Unique id of the planned access point + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance uuid of the planned access point + + MacAddress string `json:"macAddress,omitempty"` // MAC address of the planned access point + + Name string `json:"name,omitempty"` // Display name of the planned access point + + Source string `json:"source,omitempty"` // Source of the data used to create the planned access point + + TypeString string `json:"typeString,omitempty"` // Type string representation of the planned access point +} +type RequestDevicesCreatePlannedAccessPointForFloorLocation struct { + Altitude *float64 `json:"altitude,omitempty"` // Altitude of the planned access point's location + + Lattitude *float64 `json:"lattitude,omitempty"` // Latitude of the planned access point's location + + Longtitude *float64 `json:"longtitude,omitempty"` // Longitude of the planned access point's location +} +type RequestDevicesCreatePlannedAccessPointForFloorPosition struct { + X *float64 `json:"x,omitempty"` // x-coordinate of the planned access point on the map, 0,0 point being the top-left corner + + Y *float64 `json:"y,omitempty"` // y-coordinate of the planned access point on the map, 0,0 point being the top-left corner + + Z *float64 `json:"z,omitempty"` // z-coordinate, or height, of the planned access point on the map +} +type RequestDevicesCreatePlannedAccessPointForFloorRadios struct { + Antenna *RequestDevicesCreatePlannedAccessPointForFloorRadiosAntenna `json:"antenna,omitempty"` // + + Attributes *RequestDevicesCreatePlannedAccessPointForFloorRadiosAttributes `json:"attributes,omitempty"` // + + IsSensor *bool `json:"isSensor,omitempty"` // Determines if it is sensor or not +} +type RequestDevicesCreatePlannedAccessPointForFloorRadiosAntenna struct { + AzimuthAngle *float64 `json:"azimuthAngle,omitempty"` // Azimuth angle of the antenna + + ElevationAngle *float64 `json:"elevationAngle,omitempty"` // Elevation angle of the antenna + + Gain *float64 `json:"gain,omitempty"` // Gain of the antenna + + Mode string `json:"mode,omitempty"` // Mode of the antenna associated with this radio + + Name string `json:"name,omitempty"` // Name of the antenna + + Type string `json:"type,omitempty"` // Type of the antenna associated with this radio +} +type RequestDevicesCreatePlannedAccessPointForFloorRadiosAttributes struct { + Channel *float64 `json:"channel,omitempty"` // Channel in which this radio operates + + ChannelString string `json:"channelString,omitempty"` // Channel string representation + + ID *int `json:"id,omitempty"` // Id of the radio + + IfMode string `json:"ifMode,omitempty"` // IF mode of the radio + + IfTypeString string `json:"ifTypeString,omitempty"` // String representation of native band + + IfTypeSubband string `json:"ifTypeSubband,omitempty"` // Sub band of the radio + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the radio + + SlotID *float64 `json:"slotId,omitempty"` // Slot number in which the radio resides in the parent access point + + TxPowerLevel *float64 `json:"txPowerLevel,omitempty"` // Tx Power at which this radio operates (in dBm) +} +type RequestDevicesUpdateHealthScoreDefinitions []RequestItemDevicesUpdateHealthScoreDefinitions // Array of RequestDevicesUpdateHealthScoreDefinitions +type RequestItemDevicesUpdateHealthScoreDefinitions struct { + ID string `json:"id,omitempty"` // Id + + IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health + + ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value + + SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold +} +type RequestDevicesUpdateHealthScoreDefinitionForTheGivenID struct { + IncludeForOverallHealth *bool `json:"includeForOverallHealth,omitempty"` // Include For Overall Health + + ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Thresehold Value + + SynchronizeToIssueThreshold *bool `json:"synchronizeToIssueThreshold,omitempty"` // Synchronize To Issue Threshold +} +type RequestDevicesUpdateInterfaceDetails struct { + Description string `json:"description,omitempty"` // Description for the Interface + + AdminStatus string `json:"adminStatus,omitempty"` // Admin status as ('UP'/'DOWN') + + VLANID *int `json:"vlanId,omitempty"` // VLAN Id to be Updated + + VoiceVLANID *int `json:"voiceVlanId,omitempty"` // Voice Vlan Id to be Updated +} +type RequestDevicesClearMacAddressTable struct { + Operation string `json:"operation,omitempty"` // Operation needs to be specified as 'ClearMacAddress'. + + Payload *RequestDevicesClearMacAddressTablePayload `json:"payload,omitempty"` // Payload is not applicable +} +type RequestDevicesClearMacAddressTablePayload interface{} +type RequestDevicesAddDeviceKnowYourNetwork struct { + CliTransport string `json:"cliTransport,omitempty"` // CLI transport. Supported values: telnet, ssh. Required if type is NETWORK_DEVICE. + + ComputeDevice *bool `json:"computeDevice,omitempty"` // Compute Device or not. Options are true / false. + + EnablePassword string `json:"enablePassword,omitempty"` // CLI enable password of the device. Required if device is configured to use enable password. + + ExtendedDiscoveryInfo string `json:"extendedDiscoveryInfo,omitempty"` // This field holds that info as whether to add device with canned data or not. Supported values: DISCOVER_WITH_CANNED_DATA. + + HTTPPassword string `json:"httpPassword,omitempty"` // HTTP password of the device / API key for Meraki Dashboard. Required if type is MERAKI_DASHBOARD or COMPUTE_DEVICE. + + HTTPPort string `json:"httpPort,omitempty"` // HTTP port of the device. Required if type is COMPUTE_DEVICE. + + HTTPSecure *bool `json:"httpSecure,omitempty"` // Flag to select HTTP / HTTPS protocol. Options are true / false. true for HTTPS and false for HTTP. Default is true. + + HTTPUserName string `json:"httpUserName,omitempty"` // HTTP Username of the device. Required if type is COMPUTE_DEVICE. + + IPAddress []string `json:"ipAddress,omitempty"` // IP Address of the device. Required if type is NETWORK_DEVICE, COMPUTE_DEVICE or THIRD_PARTY_DEVICE. + + MerakiOrgID []string `json:"merakiOrgId,omitempty"` // Selected Meraki organization for which the devices needs to be imported. Required if type is MERAKI_DASHBOARD. + + NetconfPort string `json:"netconfPort,omitempty"` // Netconf Port of the device. cliTransport must be 'ssh' if netconf is provided. Netconf port is required for eWLC. + + Password string `json:"password,omitempty"` // CLI Password of the device. Required if type is NETWORK_DEVICE. + + SerialNumber string `json:"serialNumber,omitempty"` // Serial Number of the Device. Required if extendedDiscoveryInfo is 'DISCOVER_WITH_CANNED_DATA'. + + SNMPAuthPassphrase string `json:"snmpAuthPassphrase,omitempty"` // SNMPv3 auth passphrase of the device. Required if snmpMode is authNoPriv or authPriv. + + SNMPAuthProtocol string `json:"snmpAuthProtocol,omitempty"` // SNMPv3 auth protocol. Supported values: sha, md5. Required if snmpMode is authNoPriv or authPriv. + + SNMPMode string `json:"snmpMode,omitempty"` // SNMPv3 mode. Supported values: noAuthnoPriv, authNoPriv, authPriv. Required if snmpVersion is v3. + + SNMPPrivPassphrase string `json:"snmpPrivPassphrase,omitempty"` // SNMPv3 priv passphrase. Required if snmpMode is authPriv. + + SNMPPrivProtocol string `json:"snmpPrivProtocol,omitempty"` // SNMPv3 priv protocol. Supported values: AES128. Required if snmpMode is authPriv. + + SNMPROCommunity string `json:"snmpROCommunity,omitempty"` // SNMP Read Community of the device. If snmpVersion is v2, at least one of snmpROCommunity and snmpRWCommunity is required. + + SNMPRWCommunity string `json:"snmpRWCommunity,omitempty"` // SNMP Write Community of the device. If snmpVersion is v2, at least one of snmpROCommunity and snmpRWCommunity is required. + + SNMPRetry *int `json:"snmpRetry,omitempty"` // SNMP retry count. Max value supported is 3. Default is Global SNMP retry (if exists) or 3. + + SNMPTimeout *int `json:"snmpTimeout,omitempty"` // SNMP timeout in seconds. Max value supported is 300. Default is Global SNMP timeout (if exists) or 5. + + SNMPUserName string `json:"snmpUserName,omitempty"` // SNMPV3 user name of the device. Required if snmpVersion is v3. + + SNMPVersion string `json:"snmpVersion,omitempty"` // SNMP version. Values supported: v2, v3. Required if type is NETWORK_DEVICE, COMPUTE_DEVICE or THIRD_PARTY_DEVICE. + + Type string `json:"type,omitempty"` // Type of device being added. Default is NETWORK_DEVICE. + + UserName string `json:"userName,omitempty"` // CLI user name of the device. Required if type is NETWORK_DEVICE. +} +type RequestDevicesUpdateDeviceDetails struct { + CliTransport string `json:"cliTransport,omitempty"` // CLI transport. Supported values: telnet, ssh. Use NO!$DATA!$ if no change is required. Required if type is NETWORK_DEVICE. + + ComputeDevice *bool `json:"computeDevice,omitempty"` // Compute Device or not. Options are true / false. + + EnablePassword string `json:"enablePassword,omitempty"` // CLI enable password of the device. Required if device is configured to use enable password. Use NO!$DATA!$ if no change is required. + + ExtendedDiscoveryInfo string `json:"extendedDiscoveryInfo,omitempty"` // This field holds that info as whether to add device with canned data or not. Supported values: DISCOVER_WITH_CANNED_DATA. + + HTTPPassword string `json:"httpPassword,omitempty"` // HTTP password of the device / API key for Meraki Dashboard. Required if type is MERAKI_DASHBOARD or COMPUTE_DEVICE. Use NO!$DATA!$ if no change is required. + + HTTPPort string `json:"httpPort,omitempty"` // HTTP port of the device. Required if type is COMPUTE_DEVICE. + + HTTPSecure *bool `json:"httpSecure,omitempty"` // Flag to select HTTP / HTTPS protocol. Options are true / false. true for HTTPS and false for HTTP. + + HTTPUserName string `json:"httpUserName,omitempty"` // HTTP Username of the device. Required if type is COMPUTE_DEVICE. Use NO!$DATA!$ if no change is required. + + IPAddress []string `json:"ipAddress,omitempty"` // IP Address of the device. Required. Use 'api.meraki.com' for Meraki Dashboard. + + MerakiOrgID []string `json:"merakiOrgId,omitempty"` // Selected Meraki organization for which the devices needs to be imported. Required if type is MERAKI_DASHBOARD. + + NetconfPort string `json:"netconfPort,omitempty"` // Netconf Port of the device. cliTransport must be 'ssh' if netconf is provided. Netconf port is required for eWLC. + + Password string `json:"password,omitempty"` // CLI Password of the device. Required if type is NETWORK_DEVICE. Use NO!$DATA!$ if no change is required. + + SerialNumber string `json:"serialNumber,omitempty"` // Serial Number of the Device. Required if extendedDiscoveryInfo is 'DISCOVER_WITH_CANNED_DATA'. + + SNMPAuthPassphrase string `json:"snmpAuthPassphrase,omitempty"` // SNMPv3 auth passphrase of the device. Required if snmpMode is authNoPriv or authPriv. Use NO!$DATA!$ if no change is required. + + SNMPAuthProtocol string `json:"snmpAuthProtocol,omitempty"` // SNMPv3 auth protocol. Supported values: sha, md5. Required if snmpMode is authNoPriv or authPriv. Use NODATACHANGE if no change is required. + + SNMPMode string `json:"snmpMode,omitempty"` // SNMPv3 mode. Supported values: noAuthnoPriv, authNoPriv, authPriv. Required if snmpVersion is v3. Use NODATACHANGE if no change is required. + + SNMPPrivPassphrase string `json:"snmpPrivPassphrase,omitempty"` // SNMPv3 priv passphrase. Required if snmpMode is authPriv. Use NO!$DATA!$ if no change is required. + + SNMPPrivProtocol string `json:"snmpPrivProtocol,omitempty"` // SNMPv3 priv protocol. Supported values: AES128. Required if snmpMode is authPriv. Use NODATACHANGE if no change is required. + + SNMPROCommunity string `json:"snmpROCommunity,omitempty"` // SNMP Read Community of the device. If snmpVersion is v2, at least one of snmpROCommunity and snmpRWCommunity is required. Use NO!$DATA!$ if no change is required. + + SNMPRWCommunity string `json:"snmpRWCommunity,omitempty"` // SNMP Write Community of the device. If snmpVersion is v2, at least one of snmpROCommunity and snmpRWCommunity is required. Use NO!$DATA!$ if no change is required. + + SNMPRetry *int `json:"snmpRetry,omitempty"` // SNMP retry count. Max value supported is 3. Default is Global SNMP retry (if exists) or 3. + + SNMPTimeout *int `json:"snmpTimeout,omitempty"` // SNMP timeout in seconds. Max value supported is 300. Default is Global SNMP timeout (if exists) or 5. + + SNMPUserName string `json:"snmpUserName,omitempty"` // SNMPV3 user name of the device. Required if snmpVersion is v3. Use NO!$DATA!$ if no change is required. + + SNMPVersion string `json:"snmpVersion,omitempty"` // SNMP version. Values supported: v2, v3. Required if type is NETWORK_DEVICE, COMPUTE_DEVICE or THIRD_PARTY_DEVICE. Use NODATACHANGE if no change is required. + + Type string `json:"type,omitempty"` // Type of device being edited. Default is NETWORK_DEVICE. + + UpdateMgmtIPaddressList *[]RequestDevicesUpdateDeviceDetailsUpdateMgmtIPaddressList `json:"updateMgmtIPaddressList,omitempty"` // + + UserName string `json:"userName,omitempty"` // CLI user name of the device. Required if type is NETWORK_DEVICE. Use NO!$DATA!$ if no change is required. +} +type RequestDevicesUpdateDeviceDetailsUpdateMgmtIPaddressList struct { + ExistMgmtIPAddress string `json:"existMgmtIpAddress,omitempty"` // existMgmtIpAddress IP Address of the device. + + NewMgmtIPAddress string `json:"newMgmtIpAddress,omitempty"` // New IP Address to be Updated. +} +type RequestDevicesUpdateDeviceRole struct { + ID string `json:"id,omitempty"` // DeviceId of the Device + + Role string `json:"role,omitempty"` // Role of device as ACCESS, CORE, DISTRIBUTION, BORDER ROUTER + + RoleSource string `json:"roleSource,omitempty"` // Role source as MANUAL / AUTO +} +type RequestDevicesExportDeviceList struct { + DeviceUUIDs []string `json:"deviceUuids,omitempty"` // List of device uuids + + OperationEnum string `json:"operationEnum,omitempty"` // 0 to export Device Credential Details Or 1 to export Device Details + + Parameters []string `json:"parameters,omitempty"` // List of device parameters that needs to be exported to file + + Password string `json:"password,omitempty"` // Password is required when the operationEnum value is 0 +} +type RequestDevicesSyncDevices []string // Array of RequestDevicesSyncDevices +type RequestDevicesCreateUserDefinedField struct { + Name string `json:"name,omitempty"` // Name of UDF + + Description string `json:"description,omitempty"` // Description of UDF +} +type RequestDevicesUpdateUserDefinedField struct { + Name string `json:"name,omitempty"` // Name of UDF + + Description string `json:"description,omitempty"` // Description of UDF +} +type RequestDevicesAddUserDefinedFieldToDevice []RequestItemDevicesAddUserDefinedFieldToDevice // Array of RequestDevicesAddUserDefinedFieldToDevice +type RequestItemDevicesAddUserDefinedFieldToDevice struct { + Name string `json:"name,omitempty"` // Name of the User Defined Field + + Value string `json:"value,omitempty"` // Value of the User Defined Field that will be assigned to the device +} +type RequestDevicesUpdateDeviceManagementAddress struct { + NewIP string `json:"newIP,omitempty"` // New IP Address of the device to be Updated +} +type RequestDevicesCreateMaintenanceScheduleForNetworkDevices struct { + Description string `json:"description,omitempty"` // A brief narrative describing the maintenance schedule. + + MaintenanceSchedule *RequestDevicesCreateMaintenanceScheduleForNetworkDevicesMaintenanceSchedule `json:"maintenanceSchedule,omitempty"` // + + NetworkDeviceIDs []string `json:"networkDeviceIds,omitempty"` // List of network device ids. This field is applicable only during creation of schedules; for updates, it is read-only. +} +type RequestDevicesCreateMaintenanceScheduleForNetworkDevicesMaintenanceSchedule struct { + StartTime *float64 `json:"startTime,omitempty"` // Start time indicates the beginning of the maintenance window in Unix epoch time in milliseconds. + + EndTime *float64 `json:"endTime,omitempty"` // End time indicates the ending of the maintenance window in Unix epoch time in milliseconds. + + Recurrence *RequestDevicesCreateMaintenanceScheduleForNetworkDevicesMaintenanceScheduleRecurrence `json:"recurrence,omitempty"` // +} +type RequestDevicesCreateMaintenanceScheduleForNetworkDevicesMaintenanceScheduleRecurrence struct { + Interval *int `json:"interval,omitempty"` // Interval for recurrence in days. The interval must be longer than the duration of the schedules. The maximum allowed interval is 365 days. + + RecurrenceEndTime *float64 `json:"recurrenceEndTime,omitempty"` // The end date for the recurrence in Unix epoch time in milliseconds. Recurrence end time should be greater than maintenance end date/time. +} +type RequestDevicesUpdatesTheMaintenanceScheduleInformation struct { + Description string `json:"description,omitempty"` // A brief narrative describing the maintenance schedule. + + MaintenanceSchedule *RequestDevicesUpdatesTheMaintenanceScheduleInformationMaintenanceSchedule `json:"maintenanceSchedule,omitempty"` // + + NetworkDeviceIDs []string `json:"networkDeviceIds,omitempty"` // List of network device ids. This field is applicable only during creation of schedules; for updates, it is read-only. +} +type RequestDevicesUpdatesTheMaintenanceScheduleInformationMaintenanceSchedule struct { + StartTime *float64 `json:"startTime,omitempty"` // Start time indicates the beginning of the maintenance window in Unix epoch time in milliseconds. + + EndTime *float64 `json:"endTime,omitempty"` // End time indicates the ending of the maintenance window in Unix epoch time in milliseconds. + + Recurrence *RequestDevicesUpdatesTheMaintenanceScheduleInformationMaintenanceScheduleRecurrence `json:"recurrence,omitempty"` // +} +type RequestDevicesUpdatesTheMaintenanceScheduleInformationMaintenanceScheduleRecurrence struct { + Interval *int `json:"interval,omitempty"` // Interval for recurrence in days. The interval must be longer than the duration of the schedules. The maximum allowed interval is 365 days. + + RecurrenceEndTime *float64 `json:"recurrenceEndTime,omitempty"` // The end date for the recurrence in Unix epoch time in milliseconds. Recurrence end time should be greater than maintenance end date/time. +} +type RequestDevicesDeleteNetworkDeviceWithConfigurationCleanup struct { + ID string `json:"id,omitempty"` // The unique identifier of the network device to be deleted +} +type RequestDevicesDeleteANetworkDeviceWithoutConfigurationCleanup struct { + ID string `json:"id,omitempty"` // The unique identifier of the network device to be deleted +} +type RequestDevicesQueryNetworkDevicesWithFilters struct { + Filter *RequestDevicesQueryNetworkDevicesWithFiltersFilter `json:"filter,omitempty"` // + + Views []string `json:"views,omitempty"` // The specific views being requested. This is an optional parameter which can be passed to get one or more of the network device data. If this is not provided, then it will default to BASIC views. If multiple views are provided, the response will contain the union of the views. + + Page *RequestDevicesQueryNetworkDevicesWithFiltersPage `json:"page,omitempty"` // +} +type RequestDevicesQueryNetworkDevicesWithFiltersFilter struct { + LogicalOperator string `json:"logicalOperator,omitempty"` // The logical operator to use for combining the filter criteria. If not provided, the default value is AND. + + Filters *[]RequestDevicesQueryNetworkDevicesWithFiltersFilterFilters `json:"filters,omitempty"` // +} +type RequestDevicesQueryNetworkDevicesWithFiltersFilterFilters struct { + Key string `json:"key,omitempty"` // The key to filter by + + Operator string `json:"operator,omitempty"` // The operator to use for filtering the values + + Value *RequestDevicesQueryNetworkDevicesWithFiltersFilterFiltersValue `json:"value,omitempty"` // Value to filter by. For `in` operator, the value should be a list of values. +} +type RequestDevicesQueryNetworkDevicesWithFiltersFilterFiltersValue interface{} +type RequestDevicesQueryNetworkDevicesWithFiltersPage struct { + SortBy *RequestDevicesQueryNetworkDevicesWithFiltersPageSortBy `json:"sortBy,omitempty"` // + + Limit *int `json:"limit,omitempty"` // The number of records to show for this page. Min: 1, Max: 500 + + Offset *int `json:"offset,omitempty"` // The first record to show for this page; the first record is numbered 1. +} +type RequestDevicesQueryNetworkDevicesWithFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // The field to sort by. Default is hostname. + + Order string `json:"order,omitempty"` // The order to sort by. +} +type RequestDevicesCountTheNumberOfNetworkDevicesWithFilters struct { + Filter *RequestDevicesCountTheNumberOfNetworkDevicesWithFiltersFilter `json:"filter,omitempty"` // +} +type RequestDevicesCountTheNumberOfNetworkDevicesWithFiltersFilter struct { + LogicalOperator string `json:"logicalOperator,omitempty"` // The logical operator to use for combining the filter criteria. If not provided, the default value is AND. + + Filters *[]RequestDevicesCountTheNumberOfNetworkDevicesWithFiltersFilterFilters `json:"filters,omitempty"` // +} +type RequestDevicesCountTheNumberOfNetworkDevicesWithFiltersFilterFilters struct { + Key string `json:"key,omitempty"` // The key to filter by + + Operator string `json:"operator,omitempty"` // The operator to use for filtering the values + + Value *RequestDevicesCountTheNumberOfNetworkDevicesWithFiltersFilterFiltersValue `json:"value,omitempty"` // Value to filter by. For `in` operator, the value should be a list of values. +} +type RequestDevicesCountTheNumberOfNetworkDevicesWithFiltersFilterFiltersValue interface{} +type RequestDevicesUpdateGlobalResyncInterval struct { + Interval *int `json:"interval,omitempty"` // Resync Interval should be between 25 to 1440 minutes +} +type RequestDevicesUpdateResyncIntervalForTheNetworkDevice struct { + Interval *int `json:"interval,omitempty"` // Resync interval in minutes. To disable periodic resync, set interval as `0`. To use global settings, set interval as `null`. +} +type RequestDevicesRogueAdditionalDetails struct { + Offset *float64 `json:"offset,omitempty"` // The offset of the first item in the collection to return. Default value is 1 + + Limit *float64 `json:"limit,omitempty"` // The maximum number of entries to return. Default value is 1000 + + StartTime *float64 `json:"startTime,omitempty"` // This is the epoch start time in milliseconds from which data need to be fetched. Default value is 24 hours earlier to endTime + + EndTime *float64 `json:"endTime,omitempty"` // This is the epoch end time in milliseconds upto which data need to be fetched. Default value is current time + + SiteID []string `json:"siteId,omitempty"` // Filter Rogues by location. Site IDs information can be fetched from "Get Site" API + + ThreatLevel []string `json:"threatLevel,omitempty"` // Filter Rogues by Threat Level. Threat Level information can be fetched from "Get Threat Levels" API + + ThreatType []string `json:"threatType,omitempty"` // Filter Rogues by Threat Type. Threat Type information can be fetched from "Get Threat Types" API +} +type RequestDevicesRogueAdditionalDetailCount struct { + StartTime *float64 `json:"startTime,omitempty"` // This is the epoch start time in milliseconds from which data need to be fetched. Default value is 24 hours earlier to endTime + + EndTime *float64 `json:"endTime,omitempty"` // This is the epoch end time in milliseconds upto which data need to be fetched. Default value is current time + + SiteID []string `json:"siteId,omitempty"` // Filter Rogues by location. Site IDs information can be fetched from "Get Site" API + + ThreatLevel []string `json:"threatLevel,omitempty"` // This information can be fetched from "Get Threat Levels" API + + ThreatType []string `json:"threatType,omitempty"` // This information can be fetched from "Get Threat Types" API +} +type RequestDevicesStartWirelessRogueApContainment struct { + MacAddress string `json:"macAddress,omitempty"` // Mac Address + + Type *int `json:"type,omitempty"` // Type +} +type RequestDevicesStopWirelessRogueApContainment struct { + MacAddress string `json:"macAddress,omitempty"` // Mac Address + + Type *int `json:"type,omitempty"` // Type + + WlcIP string `json:"wlcIp,omitempty"` // Wlc Ip +} +type RequestDevicesThreatDetails struct { + Offset *int `json:"offset,omitempty"` // Offset + + Limit *int `json:"limit,omitempty"` // Limit + + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + SiteID []string `json:"siteId,omitempty"` // Site Id + + ThreatLevel []string `json:"threatLevel,omitempty"` // Threat Level + + ThreatType []string `json:"threatType,omitempty"` // Threat Type + + IsNewThreat *bool `json:"isNewThreat,omitempty"` // Is New Threat +} +type RequestDevicesThreatDetailCount struct { + Offset *int `json:"offset,omitempty"` // Offset + + Limit *int `json:"limit,omitempty"` // Limit + + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + SiteID []string `json:"siteId,omitempty"` // Site Id + + ThreatLevel []string `json:"threatLevel,omitempty"` // Threat Level + + ThreatType []string `json:"threatType,omitempty"` // Threat Type + + IsNewThreat *bool `json:"isNewThreat,omitempty"` // Is New Threat +} +type RequestDevicesAddAllowedMacAddress []RequestItemDevicesAddAllowedMacAddress // Array of RequestDevicesAddAllowedMacAddress +type RequestItemDevicesAddAllowedMacAddress struct { + MacAddress string `json:"macAddress,omitempty"` // Mac Address + + Category *int `json:"category,omitempty"` // Category +} +type RequestDevicesThreatSummary struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + SiteID []string `json:"siteId,omitempty"` // Site Id + + ThreatLevel []string `json:"threatLevel,omitempty"` // Threat Level + + ThreatType []string `json:"threatType,omitempty"` // Threat Type +} +type RequestDevicesGetDeviceInterfaceStatsInfoV2 struct { + StartTime *int `json:"startTime,omitempty"` // UTC epoch timestamp in milliseconds + + EndTime *int `json:"endTime,omitempty"` // UTC epoch timestamp in milliseconds + + Query *RequestDevicesGetDeviceInterfaceStatsInfoV2Query `json:"query,omitempty"` // +} +type RequestDevicesGetDeviceInterfaceStatsInfoV2Query struct { + Fields *[]RequestDevicesGetDeviceInterfaceStatsInfoV2QueryFields `json:"fields,omitempty"` // Required field names, default ALL + + Filters *[]RequestDevicesGetDeviceInterfaceStatsInfoV2QueryFilters `json:"filters,omitempty"` // + + Page *RequestDevicesGetDeviceInterfaceStatsInfoV2QueryPage `json:"page,omitempty"` // +} +type RequestDevicesGetDeviceInterfaceStatsInfoV2QueryFields interface{} +type RequestDevicesGetDeviceInterfaceStatsInfoV2QueryFilters struct { + Key string `json:"key,omitempty"` // Name of the field that the filter should be applied to + + Operator string `json:"operator,omitempty"` // Supported operators are eq,in,like + + Value string `json:"value,omitempty"` // Value of the field +} +type RequestDevicesGetDeviceInterfaceStatsInfoV2QueryPage struct { + Limit *int `json:"limit,omitempty"` // Number of records, Max is 1000 + + Offset *float64 `json:"offset,omitempty"` // Record offset value, default 0 + + OrderBy *[]RequestDevicesGetDeviceInterfaceStatsInfoV2QueryPageOrderBy `json:"orderBy,omitempty"` // +} +type RequestDevicesGetDeviceInterfaceStatsInfoV2QueryPageOrderBy struct { + Name string `json:"name,omitempty"` // Name of the field used to sort + + Order string `json:"order,omitempty"` // Possible values asc, des +} + +//RetrievesTheListOfAAAServicesForGivenParameters Retrieves the list of AAA Services for given parameters. - b990-0822-4c08-a780 +/* Retrieves the list of AAA Services and offers basic filtering and sorting capabilities. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AAAServices-1.0.0-resolved.yaml + + +@param RetrievesTheListOfAAAServicesForGivenParametersHeaderParams Custom header parameters +@param RetrievesTheListOfAAAServicesForGivenParametersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-a-a-a-services-for-given-parameters +*/ +func (s *DevicesService) RetrievesTheListOfAAAServicesForGivenParameters(RetrievesTheListOfAAAServicesForGivenParametersHeaderParams *RetrievesTheListOfAAAServicesForGivenParametersHeaderParams, RetrievesTheListOfAAAServicesForGivenParametersQueryParams *RetrievesTheListOfAAAServicesForGivenParametersQueryParams) (*ResponseDevicesRetrievesTheListOfAAAServicesForGivenParameters, *resty.Response, error) { + path := "/dna/data/api/v1/aaaServices" + + queryString, _ := query.Values(RetrievesTheListOfAAAServicesForGivenParametersQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheListOfAAAServicesForGivenParametersHeaderParams != nil { + + if RetrievesTheListOfAAAServicesForGivenParametersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheListOfAAAServicesForGivenParametersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheListOfAAAServicesForGivenParameters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheListOfAAAServicesForGivenParameters(RetrievesTheListOfAAAServicesForGivenParametersHeaderParams, RetrievesTheListOfAAAServicesForGivenParametersQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfAAAServicesForGivenParameters") + } + + result := response.Result().(*ResponseDevicesRetrievesTheListOfAAAServicesForGivenParameters) + return result, response, err + +} + +//RetrievesTheTotalNumberOfAAAServicesForGivenParameters Retrieves the total number of AAA Services for given parameters. - c393-f961-4939-b53c +/* Retrieves the total number of AAA Services for given parameters. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AAAServices-1.0.0-resolved.yaml + + +@param RetrievesTheTotalNumberOfAAAServicesForGivenParametersHeaderParams Custom header parameters +@param RetrievesTheTotalNumberOfAAAServicesForGivenParametersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-number-of-a-a-a-services-for-given-parameters +*/ +func (s *DevicesService) RetrievesTheTotalNumberOfAAAServicesForGivenParameters(RetrievesTheTotalNumberOfAAAServicesForGivenParametersHeaderParams *RetrievesTheTotalNumberOfAAAServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfAAAServicesForGivenParametersQueryParams *RetrievesTheTotalNumberOfAAAServicesForGivenParametersQueryParams) (*ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenParameters, *resty.Response, error) { + path := "/dna/data/api/v1/aaaServices/count" + + queryString, _ := query.Values(RetrievesTheTotalNumberOfAAAServicesForGivenParametersQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheTotalNumberOfAAAServicesForGivenParametersHeaderParams != nil { + + if RetrievesTheTotalNumberOfAAAServicesForGivenParametersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalNumberOfAAAServicesForGivenParametersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenParameters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheTotalNumberOfAAAServicesForGivenParameters(RetrievesTheTotalNumberOfAAAServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfAAAServicesForGivenParametersQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfAAAServicesForGivenParameters") + } + + result := response.Result().(*ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenParameters) + return result, response, err + +} + +//RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheService Retrieves the details of a specific AAA Service matching the id of the Service. - 35a1-3ae4-4cbb-ae6f +/* Retrieves the details of the AAA Service matching the given id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AAAServices-1.0.0-resolved.yaml + + +@param id id path parameter. Unique id of the AAA Service. It is the combination of AAA Server IP (`serverIp`) and Device UUID (`deviceId`) separated by underscore (`_`). Example: If `serverIp` is `10.76.81.33` and `deviceId` is `6bef213c-19ca-4170-8375-b694e251101c`, then the `id` would be `10.76.81.33_6bef213c-19ca-4170-8375-b694e251101c` + +@param RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceHeaderParams Custom header parameters +@param RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-details-of-a-specific-a-a-a-service-matching-the-id-of-the-service +*/ +func (s *DevicesService) RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheService(id string, RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceHeaderParams *RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceQueryParams *RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheServiceQueryParams) (*ResponseDevicesRetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheService, *resty.Response, error) { + path := "/dna/data/api/v1/aaaServices/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceHeaderParams != nil { + + if RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheService{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheService(id, RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheService") + } + + result := response.Result().(*ResponseDevicesRetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheService) + return result, response, err + +} + +//QueryAssuranceEvents Query assurance events - 15a5-3b2c-4908-8ba3 +/* Returns the list of events discovered by Catalyst Center, determined by the complex filters. Please refer to the 'API Support Documentation' section to understand which fields are supported. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml + + +@param QueryAssuranceEventsHeaderParams Custom header parameters +@param QueryAssuranceEventsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-assurance-events +*/ +func (s *DevicesService) QueryAssuranceEvents(QueryAssuranceEventsHeaderParams *QueryAssuranceEventsHeaderParams, QueryAssuranceEventsQueryParams *QueryAssuranceEventsQueryParams) (*ResponseDevicesQueryAssuranceEvents, *resty.Response, error) { + path := "/dna/data/api/v1/assuranceEvents" + + queryString, _ := query.Values(QueryAssuranceEventsQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if QueryAssuranceEventsHeaderParams != nil { + + if QueryAssuranceEventsHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", QueryAssuranceEventsHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesQueryAssuranceEvents{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.QueryAssuranceEvents(QueryAssuranceEventsHeaderParams, QueryAssuranceEventsQueryParams) + } + return nil, response, fmt.Errorf("error with operation QueryAssuranceEvents") + } + + result := response.Result().(*ResponseDevicesQueryAssuranceEvents) + return result, response, err + +} + +//CountTheNumberOfEvents Count the number of events - 349f-a9d8-4a6a-b951 +/* API to fetch the count of assurance events that match the filter criteria. Please refer to the 'API Support Documentation' section to understand which fields are supported. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml + + +@param CountTheNumberOfEventsHeaderParams Custom header parameters +@param CountTheNumberOfEventsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-the-number-of-events +*/ +func (s *DevicesService) CountTheNumberOfEvents(CountTheNumberOfEventsHeaderParams *CountTheNumberOfEventsHeaderParams, CountTheNumberOfEventsQueryParams *CountTheNumberOfEventsQueryParams) (*ResponseDevicesCountTheNumberOfEvents, *resty.Response, error) { + path := "/dna/data/api/v1/assuranceEvents/count" + + queryString, _ := query.Values(CountTheNumberOfEventsQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if CountTheNumberOfEventsHeaderParams != nil { + + if CountTheNumberOfEventsHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", CountTheNumberOfEventsHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesCountTheNumberOfEvents{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.CountTheNumberOfEvents(CountTheNumberOfEventsHeaderParams, CountTheNumberOfEventsQueryParams) + } + return nil, response, fmt.Errorf("error with operation CountTheNumberOfEvents") + } + + result := response.Result().(*ResponseDevicesCountTheNumberOfEvents) + return result, response, err + +} + +//GetDetailsOfASingleAssuranceEvent Get details of a single assurance event - 039e-2909-449a-8f51 +/* API to fetch the details of an assurance event using event `id`. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml + + +@param id id path parameter. Unique identifier for the event + +@param GetDetailsOfASingleAssuranceEventHeaderParams Custom header parameters +@param GetDetailsOfASingleAssuranceEventQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-details-of-a-single-assurance-event +*/ +func (s *DevicesService) GetDetailsOfASingleAssuranceEvent(id string, GetDetailsOfASingleAssuranceEventHeaderParams *GetDetailsOfASingleAssuranceEventHeaderParams, GetDetailsOfASingleAssuranceEventQueryParams *GetDetailsOfASingleAssuranceEventQueryParams) (*ResponseDevicesGetDetailsOfASingleAssuranceEvent, *resty.Response, error) { + path := "/dna/data/api/v1/assuranceEvents/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetDetailsOfASingleAssuranceEventQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetDetailsOfASingleAssuranceEventHeaderParams != nil { + + if GetDetailsOfASingleAssuranceEventHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetDetailsOfASingleAssuranceEventHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDetailsOfASingleAssuranceEvent{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDetailsOfASingleAssuranceEvent(id, GetDetailsOfASingleAssuranceEventHeaderParams, GetDetailsOfASingleAssuranceEventQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetDetailsOfASingleAssuranceEvent") + } + + result := response.Result().(*ResponseDevicesGetDetailsOfASingleAssuranceEvent) + return result, response, err + +} + +//GetListOfChildEventsForTheGivenWirelessClientEvent Get list of child events for the given wireless client event - d78f-7acc-4a88-b616 +/* Wireless client event could have child events and this API can be used to fetch the same using parent event `id` as the input. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml + + +@param id id path parameter. Unique identifier for the event + +@param GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-child-events-for-the-given-wireless-client-event +*/ +func (s *DevicesService) GetListOfChildEventsForTheGivenWirelessClientEvent(id string, GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams *GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams) (*ResponseDevicesGetListOfChildEventsForTheGivenWirelessClientEvent, *resty.Response, error) { + path := "/dna/data/api/v1/assuranceEvents/{id}/childEvents" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams != nil { + + if GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetResult(&ResponseDevicesGetListOfChildEventsForTheGivenWirelessClientEvent{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetListOfChildEventsForTheGivenWirelessClientEvent(id, GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams) + } + return nil, response, fmt.Errorf("error with operation GetListOfChildEventsForTheGivenWirelessClientEvent") + } + + result := response.Result().(*ResponseDevicesGetListOfChildEventsForTheGivenWirelessClientEvent) + return result, response, err + +} + +//RetrievesTheListOfDHCPServicesForGivenParameters Retrieves the list of DHCP Services for given parameters. - bfa0-ebff-418a-b093 +/* Retrieves the list of DHCP Services and offers basic filtering and sorting capabilities. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DHCPServices-1.0.0-resolved.yaml + + +@param RetrievesTheListOfDHCPServicesForGivenParametersHeaderParams Custom header parameters +@param RetrievesTheListOfDHCPServicesForGivenParametersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-d-h-c-p-services-for-given-parameters +*/ +func (s *DevicesService) RetrievesTheListOfDHCPServicesForGivenParameters(RetrievesTheListOfDHCPServicesForGivenParametersHeaderParams *RetrievesTheListOfDHCPServicesForGivenParametersHeaderParams, RetrievesTheListOfDHCPServicesForGivenParametersQueryParams *RetrievesTheListOfDHCPServicesForGivenParametersQueryParams) (*ResponseDevicesRetrievesTheListOfDHCPServicesForGivenParameters, *resty.Response, error) { + path := "/dna/data/api/v1/dhcpServices" + + queryString, _ := query.Values(RetrievesTheListOfDHCPServicesForGivenParametersQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheListOfDHCPServicesForGivenParametersHeaderParams != nil { + + if RetrievesTheListOfDHCPServicesForGivenParametersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheListOfDHCPServicesForGivenParametersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheListOfDHCPServicesForGivenParameters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheListOfDHCPServicesForGivenParameters(RetrievesTheListOfDHCPServicesForGivenParametersHeaderParams, RetrievesTheListOfDHCPServicesForGivenParametersQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfDHCPServicesForGivenParameters") + } + + result := response.Result().(*ResponseDevicesRetrievesTheListOfDHCPServicesForGivenParameters) + return result, response, err + +} + +//RetrievesTheTotalNumberOfDHCPServicesForGivenParameters Retrieves the total number of DHCP Services for given parameters. - 8eaf-6891-4319-9f95 +/* Retrieves the total number of DHCP Services for given parameters. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DHCPServices-1.0.0-resolved.yaml + + +@param RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams Custom header parameters +@param RetrievesTheTotalNumberOfDHCPServicesForGivenParametersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-number-of-d-h-c-p-services-for-given-parameters +*/ +func (s *DevicesService) RetrievesTheTotalNumberOfDHCPServicesForGivenParameters(RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams *RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfDHCPServicesForGivenParametersQueryParams *RetrievesTheTotalNumberOfDHCPServicesForGivenParametersQueryParams) (*ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenParameters, *resty.Response, error) { + path := "/dna/data/api/v1/dhcpServices/count" + + queryString, _ := query.Values(RetrievesTheTotalNumberOfDHCPServicesForGivenParametersQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams != nil { + + if RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenParameters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheTotalNumberOfDHCPServicesForGivenParameters(RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfDHCPServicesForGivenParametersQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfDHCPServicesForGivenParameters") + } + + result := response.Result().(*ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenParameters) + return result, response, err + +} + +//RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService Retrieves the details of a specific DHCP Service matching the id of the Service. - 3287-8874-4319-8db1 +/* Retrieves the details of the DHCP Service matching the given id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DHCPServices-1.0.0-resolved.yaml + + +@param id id path parameter. Unique id of the DHCP Service. It is the combination of DHCP Server IP (`serverIp`) and Device UUID (`deviceId`) separated by underscore (`_`). Example: If `serverIp` is `10.76.81.33` and `deviceId` is `6bef213c-19ca-4170-8375-b694e251101c`, then the `id` would be `10.76.81.33_6bef213c-19ca-4170-8375-b694e251101c` + +@param RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams Custom header parameters +@param RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-details-of-a-specific-d-h-c-p-service-matching-the-id-of-the-service +*/ +func (s *DevicesService) RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService(id string, RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams *RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceQueryParams *RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheServiceQueryParams) (*ResponseDevicesRetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService, *resty.Response, error) { + path := "/dna/data/api/v1/dhcpServices/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams != nil { + + if RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService(id, RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheService") + } + + result := response.Result().(*ResponseDevicesRetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService) + return result, response, err + +} + +//RetrievesTheListOfDNSServicesForGivenParameters Retrieves the list of DNS Services for given parameters. - 0bbd-2bd5-4f9b-9a57 +/* Retrieves the list of DNS Services and offers basic filtering and sorting capabilities. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DNSServices-1.0.0-resolved.yaml + + +@param RetrievesTheListOfDNSServicesForGivenParametersHeaderParams Custom header parameters +@param RetrievesTheListOfDNSServicesForGivenParametersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-d-n-s-services-for-given-parameters +*/ +func (s *DevicesService) RetrievesTheListOfDNSServicesForGivenParameters(RetrievesTheListOfDNSServicesForGivenParametersHeaderParams *RetrievesTheListOfDNSServicesForGivenParametersHeaderParams, RetrievesTheListOfDNSServicesForGivenParametersQueryParams *RetrievesTheListOfDNSServicesForGivenParametersQueryParams) (*ResponseDevicesRetrievesTheListOfDNSServicesForGivenParameters, *resty.Response, error) { + path := "/dna/data/api/v1/dnsServices" + + queryString, _ := query.Values(RetrievesTheListOfDNSServicesForGivenParametersQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheListOfDNSServicesForGivenParametersHeaderParams != nil { + + if RetrievesTheListOfDNSServicesForGivenParametersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheListOfDNSServicesForGivenParametersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheListOfDNSServicesForGivenParameters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheListOfDNSServicesForGivenParameters(RetrievesTheListOfDNSServicesForGivenParametersHeaderParams, RetrievesTheListOfDNSServicesForGivenParametersQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfDNSServicesForGivenParameters") + } + + result := response.Result().(*ResponseDevicesRetrievesTheListOfDNSServicesForGivenParameters) + return result, response, err + +} + +//RetrievesTheTotalNumberOfDNSServicesForGivenParameters Retrieves the total number of DNS Services for given parameters. - 4385-991e-43a9-9561 +/* Retrieves the total number of DNS Services for given parameters. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DNSServices-1.0.0-resolved.yaml + + +@param RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams Custom header parameters +@param RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-number-of-d-n-s-services-for-given-parameters +*/ +func (s *DevicesService) RetrievesTheTotalNumberOfDNSServicesForGivenParameters(RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams *RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams *RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams) (*ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenParameters, *resty.Response, error) { + path := "/dna/data/api/v1/dnsServices/count" + + queryString, _ := query.Values(RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams != nil { + + if RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenParameters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheTotalNumberOfDNSServicesForGivenParameters(RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfDNSServicesForGivenParameters") + } + + result := response.Result().(*ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenParameters) + return result, response, err + +} + +//RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService Retrieves the details of a specific DNS Service matching the id of the Service. - 84ab-b9c3-498a-b6a7 +/* Retrieves the details of the DNS Service matching the given id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DNSServices-1.0.0-resolved.yaml + + +@param id id path parameter. Unique id of the DNS Service. It is the combination of DNS Server IP (`serverIp`) and Device UUID (`deviceId`) separated by underscore (`_`). Example: If `serverIp` is `10.76.81.33` and `deviceId` is `6bef213c-19ca-4170-8375-b694e251101c`, then the `id` would be `10.76.81.33_6bef213c-19ca-4170-8375-b694e251101c` + +@param RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams Custom header parameters +@param RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-details-of-a-specific-d-n-s-service-matching-the-id-of-the-service +*/ +func (s *DevicesService) RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService(id string, RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams *RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceQueryParams *RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheServiceQueryParams) (*ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService, *resty.Response, error) { + path := "/dna/data/api/v1/dnsServices/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams != nil { + + if RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService(id, RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheService") + } + + result := response.Result().(*ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService) + return result, response, err + +} + +//GetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevices Gets interfaces along with statistics and poe data from all network devices. - 9898-9b5a-445b-884f +/* Retrieves the list of the interfaces from all network devices based on the provided query parameters. The latest interfaces data in the specified start and end time range will be returned. When there is no start and end time specified returns the latest available data. + +The elements are grouped and sorted by deviceUuid first, and are then sorted by the given sort field, or by the default value: name. + + +The supported sorting options are: +name, adminStatus, description, duplexConfig, duplexOper, interfaceIfIndex,interfaceType, macAddress,mediaType, operStatus, portChannelId, portMode, portType,speed, vlanId + + + +This API can paginate up to 500,000 records, please narrow matching results with additional filters beyond that value. The elements are grouped and sorted by deviceUuid first, and are then sorted by the given sort field, or by the default value: name. + + The supported sorting options are: name, adminStatus, description, duplexConfig, duplexOper,interfaceIfIndex,interfaceType, macAddress,mediaType, operStatus,portChannelId, portMode, portType,speed, vlanId,pdPowerAdminMaxInWatt,pdPowerBudgetInWatt,pdPowerConsumedInWatt,pdPowerRemainingInWatt,pdMaxPowerDrawn. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-interfaces-2.0.0-resolved.yaml + + +@param GetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-interfaces-along-with-statistics-and-poe-data-from-all-network-devices +*/ +func (s *DevicesService) GetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevices(GetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesQueryParams *GetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesQueryParams) (*ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevices, *resty.Response, error) { + path := "/dna/data/api/v1/interfaces" + + queryString, _ := query.Values(GetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevices(GetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevices") + } + + result := response.Result().(*ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevices) + return result, response, err + +} + +//GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount Gets the total Network device interface counts in the specified time range. When there is no start and end time specified returns the latest interfaces total count. - 40ab-799f-465a-82f4 +/* Gets the total Network device interface counts. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-interfaces-2.0.0-resolved.yaml + + +@param GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-total-network-device-interface-counts-in-the-specified-time-range-when-there-is-no-start-and-end-time-specified-returns-the-latest-interfaces-total-count +*/ +func (s *DevicesService) GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount(GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountQueryParams *GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountQueryParams) (*ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount, *resty.Response, error) { + path := "/dna/data/api/v1/interfaces/count" + + queryString, _ := query.Values(GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount(GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount") + } + + result := response.Result().(*ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount) + return result, response, err + +} + +//GetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsAndPoeData Get the interface data for the given interface id (instance Uuid) along with the statistics and poe data - c08d-d95c-4c7b-8283 +/* Returns the interface data for the given interface instance Uuid along with the statistics data. The latest interface data in the specified start and end time range will be returned. When there is no start and end time specified returns the latest available data for the given interface Id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-interfaces-2.0.0-resolved.yaml + + +@param id id path parameter. The interface Uuid + +@param GetTheInterfaceDataForTheGivenInterfaceIdinstanceUuidAlongWithTheStatisticsAndPoeDataQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-interface-data-for-the-given-interface-idinstance-uuid-along-with-the-statistics-and-poe-data +*/ +func (s *DevicesService) GetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsAndPoeData(id string, GetTheInterfaceDataForTheGivenInterfaceIdinstanceUuidAlongWithTheStatisticsAndPoeDataQueryParams *GetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsAndPoeDataQueryParams) (*ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsAndPoeData, *resty.Response, error) { + path := "/dna/data/api/v1/interfaces/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetTheInterfaceDataForTheGivenInterfaceIdinstanceUuidAlongWithTheStatisticsAndPoeDataQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsAndPoeData{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsAndPoeData(id, GetTheInterfaceDataForTheGivenInterfaceIdinstanceUuidAlongWithTheStatisticsAndPoeDataQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetTheInterfaceDataForTheGivenInterfaceIdinstanceUuidAlongWithTheStatisticsAndPoeData") + } + + result := response.Result().(*ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsAndPoeData) + return result, response, err + +} + +//GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters Gets the Network Device details based on the provided query parameters. - c8b4-f894-4c3a-932f +/* Gets the Network Device details based on the provided query parameters. When there is no start and end time specified returns the latest device details. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-2.0.1-resolved.yaml + + +@param GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-network-device-details-based-on-the-provided-query-parameters +*/ +func (s *DevicesService) GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters(GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams *GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams) (*ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters, *resty.Response, error) { + path := "/dna/data/api/v1/networkDevices" + + queryString, _ := query.Values(GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters(GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters") + } + + result := response.Result().(*ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters) + return result, response, err + +} + +//GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters Gets the total Network device counts based on the provided query parameters. - f0a6-e96b-44fb-a549 +/* Gets the total Network device counts. When there is no start and end time specified returns the latest interfaces total count. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-2.0.1-resolved.yaml + + +@param GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-total-network-device-counts-based-on-the-provided-query-parameters +*/ +func (s *DevicesService) GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters(GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams *GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams) (*ResponseDevicesGetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters, *resty.Response, error) { + path := "/dna/data/api/v1/networkDevices/count" + + queryString, _ := query.Values(GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters(GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters") + } + + result := response.Result().(*ResponseDevicesGetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters) + return result, response, err + +} + +//GetTheDeviceDataForTheGivenDeviceIDUUID Get the device data for the given device id (Uuid) - 5a93-1957-475b-95b3 +/* Returns the device data for the given device Uuid in the specified start and end time range. When there is no start and end time specified returns the latest available data for the given Id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-2.0.1-resolved.yaml + + +@param id id path parameter. The device Uuid + +@param GetTheDeviceDataForTheGivenDeviceIdUuidQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-device-data-for-the-given-device-id-uuid +*/ +func (s *DevicesService) GetTheDeviceDataForTheGivenDeviceIDUUID(id string, GetTheDeviceDataForTheGivenDeviceIdUuidQueryParams *GetTheDeviceDataForTheGivenDeviceIDUUIDQueryParams) (*ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUID, *resty.Response, error) { + path := "/dna/data/api/v1/networkDevices/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetTheDeviceDataForTheGivenDeviceIdUuidQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTheDeviceDataForTheGivenDeviceIDUUID(id, GetTheDeviceDataForTheGivenDeviceIdUuidQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetTheDeviceDataForTheGivenDeviceIdUuid") + } + + result := response.Result().(*ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUID) + return result, response, err + +} + +//GetPlannedAccessPointsForBuilding Get Planned Access Points for Building - b699-9b85-4e3b-acdd +/* Provides a list of Planned Access Points for the Building it is requested for + + +@param buildingID buildingId path parameter. The instance UUID of the building hierarchy element + +@param GetPlannedAccessPointsForBuildingQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-planned-access-points-for-building +*/ +func (s *DevicesService) GetPlannedAccessPointsForBuilding(buildingID string, GetPlannedAccessPointsForBuildingQueryParams *GetPlannedAccessPointsForBuildingQueryParams) (*ResponseDevicesGetPlannedAccessPointsForBuilding, *resty.Response, error) { + path := "/dna/intent/api/v1/buildings/{buildingId}/planned-access-points" + path = strings.Replace(path, "{buildingId}", fmt.Sprintf("%v", buildingID), -1) + + queryString, _ := query.Values(GetPlannedAccessPointsForBuildingQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetPlannedAccessPointsForBuilding{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetPlannedAccessPointsForBuilding(buildingID, GetPlannedAccessPointsForBuildingQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetPlannedAccessPointsForBuilding") + } + + result := response.Result().(*ResponseDevicesGetPlannedAccessPointsForBuilding) + return result, response, err + +} + +//GetDeviceDetail Get Device Detail - ca98-fac4-4b08-895c +/* Returns detailed Network Device information retrieved by Mac Address, Device Name or UUID for any given point of time. + + +@param GetDeviceDetailQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-detail +*/ +func (s *DevicesService) GetDeviceDetail(GetDeviceDetailQueryParams *GetDeviceDetailQueryParams) (*ResponseDevicesGetDeviceDetail, *resty.Response, error) { + path := "/dna/intent/api/v1/device-detail" + + queryString, _ := query.Values(GetDeviceDetailQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDeviceDetail{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDeviceDetail(GetDeviceDetailQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetDeviceDetail") + } + + result := response.Result().(*ResponseDevicesGetDeviceDetail) + return result, response, err + +} + +//GetDeviceEnrichmentDetails Get Device Enrichment Details - e0b5-599b-4f29-97b7 +/* Enriches a given network device context (device id or device Mac Address or device management IP address) with details about the device and neighbor topology + + +@param GetDeviceEnrichmentDetailsHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-enrichment-details +*/ +func (s *DevicesService) GetDeviceEnrichmentDetails(GetDeviceEnrichmentDetailsHeaderParams *GetDeviceEnrichmentDetailsHeaderParams) (*ResponseDevicesGetDeviceEnrichmentDetails, *resty.Response, error) { + path := "/dna/intent/api/v1/device-enrichment-details" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetDeviceEnrichmentDetailsHeaderParams != nil { + + if GetDeviceEnrichmentDetailsHeaderParams.EntityType != "" { + clientRequest = clientRequest.SetHeader("entity_type", GetDeviceEnrichmentDetailsHeaderParams.EntityType) + } + + if GetDeviceEnrichmentDetailsHeaderParams.EntityValue != "" { + clientRequest = clientRequest.SetHeader("entity_value", GetDeviceEnrichmentDetailsHeaderParams.EntityValue) + } + + if GetDeviceEnrichmentDetailsHeaderParams.Persistbapioutput != "" { + clientRequest = clientRequest.SetHeader("__persistbapioutput", GetDeviceEnrichmentDetailsHeaderParams.Persistbapioutput) + } + + } + + response, err = clientRequest. + SetResult(&ResponseDevicesGetDeviceEnrichmentDetails{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDeviceEnrichmentDetails(GetDeviceEnrichmentDetailsHeaderParams) + } + return nil, response, fmt.Errorf("error with operation GetDeviceEnrichmentDetails") + } + + result := response.Result().(*ResponseDevicesGetDeviceEnrichmentDetails) + return result, response, err + +} + +//Devices Devices - 3ab2-bb64-4cca-81ee +/* Intent API for accessing DNA Assurance Device object for generating reports, creating dashboards or creating additional value added services. + + +@param DevicesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!devices +*/ +func (s *DevicesService) Devices(DevicesQueryParams *DevicesQueryParams) (*ResponseDevicesDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/device-health" + + queryString, _ := query.Values(DevicesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.Devices(DevicesQueryParams) + } + return nil, response, fmt.Errorf("error with operation Devices") + } + + result := response.Result().(*ResponseDevicesDevices) + return result, response, err + +} + +//GetPlannedAccessPointsForFloor Get Planned Access Points for Floor - 6780-6977-4589-9a54 +/* Provides a list of Planned Access Points for the Floor it is requested for + + +@param floorID floorId path parameter. The instance UUID of the floor hierarchy element + +@param GetPlannedAccessPointsForFloorQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-planned-access-points-for-floor +*/ +func (s *DevicesService) GetPlannedAccessPointsForFloor(floorID string, GetPlannedAccessPointsForFloorQueryParams *GetPlannedAccessPointsForFloorQueryParams) (*ResponseDevicesGetPlannedAccessPointsForFloor, *resty.Response, error) { + path := "/dna/intent/api/v1/floors/{floorId}/planned-access-points" + path = strings.Replace(path, "{floorId}", fmt.Sprintf("%v", floorID), -1) + + queryString, _ := query.Values(GetPlannedAccessPointsForFloorQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetPlannedAccessPointsForFloor{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetPlannedAccessPointsForFloor(floorID, GetPlannedAccessPointsForFloorQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetPlannedAccessPointsForFloor") + } + + result := response.Result().(*ResponseDevicesGetPlannedAccessPointsForFloor) + return result, response, err + +} + +//GetAllHealthScoreDefinitionsForGivenFilters Get all health score definitions for given filters. - 9bb6-ea87-4ffb-b492 +/* Get all health score defintions. +Supported filters are id, name and overall health include status. A health score definition can be different across device type. So, deviceType in the query param is important and default is all device types. +By default all supported attributes are listed in response. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-issueAndHealthDefinitions-1.0.0-resolved.yaml + + +@param GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams Custom header parameters +@param GetAllHealthScoreDefinitionsForGivenFiltersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-health-score-definitions-for-given-filters +*/ +func (s *DevicesService) GetAllHealthScoreDefinitionsForGivenFilters(GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams *GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams, GetAllHealthScoreDefinitionsForGivenFiltersQueryParams *GetAllHealthScoreDefinitionsForGivenFiltersQueryParams) (*ResponseDevicesGetAllHealthScoreDefinitionsForGivenFilters, *resty.Response, error) { + path := "/dna/intent/api/v1/healthScoreDefinitions" + + queryString, _ := query.Values(GetAllHealthScoreDefinitionsForGivenFiltersQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams != nil { + + if GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetAllHealthScoreDefinitionsForGivenFilters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAllHealthScoreDefinitionsForGivenFilters(GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams, GetAllHealthScoreDefinitionsForGivenFiltersQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAllHealthScoreDefinitionsForGivenFilters") + } + + result := response.Result().(*ResponseDevicesGetAllHealthScoreDefinitionsForGivenFilters) + return result, response, err + +} + +//GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters Get the count of health score definitions based on provided filters. - 49aa-bb2c-46ca-b58a +/* Get the count of health score definitions based on provided filters. Supported filters are id, name and overall health include status. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-issueAndHealthDefinitions-1.0.0-resolved.yaml + + +@param GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams Custom header parameters +@param GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-count-of-health-score-definitions-based-on-provided-filters +*/ +func (s *DevicesService) GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters(GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams *GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams, GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams *GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams) (*ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters, *resty.Response, error) { + path := "/dna/intent/api/v1/healthScoreDefinitions/count" + + queryString, _ := query.Values(GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams != nil { + + if GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters(GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams, GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters") + } + + result := response.Result().(*ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters) + return result, response, err + +} + +//GetHealthScoreDefinitionForTheGivenID Get health score definition for the given id. - 99b5-d81a-4408-94c3 +/* Get health score defintion for the given id. Definition includes all properties from HealthScoreDefinition schema by default. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-issueAndHealthDefinitions-1.0.0-resolved.yaml + + +@param id id path parameter. Health score definition id. + +@param GetHealthScoreDefinitionForTheGivenIdHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-health-score-definition-for-the-given-id +*/ +func (s *DevicesService) GetHealthScoreDefinitionForTheGivenID(id string, GetHealthScoreDefinitionForTheGivenIdHeaderParams *GetHealthScoreDefinitionForTheGivenIDHeaderParams) (*ResponseDevicesGetHealthScoreDefinitionForTheGivenID, *resty.Response, error) { + path := "/dna/intent/api/v1/healthScoreDefinitions/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetHealthScoreDefinitionForTheGivenIdHeaderParams != nil { + + if GetHealthScoreDefinitionForTheGivenIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetHealthScoreDefinitionForTheGivenIdHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetResult(&ResponseDevicesGetHealthScoreDefinitionForTheGivenID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetHealthScoreDefinitionForTheGivenID(id, GetHealthScoreDefinitionForTheGivenIdHeaderParams) + } + return nil, response, fmt.Errorf("error with operation GetHealthScoreDefinitionForTheGivenId") + } + + result := response.Result().(*ResponseDevicesGetHealthScoreDefinitionForTheGivenID) + return result, response, err + +} + +//GetAllInterfaces Get all interfaces - f594-7a4c-439a-8bf0 +/* Returns all available interfaces. This endpoint can return a maximum of 500 interfaces + + +@param GetAllInterfacesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-interfaces +*/ +func (s *DevicesService) GetAllInterfaces(GetAllInterfacesQueryParams *GetAllInterfacesQueryParams) (*ResponseDevicesGetAllInterfaces, *resty.Response, error) { + path := "/dna/intent/api/v1/interface" + + queryString, _ := query.Values(GetAllInterfacesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetAllInterfaces{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAllInterfaces(GetAllInterfacesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAllInterfaces") + } + + result := response.Result().(*ResponseDevicesGetAllInterfaces) + return result, response, err + +} + +//GetDeviceInterfaceCountForMultipleDevices Get Device Interface Count for Multiple Devices - 3d92-3b18-4dc9-a4ca +/* Returns the count of interfaces for all devices + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-interface-count-for-multiple-devices +*/ +func (s *DevicesService) GetDeviceInterfaceCountForMultipleDevices() (*ResponseDevicesGetDeviceInterfaceCountForMultipleDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/interface/count" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesGetDeviceInterfaceCountForMultipleDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDeviceInterfaceCountForMultipleDevices() + } + return nil, response, fmt.Errorf("error with operation GetDeviceInterfaceCountForMultipleDevices") + } + + result := response.Result().(*ResponseDevicesGetDeviceInterfaceCountForMultipleDevices) + return result, response, err + +} + +//GetInterfaceByIP Get Interface by IP - cd84-69e6-47ca-ab0e +/* Returns list of interfaces for specified device management IP address + + +@param ipAddress ipAddress path parameter. IP address of the interface + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interface-by-ip +*/ +func (s *DevicesService) GetInterfaceByIP(ipAddress string) (*ResponseDevicesGetInterfaceByIP, *resty.Response, error) { + path := "/dna/intent/api/v1/interface/ip-address/{ipAddress}" + path = strings.Replace(path, "{ipAddress}", fmt.Sprintf("%v", ipAddress), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesGetInterfaceByIP{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetInterfaceByIP(ipAddress) + } + return nil, response, fmt.Errorf("error with operation GetInterfaceByIp") + } + + result := response.Result().(*ResponseDevicesGetInterfaceByIP) + return result, response, err + +} + +//GetIsisInterfaces Get ISIS interfaces - 84ad-8b0e-42ca-b48a +/* Returns the interfaces that has ISIS enabled + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-isis-interfaces +*/ +func (s *DevicesService) GetIsisInterfaces() (*ResponseDevicesGetIsisInterfaces, *resty.Response, error) { + path := "/dna/intent/api/v1/interface/isis" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesGetIsisInterfaces{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetIsisInterfaces() + } + return nil, response, fmt.Errorf("error with operation GetIsisInterfaces") + } + + result := response.Result().(*ResponseDevicesGetIsisInterfaces) + return result, response, err + +} + +//GetInterfaceInfoByID Get Interface info by Id - ba9d-c85b-4b8a-9a17 +/* Returns list of interfaces by specified device + + +@param deviceID deviceId path parameter. Device ID -@param QueryAssuranceEventsHeaderParams Custom header parameters -@param QueryAssuranceEventsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-assurance-events-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interface-info-by-id */ -func (s *DevicesService) QueryAssuranceEvents(QueryAssuranceEventsHeaderParams *QueryAssuranceEventsHeaderParams, QueryAssuranceEventsQueryParams *QueryAssuranceEventsQueryParams) (*ResponseDevicesQueryAssuranceEvents, *resty.Response, error) { - path := "/dna/data/api/v1/assuranceEvents" - - queryString, _ := query.Values(QueryAssuranceEventsQueryParams) +func (s *DevicesService) GetInterfaceInfoByID(deviceID string) (*ResponseDevicesGetInterfaceInfoByID, *resty.Response, error) { + path := "/dna/intent/api/v1/interface/network-device/{deviceId}" + path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) - var response *resty.Response - var err error - clientRequest := s.client.R(). + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesGetInterfaceInfoByID{}). + SetError(&Error). + Get(path) - if QueryAssuranceEventsHeaderParams != nil { + if err != nil { + return nil, nil, err - if QueryAssuranceEventsHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", QueryAssuranceEventsHeaderParams.XCaLLERID) - } + } + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetInterfaceInfoByID(deviceID) + } + return nil, response, fmt.Errorf("error with operation GetInterfaceInfoById") } - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesQueryAssuranceEvents{}). + result := response.Result().(*ResponseDevicesGetInterfaceInfoByID) + return result, response, err + +} + +//GetDeviceInterfaceCount Get Device Interface count - 5b86-3922-4cd8-8ea7 +/* Returns the interface count for the given device + + +@param deviceID deviceId path parameter. Device ID + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-interface-count +*/ +func (s *DevicesService) GetDeviceInterfaceCount(deviceID string) (*ResponseDevicesGetDeviceInterfaceCount, *resty.Response, error) { + path := "/dna/intent/api/v1/interface/network-device/{deviceId}/count" + path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesGetDeviceInterfaceCount{}). SetError(&Error). Get(path) @@ -4009,46 +9875,79 @@ func (s *DevicesService) QueryAssuranceEvents(QueryAssuranceEventsHeaderParams * if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.QueryAssuranceEvents(QueryAssuranceEventsHeaderParams, QueryAssuranceEventsQueryParams) + return s.GetDeviceInterfaceCount(deviceID) } - return nil, response, fmt.Errorf("error with operation QueryAssuranceEvents") + return nil, response, fmt.Errorf("error with operation GetDeviceInterfaceCount") } - result := response.Result().(*ResponseDevicesQueryAssuranceEvents) + result := response.Result().(*ResponseDevicesGetDeviceInterfaceCount) return result, response, err } -//CountTheNumberOfEvents Count the number of events - 349f-a9d8-4a6a-b951 -/* API to fetch the count of assurance events that match the filter criteria. Please refer to the 'API Support Documentation' section to understand which fields are supported. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml +//GetInterfaceDetailsByDeviceIDAndInterfaceName Get Interface details by device Id and interface name - 4eb5-6a61-4cc9-a2d2 +/* Returns interface by specified device Id and interface name -@param CountTheNumberOfEventsHeaderParams Custom header parameters -@param CountTheNumberOfEventsQueryParams Filtering parameter +@param deviceID deviceId path parameter. Device ID + +@param GetInterfaceDetailsByDeviceIdAndInterfaceNameQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-the-number-of-events-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interface-details-by-device-id-and-interface-name */ -func (s *DevicesService) CountTheNumberOfEvents(CountTheNumberOfEventsHeaderParams *CountTheNumberOfEventsHeaderParams, CountTheNumberOfEventsQueryParams *CountTheNumberOfEventsQueryParams) (*ResponseDevicesCountTheNumberOfEvents, *resty.Response, error) { - path := "/dna/data/api/v1/assuranceEvents/count" +func (s *DevicesService) GetInterfaceDetailsByDeviceIDAndInterfaceName(deviceID string, GetInterfaceDetailsByDeviceIdAndInterfaceNameQueryParams *GetInterfaceDetailsByDeviceIDAndInterfaceNameQueryParams) (*ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceName, *resty.Response, error) { + path := "/dna/intent/api/v1/interface/network-device/{deviceId}/interface-name" + path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) - queryString, _ := query.Values(CountTheNumberOfEventsQueryParams) + queryString, _ := query.Values(GetInterfaceDetailsByDeviceIdAndInterfaceNameQueryParams) - var response *resty.Response - var err error - clientRequest := s.client.R(). + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceName{}). + SetError(&Error). + Get(path) - if CountTheNumberOfEventsHeaderParams != nil { + if err != nil { + return nil, nil, err - if CountTheNumberOfEventsHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", CountTheNumberOfEventsHeaderParams.XCaLLERID) - } + } + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetInterfaceDetailsByDeviceIDAndInterfaceName(deviceID, GetInterfaceDetailsByDeviceIdAndInterfaceNameQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetInterfaceDetailsByDeviceIdAndInterfaceName") } - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesCountTheNumberOfEvents{}). + result := response.Result().(*ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceName) + return result, response, err + +} + +//GetDeviceInterfacesBySpecifiedRange Get Device Interfaces by specified range - 349c-8884-43b8-9a58 +/* Returns the list of interfaces for the device for the specified range + + +@param deviceID deviceId path parameter. Device ID + +@param startIndex startIndex path parameter. Start index + +@param recordsToReturn recordsToReturn path parameter. Number of records to return + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-interfaces-by-specified-range +*/ +func (s *DevicesService) GetDeviceInterfacesBySpecifiedRange(deviceID string, startIndex int, recordsToReturn int) (*ResponseDevicesGetDeviceInterfacesBySpecifiedRange, *resty.Response, error) { + path := "/dna/intent/api/v1/interface/network-device/{deviceId}/{startIndex}/{recordsToReturn}" + path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) + path = strings.Replace(path, "{startIndex}", fmt.Sprintf("%v", startIndex), -1) + path = strings.Replace(path, "{recordsToReturn}", fmt.Sprintf("%v", recordsToReturn), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesGetDeviceInterfacesBySpecifiedRange{}). SetError(&Error). Get(path) @@ -4059,49 +9958,67 @@ func (s *DevicesService) CountTheNumberOfEvents(CountTheNumberOfEventsHeaderPara if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CountTheNumberOfEvents(CountTheNumberOfEventsHeaderParams, CountTheNumberOfEventsQueryParams) + return s.GetDeviceInterfacesBySpecifiedRange(deviceID, startIndex, recordsToReturn) } - return nil, response, fmt.Errorf("error with operation CountTheNumberOfEvents") + return nil, response, fmt.Errorf("error with operation GetDeviceInterfacesBySpecifiedRange") } - result := response.Result().(*ResponseDevicesCountTheNumberOfEvents) + result := response.Result().(*ResponseDevicesGetDeviceInterfacesBySpecifiedRange) return result, response, err } -//GetDetailsOfASingleAssuranceEvent Get details of a single assurance event - 039e-2909-449a-8f51 -/* API to fetch the details of an assurance event using event `id`. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml - +//GetOspfInterfaces Get OSPF interfaces - 70ad-3976-49e9-b4d3 +/* Returns the interfaces that has OSPF enabled -@param id id path parameter. Unique identifier for the event -@param GetDetailsOfASingleAssuranceEventHeaderParams Custom header parameters -@param GetDetailsOfASingleAssuranceEventQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-details-of-a-single-assurance-event-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ospf-interfaces */ -func (s *DevicesService) GetDetailsOfASingleAssuranceEvent(id string, GetDetailsOfASingleAssuranceEventHeaderParams *GetDetailsOfASingleAssuranceEventHeaderParams, GetDetailsOfASingleAssuranceEventQueryParams *GetDetailsOfASingleAssuranceEventQueryParams) (*ResponseDevicesGetDetailsOfASingleAssuranceEvent, *resty.Response, error) { - path := "/dna/data/api/v1/assuranceEvents/{id}" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - - queryString, _ := query.Values(GetDetailsOfASingleAssuranceEventQueryParams) +func (s *DevicesService) GetOspfInterfaces() (*ResponseDevicesGetOspfInterfaces, *resty.Response, error) { + path := "/dna/intent/api/v1/interface/ospf" - var response *resty.Response - var err error - clientRequest := s.client.R(). + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesGetOspfInterfaces{}). + SetError(&Error). + Get(path) - if GetDetailsOfASingleAssuranceEventHeaderParams != nil { + if err != nil { + return nil, nil, err - if GetDetailsOfASingleAssuranceEventHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetDetailsOfASingleAssuranceEventHeaderParams.XCaLLERID) - } + } + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetOspfInterfaces() + } + return nil, response, fmt.Errorf("error with operation GetOspfInterfaces") } - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDetailsOfASingleAssuranceEvent{}). + result := response.Result().(*ResponseDevicesGetOspfInterfaces) + return result, response, err + +} + +//GetInterfaceByID Get Interface by Id - b888-792d-43ba-ba46 +/* Returns the interface for the given interface ID + + +@param id id path parameter. Interface ID + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interface-by-id +*/ +func (s *DevicesService) GetInterfaceByID(id string) (*ResponseDevicesGetInterfaceByID, *resty.Response, error) { + path := "/dna/intent/api/v1/interface/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesGetInterfaceByID{}). SetError(&Error). Get(path) @@ -4112,46 +10029,71 @@ func (s *DevicesService) GetDetailsOfASingleAssuranceEvent(id string, GetDetails if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDetailsOfASingleAssuranceEvent(id, GetDetailsOfASingleAssuranceEventHeaderParams, GetDetailsOfASingleAssuranceEventQueryParams) + return s.GetInterfaceByID(id) } - return nil, response, fmt.Errorf("error with operation GetDetailsOfASingleAssuranceEvent") + return nil, response, fmt.Errorf("error with operation GetInterfaceById") } - result := response.Result().(*ResponseDevicesGetDetailsOfASingleAssuranceEvent) + result := response.Result().(*ResponseDevicesGetInterfaceByID) return result, response, err } -//GetListOfChildEventsForTheGivenWirelessClientEvent Get list of child events for the given wireless client event - d78f-7acc-4a88-b616 -/* Wireless client event could have child events and this API can be used to fetch the same using parent event `id` as the input. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml +//LegitOperationsForInterface Legit operations for interface - 87a3-3a52-46ea-a40e +/* Get list of all properties & operations valid for an interface. -@param id id path parameter. Unique identifier for the event +@param interfaceUUID interfaceUuid path parameter. Interface ID -@param GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-child-events-for-the-given-wireless-client-event-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!legit-operations-for-interface */ -func (s *DevicesService) GetListOfChildEventsForTheGivenWirelessClientEvent(id string, GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams *GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams) (*ResponseDevicesGetListOfChildEventsForTheGivenWirelessClientEvent, *resty.Response, error) { - path := "/dna/data/api/v1/assuranceEvents/{id}/childEvents" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *DevicesService) LegitOperationsForInterface(interfaceUUID string) (*ResponseDevicesLegitOperationsForInterface, *resty.Response, error) { + path := "/dna/intent/api/v1/interface/{interfaceUuid}/legit-operation" + path = strings.Replace(path, "{interfaceUuid}", fmt.Sprintf("%v", interfaceUUID), -1) - var response *resty.Response - var err error - clientRequest := s.client.R(). + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesLegitOperationsForInterface{}). + SetError(&Error). + Get(path) - if GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams != nil { + if err != nil { + return nil, nil, err - if GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams.XCaLLERID) - } + } + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.LegitOperationsForInterface(interfaceUUID) + } + return nil, response, fmt.Errorf("error with operation LegitOperationsForInterface") } - response, err = clientRequest. - SetResult(&ResponseDevicesGetListOfChildEventsForTheGivenWirelessClientEvent{}). + result := response.Result().(*ResponseDevicesLegitOperationsForInterface) + return result, response, err + +} + +//GetDeviceList Get Device list - 20b1-9b52-464b-8972 +/* Returns list of network devices based on filter criteria such as management IP address, mac address, hostname, etc. You can use the .* in any value to conduct a wildcard search. For example, to find all hostnames beginning with myhost in the IP address range 192.25.18.n, issue the following request: GET /dna/intent/api/v1/network-device?hostname=myhost.*&managementIpAddress=192.25.18..* +If id parameter is provided with comma separated ids, it will return the list of network-devices for the given ids and ignores the other request parameters. You can also specify offset & limit to get the required list. + + +@param GetDeviceListQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-list +*/ +func (s *DevicesService) GetDeviceList(GetDeviceListQueryParams *GetDeviceListQueryParams) (*ResponseDevicesGetDeviceList, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device" + + queryString, _ := query.Values(GetDeviceListQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDeviceList{}). SetError(&Error). Get(path) @@ -4162,36 +10104,33 @@ func (s *DevicesService) GetListOfChildEventsForTheGivenWirelessClientEvent(id s if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetListOfChildEventsForTheGivenWirelessClientEvent(id, GetListOfChildEventsForTheGivenWirelessClientEventHeaderParams) + return s.GetDeviceList(GetDeviceListQueryParams) } - return nil, response, fmt.Errorf("error with operation GetListOfChildEventsForTheGivenWirelessClientEvent") + return nil, response, fmt.Errorf("error with operation GetDeviceList") } - result := response.Result().(*ResponseDevicesGetListOfChildEventsForTheGivenWirelessClientEvent) + result := response.Result().(*ResponseDevicesGetDeviceList) return result, response, err } -//GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevices Gets interfaces along with statistics data from all network devices. - 9898-9b5a-445b-884f -/* Retrieves the list of the interfaces from all network devices based on the provided query parameters. The latest interfaces data in the specified start and end time range will be returned. When there is no start and end time specified returns the latest available data. -The elements are grouped and sorted by deviceUuid first, and are then sorted by the given sort field, or by the default value: name. - - The supported sorting options are: name, adminStatus, description, duplexConfig, duplexOper,interfaceIfIndex,interfaceType, macAddress,mediaType, operStatus,portChannelId, portMode, portType,speed, vlanId. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-interfaces-1.0.2-resolved.yaml +//GetDeviceValuesThatMatchFullyOrPartiallyAnAttribute Get Device Values that match fully or partially an Attribute - ffa7-48cc-44e9-a437 +/* Returns the list of values of the first given required parameter. You can use the .* in any value to conduct a wildcard search. For example, to get all the devices with the management IP address starting with 10.10. , issue the following request: GET /dna/inten/api/v1/network-device/autocomplete?managementIpAddress=10.10..* It will return the device management IP addresses that match fully or partially the provided attribute. {[10.10.1.1, 10.10.20.2, …]}. -@param GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesQueryParams Filtering parameter +@param GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-interfaces-along-with-statistics-data-from-all-network-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-values-that-match-fully-or-partially-an-attribute */ -func (s *DevicesService) GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevices(GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesQueryParams *GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesQueryParams) (*ResponseDevicesGetsInterfacesAlongWithStatisticsDataFromAllNetworkDevices, *resty.Response, error) { - path := "/dna/data/api/v1/interfaces" +func (s *DevicesService) GetDeviceValuesThatMatchFullyOrPartiallyAnAttribute(GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams *GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams) (*ResponseDevicesGetDeviceValuesThatMatchFullyOrPartiallyAnAttribute, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/autocomplete" - queryString, _ := query.Values(GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesQueryParams) + queryString, _ := query.Values(GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetsInterfacesAlongWithStatisticsDataFromAllNetworkDevices{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDeviceValuesThatMatchFullyOrPartiallyAnAttribute{}). SetError(&Error). Get(path) @@ -4202,33 +10141,30 @@ func (s *DevicesService) GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevices(GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevicesQueryParams) + return s.GetDeviceValuesThatMatchFullyOrPartiallyAnAttribute(GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams) } - return nil, response, fmt.Errorf("error with operation GetsInterfacesAlongWithStatisticsDataFromAllNetworkDevices") + return nil, response, fmt.Errorf("error with operation GetDeviceValuesThatMatchFullyOrPartiallyAnAttribute") } - result := response.Result().(*ResponseDevicesGetsInterfacesAlongWithStatisticsDataFromAllNetworkDevices) + result := response.Result().(*ResponseDevicesGetDeviceValuesThatMatchFullyOrPartiallyAnAttribute) return result, response, err } -//GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount Gets the total Network device interface counts in the specified time range. When there is no start and end time specified returns the latest interfaces total count. - 40ab-799f-465a-82f4 -/* Gets the total Network device interface counts. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-interfaces-1.0.2-resolved.yaml +//GetPollingIntervalForAllDevices Get Polling Interval for all devices - 38bd-0b88-4b89-a785 +/* Returns polling interval of all devices -@param GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-total-network-device-interface-counts-in-the-specified-time-range-when-there-is-no-start-and-end-time-specified-returns-the-latest-interfaces-total-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-polling-interval-for-all-devices */ -func (s *DevicesService) GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount(GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountQueryParams *GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountQueryParams) (*ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount, *resty.Response, error) { - path := "/dna/data/api/v1/interfaces/count" - - queryString, _ := query.Values(GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountQueryParams) +func (s *DevicesService) GetPollingIntervalForAllDevices() (*ResponseDevicesGetPollingIntervalForAllDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/collection-schedule/global" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount{}). + SetResult(&ResponseDevicesGetPollingIntervalForAllDevices{}). SetError(&Error). Get(path) @@ -4239,36 +10175,30 @@ func (s *DevicesService) GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedT if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount(GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCountQueryParams) + return s.GetPollingIntervalForAllDevices() } - return nil, response, fmt.Errorf("error with operation GetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount") + return nil, response, fmt.Errorf("error with operation GetPollingIntervalForAllDevices") } - result := response.Result().(*ResponseDevicesGetsTheTotalNetworkDeviceInterfaceCountsInTheSpecifiedTimeRangeWhenThereIsNoStartAndEndTimeSpecifiedReturnsTheLatestInterfacesTotalCount) + result := response.Result().(*ResponseDevicesGetPollingIntervalForAllDevices) return result, response, err } -//GetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsData Get the interface data for the given interface id (instance Uuid) along with the statistics data - c08d-d95c-4c7b-8283 -/* Returns the interface data for the given interface instance Uuid along with the statistics data. The latest interface data in the specified start and end time range will be returned. When there is no start and end time specified returns the latest available data for the given interface Id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-interfaces-1.0.2-resolved.yaml - +//GetDeviceConfigForAllDevices Get Device Config for all devices - b7bc-aa08-4e2b-90d0 +/* Returns the config for all devices. This API has been deprecated and will not be available in a Cisco Catalyst Center release after Nov 1st 2024 23:59:59 GMT. -@param id id path parameter. The interface Uuid -@param GetTheInterfaceDataForTheGivenInterfaceIdinstanceUuidAlongWithTheStatisticsDataQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-interface-data-for-the-given-interface-idinstance-uuid-along-with-the-statistics-data-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-config-for-all-devices */ -func (s *DevicesService) GetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsData(id string, GetTheInterfaceDataForTheGivenInterfaceIdinstanceUuidAlongWithTheStatisticsDataQueryParams *GetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsDataQueryParams) (*ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsData, *resty.Response, error) { - path := "/dna/data/api/v1/interfaces/{id}" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - - queryString, _ := query.Values(GetTheInterfaceDataForTheGivenInterfaceIdinstanceUuidAlongWithTheStatisticsDataQueryParams) +func (s *DevicesService) GetDeviceConfigForAllDevices() (*ResponseDevicesGetDeviceConfigForAllDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/config" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsData{}). + SetResult(&ResponseDevicesGetDeviceConfigForAllDevices{}). SetError(&Error). Get(path) @@ -4279,33 +10209,30 @@ func (s *DevicesService) GetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAl if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsData(id, GetTheInterfaceDataForTheGivenInterfaceIdinstanceUuidAlongWithTheStatisticsDataQueryParams) + return s.GetDeviceConfigForAllDevices() } - return nil, response, fmt.Errorf("error with operation GetTheInterfaceDataForTheGivenInterfaceIdinstanceUuidAlongWithTheStatisticsData") + return nil, response, fmt.Errorf("error with operation GetDeviceConfigForAllDevices") } - result := response.Result().(*ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWithTheStatisticsData) + result := response.Result().(*ResponseDevicesGetDeviceConfigForAllDevices) return result, response, err } -//GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters Gets the Network Device details based on the provided query parameters. - c8b4-f894-4c3a-932f -/* Gets the Network Device details based on the provided query parameters. When there is no start and end time specified returns the latest device details. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-1.0.2-resolved.yaml +//GetDeviceConfigCount Get Device Config Count - 888f-585c-49b8-8441 +/* Returns the count of device configs -@param GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-network-device-details-based-on-the-provided-query-parameters-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-config-count */ -func (s *DevicesService) GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters(GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams *GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams) (*ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters, *resty.Response, error) { - path := "/dna/data/api/v1/networkDevices" - - queryString, _ := query.Values(GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams) +func (s *DevicesService) GetDeviceConfigCount() (*ResponseDevicesGetDeviceConfigCount, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/config/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters{}). + SetResult(&ResponseDevicesGetDeviceConfigCount{}). SetError(&Error). Get(path) @@ -4316,33 +10243,33 @@ func (s *DevicesService) GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParam if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters(GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParametersQueryParams) + return s.GetDeviceConfigCount() } - return nil, response, fmt.Errorf("error with operation GetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters") + return nil, response, fmt.Errorf("error with operation GetDeviceConfigCount") } - result := response.Result().(*ResponseDevicesGetsTheNetworkDeviceDetailsBasedOnTheProvidedQueryParameters) + result := response.Result().(*ResponseDevicesGetDeviceConfigCount) return result, response, err } -//GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters Gets the total Network device counts based on the provided query parameters. - f0a6-e96b-44fb-a549 -/* Gets the total Network device counts. When there is no start and end time specified returns the latest interfaces total count. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-1.0.2-resolved.yaml +//GetDeviceCountKnowYourNetwork Get Device Count - 5db2-1b8e-43fa-b7d8 +/* Returns the count of network devices based on the filter criteria by management IP address, mac address, hostname and location name -@param GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams Filtering parameter +@param GetDeviceCountKnowYourNetworkQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-total-network-device-counts-based-on-the-provided-query-parameters-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-count-know-your-network */ -func (s *DevicesService) GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters(GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams *GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams) (*ResponseDevicesGetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters, *resty.Response, error) { - path := "/dna/data/api/v1/networkDevices/count" +func (s *DevicesService) GetDeviceCountKnowYourNetwork(GetDeviceCountKnowYourNetworkQueryParams *GetDeviceCountKnowYourNetworkQueryParams) (*ResponseDevicesGetDeviceCountKnowYourNetwork, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/count" - queryString, _ := query.Values(GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams) + queryString, _ := query.Values(GetDeviceCountKnowYourNetworkQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDeviceCountKnowYourNetwork{}). SetError(&Error). Get(path) @@ -4353,36 +10280,33 @@ func (s *DevicesService) GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryP if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters(GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParametersQueryParams) + return s.GetDeviceCountKnowYourNetwork(GetDeviceCountKnowYourNetworkQueryParams) } - return nil, response, fmt.Errorf("error with operation GetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters") + return nil, response, fmt.Errorf("error with operation GetDeviceCountKnowYourNetwork") } - result := response.Result().(*ResponseDevicesGetsTheTotalNetworkDeviceCountsBasedOnTheProvidedQueryParameters) + result := response.Result().(*ResponseDevicesGetDeviceCountKnowYourNetwork) return result, response, err } -//GetTheDeviceDataForTheGivenDeviceIDUUID Get the device data for the given device id (Uuid) - 5a93-1957-475b-95b3 -/* Returns the device data for the given device Uuid in the specified start and end time range. When there is no start and end time specified returns the latest available data for the given Id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-1.0.2-resolved.yaml - +//GetFunctionalCapabilityForDevices Get Functional Capability for devices - c3b3-c9ef-4e6b-8a09 +/* Returns the functional-capability for given devices -@param id id path parameter. The device Uuid -@param GetTheDeviceDataForTheGivenDeviceIdUuidQueryParams Filtering parameter +@param GetFunctionalCapabilityForDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-device-data-for-the-given-device-id-uuid-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-functional-capability-for-devices */ -func (s *DevicesService) GetTheDeviceDataForTheGivenDeviceIDUUID(id string, GetTheDeviceDataForTheGivenDeviceIdUuidQueryParams *GetTheDeviceDataForTheGivenDeviceIDUUIDQueryParams) (*ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUID, *resty.Response, error) { - path := "/dna/data/api/v1/networkDevices/{id}" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *DevicesService) GetFunctionalCapabilityForDevices(GetFunctionalCapabilityForDevicesQueryParams *GetFunctionalCapabilityForDevicesQueryParams) (*ResponseDevicesGetFunctionalCapabilityForDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/functional-capability" - queryString, _ := query.Values(GetTheDeviceDataForTheGivenDeviceIdUuidQueryParams) + queryString, _ := query.Values(GetFunctionalCapabilityForDevicesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUID{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetFunctionalCapabilityForDevices{}). SetError(&Error). Get(path) @@ -4393,36 +10317,33 @@ func (s *DevicesService) GetTheDeviceDataForTheGivenDeviceIDUUID(id string, GetT if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetTheDeviceDataForTheGivenDeviceIDUUID(id, GetTheDeviceDataForTheGivenDeviceIdUuidQueryParams) + return s.GetFunctionalCapabilityForDevices(GetFunctionalCapabilityForDevicesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetTheDeviceDataForTheGivenDeviceIdUuid") + return nil, response, fmt.Errorf("error with operation GetFunctionalCapabilityForDevices") } - result := response.Result().(*ResponseDevicesGetTheDeviceDataForTheGivenDeviceIDUUID) + result := response.Result().(*ResponseDevicesGetFunctionalCapabilityForDevices) return result, response, err } -//GetPlannedAccessPointsForBuilding Get Planned Access Points for Building - b699-9b85-4e3b-acdd -/* Provides a list of Planned Access Points for the Building it is requested for +//GetFunctionalCapabilityByID Get Functional Capability by Id - 81bb-4804-405a-8d2f +/* Returns functional capability with given Id -@param buildingID buildingId path parameter. The instance UUID of the building hierarchy element +@param id id path parameter. Functional Capability UUID -@param GetPlannedAccessPointsForBuildingQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-planned-access-points-for-building-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-functional-capability-by-id */ -func (s *DevicesService) GetPlannedAccessPointsForBuilding(buildingID string, GetPlannedAccessPointsForBuildingQueryParams *GetPlannedAccessPointsForBuildingQueryParams) (*ResponseDevicesGetPlannedAccessPointsForBuilding, *resty.Response, error) { - path := "/dna/intent/api/v1/buildings/{buildingId}/planned-access-points" - path = strings.Replace(path, "{buildingId}", fmt.Sprintf("%v", buildingID), -1) - - queryString, _ := query.Values(GetPlannedAccessPointsForBuildingQueryParams) +func (s *DevicesService) GetFunctionalCapabilityByID(id string) (*ResponseDevicesGetFunctionalCapabilityByID, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/functional-capability/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetPlannedAccessPointsForBuilding{}). + SetResult(&ResponseDevicesGetFunctionalCapabilityByID{}). SetError(&Error). Get(path) @@ -4433,33 +10354,35 @@ func (s *DevicesService) GetPlannedAccessPointsForBuilding(buildingID string, Ge if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPlannedAccessPointsForBuilding(buildingID, GetPlannedAccessPointsForBuildingQueryParams) + return s.GetFunctionalCapabilityByID(id) } - return nil, response, fmt.Errorf("error with operation GetPlannedAccessPointsForBuilding") + return nil, response, fmt.Errorf("error with operation GetFunctionalCapabilityById") } - result := response.Result().(*ResponseDevicesGetPlannedAccessPointsForBuilding) + result := response.Result().(*ResponseDevicesGetFunctionalCapabilityByID) return result, response, err } -//GetDeviceDetail Get Device Detail - ca98-fac4-4b08-895c -/* Returns detailed Network Device information retrieved by Mac Address, Device Name or UUID for any given point of time. +//InventoryInsightDeviceLinkMismatchAPI Inventory Insight Device Link Mismatch API - 5792-59d8-4208-8190 +/* Find all devices with link mismatch (speed / vlan) -@param GetDeviceDetailQueryParams Filtering parameter +@param siteID siteId path parameter. +@param InventoryInsightDeviceLinkMismatchAPIQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-detail-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!inventory-insight-device-link-mismatch-api */ -func (s *DevicesService) GetDeviceDetail(GetDeviceDetailQueryParams *GetDeviceDetailQueryParams) (*ResponseDevicesGetDeviceDetail, *resty.Response, error) { - path := "/dna/intent/api/v1/device-detail" +func (s *DevicesService) InventoryInsightDeviceLinkMismatchAPI(siteID string, InventoryInsightDeviceLinkMismatchAPIQueryParams *InventoryInsightDeviceLinkMismatchAPIQueryParams) (*ResponseDevicesInventoryInsightDeviceLinkMismatchAPI, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/insight/{siteId}/device-link" + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) - queryString, _ := query.Values(GetDeviceDetailQueryParams) + queryString, _ := query.Values(InventoryInsightDeviceLinkMismatchAPIQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDeviceDetail{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesInventoryInsightDeviceLinkMismatchAPI{}). SetError(&Error). Get(path) @@ -4470,51 +10393,33 @@ func (s *DevicesService) GetDeviceDetail(GetDeviceDetailQueryParams *GetDeviceDe if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceDetail(GetDeviceDetailQueryParams) + return s.InventoryInsightDeviceLinkMismatchAPI(siteID, InventoryInsightDeviceLinkMismatchAPIQueryParams) } - return nil, response, fmt.Errorf("error with operation GetDeviceDetail") + return nil, response, fmt.Errorf("error with operation InventoryInsightDeviceLinkMismatchApi") } - result := response.Result().(*ResponseDevicesGetDeviceDetail) + result := response.Result().(*ResponseDevicesInventoryInsightDeviceLinkMismatchAPI) return result, response, err } -//GetDeviceEnrichmentDetails Get Device Enrichment Details - e0b5-599b-4f29-97b7 -/* Enriches a given network device context (device id or device Mac Address or device management IP address) with details about the device and neighbor topology +//GetNetworkDeviceByIP Get Network Device by IP - d0a4-b881-45aa-bb51 +/* Returns the network device by specified IP address -@param GetDeviceEnrichmentDetailsHeaderParams Custom header parameters +@param ipAddress ipAddress path parameter. Device IP address + -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-enrichment-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-device-by-ip */ -func (s *DevicesService) GetDeviceEnrichmentDetails(GetDeviceEnrichmentDetailsHeaderParams *GetDeviceEnrichmentDetailsHeaderParams) (*ResponseDevicesGetDeviceEnrichmentDetails, *resty.Response, error) { - path := "/dna/intent/api/v1/device-enrichment-details" +func (s *DevicesService) GetNetworkDeviceByIP(ipAddress string) (*ResponseDevicesGetNetworkDeviceByIP, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/ip-address/{ipAddress}" + path = strings.Replace(path, "{ipAddress}", fmt.Sprintf("%v", ipAddress), -1) - var response *resty.Response - var err error - clientRequest := s.client.R(). + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") - - if GetDeviceEnrichmentDetailsHeaderParams != nil { - - if GetDeviceEnrichmentDetailsHeaderParams.EntityType != "" { - clientRequest = clientRequest.SetHeader("entity_type", GetDeviceEnrichmentDetailsHeaderParams.EntityType) - } - - if GetDeviceEnrichmentDetailsHeaderParams.EntityValue != "" { - clientRequest = clientRequest.SetHeader("entity_value", GetDeviceEnrichmentDetailsHeaderParams.EntityValue) - } - - if GetDeviceEnrichmentDetailsHeaderParams.Persistbapioutput != "" { - clientRequest = clientRequest.SetHeader("__persistbapioutput", GetDeviceEnrichmentDetailsHeaderParams.Persistbapioutput) - } - - } - - response, err = clientRequest. - SetResult(&ResponseDevicesGetDeviceEnrichmentDetails{}). + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesGetNetworkDeviceByIP{}). SetError(&Error). Get(path) @@ -4525,33 +10430,33 @@ func (s *DevicesService) GetDeviceEnrichmentDetails(GetDeviceEnrichmentDetailsHe if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceEnrichmentDetails(GetDeviceEnrichmentDetailsHeaderParams) + return s.GetNetworkDeviceByIP(ipAddress) } - return nil, response, fmt.Errorf("error with operation GetDeviceEnrichmentDetails") + return nil, response, fmt.Errorf("error with operation GetNetworkDeviceByIp") } - result := response.Result().(*ResponseDevicesGetDeviceEnrichmentDetails) + result := response.Result().(*ResponseDevicesGetNetworkDeviceByIP) return result, response, err } -//Devices Devices - 3ab2-bb64-4cca-81ee -/* Intent API for accessing DNA Assurance Device object for generating reports, creating dashboards or creating additional value added services. +//GetModules Get Modules - eb82-49e3-4f69-b0f1 +/* Returns modules by specified device id -@param DevicesQueryParams Filtering parameter +@param GetModulesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-modules */ -func (s *DevicesService) Devices(DevicesQueryParams *DevicesQueryParams) (*ResponseDevicesDevices, *resty.Response, error) { - path := "/dna/intent/api/v1/device-health" +func (s *DevicesService) GetModules(GetModulesQueryParams *GetModulesQueryParams) (*ResponseDevicesGetModules, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/module" - queryString, _ := query.Values(DevicesQueryParams) + queryString, _ := query.Values(GetModulesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesDevices{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetModules{}). SetError(&Error). Get(path) @@ -4562,36 +10467,33 @@ func (s *DevicesService) Devices(DevicesQueryParams *DevicesQueryParams) (*Respo if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.Devices(DevicesQueryParams) + return s.GetModules(GetModulesQueryParams) } - return nil, response, fmt.Errorf("error with operation Devices") + return nil, response, fmt.Errorf("error with operation GetModules") } - result := response.Result().(*ResponseDevicesDevices) + result := response.Result().(*ResponseDevicesGetModules) return result, response, err } -//GetPlannedAccessPointsForFloor Get Planned Access Points for Floor - 6780-6977-4589-9a54 -/* Provides a list of Planned Access Points for the Floor it is requested for - +//GetModuleCount Get Module count - 8db9-3974-4649-a782 +/* Returns Module Count -@param floorID floorId path parameter. The instance UUID of the floor hierarchy element -@param GetPlannedAccessPointsForFloorQueryParams Filtering parameter +@param GetModuleCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-planned-access-points-for-floor-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-module-count */ -func (s *DevicesService) GetPlannedAccessPointsForFloor(floorID string, GetPlannedAccessPointsForFloorQueryParams *GetPlannedAccessPointsForFloorQueryParams) (*ResponseDevicesGetPlannedAccessPointsForFloor, *resty.Response, error) { - path := "/dna/intent/api/v1/floors/{floorId}/planned-access-points" - path = strings.Replace(path, "{floorId}", fmt.Sprintf("%v", floorID), -1) +func (s *DevicesService) GetModuleCount(GetModuleCountQueryParams *GetModuleCountQueryParams) (*ResponseDevicesGetModuleCount, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/module/count" - queryString, _ := query.Values(GetPlannedAccessPointsForFloorQueryParams) + queryString, _ := query.Values(GetModuleCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetPlannedAccessPointsForFloor{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetModuleCount{}). SetError(&Error). Get(path) @@ -4602,48 +10504,33 @@ func (s *DevicesService) GetPlannedAccessPointsForFloor(floorID string, GetPlann if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPlannedAccessPointsForFloor(floorID, GetPlannedAccessPointsForFloorQueryParams) + return s.GetModuleCount(GetModuleCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetPlannedAccessPointsForFloor") + return nil, response, fmt.Errorf("error with operation GetModuleCount") } - result := response.Result().(*ResponseDevicesGetPlannedAccessPointsForFloor) + result := response.Result().(*ResponseDevicesGetModuleCount) return result, response, err } -//GetAllHealthScoreDefinitionsForGivenFilters Get all health score definitions for given filters. - 9bb6-ea87-4ffb-b492 -/* Get all health score defintions. -Supported filters are id, name and overall health include status. A health score definition can be different across device type. So, deviceType in the query param is important and default is all device types. -By default all supported attributes are listed in response. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-issueAndHealthDefinitions-1.0.0-resolved.yaml - - -@param GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams Custom header parameters -@param GetAllHealthScoreDefinitionsForGivenFiltersQueryParams Filtering parameter - -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-health-score-definitions-for-given-filters-v1 -*/ -func (s *DevicesService) GetAllHealthScoreDefinitionsForGivenFilters(GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams *GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams, GetAllHealthScoreDefinitionsForGivenFiltersQueryParams *GetAllHealthScoreDefinitionsForGivenFiltersQueryParams) (*ResponseDevicesGetAllHealthScoreDefinitionsForGivenFilters, *resty.Response, error) { - path := "/dna/intent/api/v1/healthScoreDefinitions" - - queryString, _ := query.Values(GetAllHealthScoreDefinitionsForGivenFiltersQueryParams) - - var response *resty.Response - var err error - clientRequest := s.client.R(). - SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") +//GetModuleInfoByID Get Module Info by Id - 0db7-da74-4c0b-83d8 +/* Returns Module info by 'module id' - if GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams != nil { - if GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams.XCaLLERID) - } +@param id id path parameter. Module id - } - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetAllHealthScoreDefinitionsForGivenFilters{}). +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-module-info-by-id +*/ +func (s *DevicesService) GetModuleInfoByID(id string) (*ResponseDevicesGetModuleInfoByID, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/module/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesGetModuleInfoByID{}). SetError(&Error). Get(path) @@ -4654,46 +10541,33 @@ func (s *DevicesService) GetAllHealthScoreDefinitionsForGivenFilters(GetAllHealt if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAllHealthScoreDefinitionsForGivenFilters(GetAllHealthScoreDefinitionsForGivenFiltersHeaderParams, GetAllHealthScoreDefinitionsForGivenFiltersQueryParams) + return s.GetModuleInfoByID(id) } - return nil, response, fmt.Errorf("error with operation GetAllHealthScoreDefinitionsForGivenFilters") + return nil, response, fmt.Errorf("error with operation GetModuleInfoById") } - result := response.Result().(*ResponseDevicesGetAllHealthScoreDefinitionsForGivenFilters) + result := response.Result().(*ResponseDevicesGetModuleInfoByID) return result, response, err } -//GetHealthScoreDefinitionForTheGivenID Get health score definition for the given id. - 99b5-d81a-4408-94c3 -/* Get health score defintion for the given id. Definition includes all properties from HealthScoreDefinition schema by default. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-issueAndHealthDefinitions-1.0.0-resolved.yaml +//GetDeviceBySerialNumber Get Device by Serial number - d888-ab6d-4d59-a8c1 +/* Returns the network device with given serial number -@param id id path parameter. Health score definition id. +@param serialNumber serialNumber path parameter. Device serial number -@param GetHealthScoreDefinitionForTheGivenIdHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-health-score-definition-for-the-given-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-by-serial-number */ -func (s *DevicesService) GetHealthScoreDefinitionForTheGivenID(id string, GetHealthScoreDefinitionForTheGivenIdHeaderParams *GetHealthScoreDefinitionForTheGivenIDHeaderParams) (*ResponseDevicesGetHealthScoreDefinitionForTheGivenID, *resty.Response, error) { - path := "/dna/intent/api/v1/healthScoreDefinitions/{id}" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *DevicesService) GetDeviceBySerialNumber(serialNumber string) (*ResponseDevicesGetDeviceBySerialNumber, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/serial-number/{serialNumber}" + path = strings.Replace(path, "{serialNumber}", fmt.Sprintf("%v", serialNumber), -1) - var response *resty.Response - var err error - clientRequest := s.client.R(). + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") - - if GetHealthScoreDefinitionForTheGivenIdHeaderParams != nil { - - if GetHealthScoreDefinitionForTheGivenIdHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetHealthScoreDefinitionForTheGivenIdHeaderParams.XCaLLERID) - } - - } - - response, err = clientRequest. - SetResult(&ResponseDevicesGetHealthScoreDefinitionForTheGivenID{}). + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesGetDeviceBySerialNumber{}). SetError(&Error). Get(path) @@ -4704,33 +10578,33 @@ func (s *DevicesService) GetHealthScoreDefinitionForTheGivenID(id string, GetHea if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetHealthScoreDefinitionForTheGivenID(id, GetHealthScoreDefinitionForTheGivenIdHeaderParams) + return s.GetDeviceBySerialNumber(serialNumber) } - return nil, response, fmt.Errorf("error with operation GetHealthScoreDefinitionForTheGivenId") + return nil, response, fmt.Errorf("error with operation GetDeviceBySerialNumber") } - result := response.Result().(*ResponseDevicesGetHealthScoreDefinitionForTheGivenID) + result := response.Result().(*ResponseDevicesGetDeviceBySerialNumber) return result, response, err } -//GetAllInterfaces Get all interfaces - f594-7a4c-439a-8bf0 -/* Returns all available interfaces. This endpoint can return a maximum of 500 interfaces +//GetDevicesRegisteredForWsaNotification Get Devices registered for WSA Notification - c980-9b67-44f8-a502 +/* It fetches devices which are registered to receive WSA notifications. The device serial number and/or MAC address are required to be provided as query parameters. -@param GetAllInterfacesQueryParams Filtering parameter +@param GetDevicesRegisteredForWSANotificationQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-interfaces-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-devices-registered-for-wsa-notification */ -func (s *DevicesService) GetAllInterfaces(GetAllInterfacesQueryParams *GetAllInterfacesQueryParams) (*ResponseDevicesGetAllInterfaces, *resty.Response, error) { - path := "/dna/intent/api/v1/interface" +func (s *DevicesService) GetDevicesRegisteredForWsaNotification(GetDevicesRegisteredForWSANotificationQueryParams *GetDevicesRegisteredForWsaNotificationQueryParams) (*ResponseDevicesGetDevicesRegisteredForWsaNotification, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/tenantinfo/macaddress" - queryString, _ := query.Values(GetAllInterfacesQueryParams) + queryString, _ := query.Values(GetDevicesRegisteredForWSANotificationQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetAllInterfaces{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDevicesRegisteredForWsaNotification{}). SetError(&Error). Get(path) @@ -4741,30 +10615,33 @@ func (s *DevicesService) GetAllInterfaces(GetAllInterfacesQueryParams *GetAllInt if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAllInterfaces(GetAllInterfacesQueryParams) + return s.GetDevicesRegisteredForWsaNotification(GetDevicesRegisteredForWSANotificationQueryParams) } - return nil, response, fmt.Errorf("error with operation GetAllInterfaces") + return nil, response, fmt.Errorf("error with operation GetDevicesRegisteredForWsaNotification") } - result := response.Result().(*ResponseDevicesGetAllInterfaces) + result := response.Result().(*ResponseDevicesGetDevicesRegisteredForWsaNotification) return result, response, err } -//GetDeviceInterfaceCountForMultipleDevices Get Device Interface Count for Multiple Devices - 3d92-3b18-4dc9-a4ca -/* Returns the count of interfaces for all devices +//GetAllUserDefinedFields Get All User-Defined-Fields - 058d-2a92-4899-b7bb +/* Gets existing global User Defined Fields. If no input is given, it fetches ALL the Global UDFs. Filter/search is supported by UDF Id(s) or UDF name(s) or both. +@param GetAllUserDefinedFieldsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-interface-count-for-multiple-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-user-defined-fields */ -func (s *DevicesService) GetDeviceInterfaceCountForMultipleDevices() (*ResponseDevicesGetDeviceInterfaceCountForMultipleDevices, *resty.Response, error) { - path := "/dna/intent/api/v1/interface/count" +func (s *DevicesService) GetAllUserDefinedFields(GetAllUserDefinedFieldsQueryParams *GetAllUserDefinedFieldsQueryParams) (*ResponseDevicesGetAllUserDefinedFields, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/user-defined-field" + + queryString, _ := query.Values(GetAllUserDefinedFieldsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetDeviceInterfaceCountForMultipleDevices{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetAllUserDefinedFields{}). SetError(&Error). Get(path) @@ -4775,33 +10652,33 @@ func (s *DevicesService) GetDeviceInterfaceCountForMultipleDevices() (*ResponseD if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceInterfaceCountForMultipleDevices() + return s.GetAllUserDefinedFields(GetAllUserDefinedFieldsQueryParams) } - return nil, response, fmt.Errorf("error with operation GetDeviceInterfaceCountForMultipleDevices") + return nil, response, fmt.Errorf("error with operation GetAllUserDefinedFields") } - result := response.Result().(*ResponseDevicesGetDeviceInterfaceCountForMultipleDevices) + result := response.Result().(*ResponseDevicesGetAllUserDefinedFields) return result, response, err } -//GetInterfaceByIP Get Interface by IP - cd84-69e6-47ca-ab0e -/* Returns list of interfaces for specified device management IP address +//GetChassisDetailsForDevice Get Chassis Details for Device - 0486-9b26-49ab-b579 +/* Returns chassis details for given device ID -@param ipAddress ipAddress path parameter. IP address of the interface +@param deviceID deviceId path parameter. Device ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interface-by-ip-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-chassis-details-for-device */ -func (s *DevicesService) GetInterfaceByIP(ipAddress string) (*ResponseDevicesGetInterfaceByIP, *resty.Response, error) { - path := "/dna/intent/api/v1/interface/ip-address/{ipAddress}" - path = strings.Replace(path, "{ipAddress}", fmt.Sprintf("%v", ipAddress), -1) +func (s *DevicesService) GetChassisDetailsForDevice(deviceID string) (*ResponseDevicesGetChassisDetailsForDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{deviceId}/chassis" + path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetInterfaceByIP{}). + SetResult(&ResponseDevicesGetChassisDetailsForDevice{}). SetError(&Error). Get(path) @@ -4812,30 +10689,33 @@ func (s *DevicesService) GetInterfaceByIP(ipAddress string) (*ResponseDevicesGet if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetInterfaceByIP(ipAddress) + return s.GetChassisDetailsForDevice(deviceID) } - return nil, response, fmt.Errorf("error with operation GetInterfaceByIp") + return nil, response, fmt.Errorf("error with operation GetChassisDetailsForDevice") } - result := response.Result().(*ResponseDevicesGetInterfaceByIP) + result := response.Result().(*ResponseDevicesGetChassisDetailsForDevice) return result, response, err } -//GetIsisInterfaces Get ISIS interfaces - 84ad-8b0e-42ca-b48a -/* Returns the interfaces that has ISIS enabled +//GetStackDetailsForDevice Get Stack Details for Device - 78a7-7ab0-4d5a-8a10 +/* Retrieves complete stack details for given device ID + +@param deviceID deviceId path parameter. Device ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-isis-interfaces-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-stack-details-for-device */ -func (s *DevicesService) GetIsisInterfaces() (*ResponseDevicesGetIsisInterfaces, *resty.Response, error) { - path := "/dna/intent/api/v1/interface/isis" +func (s *DevicesService) GetStackDetailsForDevice(deviceID string) (*ResponseDevicesGetStackDetailsForDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{deviceId}/stack" + path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetIsisInterfaces{}). + SetResult(&ResponseDevicesGetStackDetailsForDevice{}). SetError(&Error). Get(path) @@ -4846,33 +10726,35 @@ func (s *DevicesService) GetIsisInterfaces() (*ResponseDevicesGetIsisInterfaces, if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetIsisInterfaces() + return s.GetStackDetailsForDevice(deviceID) } - return nil, response, fmt.Errorf("error with operation GetIsisInterfaces") + return nil, response, fmt.Errorf("error with operation GetStackDetailsForDevice") } - result := response.Result().(*ResponseDevicesGetIsisInterfaces) + result := response.Result().(*ResponseDevicesGetStackDetailsForDevice) return result, response, err } -//GetInterfaceInfoByID Get Interface info by Id - ba9d-c85b-4b8a-9a17 -/* Returns list of interfaces by specified device - +//GetTheDetailsOfPhysicalComponentsOfTheGivenDevice Get the Details of Physical Components of the Given Device. - 20b1-9b52-464b-897a +/* Return all types of equipment details like PowerSupply, Fan, Chassis, Backplane, Module, PROCESSOR, Other and SFP for the Given device. -@param deviceID deviceId path parameter. Device ID +@param deviceUUID deviceUuid path parameter. +@param GetTheDetailsOfPhysicalComponentsOfTheGivenDeviceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interface-info-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-details-of-physical-components-of-the-given-device */ -func (s *DevicesService) GetInterfaceInfoByID(deviceID string) (*ResponseDevicesGetInterfaceInfoByID, *resty.Response, error) { - path := "/dna/intent/api/v1/interface/network-device/{deviceId}" - path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) +func (s *DevicesService) GetTheDetailsOfPhysicalComponentsOfTheGivenDevice(deviceUUID string, GetTheDetailsOfPhysicalComponentsOfTheGivenDeviceQueryParams *GetTheDetailsOfPhysicalComponentsOfTheGivenDeviceQueryParams) (*ResponseDevicesGetTheDetailsOfPhysicalComponentsOfTheGivenDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{deviceUuid}/equipment" + path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) + + queryString, _ := query.Values(GetTheDetailsOfPhysicalComponentsOfTheGivenDeviceQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetInterfaceInfoByID{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetTheDetailsOfPhysicalComponentsOfTheGivenDevice{}). SetError(&Error). Get(path) @@ -4883,33 +10765,36 @@ func (s *DevicesService) GetInterfaceInfoByID(deviceID string) (*ResponseDevices if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetInterfaceInfoByID(deviceID) + return s.GetTheDetailsOfPhysicalComponentsOfTheGivenDevice(deviceUUID, GetTheDetailsOfPhysicalComponentsOfTheGivenDeviceQueryParams) } - return nil, response, fmt.Errorf("error with operation GetInterfaceInfoById") + return nil, response, fmt.Errorf("error with operation GetTheDetailsOfPhysicalComponentsOfTheGivenDevice") } - result := response.Result().(*ResponseDevicesGetInterfaceInfoByID) + result := response.Result().(*ResponseDevicesGetTheDetailsOfPhysicalComponentsOfTheGivenDevice) return result, response, err } -//GetDeviceInterfaceCount Get Device Interface count - 5b86-3922-4cd8-8ea7 -/* Returns the interface count for the given device +//ReturnsPoeInterfaceDetailsForTheDevice Returns POE interface details for the device. - 20b5-48af-42da-a337 +/* Returns POE interface details for the device, where deviceuuid is mandatory & accepts comma seperated interface names which is optional and returns information for that particular interfaces where(operStatus = operationalStatus) -@param deviceID deviceId path parameter. Device ID +@param deviceUUID deviceUuid path parameter. uuid of the device +@param ReturnsPOEInterfaceDetailsForTheDeviceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-interface-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-poe-interface-details-for-the-device */ -func (s *DevicesService) GetDeviceInterfaceCount(deviceID string) (*ResponseDevicesGetDeviceInterfaceCount, *resty.Response, error) { - path := "/dna/intent/api/v1/interface/network-device/{deviceId}/count" - path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) +func (s *DevicesService) ReturnsPoeInterfaceDetailsForTheDevice(deviceUUID string, ReturnsPOEInterfaceDetailsForTheDeviceQueryParams *ReturnsPoeInterfaceDetailsForTheDeviceQueryParams) (*ResponseDevicesReturnsPoeInterfaceDetailsForTheDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{deviceUuid}/interface/poe-detail" + path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) + + queryString, _ := query.Values(ReturnsPOEInterfaceDetailsForTheDeviceQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetDeviceInterfaceCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesReturnsPoeInterfaceDetailsForTheDevice{}). SetError(&Error). Get(path) @@ -4920,36 +10805,36 @@ func (s *DevicesService) GetDeviceInterfaceCount(deviceID string) (*ResponseDevi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceInterfaceCount(deviceID) + return s.ReturnsPoeInterfaceDetailsForTheDevice(deviceUUID, ReturnsPOEInterfaceDetailsForTheDeviceQueryParams) } - return nil, response, fmt.Errorf("error with operation GetDeviceInterfaceCount") + return nil, response, fmt.Errorf("error with operation ReturnsPoeInterfaceDetailsForTheDevice") } - result := response.Result().(*ResponseDevicesGetDeviceInterfaceCount) + result := response.Result().(*ResponseDevicesReturnsPoeInterfaceDetailsForTheDevice) return result, response, err } -//GetInterfaceDetailsByDeviceIDAndInterfaceName Get Interface details by device Id and interface name - 4eb5-6a61-4cc9-a2d2 -/* Returns interface by specified device Id and interface name +//GetConnectedDeviceDetail Get connected device detail - a8aa-ca21-4c09-8388 +/* Get connected device detail for given deviceUuid and interfaceUuid -@param deviceID deviceId path parameter. Device ID +@param deviceUUID deviceUuid path parameter. instanceuuid of Device -@param GetInterfaceDetailsByDeviceIdAndInterfaceNameQueryParams Filtering parameter +@param interfaceUUID interfaceUuid path parameter. instanceuuid of interface -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interface-details-by-device-id-and-interface-name-v1 -*/ -func (s *DevicesService) GetInterfaceDetailsByDeviceIDAndInterfaceName(deviceID string, GetInterfaceDetailsByDeviceIdAndInterfaceNameQueryParams *GetInterfaceDetailsByDeviceIDAndInterfaceNameQueryParams) (*ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceName, *resty.Response, error) { - path := "/dna/intent/api/v1/interface/network-device/{deviceId}/interface-name" - path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) - queryString, _ := query.Values(GetInterfaceDetailsByDeviceIdAndInterfaceNameQueryParams) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-connected-device-detail +*/ +func (s *DevicesService) GetConnectedDeviceDetail(deviceUUID string, interfaceUUID string) (*ResponseDevicesGetConnectedDeviceDetail, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{deviceUuid}/interface/{interfaceUuid}/neighbor" + path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) + path = strings.Replace(path, "{interfaceUuid}", fmt.Sprintf("%v", interfaceUUID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceName{}). + SetResult(&ResponseDevicesGetConnectedDeviceDetail{}). SetError(&Error). Get(path) @@ -4960,39 +10845,33 @@ func (s *DevicesService) GetInterfaceDetailsByDeviceIDAndInterfaceName(deviceID if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetInterfaceDetailsByDeviceIDAndInterfaceName(deviceID, GetInterfaceDetailsByDeviceIdAndInterfaceNameQueryParams) + return s.GetConnectedDeviceDetail(deviceUUID, interfaceUUID) } - return nil, response, fmt.Errorf("error with operation GetInterfaceDetailsByDeviceIdAndInterfaceName") + return nil, response, fmt.Errorf("error with operation GetConnectedDeviceDetail") } - result := response.Result().(*ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceName) + result := response.Result().(*ResponseDevicesGetConnectedDeviceDetail) return result, response, err } -//GetDeviceInterfacesBySpecifiedRange Get Device Interfaces by specified range - 349c-8884-43b8-9a58 -/* Returns the list of interfaces for the device for the specified range - - -@param deviceID deviceId path parameter. Device ID +//GetLinecardDetails Get Linecard details - 46a1-4b02-48fb-8fbf +/* Get line card detail for a given deviceuuid. Response will contain serial no, part no, switch no and slot no. -@param startIndex startIndex path parameter. Start index -@param recordsToReturn recordsToReturn path parameter. Number of records to return +@param deviceUUID deviceUuid path parameter. instanceuuid of device -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-interfaces-by-specified-range-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-linecard-details */ -func (s *DevicesService) GetDeviceInterfacesBySpecifiedRange(deviceID string, startIndex int, recordsToReturn int) (*ResponseDevicesGetDeviceInterfacesBySpecifiedRange, *resty.Response, error) { - path := "/dna/intent/api/v1/interface/network-device/{deviceId}/{startIndex}/{recordsToReturn}" - path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) - path = strings.Replace(path, "{startIndex}", fmt.Sprintf("%v", startIndex), -1) - path = strings.Replace(path, "{recordsToReturn}", fmt.Sprintf("%v", recordsToReturn), -1) +func (s *DevicesService) GetLinecardDetails(deviceUUID string) (*ResponseDevicesGetLinecardDetails, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{deviceUuid}/line-card" + path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetDeviceInterfacesBySpecifiedRange{}). + SetResult(&ResponseDevicesGetLinecardDetails{}). SetError(&Error). Get(path) @@ -5003,30 +10882,33 @@ func (s *DevicesService) GetDeviceInterfacesBySpecifiedRange(deviceID string, st if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceInterfacesBySpecifiedRange(deviceID, startIndex, recordsToReturn) + return s.GetLinecardDetails(deviceUUID) } - return nil, response, fmt.Errorf("error with operation GetDeviceInterfacesBySpecifiedRange") + return nil, response, fmt.Errorf("error with operation GetLinecardDetails") } - result := response.Result().(*ResponseDevicesGetDeviceInterfacesBySpecifiedRange) + result := response.Result().(*ResponseDevicesGetLinecardDetails) return result, response, err } -//GetOspfInterfaces Get OSPF interfaces - 70ad-3976-49e9-b4d3 -/* Returns the interfaces that has OSPF enabled +//PoeDetails POE details - 8ba6-7932-4ed9-abae +/* Returns POE details for device. + +@param deviceUUID deviceUuid path parameter. UUID of the device -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ospf-interfaces-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!poe-details */ -func (s *DevicesService) GetOspfInterfaces() (*ResponseDevicesGetOspfInterfaces, *resty.Response, error) { - path := "/dna/intent/api/v1/interface/ospf" +func (s *DevicesService) PoeDetails(deviceUUID string) (*ResponseDevicesPoeDetails, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{deviceUuid}/poe" + path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetOspfInterfaces{}). + SetResult(&ResponseDevicesPoeDetails{}). SetError(&Error). Get(path) @@ -5037,33 +10919,33 @@ func (s *DevicesService) GetOspfInterfaces() (*ResponseDevicesGetOspfInterfaces, if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetOspfInterfaces() + return s.PoeDetails(deviceUUID) } - return nil, response, fmt.Errorf("error with operation GetOspfInterfaces") + return nil, response, fmt.Errorf("error with operation PoeDetails") } - result := response.Result().(*ResponseDevicesGetOspfInterfaces) + result := response.Result().(*ResponseDevicesPoeDetails) return result, response, err } -//GetInterfaceByID Get Interface by Id - b888-792d-43ba-ba46 -/* Returns the interface for the given interface ID +//GetSupervisorCardDetail Get Supervisor card detail - 88aa-1b52-4a38-bf97 +/* Get supervisor card detail for a given deviceuuid. Response will contain serial no, part no, switch no and slot no. -@param id id path parameter. Interface ID +@param deviceUUID deviceUuid path parameter. instanceuuid of device -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interface-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-supervisor-card-detail */ -func (s *DevicesService) GetInterfaceByID(id string) (*ResponseDevicesGetInterfaceByID, *resty.Response, error) { - path := "/dna/intent/api/v1/interface/{id}" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *DevicesService) GetSupervisorCardDetail(deviceUUID string) (*ResponseDevicesGetSupervisorCardDetail, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{deviceUuid}/supervisor-card" + path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetInterfaceByID{}). + SetResult(&ResponseDevicesGetSupervisorCardDetail{}). SetError(&Error). Get(path) @@ -5074,33 +10956,33 @@ func (s *DevicesService) GetInterfaceByID(id string) (*ResponseDevicesGetInterfa if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetInterfaceByID(id) + return s.GetSupervisorCardDetail(deviceUUID) } - return nil, response, fmt.Errorf("error with operation GetInterfaceById") + return nil, response, fmt.Errorf("error with operation GetSupervisorCardDetail") } - result := response.Result().(*ResponseDevicesGetInterfaceByID) + result := response.Result().(*ResponseDevicesGetSupervisorCardDetail) return result, response, err } -//LegitOperationsForInterface Legit operations for interface - 87a3-3a52-46ea-a40e -/* Get list of all properties & operations valid for an interface. +//GetDeviceByID Get Device by ID - 8fa8-eb40-4a4a-8d96 +/* Returns the network device details for the given device ID -@param interfaceUUID interfaceUuid path parameter. Interface ID +@param id id path parameter. Device ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!legit-operations-for-interface-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-by-id */ -func (s *DevicesService) LegitOperationsForInterface(interfaceUUID string) (*ResponseDevicesLegitOperationsForInterface, *resty.Response, error) { - path := "/dna/intent/api/v1/interface/{interfaceUuid}/legit-operation" - path = strings.Replace(path, "{interfaceUuid}", fmt.Sprintf("%v", interfaceUUID), -1) +func (s *DevicesService) GetDeviceByID(id string) (*ResponseDevicesGetDeviceByID, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesLegitOperationsForInterface{}). + SetResult(&ResponseDevicesGetDeviceByID{}). SetError(&Error). Get(path) @@ -5111,34 +10993,33 @@ func (s *DevicesService) LegitOperationsForInterface(interfaceUUID string) (*Res if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.LegitOperationsForInterface(interfaceUUID) + return s.GetDeviceByID(id) } - return nil, response, fmt.Errorf("error with operation LegitOperationsForInterface") + return nil, response, fmt.Errorf("error with operation GetDeviceById") } - result := response.Result().(*ResponseDevicesLegitOperationsForInterface) + result := response.Result().(*ResponseDevicesGetDeviceByID) return result, response, err } -//GetDeviceList Get Device list - 20b1-9b52-464b-8972 -/* Returns list of network devices based on filter criteria such as management IP address, mac address, hostname, etc. You can use the .* in any value to conduct a wildcard search. For example, to find all hostnames beginning with myhost in the IP address range 192.25.18.n, issue the following request: GET /dna/intent/api/v1/network-device?hostname=myhost.*&managementIpAddress=192.25.18..* -If id parameter is provided with comma separated ids, it will return the list of network-devices for the given ids and ignores the other request parameters. You can also specify offset & limit to get the required list. +//GetDeviceSummary Get Device Summary - 819f-9aa5-4fea-b7bf +/* Returns brief summary of device info for the given device Id -@param GetDeviceListQueryParams Filtering parameter +@param id id path parameter. Device ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-list-v1 -*/ -func (s *DevicesService) GetDeviceList(GetDeviceListQueryParams *GetDeviceListQueryParams) (*ResponseDevicesGetDeviceList, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device" - queryString, _ := query.Values(GetDeviceListQueryParams) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-summary +*/ +func (s *DevicesService) GetDeviceSummary(id string) (*ResponseDevicesGetDeviceSummary, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{id}/brief" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDeviceList{}). + SetResult(&ResponseDevicesGetDeviceSummary{}). SetError(&Error). Get(path) @@ -5149,66 +11030,70 @@ func (s *DevicesService) GetDeviceList(GetDeviceListQueryParams *GetDeviceListQu if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceList(GetDeviceListQueryParams) + return s.GetDeviceSummary(id) } - return nil, response, fmt.Errorf("error with operation GetDeviceList") + return nil, response, fmt.Errorf("error with operation GetDeviceSummary") } - result := response.Result().(*ResponseDevicesGetDeviceList) + result := response.Result().(*ResponseDevicesGetDeviceSummary) return result, response, err } -//GetDeviceValuesThatMatchFullyOrPartiallyAnAttribute Get Device Values that match fully or partially an Attribute - ffa7-48cc-44e9-a437 -/* Returns the list of values of the first given required parameter. You can use the .* in any value to conduct a wildcard search. For example, to get all the devices with the management IP address starting with 10.10. , issue the following request: GET /dna/inten/api/v1/network-device/autocomplete?managementIpAddress=10.10..* It will return the device management IP addresses that match fully or partially the provided attribute. {[10.10.1.1, 10.10.20.2, …]}. +//GetPollingIntervalByID Get Polling Interval by Id - 8291-8a1b-4d28-9c5c +/* Returns polling interval by device id -@param GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams Filtering parameter +@param id id path parameter. Device ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-values-that-match-fully-or-partially-an-attribute-v1 -*/ -func (s *DevicesService) GetDeviceValuesThatMatchFullyOrPartiallyAnAttribute(GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams *GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams) (*resty.Response, error) { - path := "/dna/intent/api/v1/network-device/autocomplete" - queryString, _ := query.Values(GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-polling-interval-by-id +*/ +func (s *DevicesService) GetPollingIntervalByID(id string) (*ResponseDevicesGetPollingIntervalByID, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{id}/collection-schedule" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()). + SetResult(&ResponseDevicesGetPollingIntervalByID{}). SetError(&Error). Get(path) if err != nil { - return nil, err + return nil, nil, err } if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceValuesThatMatchFullyOrPartiallyAnAttribute(GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams) + return s.GetPollingIntervalByID(id) } - return response, fmt.Errorf("error with operation GetDeviceValuesThatMatchFullyOrPartiallyAnAttribute") + return nil, response, fmt.Errorf("error with operation GetPollingIntervalById") } - return response, err + result := response.Result().(*ResponseDevicesGetPollingIntervalByID) + return result, response, err } -//GetPollingIntervalForAllDevices Get Polling Interval for all devices - 38bd-0b88-4b89-a785 -/* Returns polling interval of all devices +//GetOrganizationListForMeraki Get Organization list for Meraki - 84b3-7ae5-4c59-ab28 +/* Returns list of organizations for meraki dashboard +@param id id path parameter. Device Id + -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-polling-interval-for-all-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-organization-list-for-meraki */ -func (s *DevicesService) GetPollingIntervalForAllDevices() (*ResponseDevicesGetPollingIntervalForAllDevices, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/collection-schedule/global" +func (s *DevicesService) GetOrganizationListForMeraki(id string) (*ResponseDevicesGetOrganizationListForMeraki, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{id}/meraki-organization" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetPollingIntervalForAllDevices{}). + SetResult(&ResponseDevicesGetOrganizationListForMeraki{}). SetError(&Error). Get(path) @@ -5219,30 +11104,35 @@ func (s *DevicesService) GetPollingIntervalForAllDevices() (*ResponseDevicesGetP if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPollingIntervalForAllDevices() + return s.GetOrganizationListForMeraki(id) } - return nil, response, fmt.Errorf("error with operation GetPollingIntervalForAllDevices") + return nil, response, fmt.Errorf("error with operation GetOrganizationListForMeraki") } - result := response.Result().(*ResponseDevicesGetPollingIntervalForAllDevices) + result := response.Result().(*ResponseDevicesGetOrganizationListForMeraki) return result, response, err } -//GetDeviceConfigForAllDevices Get Device Config for all devices - b7bc-aa08-4e2b-90d0 -/* Returns the config for all devices. This API has been deprecated and will not be available in a Cisco Catalyst Center release after Nov 1st 2024 23:59:59 GMT. +//GetDeviceInterfaceVLANs Get Device Interface VLANs - 288d-f949-4f2a-9746 +/* Returns Device Interface VLANs. If parameter value is null or empty, it won't return any value in response. +@param id id path parameter. +@param GetDeviceInterfaceVLANsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-config-for-all-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-interface-vlans */ -func (s *DevicesService) GetDeviceConfigForAllDevices() (*ResponseDevicesGetDeviceConfigForAllDevices, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/config" +func (s *DevicesService) GetDeviceInterfaceVLANs(id string, GetDeviceInterfaceVLANsQueryParams *GetDeviceInterfaceVLANsQueryParams) (*ResponseDevicesGetDeviceInterfaceVLANs, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{id}/vlan" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetDeviceInterfaceVLANsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetDeviceConfigForAllDevices{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDeviceInterfaceVLANs{}). SetError(&Error). Get(path) @@ -5253,30 +11143,33 @@ func (s *DevicesService) GetDeviceConfigForAllDevices() (*ResponseDevicesGetDevi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceConfigForAllDevices() + return s.GetDeviceInterfaceVLANs(id, GetDeviceInterfaceVLANsQueryParams) } - return nil, response, fmt.Errorf("error with operation GetDeviceConfigForAllDevices") + return nil, response, fmt.Errorf("error with operation GetDeviceInterfaceVlans") } - result := response.Result().(*ResponseDevicesGetDeviceConfigForAllDevices) + result := response.Result().(*ResponseDevicesGetDeviceInterfaceVLANs) return result, response, err } -//GetDeviceConfigCount Get Device Config Count - 888f-585c-49b8-8441 -/* Returns the count of device configs +//GetWirelessLanControllerDetailsByID Get wireless lan controller details by Id - f682-6a8e-41bb-a242 +/* Returns the wireless lan controller info with given device ID +@param id id path parameter. Device ID + -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-config-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-lan-controller-details-by-id */ -func (s *DevicesService) GetDeviceConfigCount() (*ResponseDevicesGetDeviceConfigCount, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/config/count" +func (s *DevicesService) GetWirelessLanControllerDetailsByID(id string) (*ResponseDevicesGetWirelessLanControllerDetailsByID, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{id}/wireless-info" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetDeviceConfigCount{}). + SetResult(&ResponseDevicesGetWirelessLanControllerDetailsByID{}). SetError(&Error). Get(path) @@ -5287,33 +11180,32 @@ func (s *DevicesService) GetDeviceConfigCount() (*ResponseDevicesGetDeviceConfig if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceConfigCount() + return s.GetWirelessLanControllerDetailsByID(id) } - return nil, response, fmt.Errorf("error with operation GetDeviceConfigCount") + return nil, response, fmt.Errorf("error with operation GetWirelessLanControllerDetailsById") } - result := response.Result().(*ResponseDevicesGetDeviceConfigCount) + result := response.Result().(*ResponseDevicesGetWirelessLanControllerDetailsByID) return result, response, err } -//GetDeviceCountKnowYourNetwork Get Device Count - 5db2-1b8e-43fa-b7d8 -/* Returns the count of network devices based on the filter criteria by management IP address, mac address, hostname and location name +//GetDeviceConfigByID Get Device Config by Id - 84b3-3a9e-480a-bcaf +/* Returns the device config by specified device ID -@param GetDeviceCountKnowYourNetworkQueryParams Filtering parameter +@param networkDeviceID networkDeviceId path parameter. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-count-know-your-network-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-config-by-id */ -func (s *DevicesService) GetDeviceCountKnowYourNetwork(GetDeviceCountKnowYourNetworkQueryParams *GetDeviceCountKnowYourNetworkQueryParams) (*ResponseDevicesGetDeviceCountKnowYourNetwork, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/count" - - queryString, _ := query.Values(GetDeviceCountKnowYourNetworkQueryParams) +func (s *DevicesService) GetDeviceConfigByID(networkDeviceID string) (*ResponseDevicesGetDeviceConfigByID, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{networkDeviceId}/config" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDeviceCountKnowYourNetwork{}). + SetResult(&ResponseDevicesGetDeviceConfigByID{}). SetError(&Error). Get(path) @@ -5324,33 +11216,36 @@ func (s *DevicesService) GetDeviceCountKnowYourNetwork(GetDeviceCountKnowYourNet if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceCountKnowYourNetwork(GetDeviceCountKnowYourNetworkQueryParams) + return s.GetDeviceConfigByID(networkDeviceID) } - return nil, response, fmt.Errorf("error with operation GetDeviceCountKnowYourNetwork") + return nil, response, fmt.Errorf("error with operation GetDeviceConfigById") } - result := response.Result().(*ResponseDevicesGetDeviceCountKnowYourNetwork) + result := response.Result().(*ResponseDevicesGetDeviceConfigByID) return result, response, err } -//GetFunctionalCapabilityForDevices Get Functional Capability for devices - c3b3-c9ef-4e6b-8a09 -/* Returns the functional-capability for given devices +//GetNetworkDeviceByPaginationRange Get Network Device by pagination range - f495-48c5-4be8-a3e2 +/* Returns the list of network devices for the given pagination range. The maximum number of records that can be retrieved is 500 -@param GetFunctionalCapabilityForDevicesQueryParams Filtering parameter +@param startIndex startIndex path parameter. Start index [>=1] -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-functional-capability-for-devices-v1 -*/ -func (s *DevicesService) GetFunctionalCapabilityForDevices(GetFunctionalCapabilityForDevicesQueryParams *GetFunctionalCapabilityForDevicesQueryParams) (*ResponseDevicesGetFunctionalCapabilityForDevices, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/functional-capability" +@param recordsToReturn recordsToReturn path parameter. Number of records to return [1<= recordsToReturn <= 500] - queryString, _ := query.Values(GetFunctionalCapabilityForDevicesQueryParams) + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-device-by-pagination-range +*/ +func (s *DevicesService) GetNetworkDeviceByPaginationRange(startIndex int, recordsToReturn int) (*ResponseDevicesGetNetworkDeviceByPaginationRange, *resty.Response, error) { + path := "/dna/intent/api/v1/network-device/{startIndex}/{recordsToReturn}" + path = strings.Replace(path, "{startIndex}", fmt.Sprintf("%v", startIndex), -1) + path = strings.Replace(path, "{recordsToReturn}", fmt.Sprintf("%v", recordsToReturn), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetFunctionalCapabilityForDevices{}). + SetResult(&ResponseDevicesGetNetworkDeviceByPaginationRange{}). SetError(&Error). Get(path) @@ -5361,33 +11256,33 @@ func (s *DevicesService) GetFunctionalCapabilityForDevices(GetFunctionalCapabili if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFunctionalCapabilityForDevices(GetFunctionalCapabilityForDevicesQueryParams) + return s.GetNetworkDeviceByPaginationRange(startIndex, recordsToReturn) } - return nil, response, fmt.Errorf("error with operation GetFunctionalCapabilityForDevices") + return nil, response, fmt.Errorf("error with operation GetNetworkDeviceByPaginationRange") } - result := response.Result().(*ResponseDevicesGetFunctionalCapabilityForDevices) + result := response.Result().(*ResponseDevicesGetNetworkDeviceByPaginationRange) return result, response, err } -//GetFunctionalCapabilityByID Get Functional Capability by Id - 81bb-4804-405a-8d2f -/* Returns functional capability with given Id - +//RetrieveScheduledMaintenanceWindowsForNetworkDevices Retrieve scheduled maintenance windows for network devices - 7d9e-198c-4a9b-8971 +/* This API retrieves a list of scheduled maintenance windows for network devices based on filter parameters. Each maintenance window is composed of a start schedule and end schedule, both of which have unique identifiers(`startId` and `endId`). These identifiers can be used to fetch the status of the start schedule and end schedule using the `GET /dna/intent/api/v1/activities/{id}` API. Completed maintenance schedules are automatically removed from the system after two weeks. -@param id id path parameter. Functional Capability UUID +@param RetrieveScheduledMaintenanceWindowsForNetworkDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-functional-capability-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-scheduled-maintenance-windows-for-network-devices */ -func (s *DevicesService) GetFunctionalCapabilityByID(id string) (*ResponseDevicesGetFunctionalCapabilityByID, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/functional-capability/{id}" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *DevicesService) RetrieveScheduledMaintenanceWindowsForNetworkDevices(RetrieveScheduledMaintenanceWindowsForNetworkDevicesQueryParams *RetrieveScheduledMaintenanceWindowsForNetworkDevicesQueryParams) (*ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceMaintenanceSchedules" + + queryString, _ := query.Values(RetrieveScheduledMaintenanceWindowsForNetworkDevicesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetFunctionalCapabilityByID{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevices{}). SetError(&Error). Get(path) @@ -5398,35 +11293,33 @@ func (s *DevicesService) GetFunctionalCapabilityByID(id string) (*ResponseDevice if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFunctionalCapabilityByID(id) + return s.RetrieveScheduledMaintenanceWindowsForNetworkDevices(RetrieveScheduledMaintenanceWindowsForNetworkDevicesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetFunctionalCapabilityById") + return nil, response, fmt.Errorf("error with operation RetrieveScheduledMaintenanceWindowsForNetworkDevices") } - result := response.Result().(*ResponseDevicesGetFunctionalCapabilityByID) + result := response.Result().(*ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevices) return result, response, err } -//InventoryInsightDeviceLinkMismatchAPI Inventory Insight Device Link Mismatch API - 5792-59d8-4208-8190 -/* Find all devices with link mismatch (speed / vlan) +//RetrieveTheTotalNumberOfScheduledMaintenanceWindows Retrieve the total number of scheduled maintenance windows - 6981-69d1-44e8-9284 +/* Retrieve the total count of all scheduled maintenance windows for network devices. -@param siteID siteId path parameter. -@param InventoryInsightDeviceLinkMismatchAPIQueryParams Filtering parameter +@param RetrieveTheTotalNumberOfScheduledMaintenanceWindowsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!inventory-insight-device-link-mismatch-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-total-number-of-scheduled-maintenance-windows */ -func (s *DevicesService) InventoryInsightDeviceLinkMismatchAPI(siteID string, InventoryInsightDeviceLinkMismatchAPIQueryParams *InventoryInsightDeviceLinkMismatchAPIQueryParams) (*ResponseDevicesInventoryInsightDeviceLinkMismatchAPI, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/insight/{siteId}/device-link" - path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) +func (s *DevicesService) RetrieveTheTotalNumberOfScheduledMaintenanceWindows(RetrieveTheTotalNumberOfScheduledMaintenanceWindowsQueryParams *RetrieveTheTotalNumberOfScheduledMaintenanceWindowsQueryParams) (*ResponseDevicesRetrieveTheTotalNumberOfScheduledMaintenanceWindows, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceMaintenanceSchedules/count" - queryString, _ := query.Values(InventoryInsightDeviceLinkMismatchAPIQueryParams) + queryString, _ := query.Values(RetrieveTheTotalNumberOfScheduledMaintenanceWindowsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesInventoryInsightDeviceLinkMismatchAPI{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrieveTheTotalNumberOfScheduledMaintenanceWindows{}). SetError(&Error). Get(path) @@ -5437,33 +11330,33 @@ func (s *DevicesService) InventoryInsightDeviceLinkMismatchAPI(siteID string, In if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.InventoryInsightDeviceLinkMismatchAPI(siteID, InventoryInsightDeviceLinkMismatchAPIQueryParams) + return s.RetrieveTheTotalNumberOfScheduledMaintenanceWindows(RetrieveTheTotalNumberOfScheduledMaintenanceWindowsQueryParams) } - return nil, response, fmt.Errorf("error with operation InventoryInsightDeviceLinkMismatchApi") + return nil, response, fmt.Errorf("error with operation RetrieveTheTotalNumberOfScheduledMaintenanceWindows") } - result := response.Result().(*ResponseDevicesInventoryInsightDeviceLinkMismatchAPI) + result := response.Result().(*ResponseDevicesRetrieveTheTotalNumberOfScheduledMaintenanceWindows) return result, response, err } -//GetNetworkDeviceByIP Get Network Device by IP - d0a4-b881-45aa-bb51 -/* Returns the network device by specified IP address +//RetrievesTheMaintenanceScheduleInformation Retrieves the maintenance schedule information. - 5fb8-487f-4248-9f71 +/* API to retrieve the maintenance schedule information for the given id. -@param ipAddress ipAddress path parameter. Device IP address +@param id id path parameter. Unique identifier for the maintenance schedule -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-device-by-ip-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-maintenance-schedule-information */ -func (s *DevicesService) GetNetworkDeviceByIP(ipAddress string) (*ResponseDevicesGetNetworkDeviceByIP, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/ip-address/{ipAddress}" - path = strings.Replace(path, "{ipAddress}", fmt.Sprintf("%v", ipAddress), -1) +func (s *DevicesService) RetrievesTheMaintenanceScheduleInformation(id string) (*ResponseDevicesRetrievesTheMaintenanceScheduleInformation, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceMaintenanceSchedules/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetNetworkDeviceByIP{}). + SetResult(&ResponseDevicesRetrievesTheMaintenanceScheduleInformation{}). SetError(&Error). Get(path) @@ -5474,33 +11367,33 @@ func (s *DevicesService) GetNetworkDeviceByIP(ipAddress string) (*ResponseDevice if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetNetworkDeviceByIP(ipAddress) + return s.RetrievesTheMaintenanceScheduleInformation(id) } - return nil, response, fmt.Errorf("error with operation GetNetworkDeviceByIp") + return nil, response, fmt.Errorf("error with operation RetrievesTheMaintenanceScheduleInformation") } - result := response.Result().(*ResponseDevicesGetNetworkDeviceByIP) + result := response.Result().(*ResponseDevicesRetrievesTheMaintenanceScheduleInformation) return result, response, err } -//GetModules Get Modules - eb82-49e3-4f69-b0f1 -/* Returns modules by specified device id +//RetrieveNetworkDevices Retrieve network devices - 9e97-b8b2-4539-86a3 +/* API to fetch the list of network devices using basic filters. Use the `/dna/intent/api/v1/networkDevices/query` API for advanced filtering. Refer features for more details. -@param GetModulesQueryParams Filtering parameter +@param RetrieveNetworkDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-modules-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-network-devices */ -func (s *DevicesService) GetModules(GetModulesQueryParams *GetModulesQueryParams) (*ResponseDevicesGetModules, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/module" +func (s *DevicesService) RetrieveNetworkDevices(RetrieveNetworkDevicesQueryParams *RetrieveNetworkDevicesQueryParams) (*ResponseDevicesRetrieveNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDevices" - queryString, _ := query.Values(GetModulesQueryParams) + queryString, _ := query.Values(RetrieveNetworkDevicesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetModules{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrieveNetworkDevices{}). SetError(&Error). Get(path) @@ -5511,33 +11404,33 @@ func (s *DevicesService) GetModules(GetModulesQueryParams *GetModulesQueryParams if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetModules(GetModulesQueryParams) + return s.RetrieveNetworkDevices(RetrieveNetworkDevicesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetModules") + return nil, response, fmt.Errorf("error with operation RetrieveNetworkDevices") } - result := response.Result().(*ResponseDevicesGetModules) + result := response.Result().(*ResponseDevicesRetrieveNetworkDevices) return result, response, err } -//GetModuleCount Get Module count - 8db9-3974-4649-a782 -/* Returns Module Count +//CountTheNumberOfNetworkDevices Count the number of network devices - b988-e961-493b-8e72 +/* API to fetch the count of network devices using basic filters. Use the `/dna/intent/api/v1/networkDevices/query/count` API if you need advanced filtering. -@param GetModuleCountQueryParams Filtering parameter +@param CountTheNumberOfNetworkDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-module-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-the-number-of-network-devices */ -func (s *DevicesService) GetModuleCount(GetModuleCountQueryParams *GetModuleCountQueryParams) (*ResponseDevicesGetModuleCount, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/module/count" +func (s *DevicesService) CountTheNumberOfNetworkDevices(CountTheNumberOfNetworkDevicesQueryParams *CountTheNumberOfNetworkDevicesQueryParams) (*ResponseDevicesCountTheNumberOfNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDevices/count" - queryString, _ := query.Values(GetModuleCountQueryParams) + queryString, _ := query.Values(CountTheNumberOfNetworkDevicesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetModuleCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesCountTheNumberOfNetworkDevices{}). SetError(&Error). Get(path) @@ -5548,33 +11441,36 @@ func (s *DevicesService) GetModuleCount(GetModuleCountQueryParams *GetModuleCoun if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetModuleCount(GetModuleCountQueryParams) + return s.CountTheNumberOfNetworkDevices(CountTheNumberOfNetworkDevicesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetModuleCount") + return nil, response, fmt.Errorf("error with operation CountTheNumberOfNetworkDevices") } - result := response.Result().(*ResponseDevicesGetModuleCount) + result := response.Result().(*ResponseDevicesCountTheNumberOfNetworkDevices) return result, response, err } -//GetModuleInfoByID Get Module Info by Id - 0db7-da74-4c0b-83d8 -/* Returns Module info by 'module id' +//GetDetailsOfASingleNetworkDevice Get details of a single network device - 289a-88ec-4e49-a477 +/* API to fetch the details of network device using the `id`. Use the `/dna/intent/api/v1/networkDevices/query` API for advanced filtering. The API supports views to fetch only the required fields. Refer features for more details. -@param id id path parameter. Module id +@param id id path parameter. Unique identifier for the network device +@param GetDetailsOfASingleNetworkDeviceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-module-info-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-details-of-a-single-network-device */ -func (s *DevicesService) GetModuleInfoByID(id string) (*ResponseDevicesGetModuleInfoByID, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/module/{id}" +func (s *DevicesService) GetDetailsOfASingleNetworkDevice(id string, GetDetailsOfASingleNetworkDeviceQueryParams *GetDetailsOfASingleNetworkDeviceQueryParams) (*ResponseDevicesGetDetailsOfASingleNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDevices/{id}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + queryString, _ := query.Values(GetDetailsOfASingleNetworkDeviceQueryParams) + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetModuleInfoByID{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDetailsOfASingleNetworkDevice{}). SetError(&Error). Get(path) @@ -5585,33 +11481,33 @@ func (s *DevicesService) GetModuleInfoByID(id string) (*ResponseDevicesGetModule if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetModuleInfoByID(id) + return s.GetDetailsOfASingleNetworkDevice(id, GetDetailsOfASingleNetworkDeviceQueryParams) } - return nil, response, fmt.Errorf("error with operation GetModuleInfoById") + return nil, response, fmt.Errorf("error with operation GetDetailsOfASingleNetworkDevice") } - result := response.Result().(*ResponseDevicesGetModuleInfoByID) + result := response.Result().(*ResponseDevicesGetDetailsOfASingleNetworkDevice) return result, response, err } -//GetDeviceBySerialNumber Get Device by Serial number - d888-ab6d-4d59-a8c1 -/* Returns the network device with given serial number +//GetResyncIntervalForTheNetworkDevice Get resync interval for the network device - 4783-7a87-4aea-91e6 +/* Fetch the reysnc interval for the given network device id. -@param serialNumber serialNumber path parameter. Device serial number +@param id id path parameter. The id of the network device. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-by-serial-number-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-resync-interval-for-the-network-device */ -func (s *DevicesService) GetDeviceBySerialNumber(serialNumber string) (*ResponseDevicesGetDeviceBySerialNumber, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/serial-number/{serialNumber}" - path = strings.Replace(path, "{serialNumber}", fmt.Sprintf("%v", serialNumber), -1) +func (s *DevicesService) GetResyncIntervalForTheNetworkDevice(id string) (*ResponseDevicesGetResyncIntervalForTheNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDevices/{id}/resyncIntervalSettings" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetDeviceBySerialNumber{}). + SetResult(&ResponseDevicesGetResyncIntervalForTheNetworkDevice{}). SetError(&Error). Get(path) @@ -5622,33 +11518,33 @@ func (s *DevicesService) GetDeviceBySerialNumber(serialNumber string) (*Response if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceBySerialNumber(serialNumber) + return s.GetResyncIntervalForTheNetworkDevice(id) } - return nil, response, fmt.Errorf("error with operation GetDeviceBySerialNumber") + return nil, response, fmt.Errorf("error with operation GetResyncIntervalForTheNetworkDevice") } - result := response.Result().(*ResponseDevicesGetDeviceBySerialNumber) + result := response.Result().(*ResponseDevicesGetResyncIntervalForTheNetworkDevice) return result, response, err } -//GetDevicesRegisteredForWsaNotification Get Devices registered for WSA Notification - c980-9b67-44f8-a502 -/* It fetches devices which are registered to receive WSA notifications. The device serial number and/or MAC address are required to be provided as query parameters. +//WirelessRogueApContainmentStatus Wireless Rogue AP Containment Status - a1ab-f9ae-4c38-9286 +/* Intent API to check the wireless rogue access point containment status. The response includes all the details like containment status, contained by WLC, containment status of each BSSID etc. This API also includes the information of strongest detecting WLC for this rogue access point. -@param GetDevicesRegisteredForWSANotificationQueryParams Filtering parameter +@param macAddress macAddress path parameter. MAC Address of the Wireless Rogue AP -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-devices-registered-for-wsa-notification-v1 -*/ -func (s *DevicesService) GetDevicesRegisteredForWsaNotification(GetDevicesRegisteredForWSANotificationQueryParams *GetDevicesRegisteredForWsaNotificationQueryParams) (*ResponseDevicesGetDevicesRegisteredForWsaNotification, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/tenantinfo/macaddress" - queryString, _ := query.Values(GetDevicesRegisteredForWSANotificationQueryParams) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!wireless-rogue-ap-containment-status +*/ +func (s *DevicesService) WirelessRogueApContainmentStatus(macAddress string) (*ResponseDevicesWirelessRogueApContainmentStatus, *resty.Response, error) { + path := "/dna/intent/api/v1/security/rogue/wireless-containment/status/{macAddress}" + path = strings.Replace(path, "{macAddress}", fmt.Sprintf("%v", macAddress), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDevicesRegisteredForWsaNotification{}). + SetResult(&ResponseDevicesWirelessRogueApContainmentStatus{}). SetError(&Error). Get(path) @@ -5659,33 +11555,30 @@ func (s *DevicesService) GetDevicesRegisteredForWsaNotification(GetDevicesRegist if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDevicesRegisteredForWsaNotification(GetDevicesRegisteredForWSANotificationQueryParams) + return s.WirelessRogueApContainmentStatus(macAddress) } - return nil, response, fmt.Errorf("error with operation GetDevicesRegisteredForWsaNotification") + return nil, response, fmt.Errorf("error with operation WirelessRogueApContainmentStatus") } - result := response.Result().(*ResponseDevicesGetDevicesRegisteredForWsaNotification) + result := response.Result().(*ResponseDevicesWirelessRogueApContainmentStatus) return result, response, err } -//GetAllUserDefinedFields Get All User-Defined-Fields - 058d-2a92-4899-b7bb -/* Gets existing global User Defined Fields. If no input is given, it fetches ALL the Global UDFs. Filter/search is supported by UDF Id(s) or UDF name(s) or both. +//GetThreatLevels Get Threat Levels - 64ba-bad4-4aa9-b493 +/* Intent API to fetch all threat levels defined. -@param GetAllUserDefinedFieldsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-user-defined-fields-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-threat-levels */ -func (s *DevicesService) GetAllUserDefinedFields(GetAllUserDefinedFieldsQueryParams *GetAllUserDefinedFieldsQueryParams) (*ResponseDevicesGetAllUserDefinedFields, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/user-defined-field" - - queryString, _ := query.Values(GetAllUserDefinedFieldsQueryParams) +func (s *DevicesService) GetThreatLevels() (*ResponseDevicesGetThreatLevels, *resty.Response, error) { + path := "/dna/intent/api/v1/security/threats/level" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetAllUserDefinedFields{}). + SetResult(&ResponseDevicesGetThreatLevels{}). SetError(&Error). Get(path) @@ -5696,33 +11589,33 @@ func (s *DevicesService) GetAllUserDefinedFields(GetAllUserDefinedFieldsQueryPar if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAllUserDefinedFields(GetAllUserDefinedFieldsQueryParams) + return s.GetThreatLevels() } - return nil, response, fmt.Errorf("error with operation GetAllUserDefinedFields") + return nil, response, fmt.Errorf("error with operation GetThreatLevels") } - result := response.Result().(*ResponseDevicesGetAllUserDefinedFields) + result := response.Result().(*ResponseDevicesGetThreatLevels) return result, response, err } -//GetChassisDetailsForDevice Get Chassis Details for Device - 0486-9b26-49ab-b579 -/* Returns chassis details for given device ID - +//GetAllowedMacAddress Get Allowed Mac Address - 18ae-3ab0-447a-872f +/* Intent API to fetch all the allowed mac addresses in the system. -@param deviceID deviceId path parameter. Device ID +@param GetAllowedMacAddressQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-chassis-details-for-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-allowed-mac-address */ -func (s *DevicesService) GetChassisDetailsForDevice(deviceID string) (*ResponseDevicesGetChassisDetailsForDevice, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{deviceId}/chassis" - path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) +func (s *DevicesService) GetAllowedMacAddress(GetAllowedMacAddressQueryParams *GetAllowedMacAddressQueryParams) (*ResponseDevicesGetAllowedMacAddress, *resty.Response, error) { + path := "/dna/intent/api/v1/security/threats/rogue/allowed-list" + + queryString, _ := query.Values(GetAllowedMacAddressQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetChassisDetailsForDevice{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetAllowedMacAddress{}). SetError(&Error). Get(path) @@ -5733,33 +11626,30 @@ func (s *DevicesService) GetChassisDetailsForDevice(deviceID string) (*ResponseD if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetChassisDetailsForDevice(deviceID) + return s.GetAllowedMacAddress(GetAllowedMacAddressQueryParams) } - return nil, response, fmt.Errorf("error with operation GetChassisDetailsForDevice") + return nil, response, fmt.Errorf("error with operation GetAllowedMacAddress") } - result := response.Result().(*ResponseDevicesGetChassisDetailsForDevice) + result := response.Result().(*ResponseDevicesGetAllowedMacAddress) return result, response, err } -//GetStackDetailsForDevice Get Stack Details for Device - 78a7-7ab0-4d5a-8a10 -/* Retrieves complete stack details for given device ID - +//GetAllowedMacAddressCount Get Allowed Mac Address Count - d4a1-e8c8-410a-b009 +/* Intent API to fetch the count of allowed mac addresses in the system. -@param deviceID deviceId path parameter. Device ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-stack-details-for-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-allowed-mac-address-count */ -func (s *DevicesService) GetStackDetailsForDevice(deviceID string) (*ResponseDevicesGetStackDetailsForDevice, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{deviceId}/stack" - path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) +func (s *DevicesService) GetAllowedMacAddressCount() (*ResponseDevicesGetAllowedMacAddressCount, *resty.Response, error) { + path := "/dna/intent/api/v1/security/threats/rogue/allowed-list/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetStackDetailsForDevice{}). + SetResult(&ResponseDevicesGetAllowedMacAddressCount{}). SetError(&Error). Get(path) @@ -5770,35 +11660,30 @@ func (s *DevicesService) GetStackDetailsForDevice(deviceID string) (*ResponseDev if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetStackDetailsForDevice(deviceID) + return s.GetAllowedMacAddressCount() } - return nil, response, fmt.Errorf("error with operation GetStackDetailsForDevice") + return nil, response, fmt.Errorf("error with operation GetAllowedMacAddressCount") } - result := response.Result().(*ResponseDevicesGetStackDetailsForDevice) + result := response.Result().(*ResponseDevicesGetAllowedMacAddressCount) return result, response, err } -//GetTheDetailsOfPhysicalComponentsOfTheGivenDevice Get the Details of Physical Components of the Given Device. - 20b1-9b52-464b-897a -/* Return all types of equipment details like PowerSupply, Fan, Chassis, Backplane, Module, PROCESSOR, Other and SFP for the Given device. +//GetThreatTypes Get Threat Types - 519a-9b70-45c8-8b82 +/* Intent API to fetch all threat types defined. -@param deviceUUID deviceUuid path parameter. -@param GetTheDetailsOfPhysicalComponentsOfTheGivenDeviceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-details-of-physical-components-of-the-given-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-threat-types */ -func (s *DevicesService) GetTheDetailsOfPhysicalComponentsOfTheGivenDevice(deviceUUID string, GetTheDetailsOfPhysicalComponentsOfTheGivenDeviceQueryParams *GetTheDetailsOfPhysicalComponentsOfTheGivenDeviceQueryParams) (*ResponseDevicesGetTheDetailsOfPhysicalComponentsOfTheGivenDevice, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{deviceUuid}/equipment" - path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) - - queryString, _ := query.Values(GetTheDetailsOfPhysicalComponentsOfTheGivenDeviceQueryParams) +func (s *DevicesService) GetThreatTypes() (*ResponseDevicesGetThreatTypes, *resty.Response, error) { + path := "/dna/intent/api/v1/security/threats/type" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetTheDetailsOfPhysicalComponentsOfTheGivenDevice{}). + SetResult(&ResponseDevicesGetThreatTypes{}). SetError(&Error). Get(path) @@ -5809,38 +11694,46 @@ func (s *DevicesService) GetTheDetailsOfPhysicalComponentsOfTheGivenDevice(devic if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetTheDetailsOfPhysicalComponentsOfTheGivenDevice(deviceUUID, GetTheDetailsOfPhysicalComponentsOfTheGivenDeviceQueryParams) + return s.GetThreatTypes() } - return nil, response, fmt.Errorf("error with operation GetTheDetailsOfPhysicalComponentsOfTheGivenDevice") + return nil, response, fmt.Errorf("error with operation GetThreatTypes") } - result := response.Result().(*ResponseDevicesGetTheDetailsOfPhysicalComponentsOfTheGivenDevice) + result := response.Result().(*ResponseDevicesGetThreatTypes) return result, response, err } -//ReturnsPoeInterfaceDetailsForTheDevice Returns POE interface details for the device. - 20b5-48af-42da-a337 -/* Returns POE interface details for the device, where deviceuuid is mandatory & accepts comma seperated interface names which is optional and returns information for that particular interfaces where(operStatus = operationalStatus) - +//RetrievesTheListOfAAAServicesForGivenSetOfComplexFilters Retrieves the list of AAA Services for given set of complex filters. - 55b1-ab25-40f8-ac6b +/* Retrieves the list of AAA Services and offers complex filtering and sorting capabilities. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AAAServices-1.0.0-resolved.yaml -@param deviceUUID deviceUuid path parameter. uuid of the device -@param ReturnsPOEInterfaceDetailsForTheDeviceQueryParams Filtering parameter +@param RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-poe-interface-details-for-the-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-a-a-a-services-for-given-set-of-complex-filters */ -func (s *DevicesService) ReturnsPoeInterfaceDetailsForTheDevice(deviceUUID string, ReturnsPOEInterfaceDetailsForTheDeviceQueryParams *ReturnsPoeInterfaceDetailsForTheDeviceQueryParams) (*ResponseDevicesReturnsPoeInterfaceDetailsForTheDevice, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{deviceUuid}/interface/poe-detail" - path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) - - queryString, _ := query.Values(ReturnsPOEInterfaceDetailsForTheDeviceQueryParams) +func (s *DevicesService) RetrievesTheListOfAAAServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters *RequestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters, RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams *RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/aaaServices/query" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesReturnsPoeInterfaceDetailsForTheDevice{}). + SetHeader("Accept", "application/json") + + if RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -5848,39 +11741,49 @@ func (s *DevicesService) ReturnsPoeInterfaceDetailsForTheDevice(deviceUUID strin } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.ReturnsPoeInterfaceDetailsForTheDevice(deviceUUID, ReturnsPOEInterfaceDetailsForTheDeviceQueryParams) + return s.RetrievesTheListOfAAAServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters, RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation ReturnsPoeInterfaceDetailsForTheDevice") + + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfAAAServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesReturnsPoeInterfaceDetailsForTheDevice) + result := response.Result().(*ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters) return result, response, err } -//GetConnectedDeviceDetail Get connected device detail - a8aa-ca21-4c09-8388 -/* Get connected device detail for given deviceUuid and interfaceUuid - - -@param deviceUUID deviceUuid path parameter. instanceuuid of Device +//RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters Retrieves the total number of AAA Services for given set of complex filters. - f894-482b-4d28-852f +/* Retrieves the total number of AAA Services and offers complex filtering and sorting capabilities. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AAAServices-1.0.0-resolved.yaml -@param interfaceUUID interfaceUuid path parameter. instanceuuid of interface +@param RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-connected-device-detail-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-number-of-a-a-a-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetConnectedDeviceDetail(deviceUUID string, interfaceUUID string) (*ResponseDevicesGetConnectedDeviceDetail, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{deviceUuid}/interface/{interfaceUuid}/neighbor" - path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) - path = strings.Replace(path, "{interfaceUuid}", fmt.Sprintf("%v", interfaceUUID), -1) +func (s *DevicesService) RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters *RequestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters, RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams *RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/aaaServices/query/count" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetConnectedDeviceDetail{}). + SetHeader("Accept", "application/json") + + if RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -5888,36 +11791,49 @@ func (s *DevicesService) GetConnectedDeviceDetail(deviceUUID string, interfaceUU } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetConnectedDeviceDetail(deviceUUID, interfaceUUID) + return s.RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters, RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetConnectedDeviceDetail") + + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetConnectedDeviceDetail) + result := response.Result().(*ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters) return result, response, err } -//GetLinecardDetails Get Linecard details - 46a1-4b02-48fb-8fbf -/* Get line card detail for a given deviceuuid. Response will contain serial no, part no, switch no and slot no. - +//GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters Get summary analytics data of AAA Services for given set of complex filters. - 0aaa-aa9b-4d39-90ec +/* Gets the summary analytics data related to AAA Services based on given filters and group by field. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AAAServices-1.0.0-resolved.yaml -@param deviceUUID deviceUuid path parameter. instanceuuid of device +@param GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-linecard-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-summary-analytics-data-of-a-a-a-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetLinecardDetails(deviceUUID string) (*ResponseDevicesGetLinecardDetails, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{deviceUuid}/line-card" - path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) +func (s *DevicesService) GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters *RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams *GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/aaaServices/summaryAnalytics" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetLinecardDetails{}). + SetHeader("Accept", "application/json") + + if GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -5925,36 +11841,49 @@ func (s *DevicesService) GetLinecardDetails(deviceUUID string) (*ResponseDevices } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetLinecardDetails(deviceUUID) + return s.GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetLinecardDetails") + + return nil, response, fmt.Errorf("error with operation GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetLinecardDetails) + result := response.Result().(*ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters) return result, response, err } -//PoeDetails POE details - 8ba6-7932-4ed9-abae -/* Returns POE details for device. - +//GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters Get Top N analytics data of AAA Services for given set of complex filters. - 69ad-ebf6-4ffa-89d4 +/* Gets the Top N analytics data related to AAA Services based on given filters and group by field. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AAAServices-1.0.0-resolved.yaml -@param deviceUUID deviceUuid path parameter. UUID of the device +@param GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!poe-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-top-n-analytics-data-of-a-a-a-services-for-given-set-of-complex-filters */ -func (s *DevicesService) PoeDetails(deviceUUID string) (*ResponseDevicesPoeDetails, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{deviceUuid}/poe" - path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) +func (s *DevicesService) GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters *RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams *GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/aaaServices/topNAnalytics" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesPoeDetails{}). + SetHeader("Accept", "application/json") + + if GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -5962,36 +11891,49 @@ func (s *DevicesService) PoeDetails(deviceUUID string) (*ResponseDevicesPoeDetai } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.PoeDetails(deviceUUID) + return s.GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation PoeDetails") + + return nil, response, fmt.Errorf("error with operation GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesPoeDetails) + result := response.Result().(*ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters) return result, response, err } -//GetSupervisorCardDetail Get Supervisor card detail - 88aa-1b52-4a38-bf97 -/* Get supervisor card detail for a given deviceuuid. Response will contain serial no, part no, switch no and slot no. - +//GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters Get trend analytics data of AAA Services for given set of complex filters. - 00a7-4ab0-4b3b-8e31 +/* Gets the trend analytics data related to AAA Services based on given filters and group by field. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AAAServices-1.0.0-resolved.yaml -@param deviceUUID deviceUuid path parameter. instanceuuid of device +@param GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-supervisor-card-detail-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trend-analytics-data-of-a-a-a-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetSupervisorCardDetail(deviceUUID string) (*ResponseDevicesGetSupervisorCardDetail, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{deviceUuid}/supervisor-card" - path = strings.Replace(path, "{deviceUuid}", fmt.Sprintf("%v", deviceUUID), -1) +func (s *DevicesService) GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters *RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams *GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/aaaServices/trendAnalytics" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } - response, err := s.client.R(). - SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetSupervisorCardDetail{}). + response, err = clientRequest. + SetBody(requestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -5999,36 +11941,52 @@ func (s *DevicesService) GetSupervisorCardDetail(deviceUUID string) (*ResponseDe } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetSupervisorCardDetail(deviceUUID) + return s.GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetSupervisorCardDetail") + + return nil, response, fmt.Errorf("error with operation GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetSupervisorCardDetail) + result := response.Result().(*ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters) return result, response, err } -//GetDeviceByID Get Device by ID - 8fa8-eb40-4a4a-8d96 -/* Returns the network device details for the given device ID +//GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService Get trend analytics data for a given AAA Service matching the id of the Service. - f595-b9d5-413b-95fa +/* Gets the trend analytics data related to a particular AAA Service matching the id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AAAServices-1.0.0-resolved.yaml -@param id id path parameter. Device ID +@param id id path parameter. Unique id of the AAA Service. It is the combination of AAA Server IP (`serverIp`) and Device UUID (`deviceId`) separated by underscore (`_`). Example: If `serverIp` is `10.76.81.33` and `deviceId` is `6bef213c-19ca-4170-8375-b694e251101c`, then the `id` would be `10.76.81.33_6bef213c-19ca-4170-8375-b694e251101c` +@param GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheServiceHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trend-analytics-data-for-a-given-a-a-a-service-matching-the-id-of-the-service */ -func (s *DevicesService) GetDeviceByID(id string) (*ResponseDevicesGetDeviceByID, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{id}" +func (s *DevicesService) GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService(id string, requestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheService *RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService, GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheServiceHeaderParams *GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceHeaderParams) (*ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService, *resty.Response, error) { + path := "/dna/data/api/v1/aaaServices/{id}/trendAnalytics" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetDeviceByID{}). + SetHeader("Accept", "application/json") + + if GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheServiceHeaderParams != nil { + + if GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheService). + SetResult(&ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6036,36 +11994,49 @@ func (s *DevicesService) GetDeviceByID(id string) (*ResponseDevicesGetDeviceByID } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceByID(id) + return s.GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService(id, requestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheService, GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheServiceHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetDeviceById") + + return nil, response, fmt.Errorf("error with operation GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheService") } - result := response.Result().(*ResponseDevicesGetDeviceByID) + result := response.Result().(*ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService) return result, response, err } -//GetDeviceSummary Get Device Summary - 819f-9aa5-4fea-b7bf -/* Returns brief summary of device info such as hostname, management IP address for the given device Id - +//QueryAssuranceEventsWithFilters Query assurance events with filters - c5b7-0a69-4409-9b5b +/* Returns the list of events discovered by Catalyst Center, determined by the complex filters. Please refer to the 'API Support Documentation' section to understand which fields are supported. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml -@param id id path parameter. Device ID +@param QueryAssuranceEventsWithFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-summary-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-assurance-events-with-filters */ -func (s *DevicesService) GetDeviceSummary(id string) (*ResponseDevicesGetDeviceSummary, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{id}/brief" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *DevicesService) QueryAssuranceEventsWithFilters(requestDevicesQueryAssuranceEventsWithFilters *RequestDevicesQueryAssuranceEventsWithFilters, QueryAssuranceEventsWithFiltersHeaderParams *QueryAssuranceEventsWithFiltersHeaderParams) (*ResponseDevicesQueryAssuranceEventsWithFilters, *resty.Response, error) { + path := "/dna/data/api/v1/assuranceEvents/query" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetDeviceSummary{}). + SetHeader("Accept", "application/json") + + if QueryAssuranceEventsWithFiltersHeaderParams != nil { + + if QueryAssuranceEventsWithFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", QueryAssuranceEventsWithFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesQueryAssuranceEventsWithFilters). + SetResult(&ResponseDevicesQueryAssuranceEventsWithFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6073,36 +12044,49 @@ func (s *DevicesService) GetDeviceSummary(id string) (*ResponseDevicesGetDeviceS } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceSummary(id) + return s.QueryAssuranceEventsWithFilters(requestDevicesQueryAssuranceEventsWithFilters, QueryAssuranceEventsWithFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetDeviceSummary") + + return nil, response, fmt.Errorf("error with operation QueryAssuranceEventsWithFilters") } - result := response.Result().(*ResponseDevicesGetDeviceSummary) + result := response.Result().(*ResponseDevicesQueryAssuranceEventsWithFilters) return result, response, err } -//GetPollingIntervalByID Get Polling Interval by Id - 8291-8a1b-4d28-9c5c -/* Returns polling interval by device id - +//CountTheNumberOfEventsWithFilters Count the number of events with filters - d685-3aeb-4878-a8fd +/* API to fetch the count of assurance events for the given complex query. Please refer to the 'API Support Documentation' section to understand which fields are supported. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml -@param id id path parameter. Device ID +@param CountTheNumberOfEventsWithFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-polling-interval-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-the-number-of-events-with-filters */ -func (s *DevicesService) GetPollingIntervalByID(id string) (*ResponseDevicesGetPollingIntervalByID, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{id}/collection-schedule" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *DevicesService) CountTheNumberOfEventsWithFilters(requestDevicesCountTheNumberOfEventsWithFilters *RequestDevicesCountTheNumberOfEventsWithFilters, CountTheNumberOfEventsWithFiltersHeaderParams *CountTheNumberOfEventsWithFiltersHeaderParams) (*ResponseDevicesCountTheNumberOfEventsWithFilters, *resty.Response, error) { + path := "/dna/data/api/v1/assuranceEvents/query/count" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetPollingIntervalByID{}). + SetHeader("Accept", "application/json") + + if CountTheNumberOfEventsWithFiltersHeaderParams != nil { + + if CountTheNumberOfEventsWithFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", CountTheNumberOfEventsWithFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesCountTheNumberOfEventsWithFilters). + SetResult(&ResponseDevicesCountTheNumberOfEventsWithFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6110,36 +12094,49 @@ func (s *DevicesService) GetPollingIntervalByID(id string) (*ResponseDevicesGetP } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetPollingIntervalByID(id) + return s.CountTheNumberOfEventsWithFilters(requestDevicesCountTheNumberOfEventsWithFilters, CountTheNumberOfEventsWithFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetPollingIntervalById") + + return nil, response, fmt.Errorf("error with operation CountTheNumberOfEventsWithFilters") } - result := response.Result().(*ResponseDevicesGetPollingIntervalByID) + result := response.Result().(*ResponseDevicesCountTheNumberOfEventsWithFilters) return result, response, err } -//GetOrganizationListForMeraki Get Organization list for Meraki - 84b3-7ae5-4c59-ab28 -/* Returns list of organizations for meraki dashboard +//RetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters Retrieves the list of DHCP Services for given set of complex filters. - 9b95-faaf-467b-8b13 +/* Retrieves the list of DHCP Services and offers complex filtering and sorting capabilities. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DHCPServices-1.0.0-resolved.yaml -@param id id path parameter. Device Id - +@param RetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-organization-list-for-meraki-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-d-h-c-p-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetOrganizationListForMeraki(id string) (*ResponseDevicesGetOrganizationListForMeraki, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{id}/meraki-organization" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *DevicesService) RetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters *RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters, RetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams *RetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/dhcpServices/query" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetOrganizationListForMeraki{}). + SetHeader("Accept", "application/json") + + if RetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if RetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6147,38 +12144,49 @@ func (s *DevicesService) GetOrganizationListForMeraki(id string) (*ResponseDevic } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetOrganizationListForMeraki(id) + return s.RetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters, RetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetOrganizationListForMeraki") + + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetOrganizationListForMeraki) + result := response.Result().(*ResponseDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFilters) return result, response, err } -//GetDeviceInterfaceVLANs Get Device Interface VLANs - 288d-f949-4f2a-9746 -/* Returns Device Interface VLANs. If parameter value is null or empty, it won't return any value in response. +//RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters Retrieves the total number of DHCP Services for given set of complex filters. - 4b94-993c-459b-96a2 +/* Retrieves the total number of DHCP Services and offers complex filtering and sorting capabilities. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DHCPServices-1.0.0-resolved.yaml -@param id id path parameter. -@param GetDeviceInterfaceVLANsQueryParams Filtering parameter +@param RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-interface-vlans-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-number-of-d-h-c-p-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetDeviceInterfaceVLANs(id string, GetDeviceInterfaceVLANsQueryParams *GetDeviceInterfaceVLANsQueryParams) (*ResponseDevicesGetDeviceInterfaceVLANs, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{id}/vlan" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - - queryString, _ := query.Values(GetDeviceInterfaceVLANsQueryParams) +func (s *DevicesService) RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters *RequestDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters, RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams *RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/dhcpServices/query/count" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDeviceInterfaceVLANs{}). + SetHeader("Accept", "application/json") + + if RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6186,36 +12194,49 @@ func (s *DevicesService) GetDeviceInterfaceVLANs(id string, GetDeviceInterfaceVL } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceInterfaceVLANs(id, GetDeviceInterfaceVLANsQueryParams) + return s.RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters, RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetDeviceInterfaceVlans") + + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetDeviceInterfaceVLANs) + result := response.Result().(*ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters) return result, response, err } -//GetWirelessLanControllerDetailsByID Get wireless lan controller details by Id - f682-6a8e-41bb-a242 -/* Returns the wireless lan controller info with given device ID - +//GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters Get summary analytics data of DHCP Services for given set of complex filters. - 84b8-3b7d-405a-95e3 +/* Gets the summary analytics data related to DHCP Services based on given filters and group by field. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DHCPServices-1.0.0-resolved.yaml -@param id id path parameter. Device ID +@param GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-lan-controller-details-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-summary-analytics-data-of-d-h-c-p-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetWirelessLanControllerDetailsByID(id string) (*ResponseDevicesGetWirelessLanControllerDetailsByID, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{id}/wireless-info" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *DevicesService) GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters(requestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters *RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters, GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams *GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/dhcpServices/summaryAnalytics" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetWirelessLanControllerDetailsByID{}). + SetHeader("Accept", "application/json") + + if GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6223,35 +12244,49 @@ func (s *DevicesService) GetWirelessLanControllerDetailsByID(id string) (*Respon } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetWirelessLanControllerDetailsByID(id) + return s.GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters(requestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters, GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetWirelessLanControllerDetailsById") + + return nil, response, fmt.Errorf("error with operation GetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetWirelessLanControllerDetailsByID) + result := response.Result().(*ResponseDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters) return result, response, err } -//GetDeviceConfigByID Get Device Config by Id - 84b3-3a9e-480a-bcaf -/* Returns the device config by specified device ID +//GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters Get Top N analytics data of DHCP Services for given set of complex filters. - c2b2-0a95-46ca-a4f1 +/* Gets the Top N analytics data related to DHCP Services based on given filters and group by field. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DHCPServices-1.0.0-resolved.yaml -@param networkDeviceID networkDeviceId path parameter. +@param GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-config-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-top-n-analytics-data-of-d-h-c-p-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetDeviceConfigByID(networkDeviceID string) (*ResponseDevicesGetDeviceConfigByID, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{networkDeviceId}/config" - path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) +func (s *DevicesService) GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters(requestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters *RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters, GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams *GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/dhcpServices/topNAnalytics" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetDeviceConfigByID{}). + SetHeader("Accept", "application/json") + + if GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6259,39 +12294,49 @@ func (s *DevicesService) GetDeviceConfigByID(networkDeviceID string) (*ResponseD } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceConfigByID(networkDeviceID) + return s.GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters(requestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters, GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetDeviceConfigById") + + return nil, response, fmt.Errorf("error with operation GetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetDeviceConfigByID) + result := response.Result().(*ResponseDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters) return result, response, err } -//GetNetworkDeviceByPaginationRange Get Network Device by pagination range - f495-48c5-4be8-a3e2 -/* Returns the list of network devices for the given pagination range. The maximum number of records that can be retrieved is 500 - +//GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters Get trend analytics data of DHCP Services for given set of complex filters. - 73ad-bb60-447b-8f79 +/* Gets the trend analytics data related to DHCP Services based on given filters and group by field. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DHCPServices-1.0.0-resolved.yaml -@param startIndex startIndex path parameter. Start index [>=1] - -@param recordsToReturn recordsToReturn path parameter. Number of records to return [1<= recordsToReturn <= 500] +@param GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-device-by-pagination-range-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trend-analytics-data-of-d-h-c-p-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetNetworkDeviceByPaginationRange(startIndex int, recordsToReturn int) (*ResponseDevicesGetNetworkDeviceByPaginationRange, *resty.Response, error) { - path := "/dna/intent/api/v1/network-device/{startIndex}/{recordsToReturn}" - path = strings.Replace(path, "{startIndex}", fmt.Sprintf("%v", startIndex), -1) - path = strings.Replace(path, "{recordsToReturn}", fmt.Sprintf("%v", recordsToReturn), -1) +func (s *DevicesService) GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters(requestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters *RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters, GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams *GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/dhcpServices/trendAnalytics" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetNetworkDeviceByPaginationRange{}). + SetHeader("Accept", "application/json") + + if GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6299,36 +12344,52 @@ func (s *DevicesService) GetNetworkDeviceByPaginationRange(startIndex int, recor } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetNetworkDeviceByPaginationRange(startIndex, recordsToReturn) + return s.GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters(requestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters, GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetNetworkDeviceByPaginationRange") + + return nil, response, fmt.Errorf("error with operation GetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetNetworkDeviceByPaginationRange) + result := response.Result().(*ResponseDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFilters) return result, response, err } -//GetResyncIntervalForTheNetworkDevice Get resync interval for the network device - 4783-7a87-4aea-91e6 -/* Fetch the reysnc interval for the given network device id. +//GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheService Get trend analytics data for a given DHCP Service matching the id of the Service. - c28b-d8c9-4e59-bf4a +/* Gets the trend analytics data related to a particular DHCP Service matching the id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DHCPServices-1.0.0-resolved.yaml -@param id id path parameter. The id of the network device. +@param id id path parameter. Unique id of the DHCP Service. It is the combination of DHCP Server IP (`serverIp`) and Device UUID (`deviceId`) separated by underscore (`_`). Example: If `serverIp` is `10.76.81.33` and `deviceId` is `6bef213c-19ca-4170-8375-b694e251101c`, then the `id` would be `10.76.81.33_6bef213c-19ca-4170-8375-b694e251101c` +@param GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIdOfTheServiceHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-resync-interval-for-the-network-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trend-analytics-data-for-a-given-d-h-c-p-service-matching-the-id-of-the-service */ -func (s *DevicesService) GetResyncIntervalForTheNetworkDevice(id string) (*ResponseDevicesGetResyncIntervalForTheNetworkDevice, *resty.Response, error) { - path := "/dna/intent/api/v1/networkDevices/{id}/resyncIntervalSettings" +func (s *DevicesService) GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheService(id string, requestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIdOfTheService *RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheService, GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIdOfTheServiceHeaderParams *GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceHeaderParams) (*ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheService, *resty.Response, error) { + path := "/dna/data/api/v1/dhcpServices/{id}/trendAnalytics" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetResyncIntervalForTheNetworkDevice{}). + SetHeader("Accept", "application/json") + + if GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIdOfTheServiceHeaderParams != nil { + + if GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIdOfTheService). + SetResult(&ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheService{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6336,36 +12397,49 @@ func (s *DevicesService) GetResyncIntervalForTheNetworkDevice(id string) (*Respo } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetResyncIntervalForTheNetworkDevice(id) + return s.GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheService(id, requestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIdOfTheService, GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIdOfTheServiceHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetResyncIntervalForTheNetworkDevice") + + return nil, response, fmt.Errorf("error with operation GetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIdOfTheService") } - result := response.Result().(*ResponseDevicesGetResyncIntervalForTheNetworkDevice) + result := response.Result().(*ResponseDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheService) return result, response, err } -//WirelessRogueApContainmentStatus Wireless Rogue AP Containment Status - a1ab-f9ae-4c38-9286 -/* Intent API to check the wireless rogue access point containment status. The response includes all the details like containment status, contained by WLC, containment status of each BSSID etc. This API also includes the information of strongest detecting WLC for this rogue access point. - +//RetrievesTheListOfDNSServicesForGivenSetOfComplexFilters Retrieves the list of DNS Services for given set of complex filters. - ccbf-bb30-4b29-b2c4 +/* Retrieves the list of DNS Services and offers complex filtering and sorting capabilities. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DNSServices-1.0.0-resolved.yaml -@param macAddress macAddress path parameter. MAC Address of the Wireless Rogue AP +@param RetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!wireless-rogue-ap-containment-status-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-d-n-s-services-for-given-set-of-complex-filters */ -func (s *DevicesService) WirelessRogueApContainmentStatus(macAddress string) (*ResponseDevicesWirelessRogueApContainmentStatus, *resty.Response, error) { - path := "/dna/intent/api/v1/security/rogue/wireless-containment/status/{macAddress}" - path = strings.Replace(path, "{macAddress}", fmt.Sprintf("%v", macAddress), -1) +func (s *DevicesService) RetrievesTheListOfDNSServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFilters *RequestDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFilters, RetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersHeaderParams *RetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/dnsServices/query" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesWirelessRogueApContainmentStatus{}). + SetHeader("Accept", "application/json") + + if RetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if RetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6373,33 +12447,49 @@ func (s *DevicesService) WirelessRogueApContainmentStatus(macAddress string) (*R } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.WirelessRogueApContainmentStatus(macAddress) + return s.RetrievesTheListOfDNSServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFilters, RetrievesTheListOfDNSServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation WirelessRogueApContainmentStatus") + + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfDNSServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesWirelessRogueApContainmentStatus) + result := response.Result().(*ResponseDevicesRetrievesTheListOfDNSServicesForGivenSetOfComplexFilters) return result, response, err } -//GetThreatLevels Get Threat Levels - 64ba-bad4-4aa9-b493 -/* Intent API to fetch all threat levels defined. +//RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters Retrieves the total number of DNS Services for given set of complex filters. - 8bb8-abac-469a-b511 +/* Retrieves the total number of DNS Services and offers complex filtering and sorting capabilities. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DNSServices-1.0.0-resolved.yaml +@param RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-threat-levels-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-number-of-d-n-s-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetThreatLevels() (*ResponseDevicesGetThreatLevels, *resty.Response, error) { - path := "/dna/intent/api/v1/security/threats/level" +func (s *DevicesService) RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters *RequestDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters, RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersHeaderParams *RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/dnsServices/query/count" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetThreatLevels{}). + SetHeader("Accept", "application/json") + + if RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6407,36 +12497,49 @@ func (s *DevicesService) GetThreatLevels() (*ResponseDevicesGetThreatLevels, *re } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetThreatLevels() + return s.RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters, RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetThreatLevels") + + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetThreatLevels) + result := response.Result().(*ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenSetOfComplexFilters) return result, response, err } -//GetAllowedMacAddress Get Allowed Mac Address - 18ae-3ab0-447a-872f -/* Intent API to fetch all the allowed mac addresses in the system. +//GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters Get summary analytics data of DNS Services for given set of complex filters. - 6993-98d1-456a-a499 +/* Gets the summary analytics data related to DNS Services based on given filters and group by field. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DNSServices-1.0.0-resolved.yaml -@param GetAllowedMacAddressQueryParams Filtering parameter +@param GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-allowed-mac-address-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-summary-analytics-data-of-d-n-s-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetAllowedMacAddress(GetAllowedMacAddressQueryParams *GetAllowedMacAddressQueryParams) (*ResponseDevicesGetAllowedMacAddress, *resty.Response, error) { - path := "/dna/intent/api/v1/security/threats/rogue/allowed-list" +func (s *DevicesService) GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters(requestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters *RequestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters, GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams *GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/dnsServices/summaryAnalytics" - queryString, _ := query.Values(GetAllowedMacAddressQueryParams) - - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetAllowedMacAddress{}). + SetHeader("Accept", "application/json") + + if GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6444,33 +12547,49 @@ func (s *DevicesService) GetAllowedMacAddress(GetAllowedMacAddressQueryParams *G } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetAllowedMacAddress(GetAllowedMacAddressQueryParams) + return s.GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters(requestDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters, GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetAllowedMacAddress") + + return nil, response, fmt.Errorf("error with operation GetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetAllowedMacAddress) + result := response.Result().(*ResponseDevicesGetSummaryAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters) return result, response, err } -//GetAllowedMacAddressCount Get Allowed Mac Address Count - d4a1-e8c8-410a-b009 -/* Intent API to fetch the count of allowed mac addresses in the system. +//GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters Get Top N analytics data of DNS Services for given set of complex filters. - 90a0-19ad-4668-88c8 +/* Gets the Top N analytics data related to DNS Services based on given filters and group by field. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DNSServices-1.0.0-resolved.yaml +@param GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-allowed-mac-address-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-top-n-analytics-data-of-d-n-s-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetAllowedMacAddressCount() (*ResponseDevicesGetAllowedMacAddressCount, *resty.Response, error) { - path := "/dna/intent/api/v1/security/threats/rogue/allowed-list/count" +func (s *DevicesService) GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters(requestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters *RequestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters, GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams *GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/dnsServices/topNAnalytics" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetAllowedMacAddressCount{}). + SetHeader("Accept", "application/json") + + if GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6478,33 +12597,49 @@ func (s *DevicesService) GetAllowedMacAddressCount() (*ResponseDevicesGetAllowed } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetAllowedMacAddressCount() + return s.GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters(requestDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters, GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetAllowedMacAddressCount") + + return nil, response, fmt.Errorf("error with operation GetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetAllowedMacAddressCount) + result := response.Result().(*ResponseDevicesGetTopNAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters) return result, response, err } -//GetThreatTypes Get Threat Types - 519a-9b70-45c8-8b82 -/* Intent API to fetch all threat types defined. +//GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters Get trend analytics data of DNS Services for given set of complex filters. - feb3-7b93-4b0b-a74d +/* Gets the trend analytics data related to DNS Services based on given filters and group by field. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DNSServices-1.0.0-resolved.yaml +@param GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-threat-types-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trend-analytics-data-of-d-n-s-services-for-given-set-of-complex-filters */ -func (s *DevicesService) GetThreatTypes() (*ResponseDevicesGetThreatTypes, *resty.Response, error) { - path := "/dna/intent/api/v1/security/threats/type" +func (s *DevicesService) GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters(requestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters *RequestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters, GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams *GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters, *resty.Response, error) { + path := "/dna/data/api/v1/dnsServices/trendAnalytics" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseDevicesGetThreatTypes{}). + SetHeader("Accept", "application/json") + + if GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams != nil { + + if GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters). + SetResult(&ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6512,30 +12647,32 @@ func (s *DevicesService) GetThreatTypes() (*ResponseDevicesGetThreatTypes, *rest } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetThreatTypes() + return s.GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters(requestDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters, GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetThreatTypes") + + return nil, response, fmt.Errorf("error with operation GetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters") } - result := response.Result().(*ResponseDevicesGetThreatTypes) + result := response.Result().(*ResponseDevicesGetTrendAnalyticsDataOfDNSServicesForGivenSetOfComplexFilters) return result, response, err } -//GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters Get the count of health score definitions based on provided filters. - 49aa-bb2c-46ca-b58a -/* Get the count of health score definitions based on provided filters. Supported filters are id, name and overall health include status. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-issueAndHealthDefinitions-1.0.0-resolved.yaml +//GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheService Get trend analytics data for a given DNS Service matching the id of the Service. - 6099-29a8-404a-bf56 +/* Gets the trend analytics data related to a particular DNS Service matching the id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-DNSServices-1.0.0-resolved.yaml -@param GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams Custom header parameters -@param GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams Filtering parameter +@param id id path parameter. Unique id of the DNS Service. It is the combination of DNS Server IP (`serverIp`) and Device UUID (`deviceId`) separated by underscore (`_`). Example: If `serverIp` is `10.76.81.33` and `deviceId` is `6bef213c-19ca-4170-8375-b694e251101c`, then the `id` would be `10.76.81.33_6bef213c-19ca-4170-8375-b694e251101c` -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-count-of-health-score-definitions-based-on-provided-filters-v1 -*/ -func (s *DevicesService) GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters(GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams *GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams, GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams *GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams) (*ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters, *resty.Response, error) { - path := "/intent/api/v1/healthScoreDefinitions/count" +@param GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIdOfTheServiceHeaderParams Custom header parameters - queryString, _ := query.Values(GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trend-analytics-data-for-a-given-d-n-s-service-matching-the-id-of-the-service +*/ +func (s *DevicesService) GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheService(id string, requestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIdOfTheService *RequestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheService, GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIdOfTheServiceHeaderParams *GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceHeaderParams) (*ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheService, *resty.Response, error) { + path := "/dna/data/api/v1/dnsServices/{id}/trendAnalytics" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) var response *resty.Response var err error @@ -6543,18 +12680,19 @@ func (s *DevicesService) GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilte SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams != nil { + if GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIdOfTheServiceHeaderParams != nil { - if GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams.XCaLLERID) + if GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters{}). + SetBody(requestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIdOfTheService). + SetResult(&ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheService{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6562,32 +12700,36 @@ func (s *DevicesService) GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilte } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters(GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersHeaderParams, GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersQueryParams) + return s.GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheService(id, requestDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIdOfTheService, GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIdOfTheServiceHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters") + + return nil, response, fmt.Errorf("error with operation GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIdOfTheService") } - result := response.Result().(*ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFilters) + result := response.Result().(*ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheService) return result, response, err } -//GetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions Gets the total number Network Devices based on the provided complex filters and aggregation functions. - 278f-1a5c-40ab-b65a -/* Gets the total number Network Devices based on the provided complex filters and aggregation functions. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-1.0.2-resolved.yaml +//GetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions Gets the list of interfaces across the Network Devices based on the provided complex filters and aggregation functions - 45b8-ba96-4daa-843c +/* Gets the list of interfaces across the Network Devices based on the provided complex filters and aggregation functions +The elements are grouped and sorted by deviceUuid first, and are then sorted by the given sort field, or by the default value: name. +The supported sorting options are: name, adminStatus, description, duplexConfig, duplexOper, interfaceIfIndex,interfaceType, macAddress,mediaType, operStatus, portChannelId, portMode, portType,speed, vlanId,pdPowerAdminMaxInWatt,pdPowerBudgetInWatt,pdPowerConsumedInWatt,pdPowerRemainingInWatt,pdMaxPowerDrawn. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-interfaces-2.0.0-resolved.yaml -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-total-number-network-devices-based-on-the-provided-complex-filters-and-aggregation-functions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-list-of-interfaces-across-the-network-devices-based-on-the-provided-complex-filters-and-aggregation-functions */ -func (s *DevicesService) GetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions *RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) (*ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions, *resty.Response, error) { - path := "/data/api/v1/networkDevices/query/count" +func (s *DevicesService) GetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions *RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) (*ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions, *resty.Response, error) { + path := "/dna/data/api/v1/interfaces/query" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions). - SetResult(&ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions{}). + SetBody(requestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions). + SetResult(&ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions{}). SetError(&Error). Post(path) @@ -6599,45 +12741,32 @@ func (s *DevicesService) GetsTheTotalNumberNetworkDevicesBasedOnTheProvidedCompl if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) + return s.GetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) } - return nil, response, fmt.Errorf("error with operation GetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions") + return nil, response, fmt.Errorf("error with operation GetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions") } - result := response.Result().(*ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) + result := response.Result().(*ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) return result, response, err } -//QueryAssuranceEventsWithFilters Query assurance events with filters - c5b7-0a69-4409-9b5b -/* Returns the list of events discovered by Catalyst Center, determined by the complex filters. Please refer to the 'API Support Documentation' section to understand which fields are supported. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml +//TheTotalInterfacesCountAcrossTheNetworkDevices The Total interfaces count across the Network devices. - a0bb-1bed-4529-98b1 +/* Gets the total number of interfaces across the Network devices based on the provided complex filters and aggregation functions. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-interfaces-2.0.0-resolved.yaml -@param QueryAssuranceEventsWithFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-assurance-events-with-filters-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-total-interfaces-count-across-the-network-devices */ -func (s *DevicesService) QueryAssuranceEventsWithFilters(requestDevicesQueryAssuranceEventsWithFilters *RequestDevicesQueryAssuranceEventsWithFilters, QueryAssuranceEventsWithFiltersHeaderParams *QueryAssuranceEventsWithFiltersHeaderParams) (*ResponseDevicesQueryAssuranceEventsWithFilters, *resty.Response, error) { - path := "/dna/data/api/v1/assuranceEvents/query" +func (s *DevicesService) TheTotalInterfacesCountAcrossTheNetworkDevices(requestDevicesTheTotalInterfacesCountAcrossTheNetworkDevices *RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevices) (*ResponseDevicesTheTotalInterfacesCountAcrossTheNetworkDevices, *resty.Response, error) { + path := "/dna/data/api/v1/interfaces/query/count" - var response *resty.Response - var err error - clientRequest := s.client.R(). + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") - - if QueryAssuranceEventsWithFiltersHeaderParams != nil { - - if QueryAssuranceEventsWithFiltersHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", QueryAssuranceEventsWithFiltersHeaderParams.XCaLLERID) - } - - } - - response, err = clientRequest. - SetBody(requestDevicesQueryAssuranceEventsWithFilters). - SetResult(&ResponseDevicesQueryAssuranceEventsWithFilters{}). + SetHeader("Accept", "application/json"). + SetBody(requestDevicesTheTotalInterfacesCountAcrossTheNetworkDevices). + SetResult(&ResponseDevicesTheTotalInterfacesCountAcrossTheNetworkDevices{}). SetError(&Error). Post(path) @@ -6649,45 +12778,37 @@ func (s *DevicesService) QueryAssuranceEventsWithFilters(requestDevicesQueryAssu if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.QueryAssuranceEventsWithFilters(requestDevicesQueryAssuranceEventsWithFilters, QueryAssuranceEventsWithFiltersHeaderParams) + return s.TheTotalInterfacesCountAcrossTheNetworkDevices(requestDevicesTheTotalInterfacesCountAcrossTheNetworkDevices) } - return nil, response, fmt.Errorf("error with operation QueryAssuranceEventsWithFilters") + return nil, response, fmt.Errorf("error with operation TheTotalInterfacesCountAcrossTheNetworkDevices") } - result := response.Result().(*ResponseDevicesQueryAssuranceEventsWithFilters) + result := response.Result().(*ResponseDevicesTheTotalInterfacesCountAcrossTheNetworkDevices) return result, response, err } -//CountTheNumberOfEventsWithFilters Count the number of events with filters - d685-3aeb-4878-a8fd -/* API to fetch the count of assurance events for the given complex query. Please refer to the 'API Support Documentation' section to understand which fields are supported. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceEvents-1.0.0-resolved.yaml - - -@param CountTheNumberOfEventsWithFiltersHeaderParams Custom header parameters - -Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-the-number-of-events-with-filters-v1 -*/ -func (s *DevicesService) CountTheNumberOfEventsWithFilters(requestDevicesCountTheNumberOfEventsWithFilters *RequestDevicesCountTheNumberOfEventsWithFilters, CountTheNumberOfEventsWithFiltersHeaderParams *CountTheNumberOfEventsWithFiltersHeaderParams) (*ResponseDevicesCountTheNumberOfEventsWithFilters, *resty.Response, error) { - path := "/dna/data/api/v1/assuranceEvents/query/count" +//TheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange The Trend analytcis data for the interfaces in the specified time range - ed96-48ef-4a98-a0a7 +/* The Trend analytcis data for the interface, identified by its instanceUuid, in the specified time range. The data is grouped based on the trend time Interval, other input parameters like attributes and aggregate attributes. The default time interval range is 3 hours when start and endTime is not provided. +The field trendIntervalInMinutes is requiered and either the attributes or the aggregateAttributes fields is also required. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-interfaces-2.0.0-resolved.yaml - var response *resty.Response - var err error - clientRequest := s.client.R(). - SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") - if CountTheNumberOfEventsWithFiltersHeaderParams != nil { +@param id id path parameter. The interface instance Uuid - if CountTheNumberOfEventsWithFiltersHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", CountTheNumberOfEventsWithFiltersHeaderParams.XCaLLERID) - } - } +Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-trend-analytcis-data-for-the-interfaces-in-the-specified-time-range +*/ +func (s *DevicesService) TheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange(id string, requestDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange *RequestDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange) (*ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange, *resty.Response, error) { + path := "/dna/data/api/v1/interfaces/{id}/trendAnalytics" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - response, err = clientRequest. - SetBody(requestDevicesCountTheNumberOfEventsWithFilters). - SetResult(&ResponseDevicesCountTheNumberOfEventsWithFilters{}). + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange). + SetResult(&ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange{}). SetError(&Error). Post(path) @@ -6699,34 +12820,32 @@ func (s *DevicesService) CountTheNumberOfEventsWithFilters(requestDevicesCountTh if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CountTheNumberOfEventsWithFilters(requestDevicesCountTheNumberOfEventsWithFilters, CountTheNumberOfEventsWithFiltersHeaderParams) + return s.TheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange(id, requestDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange) } - return nil, response, fmt.Errorf("error with operation CountTheNumberOfEventsWithFilters") + return nil, response, fmt.Errorf("error with operation TheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange") } - result := response.Result().(*ResponseDevicesCountTheNumberOfEventsWithFilters) + result := response.Result().(*ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange) return result, response, err } -//GetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions Gets the list of interfaces across the Network Devices based on the provided complex filters and aggregation functions - 45b8-ba96-4daa-843c -/* Gets the list of interfaces across the Network Devices based on the provided complex filters and aggregation functions -The elements are grouped and sorted by deviceUuid first, and are then sorted by the given sort field, or by the default value: name. -The supported sorting options are: name, adminStatus, description, duplexConfig, duplexOper, interfaceIfIndex,interfaceType, macAddress,mediaType, operStatus, portChannelId, portMode, portType,speed, vlanId. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-interfaces-1.0.2-resolved.yaml +//GetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions Gets the list of Network Devices based on the provided complex filters and aggregation functions. - e794-1a90-428b-b583 +/* Gets the list of Network Devices based on the provided complex filters and aggregation functions. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-2.0.1-resolved.yaml -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-list-of-interfaces-across-the-network-devices-based-on-the-provided-complex-filters-and-aggregation-functions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-list-of-network-devices-based-on-the-provided-complex-filters-and-aggregation-functions */ -func (s *DevicesService) GetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions *RequestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) (*ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions, *resty.Response, error) { - path := "/dna/data/api/v1/interfaces/query" +func (s *DevicesService) GetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions *RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) (*ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions, *resty.Response, error) { + path := "/dna/data/api/v1/networkDevices/query" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions). - SetResult(&ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions{}). + SetBody(requestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions). + SetResult(&ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions{}). SetError(&Error). Post(path) @@ -6738,32 +12857,32 @@ func (s *DevicesService) GetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTh if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) + return s.GetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) } - return nil, response, fmt.Errorf("error with operation GetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions") + return nil, response, fmt.Errorf("error with operation GetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions") } - result := response.Result().(*ResponseDevicesGetsTheListOfInterfacesAcrossTheNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) + result := response.Result().(*ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) return result, response, err } -//TheTotalInterfacesCountAcrossTheNetworkDevices The Total interfaces count across the Network devices. - a0bb-1bed-4529-98b1 -/* Gets the total number of interfaces across the Network devices based on the provided complex filters and aggregation functions. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-interfaces-1.0.2-resolved.yaml +//GetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions Gets the total number Network Devices based on the provided complex filters and aggregation functions. - 278f-1a5c-40ab-b65a +/* Gets the total number Network Devices based on the provided complex filters and aggregation functions. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-2.0.1-resolved.yaml -Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-total-interfaces-count-across-the-network-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-total-number-network-devices-based-on-the-provided-complex-filters-and-aggregation-functions */ -func (s *DevicesService) TheTotalInterfacesCountAcrossTheNetworkDevices(requestDevicesTheTotalInterfacesCountAcrossTheNetworkDevices *RequestDevicesTheTotalInterfacesCountAcrossTheNetworkDevices) (*ResponseDevicesTheTotalInterfacesCountAcrossTheNetworkDevices, *resty.Response, error) { - path := "/dna/data/api/v1/interfaces/query/count" +func (s *DevicesService) GetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions *RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) (*ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions, *resty.Response, error) { + path := "/dna/data/api/v1/networkDevices/query/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestDevicesTheTotalInterfacesCountAcrossTheNetworkDevices). - SetResult(&ResponseDevicesTheTotalInterfacesCountAcrossTheNetworkDevices{}). + SetBody(requestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions). + SetResult(&ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions{}). SetError(&Error). Post(path) @@ -6775,32 +12894,32 @@ func (s *DevicesService) TheTotalInterfacesCountAcrossTheNetworkDevices(requestD if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.TheTotalInterfacesCountAcrossTheNetworkDevices(requestDevicesTheTotalInterfacesCountAcrossTheNetworkDevices) + return s.GetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) } - return nil, response, fmt.Errorf("error with operation TheTotalInterfacesCountAcrossTheNetworkDevices") + return nil, response, fmt.Errorf("error with operation GetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions") } - result := response.Result().(*ResponseDevicesTheTotalInterfacesCountAcrossTheNetworkDevices) + result := response.Result().(*ResponseDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) return result, response, err } -//GetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions Gets the list of Network Devices based on the provided complex filters and aggregation functions. - e794-1a90-428b-b583 -/* Gets the list of Network Devices based on the provided complex filters and aggregation functions. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-1.0.2-resolved.yaml +//GetsTheSummaryAnalyticsDataRelatedToNetworkDevices Gets the summary analytics data related to network devices. - 15be-c9ed-4cba-8f91 +/* Gets the summary analytics data related to network devices based on the provided input data. This endpoint helps to obtain the consolidated insights into the performance and status of the monitored network devices. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-2.0.1-resolved.yaml -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-list-of-network-devices-based-on-the-provided-complex-filters-and-aggregation-functions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-summary-analytics-data-related-to-network-devices */ -func (s *DevicesService) GetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions *RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) (*ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions, *resty.Response, error) { - path := "/dna/data/api/v1/networkDevices/query" +func (s *DevicesService) GetsTheSummaryAnalyticsDataRelatedToNetworkDevices(requestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices *RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices) (*ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices, *resty.Response, error) { + path := "/dna/data/api/v1/networkDevices/summaryAnalytics" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions). - SetResult(&ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions{}). + SetBody(requestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices). + SetResult(&ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices{}). SetError(&Error). Post(path) @@ -6812,32 +12931,33 @@ func (s *DevicesService) GetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFil if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions(requestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) + return s.GetsTheSummaryAnalyticsDataRelatedToNetworkDevices(requestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices) } - return nil, response, fmt.Errorf("error with operation GetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions") + return nil, response, fmt.Errorf("error with operation GetsTheSummaryAnalyticsDataRelatedToNetworkDevices") } - result := response.Result().(*ResponseDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctions) + result := response.Result().(*ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices) return result, response, err } -//GetsTheSummaryAnalyticsDataRelatedToNetworkDevices Gets the summary analytics data related to network devices. - 15be-c9ed-4cba-8f91 -/* Gets the summary analytics data related to network devices based on the provided input data. This endpoint helps to obtain the consolidated insights into the performance and status of the monitored network devices. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-1.0.2-resolved.yaml +//GetsTheTopNAnalyticsDataRelatedToNetworkDevices Gets the Top-N analytics data related to network devices. - 5b94-cae7-4acb-a8fe +/* Gets the Top N analytics data related to network devices based on the provided input data. This endpoint is valuable to obtain the top-performing or most impacted network devices. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-2.0.1-resolved.yaml +The required properties for this API are topN and groupBy -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-summary-analytics-data-related-to-network-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-top-n-analytics-data-related-to-network-devices */ -func (s *DevicesService) GetsTheSummaryAnalyticsDataRelatedToNetworkDevices(requestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices *RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices) (*ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices, *resty.Response, error) { - path := "/dna/data/api/v1/networkDevices/summaryAnalytics" +func (s *DevicesService) GetsTheTopNAnalyticsDataRelatedToNetworkDevices(requestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevices *RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevices) (*ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevices, *resty.Response, error) { + path := "/dna/data/api/v1/networkDevices/topNAnalytics" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices). - SetResult(&ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices{}). + SetBody(requestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevices). + SetResult(&ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevices{}). SetError(&Error). Post(path) @@ -6849,23 +12969,23 @@ func (s *DevicesService) GetsTheSummaryAnalyticsDataRelatedToNetworkDevices(requ if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetsTheSummaryAnalyticsDataRelatedToNetworkDevices(requestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices) + return s.GetsTheTopNAnalyticsDataRelatedToNetworkDevices(requestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevices) } - return nil, response, fmt.Errorf("error with operation GetsTheSummaryAnalyticsDataRelatedToNetworkDevices") + return nil, response, fmt.Errorf("error with operation GetsTheTopNAnalyticsDataRelatedToNetworkDevices") } - result := response.Result().(*ResponseDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevices) + result := response.Result().(*ResponseDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevices) return result, response, err } //GetsTheTrendAnalyticsData Gets the Trend analytics data. - 0c93-595e-451b-910e -/* Gets the Trend analytics Network device data for the given time range. The data will be grouped based on the given trend time Interval. The required property for this API is `trendInterval`. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-1.0.2-resolved.yaml +/* Gets the Trend analytics Network device data for the given time range. The data will be grouped based on the given trend time Interval. The required property for this API is `trendInterval`. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-2.0.1-resolved.yaml -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-trend-analytics-data-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-trend-analytics-data */ func (s *DevicesService) GetsTheTrendAnalyticsData(requestDevicesGetsTheTrendAnalyticsData *RequestDevicesGetsTheTrendAnalyticsData) (*ResponseDevicesGetsTheTrendAnalyticsData, *resty.Response, error) { path := "/dna/data/api/v1/networkDevices/trendAnalytics" @@ -6898,13 +13018,13 @@ func (s *DevicesService) GetsTheTrendAnalyticsData(requestDevicesGetsTheTrendAna } //TheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRange The Trend analytics data for the network Device in the specified time range - 00ba-7a81-431b-93e7 -/* The Trend analytics data for the network Device in the specified time range. The data is grouped based on the trend time Interval, other input parameters like attribute and aggregate attributes. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-1.0.2-resolved.yaml +/* The Trend analytics data for the network Device in the specified time range. The data is grouped based on the trend time Interval, other input parameters like attribute and aggregate attributes. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceNetworkDevices-2.0.1-resolved.yaml @param id id path parameter. The device Uuid -Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-trend-analytics-data-for-the-network-device-in-the-specified-time-range-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-trend-analytics-data-for-the-network-device-in-the-specified-time-range */ func (s *DevicesService) TheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRange(id string, requestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRange *RequestDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRange) (*ResponseDevicesTheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedTimeRange, *resty.Response, error) { path := "/dna/data/api/v1/networkDevices/{id}/trendAnalytics" @@ -6944,7 +13064,7 @@ func (s *DevicesService) TheTrendAnalyticsDataForTheNetworkDeviceInTheSpecifiedT @param floorID floorId path parameter. The instance UUID of the floor hierarchy element -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-planned-access-point-for-floor-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-planned-access-point-for-floor */ func (s *DevicesService) CreatePlannedAccessPointForFloor(floorID string, requestDevicesCreatePlannedAccessPointForFloor *RequestDevicesCreatePlannedAccessPointForFloor) (*ResponseDevicesCreatePlannedAccessPointForFloor, *resty.Response, error) { path := "/dna/intent/api/v1/floors/{floorId}/planned-access-points" @@ -6984,7 +13104,7 @@ And also to synchronize with global profile issue thresholds of the definition f @param UpdateHealthScoreDefinitionsHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!update-health-score-definitions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!update-health-score-definitions */ func (s *DevicesService) UpdateHealthScoreDefinitions(requestDevicesUpdateHealthScoreDefinitions *RequestDevicesUpdateHealthScoreDefinitions, UpdateHealthScoreDefinitionsHeaderParams *UpdateHealthScoreDefinitionsHeaderParams) (*ResponseDevicesUpdateHealthScoreDefinitions, *resty.Response, error) { path := "/dna/intent/api/v1/healthScoreDefinitions/bulkUpdate" @@ -7036,7 +13156,7 @@ func (s *DevicesService) UpdateHealthScoreDefinitions(requestDevicesUpdateHealth @param ClearMacAddressTableQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!clear-mac-address-table-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!clear-mac-address-table */ func (s *DevicesService) ClearMacAddressTable(interfaceUUID string, requestDevicesClearMacAddressTable *RequestDevicesClearMacAddressTable, ClearMacAddressTableQueryParams *ClearMacAddressTableQueryParams) (*ResponseDevicesClearMacAddressTable, *resty.Response, error) { path := "/dna/intent/api/v1/interface/{interfaceUuid}/operation" @@ -7076,7 +13196,7 @@ func (s *DevicesService) ClearMacAddressTable(interfaceUUID string, requestDevic -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-device-know-your-network-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-device-know-your-network */ func (s *DevicesService) AddDeviceKnowYourNetwork(requestDevicesAddDeviceKnowYourNetwork *RequestDevicesAddDeviceKnowYourNetwork) (*ResponseDevicesAddDeviceKnowYourNetwork, *resty.Response, error) { path := "/dna/intent/api/v1/network-device" @@ -7113,7 +13233,7 @@ func (s *DevicesService) AddDeviceKnowYourNetwork(requestDevicesAddDeviceKnowYou -Documentation Link: https://developer.cisco.com/docs/dna-center/#!export-device-list-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!export-device-list */ func (s *DevicesService) ExportDeviceList(requestDevicesExportDeviceList *RequestDevicesExportDeviceList) (*ResponseDevicesExportDeviceList, *resty.Response, error) { path := "/dna/intent/api/v1/network-device/file" @@ -7150,7 +13270,7 @@ func (s *DevicesService) ExportDeviceList(requestDevicesExportDeviceList *Reques -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-user-defined-field-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-user-defined-field */ func (s *DevicesService) CreateUserDefinedField(requestDevicesCreateUserDefinedField *RequestDevicesCreateUserDefinedField) (*ResponseDevicesCreateUserDefinedField, *resty.Response, error) { path := "/dna/intent/api/v1/network-device/user-defined-field" @@ -7182,12 +13302,197 @@ func (s *DevicesService) CreateUserDefinedField(requestDevicesCreateUserDefinedF } +//CreateMaintenanceScheduleForNetworkDevices Create maintenance schedule for network devices - 0a8a-6859-4dca-b635 +/* API to create maintenance schedule for network devices. The state of network device can be queried using API `GET /dna/intent/api/v1/networkDevices`. The `managementState` attribute of the network device will be updated to `UNDER_MAINTENANCE` when the maintenance window starts. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-maintenance-schedule-for-network-devices +*/ +func (s *DevicesService) CreateMaintenanceScheduleForNetworkDevices(requestDevicesCreateMaintenanceScheduleForNetworkDevices *RequestDevicesCreateMaintenanceScheduleForNetworkDevices) (*ResponseDevicesCreateMaintenanceScheduleForNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceMaintenanceSchedules" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestDevicesCreateMaintenanceScheduleForNetworkDevices). + SetResult(&ResponseDevicesCreateMaintenanceScheduleForNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateMaintenanceScheduleForNetworkDevices(requestDevicesCreateMaintenanceScheduleForNetworkDevices) + } + + return nil, response, fmt.Errorf("error with operation CreateMaintenanceScheduleForNetworkDevices") + } + + result := response.Result().(*ResponseDevicesCreateMaintenanceScheduleForNetworkDevices) + return result, response, err + +} + +//DeleteNetworkDeviceWithConfigurationCleanup Delete network device with configuration cleanup - 5080-5a46-4bbb-8ec0 +/* This API endpoint facilitates the deletion of a network device after performing configuration cleanup on the device. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-network-device-with-configuration-cleanup +*/ +func (s *DevicesService) DeleteNetworkDeviceWithConfigurationCleanup(requestDevicesDeleteNetworkDeviceWithConfigurationCleanup *RequestDevicesDeleteNetworkDeviceWithConfigurationCleanup) (*ResponseDevicesDeleteNetworkDeviceWithConfigurationCleanup, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDevices/deleteWithCleanup" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestDevicesDeleteNetworkDeviceWithConfigurationCleanup). + SetResult(&ResponseDevicesDeleteNetworkDeviceWithConfigurationCleanup{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteNetworkDeviceWithConfigurationCleanup(requestDevicesDeleteNetworkDeviceWithConfigurationCleanup) + } + + return nil, response, fmt.Errorf("error with operation DeleteNetworkDeviceWithConfigurationCleanup") + } + + result := response.Result().(*ResponseDevicesDeleteNetworkDeviceWithConfigurationCleanup) + return result, response, err + +} + +//DeleteANetworkDeviceWithoutConfigurationCleanup Delete a network device without configuration cleanup - 9a88-7984-4ba8-ab1c +/* This API endpoint facilitates the deletion of a network device without performing configuration cleanup on the device. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-a-network-device-without-configuration-cleanup +*/ +func (s *DevicesService) DeleteANetworkDeviceWithoutConfigurationCleanup(requestDevicesDeleteANetworkDeviceWithoutConfigurationCleanup *RequestDevicesDeleteANetworkDeviceWithoutConfigurationCleanup) (*ResponseDevicesDeleteANetworkDeviceWithoutConfigurationCleanup, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDevices/deleteWithoutCleanup" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestDevicesDeleteANetworkDeviceWithoutConfigurationCleanup). + SetResult(&ResponseDevicesDeleteANetworkDeviceWithoutConfigurationCleanup{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteANetworkDeviceWithoutConfigurationCleanup(requestDevicesDeleteANetworkDeviceWithoutConfigurationCleanup) + } + + return nil, response, fmt.Errorf("error with operation DeleteANetworkDeviceWithoutConfigurationCleanup") + } + + result := response.Result().(*ResponseDevicesDeleteANetworkDeviceWithoutConfigurationCleanup) + return result, response, err + +} + +//QueryNetworkDevicesWithFilters Query network devices with filters - 0caa-2abb-490a-8e69 +/* Returns the list of network devices, determined by the filters. It is possible to filter the network devices based on various parameters, such as device type, device role, software version, etc. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-network-devices-with-filters +*/ +func (s *DevicesService) QueryNetworkDevicesWithFilters(requestDevicesQueryNetworkDevicesWithFilters *RequestDevicesQueryNetworkDevicesWithFilters) (*ResponseDevicesQueryNetworkDevicesWithFilters, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDevices/query" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestDevicesQueryNetworkDevicesWithFilters). + SetResult(&ResponseDevicesQueryNetworkDevicesWithFilters{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.QueryNetworkDevicesWithFilters(requestDevicesQueryNetworkDevicesWithFilters) + } + + return nil, response, fmt.Errorf("error with operation QueryNetworkDevicesWithFilters") + } + + result := response.Result().(*ResponseDevicesQueryNetworkDevicesWithFilters) + return result, response, err + +} + +//CountTheNumberOfNetworkDevicesWithFilters Count the number of network devices with filters - 83a1-08b8-471b-9820 +/* API to fetch the count of network devices for the given filter query. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-the-number-of-network-devices-with-filters +*/ +func (s *DevicesService) CountTheNumberOfNetworkDevicesWithFilters(requestDevicesCountTheNumberOfNetworkDevicesWithFilters *RequestDevicesCountTheNumberOfNetworkDevicesWithFilters) (*ResponseDevicesCountTheNumberOfNetworkDevicesWithFilters, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDevices/query/count" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestDevicesCountTheNumberOfNetworkDevicesWithFilters). + SetResult(&ResponseDevicesCountTheNumberOfNetworkDevicesWithFilters{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CountTheNumberOfNetworkDevicesWithFilters(requestDevicesCountTheNumberOfNetworkDevicesWithFilters) + } + + return nil, response, fmt.Errorf("error with operation CountTheNumberOfNetworkDevicesWithFilters") + } + + result := response.Result().(*ResponseDevicesCountTheNumberOfNetworkDevicesWithFilters) + return result, response, err + +} + //OverrideResyncInterval Override resync interval - 42ac-59bd-41db-a4fe /* Overrides the global resync interval on all network devices. This essentially removes device specific intervals if set. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!override-resync-interval-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!override-resync-interval */ func (s *DevicesService) OverrideResyncInterval() (*ResponseDevicesOverrideResyncInterval, *resty.Response, error) { path := "/dna/intent/api/v1/networkDevices/resyncIntervalSettings/override" @@ -7223,7 +13528,7 @@ func (s *DevicesService) OverrideResyncInterval() (*ResponseDevicesOverrideResyn -Documentation Link: https://developer.cisco.com/docs/dna-center/#!rogue-additional-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!rogue-additional-details */ func (s *DevicesService) RogueAdditionalDetails(requestDevicesRogueAdditionalDetails *RequestDevicesRogueAdditionalDetails) (*ResponseDevicesRogueAdditionalDetails, *resty.Response, error) { path := "/dna/intent/api/v1/security/rogue/additional/details" @@ -7260,7 +13565,7 @@ func (s *DevicesService) RogueAdditionalDetails(requestDevicesRogueAdditionalDet -Documentation Link: https://developer.cisco.com/docs/dna-center/#!rogue-additional-detail-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!rogue-additional-detail-count */ func (s *DevicesService) RogueAdditionalDetailCount(requestDevicesRogueAdditionalDetailCount *RequestDevicesRogueAdditionalDetailCount) (*ResponseDevicesRogueAdditionalDetailCount, *resty.Response, error) { path := "/dna/intent/api/v1/security/rogue/additional/details/count" @@ -7297,7 +13602,7 @@ func (s *DevicesService) RogueAdditionalDetailCount(requestDevicesRogueAdditiona -Documentation Link: https://developer.cisco.com/docs/dna-center/#!start-wireless-rogue-ap-containment-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!start-wireless-rogue-ap-containment */ func (s *DevicesService) StartWirelessRogueApContainment(requestDevicesStartWirelessRogueAPContainment *RequestDevicesStartWirelessRogueApContainment) (*ResponseDevicesStartWirelessRogueApContainment, *resty.Response, error) { path := "/dna/intent/api/v1/security/rogue/wireless-containment/start" @@ -7334,7 +13639,7 @@ func (s *DevicesService) StartWirelessRogueApContainment(requestDevicesStartWire -Documentation Link: https://developer.cisco.com/docs/dna-center/#!stop-wireless-rogue-ap-containment-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!stop-wireless-rogue-ap-containment */ func (s *DevicesService) StopWirelessRogueApContainment(requestDevicesStopWirelessRogueAPContainment *RequestDevicesStopWirelessRogueApContainment) (*ResponseDevicesStopWirelessRogueApContainment, *resty.Response, error) { path := "/dna/intent/api/v1/security/rogue/wireless-containment/stop" @@ -7371,7 +13676,7 @@ func (s *DevicesService) StopWirelessRogueApContainment(requestDevicesStopWirele -Documentation Link: https://developer.cisco.com/docs/dna-center/#!threat-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!threat-details */ func (s *DevicesService) ThreatDetails(requestDevicesThreatDetails *RequestDevicesThreatDetails) (*ResponseDevicesThreatDetails, *resty.Response, error) { path := "/dna/intent/api/v1/security/threats/details" @@ -7408,7 +13713,7 @@ func (s *DevicesService) ThreatDetails(requestDevicesThreatDetails *RequestDevic -Documentation Link: https://developer.cisco.com/docs/dna-center/#!threat-detail-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!threat-detail-count */ func (s *DevicesService) ThreatDetailCount(requestDevicesThreatDetailCount *RequestDevicesThreatDetailCount) (*ResponseDevicesThreatDetailCount, *resty.Response, error) { path := "/dna/intent/api/v1/security/threats/details/count" @@ -7445,7 +13750,7 @@ func (s *DevicesService) ThreatDetailCount(requestDevicesThreatDetailCount *Requ -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-allowed-mac-address-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-allowed-mac-address */ func (s *DevicesService) AddAllowedMacAddress(requestDevicesAddAllowedMacAddress *RequestDevicesAddAllowedMacAddress) (*ResponseDevicesAddAllowedMacAddress, *resty.Response, error) { path := "/dna/intent/api/v1/security/threats/rogue/allowed-list" @@ -7482,7 +13787,7 @@ func (s *DevicesService) AddAllowedMacAddress(requestDevicesAddAllowedMacAddress -Documentation Link: https://developer.cisco.com/docs/dna-center/#!threat-summary-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!threat-summary */ func (s *DevicesService) ThreatSummary(requestDevicesThreatSummary *RequestDevicesThreatSummary) (*ResponseDevicesThreatSummary, *resty.Response, error) { path := "/dna/intent/api/v1/security/threats/summary" @@ -7876,6 +14181,42 @@ func (s *DevicesService) UpdateDeviceManagementAddress(deviceid string, requestD } +//UpdatesTheMaintenanceScheduleInformation Updates the maintenance schedule information - 8cb8-5ae3-4a2b-8a08 +/* API to update the maintenance schedule for the network devices. The `maintenanceSchedule` can be updated only if the `status` value is `UPCOMING` or `IN_PROGRESS`. User can exit `IN_PROGRESS` maintenance window by setting the `endTime` to -1. This will update the endTime to the current time and exit the maintenance window immediately. When exiting the maintenance window, only the endTime will be updated while other parameters remain read-only. + + +@param id id path parameter. Unique identifier for the maintenance schedule + +*/ +func (s *DevicesService) UpdatesTheMaintenanceScheduleInformation(id string, requestDevicesUpdatesTheMaintenanceScheduleInformation *RequestDevicesUpdatesTheMaintenanceScheduleInformation) (*ResponseDevicesUpdatesTheMaintenanceScheduleInformation, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceMaintenanceSchedules/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestDevicesUpdatesTheMaintenanceScheduleInformation). + SetResult(&ResponseDevicesUpdatesTheMaintenanceScheduleInformation{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdatesTheMaintenanceScheduleInformation(id, requestDevicesUpdatesTheMaintenanceScheduleInformation) + } + return nil, response, fmt.Errorf("error with operation UpdatesTheMaintenanceScheduleInformation") + } + + result := response.Result().(*ResponseDevicesUpdatesTheMaintenanceScheduleInformation) + return result, response, err + +} + //UpdateGlobalResyncInterval Update global resync interval - 25b5-39b4-4609-9e2a /* Updates the resync interval (in minutes) globally for devices which do not have custom resync interval. To override this setting for all network devices refer to [/networkDevices/resyncIntervalSettings/override] @@ -7956,7 +14297,7 @@ func (s *DevicesService) UpdateResyncIntervalForTheNetworkDevice(id string, requ @param plannedAccessPointUUID plannedAccessPointUuid path parameter. The instance UUID of the planned access point to delete -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-planned-access-point-for-floor-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-planned-access-point-for-floor */ func (s *DevicesService) DeletePlannedAccessPointForFloor(floorID string, plannedAccessPointUUID string) (*ResponseDevicesDeletePlannedAccessPointForFloor, *resty.Response, error) { //floorID string,plannedAccessPointUUID string @@ -7978,8 +14319,7 @@ func (s *DevicesService) DeletePlannedAccessPointForFloor(floorID string, planne if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletePlannedAccessPointForFloor( - floorID, plannedAccessPointUUID) + return s.DeletePlannedAccessPointForFloor(floorID, plannedAccessPointUUID) } return nil, response, fmt.Errorf("error with operation DeletePlannedAccessPointForFloor") } @@ -7996,7 +14336,7 @@ func (s *DevicesService) DeletePlannedAccessPointForFloor(floorID string, planne @param id id path parameter. UDF id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-user-defined-field-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-user-defined-field */ func (s *DevicesService) DeleteUserDefinedField(id string) (*ResponseDevicesDeleteUserDefinedField, *resty.Response, error) { //id string @@ -8017,8 +14357,7 @@ func (s *DevicesService) DeleteUserDefinedField(id string) (*ResponseDevicesDele if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteUserDefinedField( - id) + return s.DeleteUserDefinedField(id) } return nil, response, fmt.Errorf("error with operation DeleteUserDefinedField") } @@ -8036,7 +14375,7 @@ func (s *DevicesService) DeleteUserDefinedField(id string) (*ResponseDevicesDele @param RemoveUserDefinedFieldFromDeviceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-user-defined-field-from-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-user-defined-field-from-device */ func (s *DevicesService) RemoveUserDefinedFieldFromDevice(deviceID string, RemoveUserDefinedFieldFromDeviceQueryParams *RemoveUserDefinedFieldFromDeviceQueryParams) (*ResponseDevicesRemoveUserDefinedFieldFromDevice, *resty.Response, error) { //deviceID string,RemoveUserDefinedFieldFromDeviceQueryParams *RemoveUserDefinedFieldFromDeviceQueryParams @@ -8059,8 +14398,7 @@ func (s *DevicesService) RemoveUserDefinedFieldFromDevice(deviceID string, Remov if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RemoveUserDefinedFieldFromDevice( - deviceID, RemoveUserDefinedFieldFromDeviceQueryParams) + return s.RemoveUserDefinedFieldFromDevice(deviceID, RemoveUserDefinedFieldFromDeviceQueryParams) } return nil, response, fmt.Errorf("error with operation RemoveUserDefinedFieldFromDevice") } @@ -8078,7 +14416,7 @@ func (s *DevicesService) RemoveUserDefinedFieldFromDevice(deviceID string, Remov @param DeleteDeviceByIdQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-device-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-device-by-id */ func (s *DevicesService) DeleteDeviceByID(id string, DeleteDeviceByIdQueryParams *DeleteDeviceByIDQueryParams) (*ResponseDevicesDeleteDeviceByID, *resty.Response, error) { //id string,DeleteDeviceByIdQueryParams *DeleteDeviceByIDQueryParams @@ -8101,8 +14439,7 @@ func (s *DevicesService) DeleteDeviceByID(id string, DeleteDeviceByIdQueryParams if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteDeviceByID( - id, DeleteDeviceByIdQueryParams) + return s.DeleteDeviceByID(id, DeleteDeviceByIdQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteDeviceById") } @@ -8112,6 +14449,44 @@ func (s *DevicesService) DeleteDeviceByID(id string, DeleteDeviceByIdQueryParams } +//DeleteMaintenanceSchedule Delete maintenance schedule. - f5b4-5b47-402a-a14a +/* API to delete maintenance schedule by id. Deletion is allowed if the maintenance window is in the `UPCOMING`, `COMPLETED`, or `FAILED` state. Deletion of maintenance schedule is not allowed if the maintenance window is currently `IN_PROGRESS`. To delete the maintenance schedule while it is `IN_PROGRESS`, first exit the current maintenance window using `PUT /dna/intent/api/v1/networkDeviceMaintenanceSchedules/{id}` API, and then proceed to delete the maintenance schedule. + + +@param id id path parameter. Unique identifier for the maintenance schedule + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-maintenance-schedule +*/ +func (s *DevicesService) DeleteMaintenanceSchedule(id string) (*ResponseDevicesDeleteMaintenanceSchedule, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/networkDeviceMaintenanceSchedules/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseDevicesDeleteMaintenanceSchedule{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteMaintenanceSchedule(id) + } + return nil, response, fmt.Errorf("error with operation DeleteMaintenanceSchedule") + } + + result := response.Result().(*ResponseDevicesDeleteMaintenanceSchedule) + return result, response, err + +} + //RemoveAllowedMacAddress Remove Allowed Mac Address - c8ac-a91b-4c5a-9b5c /* Intent API to remove the threat mac address from allowed list. @@ -8119,7 +14494,7 @@ func (s *DevicesService) DeleteDeviceByID(id string, DeleteDeviceByIdQueryParams @param macAddress macAddress path parameter. Threat mac address which needs to be removed from the allowed list. Multiple mac addresses will be removed if provided as comma separated values (example: 00:2A:10:51:22:43,00:2A:10:51:22:44). Note: In one request, maximum 100 mac addresses can be removed. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-allowed-mac-address-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-allowed-mac-address */ func (s *DevicesService) RemoveAllowedMacAddress(macAddress string) (*ResponseDevicesRemoveAllowedMacAddress, *resty.Response, error) { //macAddress string @@ -8140,8 +14515,7 @@ func (s *DevicesService) RemoveAllowedMacAddress(macAddress string) (*ResponseDe if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RemoveAllowedMacAddress( - macAddress) + return s.RemoveAllowedMacAddress(macAddress) } return nil, response, fmt.Errorf("error with operation RemoveAllowedMacAddress") } diff --git a/sdk/disaster_recovery.go b/sdk/disaster_recovery.go index cbb6109..da22c19 100644 --- a/sdk/disaster_recovery.go +++ b/sdk/disaster_recovery.go @@ -125,7 +125,7 @@ type ResponseDisasterRecoveryDisasterRecoveryStatusIPsecTunnel struct { -Documentation Link: https://developer.cisco.com/docs/dna-center/#!disaster-recovery-operational-status-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!disaster-recovery-operational-status */ func (s *DisasterRecoveryService) DisasterRecoveryOperationalStatus() (*ResponseDisasterRecoveryDisasterRecoveryOperationalStatus, *resty.Response, error) { path := "/dna/intent/api/v1/disasterrecovery/system/operationstatus" @@ -159,7 +159,7 @@ func (s *DisasterRecoveryService) DisasterRecoveryOperationalStatus() (*Response -Documentation Link: https://developer.cisco.com/docs/dna-center/#!disaster-recovery-status-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!disaster-recovery-status */ func (s *DisasterRecoveryService) DisasterRecoveryStatus() (*ResponseDisasterRecoveryDisasterRecoveryStatus, *resty.Response, error) { path := "/dna/intent/api/v1/disasterrecovery/system/status" diff --git a/sdk/discovery.go b/sdk/discovery.go index 26097fb..4165e4a 100644 --- a/sdk/discovery.go +++ b/sdk/discovery.go @@ -19,7 +19,7 @@ type GetDiscoveryJobsByIPQueryParams struct { } type GetListOfDiscoveriesByDiscoveryIDQueryParams struct { Offset int `url:"offset,omitempty"` //Starting index for the records - Limit int `url:"limit,omitempty"` //Number of records to fetch from the starting index + Limit int `url:"limit,omitempty"` //Number of records to fetch from the starting index. Min: 1, Max: 500 IPAddress string `url:"ipAddress,omitempty"` //Filter records based on IP address } type GetDiscoveredNetworkDevicesByDiscoveryIDQueryParams struct { @@ -427,598 +427,935 @@ type ResponseDiscoveryCreateCliCredentialsResponse struct { } type ResponseDiscoveryCreateHTTPReadCredentials struct { Response *ResponseDiscoveryCreateHTTPReadCredentialsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryCreateHTTPReadCredentialsResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryUpdateHTTPReadCredential struct { Response *ResponseDiscoveryUpdateHTTPReadCredentialResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryUpdateHTTPReadCredentialResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryUpdateHTTPWriteCredentials struct { Response *ResponseDiscoveryUpdateHTTPWriteCredentialsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryUpdateHTTPWriteCredentialsResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryCreateHTTPWriteCredentials struct { Response *ResponseDiscoveryCreateHTTPWriteCredentialsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryCreateHTTPWriteCredentialsResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryUpdateNetconfCredentials struct { Response *ResponseDiscoveryUpdateNetconfCredentialsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryUpdateNetconfCredentialsResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryCreateNetconfCredentials struct { Response *ResponseDiscoveryCreateNetconfCredentialsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryCreateNetconfCredentialsResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryUpdateSNMPReadCommunity struct { Response *ResponseDiscoveryUpdateSNMPReadCommunityResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryUpdateSNMPReadCommunityResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryCreateSNMPReadCommunity struct { Response *ResponseDiscoveryCreateSNMPReadCommunityResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryCreateSNMPReadCommunityResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryCreateSNMPWriteCommunity struct { Response *ResponseDiscoveryCreateSNMPWriteCommunityResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryCreateSNMPWriteCommunityResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryUpdateSNMPWriteCommunity struct { Response *ResponseDiscoveryUpdateSNMPWriteCommunityResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryUpdateSNMPWriteCommunityResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryUpdateSNMPv3Credentials struct { Response *ResponseDiscoveryUpdateSNMPv3CredentialsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryUpdateSNMPv3CredentialsResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryCreateSNMPv3Credentials struct { Response *ResponseDiscoveryCreateSNMPv3CredentialsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryCreateSNMPv3CredentialsResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryDeleteGlobalCredentialsByID struct { Response *ResponseDiscoveryDeleteGlobalCredentialsByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryDeleteGlobalCredentialsByIDResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryUpdateGlobalCredentials struct { Response *ResponseDiscoveryUpdateGlobalCredentialsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryUpdateGlobalCredentialsResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryGetCredentialSubTypeByCredentialID struct { Response string `json:"response,omitempty"` // Credential type as 'CLICredential', 'HTTPReadCredential', 'HTTPWriteCredential', 'NetconfCredential', 'SNMPv2ReadCommunity', 'SNMPv2WriteCommunity', 'SNMPv3Credential' - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryGetSNMPProperties struct { Response *[]ResponseDiscoveryGetSNMPPropertiesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryGetSNMPPropertiesResponse struct { - ID string `json:"id,omitempty"` // Id of the SNMP Property - InstanceTenantID string `json:"instanceTenantId,omitempty"` // [Deprecated] InstanceTenantId of the SNMP Property - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the SNMP Property. It is the same as the id. It will be deprecated in future version. - IntValue *int `json:"intValue,omitempty"` // Integer Value of the SNMP 'Retry' or 'Timeout' property + ID string `json:"id,omitempty"` // Id of the SNMP Property + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // [Deprecated] InstanceTenantId of the SNMP Property + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of the SNMP Property. It is the same as the id. It will be deprecated in future version. + + IntValue *int `json:"intValue,omitempty"` // Integer Value of the SNMP 'Retry' or 'Timeout' property + SystemPropertyName string `json:"systemPropertyName,omitempty"` // Name of the SNMP Property as 'Retry' or 'Timeout' } type ResponseDiscoveryCreateUpdateSNMPProperties struct { Response *ResponseDiscoveryCreateUpdateSNMPPropertiesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseDiscoveryCreateUpdateSNMPPropertiesResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseDiscoveryUpdateGlobalCredentialsV2 struct { Response *ResponseDiscoveryUpdateGlobalCredentialsV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDiscoveryUpdateGlobalCredentialsV2Response struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseDiscoveryCreateGlobalCredentialsV2 struct { Response *ResponseDiscoveryCreateGlobalCredentialsV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDiscoveryCreateGlobalCredentialsV2Response struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseDiscoveryGetAllGlobalCredentialsV2 struct { Response *ResponseDiscoveryGetAllGlobalCredentialsV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDiscoveryGetAllGlobalCredentialsV2Response struct { CliCredential *[]ResponseDiscoveryGetAllGlobalCredentialsV2ResponseCliCredential `json:"cliCredential,omitempty"` // - SNMPV2CRead *[]ResponseDiscoveryGetAllGlobalCredentialsV2ResponseSNMPV2CRead `json:"snmpV2cRead,omitempty"` // - SNMPV2CWrite *[]ResponseDiscoveryGetAllGlobalCredentialsV2ResponseSNMPV2CWrite `json:"snmpV2cWrite,omitempty"` // - HTTPSRead *[]ResponseDiscoveryGetAllGlobalCredentialsV2ResponseHTTPSRead `json:"httpsRead,omitempty"` // - HTTPSWrite *[]ResponseDiscoveryGetAllGlobalCredentialsV2ResponseHTTPSWrite `json:"httpsWrite,omitempty"` // - SNMPV3 *[]ResponseDiscoveryGetAllGlobalCredentialsV2ResponseSNMPV3 `json:"snmpV3,omitempty"` // + + SNMPV2CRead *[]ResponseDiscoveryGetAllGlobalCredentialsV2ResponseSNMPV2CRead `json:"snmpV2cRead,omitempty"` // + + SNMPV2CWrite *[]ResponseDiscoveryGetAllGlobalCredentialsV2ResponseSNMPV2CWrite `json:"snmpV2cWrite,omitempty"` // + + HTTPSRead *[]ResponseDiscoveryGetAllGlobalCredentialsV2ResponseHTTPSRead `json:"httpsRead,omitempty"` // + + HTTPSWrite *[]ResponseDiscoveryGetAllGlobalCredentialsV2ResponseHTTPSWrite `json:"httpsWrite,omitempty"` // + + SNMPV3 *[]ResponseDiscoveryGetAllGlobalCredentialsV2ResponseSNMPV3 `json:"snmpV3,omitempty"` // } type ResponseDiscoveryGetAllGlobalCredentialsV2ResponseCliCredential struct { - Password string `json:"password,omitempty"` // CLI Password - Username string `json:"username,omitempty"` // CLI Username - EnablePassword string `json:"enablePassword,omitempty"` // CLI Enable Password - Description string `json:"description,omitempty"` // Description of the CLI credential - Comments string `json:"comments,omitempty"` // Comments to identify the CLI credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the CLI credential + Password string `json:"password,omitempty"` // CLI Password + + Username string `json:"username,omitempty"` // CLI Username + + EnablePassword string `json:"enablePassword,omitempty"` // CLI Enable Password + + Description string `json:"description,omitempty"` // Description of the CLI credential + + Comments string `json:"comments,omitempty"` // Comments to identify the CLI credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the CLI credential + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of CLI Credential - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of CLI Credential - ID string `json:"id,omitempty"` // Id of the CLI Credential + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of CLI Credential + + ID string `json:"id,omitempty"` // Id of the CLI Credential } type ResponseDiscoveryGetAllGlobalCredentialsV2ResponseSNMPV2CRead struct { - ReadCommunity string `json:"readCommunity,omitempty"` // Snmp RO community - Description string `json:"description,omitempty"` // Description for Snmp RO community - Comments string `json:"comments,omitempty"` // Comments to identify the SNMP Read credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the SNMP Read credential + ReadCommunity string `json:"readCommunity,omitempty"` // Snmp RO community + + Description string `json:"description,omitempty"` // Description for Snmp RO community + + Comments string `json:"comments,omitempty"` // Comments to identify the SNMP Read credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the SNMP Read credential + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of SNMP Read Credential - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of SNMP Read Credential - ID string `json:"id,omitempty"` // Id of the SNMP Read Credential + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of SNMP Read Credential + + ID string `json:"id,omitempty"` // Id of the SNMP Read Credential } type ResponseDiscoveryGetAllGlobalCredentialsV2ResponseSNMPV2CWrite struct { - WriteCommunity string `json:"writeCommunity,omitempty"` // Snmp RW community - Description string `json:"description,omitempty"` // Description for Snmp RW community - Comments string `json:"comments,omitempty"` // Comments to identify the SNMP Write credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the SNMP Write credential + WriteCommunity string `json:"writeCommunity,omitempty"` // Snmp RW community + + Description string `json:"description,omitempty"` // Description for Snmp RW community + + Comments string `json:"comments,omitempty"` // Comments to identify the SNMP Write credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the SNMP Write credential + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of SNMP Write Credential - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of SNMP Write Credential - ID string `json:"id,omitempty"` // Id of SNMP Write Credential + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of SNMP Write Credential + + ID string `json:"id,omitempty"` // Id of SNMP Write Credential } type ResponseDiscoveryGetAllGlobalCredentialsV2ResponseHTTPSRead struct { - Password string `json:"password,omitempty"` // HTTP(S) Read Password - Port *int `json:"port,omitempty"` // HTTP(S) Port - Username string `json:"username,omitempty"` // HTTP(S) Read Username - Secure *bool `json:"secure,omitempty"` // Flag for HTTP(S) Read - Description string `json:"description,omitempty"` // Description for HTTP(S) Read Credential - Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Read credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Read credential + Password string `json:"password,omitempty"` // HTTP(S) Read Password + + Port *int `json:"port,omitempty"` // HTTP(S) Port + + Username string `json:"username,omitempty"` // HTTP(S) Read Username + + Secure *bool `json:"secure,omitempty"` // Flag for HTTP(S) Read + + Description string `json:"description,omitempty"` // Description for HTTP(S) Read Credential + + Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Read credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Read credential + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of HTTP(S) Read Credential - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of HTTP(S) Read Credential - ID string `json:"id,omitempty"` // Id of the HTTP(S) Read Credential + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of HTTP(S) Read Credential + + ID string `json:"id,omitempty"` // Id of the HTTP(S) Read Credential } type ResponseDiscoveryGetAllGlobalCredentialsV2ResponseHTTPSWrite struct { - Password string `json:"password,omitempty"` // HTTP(S) Write Password - Port *int `json:"port,omitempty"` // HTTP(S) Port - Username string `json:"username,omitempty"` // HTTP(S) Write Username - Secure *bool `json:"secure,omitempty"` // Flag for HTTP(S) Write - Description string `json:"description,omitempty"` // Description for HTTP(S) Write Credetntials - Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Write credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Write credential + Password string `json:"password,omitempty"` // HTTP(S) Write Password + + Port *int `json:"port,omitempty"` // HTTP(S) Port + + Username string `json:"username,omitempty"` // HTTP(S) Write Username + + Secure *bool `json:"secure,omitempty"` // Flag for HTTP(S) Write + + Description string `json:"description,omitempty"` // Description for HTTP(S) Write Credetntials + + Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Write credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Write credential + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of HTTP(S) Write Credential - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of HTTP(S) Write Credential - ID string `json:"id,omitempty"` // Id of the HTTP(S) Write Credential + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid of HTTP(S) Write Credential + + ID string `json:"id,omitempty"` // Id of the HTTP(S) Write Credential } type ResponseDiscoveryGetAllGlobalCredentialsV2ResponseSNMPV3 struct { - Username string `json:"username,omitempty"` // SNMP V3 Username - AuthPassword string `json:"authPassword,omitempty"` // Auth Password for SNMP V3 - AuthType string `json:"authType,omitempty"` // SNMP auth protocol. SHA' or 'MD5' - PrivacyPassword string `json:"privacyPassword,omitempty"` // Privacy Password for SNMP privacy - PrivacyType string `json:"privacyType,omitempty"` // SNMP privacy protocol. 'AES128','AES192','AES256' - SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMP. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' - Description string `json:"description,omitempty"` // Description for Snmp V3 Credential - Comments string `json:"comments,omitempty"` // Comments to identify the SNMP V3 credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the SNMP V3 credential + Username string `json:"username,omitempty"` // SNMP V3 Username + + AuthPassword string `json:"authPassword,omitempty"` // Auth Password for SNMP V3 + + AuthType string `json:"authType,omitempty"` // SNMP auth protocol. SHA' or 'MD5' + + PrivacyPassword string `json:"privacyPassword,omitempty"` // Privacy Password for SNMP privacy + + PrivacyType string `json:"privacyType,omitempty"` // SNMP privacy protocol. 'AES128','AES192','AES256' + + SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMP. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' + + Description string `json:"description,omitempty"` // Description for Snmp V3 Credential + + Comments string `json:"comments,omitempty"` // Comments to identify the SNMP V3 credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the SNMP V3 credential + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id of SNMP V3 Credential - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Tenant Id of SNMP V3 Credential - ID string `json:"id,omitempty"` // Id of the SNMP V3 Credential + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Tenant Id of SNMP V3 Credential + + ID string `json:"id,omitempty"` // Id of the SNMP V3 Credential } type ResponseDiscoveryDeleteGlobalCredentialV2 struct { Response *ResponseDiscoveryDeleteGlobalCredentialV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseDiscoveryDeleteGlobalCredentialV2Response struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type RequestDiscoveryUpdatesAnExistingDiscoveryBySpecifiedID struct { - AttributeInfo *RequestDiscoveryUpdatesAnExistingDiscoveryBySpecifiedIDAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated - CdpLevel *int `json:"cdpLevel,omitempty"` // CDP level to which neighbor devices to be discovered - DeviceIDs string `json:"deviceIds,omitempty"` // Ids of the devices discovered in a discovery - DiscoveryCondition string `json:"discoveryCondition,omitempty"` // To indicate the discovery status. Available options: Complete or In Progress - DiscoveryStatus string `json:"discoveryStatus,omitempty"` // Status of the discovery. Available options are: Active, Inactive, Edit - DiscoveryType string `json:"discoveryType,omitempty"` // Type of the discovery. 'Single', 'Range', 'Multi Range', 'CDP', 'LLDP', 'CIDR' - EnablePasswordList string `json:"enablePasswordList,omitempty"` // Enable Password of the devices to be discovered - GlobalCredentialIDList []string `json:"globalCredentialIdList,omitempty"` // List of global credential ids to be used - HTTPReadCredential *RequestDiscoveryUpdatesAnExistingDiscoveryBySpecifiedIDHTTPReadCredential `json:"httpReadCredential,omitempty"` // - HTTPWriteCredential *RequestDiscoveryUpdatesAnExistingDiscoveryBySpecifiedIDHTTPWriteCredential `json:"httpWriteCredential,omitempty"` // - ID string `json:"id,omitempty"` // Unique Discovery Id - IPAddressList string `json:"ipAddressList,omitempty"` // List of IP address of the devices to be discovered - IPFilterList string `json:"ipFilterList,omitempty"` // IP addresses of the devices to be filtered - IsAutoCdp *bool `json:"isAutoCdp,omitempty"` // Flag to mention if CDP discovery or not - LldpLevel *int `json:"lldpLevel,omitempty"` // LLDP level to which neighbor devices to be discovered - Name string `json:"name,omitempty"` // Name for the discovery - NetconfPort string `json:"netconfPort,omitempty"` // Netconf port on the device. Netconf will need valid sshv2 credentials for it to work - NumDevices *int `json:"numDevices,omitempty"` // Number of devices discovered in the discovery - ParentDiscoveryID string `json:"parentDiscoveryId,omitempty"` // Parent Discovery Id from which the discovery was initiated - PasswordList string `json:"passwordList,omitempty"` // Password of the devices to be discovered - PreferredMgmtIPMethod string `json:"preferredMgmtIPMethod,omitempty"` // Preferred management IP method. Available options are '' and 'UseLoopBack' - ProtocolOrder string `json:"protocolOrder,omitempty"` // Order of protocol (ssh/telnet) in which device connection will be tried. Ex: 'telnet': only telnet; 'ssh,telnet': ssh with higher order than telnet - RetryCount *int `json:"retryCount,omitempty"` // Number of times to try establishing connection to device - SNMPAuthPassphrase string `json:"snmpAuthPassphrase,omitempty"` // Auth passphrase for SNMP - SNMPAuthProtocol string `json:"snmpAuthProtocol,omitempty"` // SNMP auth protocol. SHA' or 'MD5' - SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMP. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' - SNMPPrivPassphrase string `json:"snmpPrivPassphrase,omitempty"` // Passphrase for SNMP privacy - SNMPPrivProtocol string `json:"snmpPrivProtocol,omitempty"` // SNMP privacy protocol. 'AES128' - SNMPRoCommunity string `json:"snmpRoCommunity,omitempty"` // SNMP RO community of the devices to be discovered - SNMPRoCommunityDesc string `json:"snmpRoCommunityDesc,omitempty"` // Description for SNMP RO community - SNMPRwCommunity string `json:"snmpRwCommunity,omitempty"` // SNMP RW community of the devices to be discovered - SNMPRwCommunityDesc string `json:"snmpRwCommunityDesc,omitempty"` // Description for SNMP RW community - SNMPUserName string `json:"snmpUserName,omitempty"` // SNMP username of the device - TimeOut *int `json:"timeOut,omitempty"` // Time to wait for device response. - UpdateMgmtIP *bool `json:"updateMgmtIp,omitempty"` // Updates Management IP if multiple IPs are available for a device. If set to true, when a device is rediscovered with a different IP, the management IP is updated. Default value is false - UserNameList string `json:"userNameList,omitempty"` // Username of the devices to be discovered + AttributeInfo *RequestDiscoveryUpdatesAnExistingDiscoveryBySpecifiedIDAttributeInfo `json:"attributeInfo,omitempty"` // Deprecated + + CdpLevel *int `json:"cdpLevel,omitempty"` // CDP level to which neighbor devices to be discovered + + DeviceIDs string `json:"deviceIds,omitempty"` // Ids of the devices discovered in a discovery + + DiscoveryCondition string `json:"discoveryCondition,omitempty"` // To indicate the discovery status. Available options: Complete or In Progress + + DiscoveryStatus string `json:"discoveryStatus,omitempty"` // Status of the discovery. Available options are: Active, Inactive, Edit + + DiscoveryType string `json:"discoveryType,omitempty"` // Type of the discovery. 'Single', 'Range', 'Multi Range', 'CDP', 'LLDP', 'CIDR' + + EnablePasswordList string `json:"enablePasswordList,omitempty"` // Enable Password of the devices to be discovered + + GlobalCredentialIDList []string `json:"globalCredentialIdList,omitempty"` // List of global credential ids to be used + + HTTPReadCredential *RequestDiscoveryUpdatesAnExistingDiscoveryBySpecifiedIDHTTPReadCredential `json:"httpReadCredential,omitempty"` // + + HTTPWriteCredential *RequestDiscoveryUpdatesAnExistingDiscoveryBySpecifiedIDHTTPWriteCredential `json:"httpWriteCredential,omitempty"` // + + ID string `json:"id,omitempty"` // Unique Discovery Id + + IPAddressList string `json:"ipAddressList,omitempty"` // List of IP address of the devices to be discovered + + IPFilterList string `json:"ipFilterList,omitempty"` // IP addresses of the devices to be filtered + + IsAutoCdp *bool `json:"isAutoCdp,omitempty"` // Flag to mention if CDP discovery or not + + LldpLevel *int `json:"lldpLevel,omitempty"` // LLDP level to which neighbor devices to be discovered + + Name string `json:"name,omitempty"` // Name for the discovery + + NetconfPort string `json:"netconfPort,omitempty"` // Netconf port on the device. Netconf will need valid sshv2 credentials for it to work + + NumDevices *int `json:"numDevices,omitempty"` // Number of devices discovered in the discovery + + ParentDiscoveryID string `json:"parentDiscoveryId,omitempty"` // Parent Discovery Id from which the discovery was initiated + + PasswordList string `json:"passwordList,omitempty"` // Password of the devices to be discovered + + PreferredMgmtIPMethod string `json:"preferredMgmtIPMethod,omitempty"` // Preferred management IP method. Available options are '' and 'UseLoopBack' + + ProtocolOrder string `json:"protocolOrder,omitempty"` // Order of protocol (ssh/telnet) in which device connection will be tried. Ex: 'telnet': only telnet; 'ssh,telnet': ssh with higher order than telnet + + RetryCount *int `json:"retryCount,omitempty"` // Number of times to try establishing connection to device + + SNMPAuthPassphrase string `json:"snmpAuthPassphrase,omitempty"` // Auth passphrase for SNMP + + SNMPAuthProtocol string `json:"snmpAuthProtocol,omitempty"` // SNMP auth protocol. SHA' or 'MD5' + + SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMP. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' + + SNMPPrivPassphrase string `json:"snmpPrivPassphrase,omitempty"` // Passphrase for SNMP privacy + + SNMPPrivProtocol string `json:"snmpPrivProtocol,omitempty"` // SNMP privacy protocol. 'AES128' + + SNMPRoCommunity string `json:"snmpRoCommunity,omitempty"` // SNMP RO community of the devices to be discovered + + SNMPRoCommunityDesc string `json:"snmpRoCommunityDesc,omitempty"` // Description for SNMP RO community + + SNMPRwCommunity string `json:"snmpRwCommunity,omitempty"` // SNMP RW community of the devices to be discovered + + SNMPRwCommunityDesc string `json:"snmpRwCommunityDesc,omitempty"` // Description for SNMP RW community + + SNMPUserName string `json:"snmpUserName,omitempty"` // SNMP username of the device + + TimeOut *int `json:"timeOut,omitempty"` // Time to wait for device response. + + UpdateMgmtIP *bool `json:"updateMgmtIp,omitempty"` // Updates Management IP if multiple IPs are available for a device. If set to true, when a device is rediscovered with a different IP, the management IP is updated. Default value is false + + UserNameList string `json:"userNameList,omitempty"` // Username of the devices to be discovered } type RequestDiscoveryUpdatesAnExistingDiscoveryBySpecifiedIDAttributeInfo interface{} type RequestDiscoveryUpdatesAnExistingDiscoveryBySpecifiedIDHTTPReadCredential struct { - Comments string `json:"comments,omitempty"` // Comments to identify the credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the credential - Description string `json:"description,omitempty"` // Description of the credential - ID string `json:"id,omitempty"` // Credential Id + Comments string `json:"comments,omitempty"` // Comments to identify the credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the credential + + Description string `json:"description,omitempty"` // Description of the credential + + ID string `json:"id,omitempty"` // Credential Id + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Credential Tenant Id - InstanceUUID string `json:"instanceUuid,omitempty"` // Credential Id - Password string `json:"password,omitempty"` // HTTP(S) password - Port *int `json:"port,omitempty"` // HTTP(S) port - Secure *bool `json:"secure,omitempty"` // Flag for HTTPS - Username string `json:"username,omitempty"` // HTTP(S) username + + InstanceUUID string `json:"instanceUuid,omitempty"` // Credential Id + + Password string `json:"password,omitempty"` // HTTP(S) password + + Port *int `json:"port,omitempty"` // HTTP(S) port + + Secure *bool `json:"secure,omitempty"` // Flag for HTTPS + + Username string `json:"username,omitempty"` // HTTP(S) username } type RequestDiscoveryUpdatesAnExistingDiscoveryBySpecifiedIDHTTPWriteCredential struct { - Comments string `json:"comments,omitempty"` // Comments to identify the credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the credential - Description string `json:"description,omitempty"` // Description of the credential - ID string `json:"id,omitempty"` // Credential Id + Comments string `json:"comments,omitempty"` // Comments to identify the credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the credential + + Description string `json:"description,omitempty"` // Description of the credential + + ID string `json:"id,omitempty"` // Credential Id + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Credential Tenant Id - InstanceUUID string `json:"instanceUuid,omitempty"` // Credential Id - Password string `json:"password,omitempty"` // HTTP(S) password - Port *int `json:"port,omitempty"` // HTTP(S) port - Secure *bool `json:"secure,omitempty"` // Flag for HTTPS - Username string `json:"username,omitempty"` // HTTP(S) username + + InstanceUUID string `json:"instanceUuid,omitempty"` // Credential Id + + Password string `json:"password,omitempty"` // HTTP(S) password + + Port *int `json:"port,omitempty"` // HTTP(S) port + + Secure *bool `json:"secure,omitempty"` // Flag for HTTPS + + Username string `json:"username,omitempty"` // HTTP(S) username } type RequestDiscoveryStartDiscovery struct { - CdpLevel *int `json:"cdpLevel,omitempty"` // CDP level to which neighbor devices are to be discovered - DiscoveryType string `json:"discoveryType,omitempty"` // Type of the discovery. 'Single', 'Range', 'Multi Range', 'CDP', 'LLDP', 'CIDR' - EnablePasswordList []string `json:"enablePasswordList,omitempty"` // Enable Password of the devices to be discovered - GlobalCredentialIDList []string `json:"globalCredentialIdList,omitempty"` // Global Credential Ids to be used for discovery - HTTPReadCredential *RequestDiscoveryStartDiscoveryHTTPReadCredential `json:"httpReadCredential,omitempty"` // - HTTPWriteCredential *RequestDiscoveryStartDiscoveryHTTPWriteCredential `json:"httpWriteCredential,omitempty"` // - IPAddressList string `json:"ipAddressList,omitempty"` // IP Address of devices to be discovered. Ex: '172.30.0.1' for SINGLE, CDP and LLDP; '72.30.0.1-172.30.0.4' for RANGE; '72.30.0.1-172.30.0.4,172.31.0.1-172.31.0.4' for MULTI RANGE; '172.30.0.1/20' for CIDR - IPFilterList []string `json:"ipFilterList,omitempty"` // IP Addresses of the devices to be filtered out during discovery - LldpLevel *int `json:"lldpLevel,omitempty"` // LLDP level to which neighbor devices to be discovered - Name string `json:"name,omitempty"` // Name of the discovery - NetconfPort string `json:"netconfPort,omitempty"` // Netconf Port. It will need valid SSH credentials to work - PasswordList []string `json:"passwordList,omitempty"` // Password of the devices to be discovered - PreferredMgmtIPMethod string `json:"preferredMgmtIPMethod,omitempty"` // Preferred Management IP Method.'' or 'UseLoopBack'. Default is '' - ProtocolOrder string `json:"protocolOrder,omitempty"` // Order of protocol (ssh/telnet) in which device connection will be tried. Ex: 'telnet': only telnet; 'ssh,telnet': ssh with higher order than telnet - Retry *int `json:"retry,omitempty"` // Number of times to try establishing connection to device - SNMPAuthPassphrase string `json:"snmpAuthPassphrase,omitempty"` // Auth passphrase for SNMP - SNMPAuthProtocol string `json:"snmpAuthProtocol,omitempty"` // SNMP auth protocol. SHA' or 'MD5' - SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMP. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' - SNMPPrivPassphrase string `json:"snmpPrivPassphrase,omitempty"` // Pass phrase for SNMP privacy - SNMPPrivProtocol string `json:"snmpPrivProtocol,omitempty"` // SNMP privacy protocol. 'AES128' - SNMPROCommunity string `json:"snmpROCommunity,omitempty"` // SNMP RO community of the devices to be discovered - SNMPROCommunityDesc string `json:"snmpROCommunityDesc,omitempty"` // Description for SNMP RO community - SNMPRWCommunity string `json:"snmpRWCommunity,omitempty"` // SNMP RW community of the devices to be discovered - SNMPRWCommunityDesc string `json:"snmpRWCommunityDesc,omitempty"` // Description for SNMP RW community - SNMPUserName string `json:"snmpUserName,omitempty"` // SNMP username of the device - SNMPVersion string `json:"snmpVersion,omitempty"` // Version of SNMP. v2 or v3 - Timeout *int `json:"timeout,omitempty"` // Time to wait for device response in seconds - UserNameList []string `json:"userNameList,omitempty"` // Username of the devices to be discovered + CdpLevel *int `json:"cdpLevel,omitempty"` // CDP level to which neighbor devices are to be discovered + + DiscoveryType string `json:"discoveryType,omitempty"` // Type of the discovery. 'Single', 'Range', 'Multi Range', 'CDP', 'LLDP', 'CIDR' + + EnablePasswordList []string `json:"enablePasswordList,omitempty"` // Enable Password of the devices to be discovered + + GlobalCredentialIDList []string `json:"globalCredentialIdList,omitempty"` // Global Credential Ids to be used for discovery + + HTTPReadCredential *RequestDiscoveryStartDiscoveryHTTPReadCredential `json:"httpReadCredential,omitempty"` // + + HTTPWriteCredential *RequestDiscoveryStartDiscoveryHTTPWriteCredential `json:"httpWriteCredential,omitempty"` // + + IPAddressList string `json:"ipAddressList,omitempty"` // IP Address of devices to be discovered. Ex: '172.30.0.1' for SINGLE, CDP and LLDP; '72.30.0.1-172.30.0.4' for RANGE; '72.30.0.1-172.30.0.4,172.31.0.1-172.31.0.4' for MULTI RANGE; '172.30.0.1/20' for CIDR + + IPFilterList []string `json:"ipFilterList,omitempty"` // IP Addresses of the devices to be filtered out during discovery + + LldpLevel *int `json:"lldpLevel,omitempty"` // LLDP level to which neighbor devices to be discovered + + Name string `json:"name,omitempty"` // Name of the discovery + + NetconfPort string `json:"netconfPort,omitempty"` // Netconf Port. It will need valid SSH credentials to work + + PasswordList []string `json:"passwordList,omitempty"` // Password of the devices to be discovered + + PreferredMgmtIPMethod string `json:"preferredMgmtIPMethod,omitempty"` // Preferred Management IP Method.'' or 'UseLoopBack'. Default is '' + + ProtocolOrder string `json:"protocolOrder,omitempty"` // Order of protocol (ssh/telnet) in which device connection will be tried. Ex: 'telnet': only telnet; 'ssh,telnet': ssh with higher order than telnet + + Retry *int `json:"retry,omitempty"` // Number of times to try establishing connection to device + + SNMPAuthPassphrase string `json:"snmpAuthPassphrase,omitempty"` // Auth passphrase for SNMP + + SNMPAuthProtocol string `json:"snmpAuthProtocol,omitempty"` // SNMP auth protocol. SHA' or 'MD5' + + SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMP. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' + + SNMPPrivPassphrase string `json:"snmpPrivPassphrase,omitempty"` // Pass phrase for SNMP privacy + + SNMPPrivProtocol string `json:"snmpPrivProtocol,omitempty"` // SNMP privacy protocol. 'AES128' + + SNMPROCommunity string `json:"snmpROCommunity,omitempty"` // SNMP RO community of the devices to be discovered + + SNMPROCommunityDesc string `json:"snmpROCommunityDesc,omitempty"` // Description for SNMP RO community + + SNMPRWCommunity string `json:"snmpRWCommunity,omitempty"` // SNMP RW community of the devices to be discovered + + SNMPRWCommunityDesc string `json:"snmpRWCommunityDesc,omitempty"` // Description for SNMP RW community + + SNMPUserName string `json:"snmpUserName,omitempty"` // SNMP username of the device + + SNMPVersion string `json:"snmpVersion,omitempty"` // Version of SNMP. v2 or v3 + + Timeout *int `json:"timeout,omitempty"` // Time to wait for device response in seconds + + UserNameList []string `json:"userNameList,omitempty"` // Username of the devices to be discovered } type RequestDiscoveryStartDiscoveryHTTPReadCredential struct { Password string `json:"password,omitempty"` // HTTP(S) password - Port *int `json:"port,omitempty"` // HTTP(S) port - Secure *bool `json:"secure,omitempty"` // Flag for HTTPS + + Port *int `json:"port,omitempty"` // HTTP(S) port + + Secure *bool `json:"secure,omitempty"` // Flag for HTTPS + Username string `json:"username,omitempty"` // HTTP(S) username } type RequestDiscoveryStartDiscoveryHTTPWriteCredential struct { Password string `json:"password,omitempty"` // HTTP(S) password - Port *int `json:"port,omitempty"` // HTTP(S) port - Secure *bool `json:"secure,omitempty"` // Flag for HTTPS + + Port *int `json:"port,omitempty"` // HTTP(S) port + + Secure *bool `json:"secure,omitempty"` // Flag for HTTPS + Username string `json:"username,omitempty"` // HTTP(S) username } type RequestDiscoveryUpdateCliCredentials struct { - Comments string `json:"comments,omitempty"` // Comments to identify the CLI credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the CLI credential - Description string `json:"description,omitempty"` // Description for CLI Credentials - EnablePassword string `json:"enablePassword,omitempty"` // CLI Enable Password - ID string `json:"id,omitempty"` // Id of the CLI Credential in UUID format + Comments string `json:"comments,omitempty"` // Comments to identify the CLI credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the CLI credential + + Description string `json:"description,omitempty"` // Description for CLI Credentials + + EnablePassword string `json:"enablePassword,omitempty"` // CLI Enable Password + + ID string `json:"id,omitempty"` // Id of the CLI Credential in UUID format + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Deprecated - InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated - Password string `json:"password,omitempty"` // CLI Password - Username string `json:"username,omitempty"` // CLI Username + + InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated + + Password string `json:"password,omitempty"` // CLI Password + + Username string `json:"username,omitempty"` // CLI Username } type RequestDiscoveryCreateCliCredentials []RequestItemDiscoveryCreateCliCredentials // Array of RequestDiscoveryCreateCLICredentials type RequestItemDiscoveryCreateCliCredentials struct { - Comments string `json:"comments,omitempty"` // Comments to identify the CLI credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the CLI credential - Description string `json:"description,omitempty"` // Description for CLI Credentials - EnablePassword string `json:"enablePassword,omitempty"` // CLI Enable Password - ID string `json:"id,omitempty"` // Deprecated + Comments string `json:"comments,omitempty"` // Comments to identify the CLI credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the CLI credential + + Description string `json:"description,omitempty"` // Description for CLI Credentials + + EnablePassword string `json:"enablePassword,omitempty"` // CLI Enable Password + + ID string `json:"id,omitempty"` // Deprecated + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Deprecated - InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated - Password string `json:"password,omitempty"` // CLI Password - Username string `json:"username,omitempty"` // CLI Username + + InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated + + Password string `json:"password,omitempty"` // CLI Password + + Username string `json:"username,omitempty"` // CLI Username } type RequestDiscoveryCreateHTTPReadCredentials []RequestItemDiscoveryCreateHTTPReadCredentials // Array of RequestDiscoveryCreateHTTPReadCredentials type RequestItemDiscoveryCreateHTTPReadCredentials struct { - Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Read credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Read credential - Description string `json:"description,omitempty"` // Description for HTTP(S) Read Credential - ID string `json:"id,omitempty"` // Deprecated + Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Read credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Read credential + + Description string `json:"description,omitempty"` // Description for HTTP(S) Read Credential + + ID string `json:"id,omitempty"` // Deprecated + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Deprecated - InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated - Password string `json:"password,omitempty"` // HTTP(S) Read Password - Port *int `json:"port,omitempty"` // HTTP(S) Port. Valid port should be in the range of 1 to 65535. - Secure *bool `json:"secure,omitempty"` // Flag for HTTPS Read - Username string `json:"username,omitempty"` // HTTP(S) Read Username + + InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated + + Password string `json:"password,omitempty"` // HTTP(S) Read Password + + Port *int `json:"port,omitempty"` // HTTP(S) Port. Valid port should be in the range of 1 to 65535. + + Secure *bool `json:"secure,omitempty"` // Flag for HTTPS Read + + Username string `json:"username,omitempty"` // HTTP(S) Read Username } type RequestDiscoveryUpdateHTTPReadCredential struct { - Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Read credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Read credential - Description string `json:"description,omitempty"` // Description for HTTP(S) Read Credential - ID string `json:"id,omitempty"` // Id of the HTTP(S) Read Credential in UUID format + Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Read credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Read credential + + Description string `json:"description,omitempty"` // Description for HTTP(S) Read Credential + + ID string `json:"id,omitempty"` // Id of the HTTP(S) Read Credential in UUID format + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Deprecated - InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated - Password string `json:"password,omitempty"` // HTTP(S) Read Password - Port *int `json:"port,omitempty"` // HTTP(S) Port. Valid port should be in the range of 1 to 65535. - Secure *bool `json:"secure,omitempty"` // Flag for HTTPS Read - Username string `json:"username,omitempty"` // HTTP(S) Read Username + + InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated + + Password string `json:"password,omitempty"` // HTTP(S) Read Password + + Port *int `json:"port,omitempty"` // HTTP(S) Port. Valid port should be in the range of 1 to 65535. + + Secure *bool `json:"secure,omitempty"` // Flag for HTTPS Read + + Username string `json:"username,omitempty"` // HTTP(S) Read Username } type RequestDiscoveryUpdateHTTPWriteCredentials struct { - Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Write credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Write credential - Description string `json:"description,omitempty"` // Description for HTTP(S) Write Credential - ID string `json:"id,omitempty"` // Id of the HTTP(S) Write Credential in UUID format + Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Write credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Write credential + + Description string `json:"description,omitempty"` // Description for HTTP(S) Write Credential + + ID string `json:"id,omitempty"` // Id of the HTTP(S) Write Credential in UUID format + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Deprecated - InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated - Password string `json:"password,omitempty"` // HTTP(S) Write Password - Port *int `json:"port,omitempty"` // HTTP(S) Port. Valid port should be in the range of 1 to 65535. - Secure *bool `json:"secure,omitempty"` // Flag for HTTPS Write - Username string `json:"username,omitempty"` // HTTP(S) Write Username + + InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated + + Password string `json:"password,omitempty"` // HTTP(S) Write Password + + Port *int `json:"port,omitempty"` // HTTP(S) Port. Valid port should be in the range of 1 to 65535. + + Secure *bool `json:"secure,omitempty"` // Flag for HTTPS Write + + Username string `json:"username,omitempty"` // HTTP(S) Write Username } type RequestDiscoveryCreateHTTPWriteCredentials []RequestItemDiscoveryCreateHTTPWriteCredentials // Array of RequestDiscoveryCreateHTTPWriteCredentials type RequestItemDiscoveryCreateHTTPWriteCredentials struct { - Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Write credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Write credential - Description string `json:"description,omitempty"` // Description for HTTP(S) Write Credential - ID string `json:"id,omitempty"` // Deprecated + Comments string `json:"comments,omitempty"` // Comments to identify the HTTP(S) Write credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the HTTP(S) Write credential + + Description string `json:"description,omitempty"` // Description for HTTP(S) Write Credential + + ID string `json:"id,omitempty"` // Deprecated + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Deprecated - InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated - Password string `json:"password,omitempty"` // HTTP(S) Write Password - Port *int `json:"port,omitempty"` // HTTP(S) Port. Valid port should be in the range of 1 to 65535. - Secure *bool `json:"secure,omitempty"` // Flag for HTTPS Write - Username string `json:"username,omitempty"` // HTTP(S) Write Username + + InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated + + Password string `json:"password,omitempty"` // HTTP(S) Write Password + + Port *int `json:"port,omitempty"` // HTTP(S) Port. Valid port should be in the range of 1 to 65535. + + Secure *bool `json:"secure,omitempty"` // Flag for HTTPS Write + + Username string `json:"username,omitempty"` // HTTP(S) Write Username } type RequestDiscoveryUpdateNetconfCredentials struct { - Comments string `json:"comments,omitempty"` // Comments to identify the netconf credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the netconf credential - Description string `json:"description,omitempty"` // Description for Netconf Credentials - ID string `json:"id,omitempty"` // Id of the Netconf Credential in UUID format + Comments string `json:"comments,omitempty"` // Comments to identify the netconf credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the netconf credential + + Description string `json:"description,omitempty"` // Description for Netconf Credentials + + ID string `json:"id,omitempty"` // Id of the Netconf Credential in UUID format + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Deprecated - InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated - NetconfPort string `json:"netconfPort,omitempty"` // Netconf port on the device. Valid port should be in the range of 1 to 65535. + + InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated + + NetconfPort string `json:"netconfPort,omitempty"` // Netconf port on the device. Valid port should be in the range of 1 to 65535. } type RequestDiscoveryCreateNetconfCredentials []RequestItemDiscoveryCreateNetconfCredentials // Array of RequestDiscoveryCreateNetconfCredentials type RequestItemDiscoveryCreateNetconfCredentials struct { - Comments string `json:"comments,omitempty"` // Comments to identify the netconf credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the credential - Description string `json:"description,omitempty"` // Description for Netconf Credentials - ID string `json:"id,omitempty"` // Deprecated + Comments string `json:"comments,omitempty"` // Comments to identify the netconf credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the credential + + Description string `json:"description,omitempty"` // Description for Netconf Credentials + + ID string `json:"id,omitempty"` // Deprecated + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Deprecated - InstanceUUID string `json:"instanceUuid,omitempty"` // deprecated - NetconfPort string `json:"netconfPort,omitempty"` // Netconf port on the device. Valid port should be in the range of 1 to 65535. + + InstanceUUID string `json:"instanceUuid,omitempty"` // deprecated + + NetconfPort string `json:"netconfPort,omitempty"` // Netconf port on the device. Valid port should be in the range of 1 to 65535. } type RequestDiscoveryUpdateSNMPReadCommunity struct { - Comments string `json:"comments,omitempty"` // Comments to identify the credential + Comments string `json:"comments,omitempty"` // Comments to identify the credential + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the credential - Description string `json:"description,omitempty"` // Name/Description of the credential - InstanceUUID string `json:"instanceUuid,omitempty"` // Credential UUID - ReadCommunity string `json:"readCommunity,omitempty"` // SNMP read community. NO!$DATA!$ for no value change + + Description string `json:"description,omitempty"` // Name/Description of the credential + + InstanceUUID string `json:"instanceUuid,omitempty"` // Credential UUID + + ReadCommunity string `json:"readCommunity,omitempty"` // SNMP read community. NO!$DATA!$ for no value change } type RequestDiscoveryCreateSNMPReadCommunity []RequestItemDiscoveryCreateSNMPReadCommunity // Array of RequestDiscoveryCreateSNMPReadCommunity type RequestItemDiscoveryCreateSNMPReadCommunity struct { - Comments string `json:"comments,omitempty"` // Comments to identify the credential + Comments string `json:"comments,omitempty"` // Comments to identify the credential + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the credential - Description string `json:"description,omitempty"` // Name/Description of the credential - ReadCommunity string `json:"readCommunity,omitempty"` // SNMP read community + + Description string `json:"description,omitempty"` // Name/Description of the credential + + ReadCommunity string `json:"readCommunity,omitempty"` // SNMP read community } type RequestDiscoveryCreateSNMPWriteCommunity []RequestItemDiscoveryCreateSNMPWriteCommunity // Array of RequestDiscoveryCreateSNMPWriteCommunity type RequestItemDiscoveryCreateSNMPWriteCommunity struct { - Comments string `json:"comments,omitempty"` // Comments to identify the credential + Comments string `json:"comments,omitempty"` // Comments to identify the credential + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the credential - Description string `json:"description,omitempty"` // Name/Description of the credential + + Description string `json:"description,omitempty"` // Name/Description of the credential + WriteCommunity string `json:"writeCommunity,omitempty"` // SNMP write community } type RequestDiscoveryUpdateSNMPWriteCommunity struct { - Comments string `json:"comments,omitempty"` // Comments to identify the credential + Comments string `json:"comments,omitempty"` // Comments to identify the credential + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the credential - Description string `json:"description,omitempty"` // Name/Description of the credential - InstanceUUID string `json:"instanceUuid,omitempty"` // Credential UUID + + Description string `json:"description,omitempty"` // Name/Description of the credential + + InstanceUUID string `json:"instanceUuid,omitempty"` // Credential UUID + WriteCommunity string `json:"writeCommunity,omitempty"` // SNMP write community. NO!$DATA!$ for no value change } type RequestDiscoveryUpdateSNMPv3Credentials struct { - AuthPassword string `json:"authPassword,omitempty"` // Auth password for SNMPv3. Required if snmpMode is 'AUTHPRIV' or 'AUTHNOPRIV'. Use 'NO!$DATA!$' if no change required. - AuthType string `json:"authType,omitempty"` // SNMPv3 auth protocol. 'SHA' or 'MD5'. Required if snmpMode is 'AUTHPRIV' or 'AUTHNOPRIV'. - Comments string `json:"comments,omitempty"` // Comments to identify the SNMPv3 credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the SNMPv3 credential - Description string `json:"description,omitempty"` // Description for SNMPv3 Credential - ID string `json:"id,omitempty"` // Id of the SNMPv3 Credential + AuthPassword string `json:"authPassword,omitempty"` // Auth password for SNMPv3. Required if snmpMode is 'AUTHPRIV' or 'AUTHNOPRIV'. Use 'NO!$DATA!$' if no change required. + + AuthType string `json:"authType,omitempty"` // SNMPv3 auth protocol. 'SHA' or 'MD5'. Required if snmpMode is 'AUTHPRIV' or 'AUTHNOPRIV'. + + Comments string `json:"comments,omitempty"` // Comments to identify the SNMPv3 credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the SNMPv3 credential + + Description string `json:"description,omitempty"` // Description for SNMPv3 Credential + + ID string `json:"id,omitempty"` // Id of the SNMPv3 Credential + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Deprecated. This attribute will be removed in a future release, should not be used, and any value supplied will be ignored. - InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated. This attribute will be removed in a future release, should not be used, and any value supplied will be ignored. - PrivacyPassword string `json:"privacyPassword,omitempty"` // Privacy password for SNMPv3 privacy. Required if snmpMode is 'AUTHPRIV'. Use 'NO!$DATA!$' if no change required. - PrivacyType string `json:"privacyType,omitempty"` // SNMPv3 privacy protocol. Required is snmpMode is 'AUTHPRIV'. - SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMPv3. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' - Username string `json:"username,omitempty"` // SNMPv3 username + + InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated. This attribute will be removed in a future release, should not be used, and any value supplied will be ignored. + + PrivacyPassword string `json:"privacyPassword,omitempty"` // Privacy password for SNMPv3 privacy. Required if snmpMode is 'AUTHPRIV'. Use 'NO!$DATA!$' if no change required. + + PrivacyType string `json:"privacyType,omitempty"` // SNMPv3 privacy protocol. Required is snmpMode is 'AUTHPRIV'. + + SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMPv3. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' + + Username string `json:"username,omitempty"` // SNMPv3 username } type RequestDiscoveryCreateSNMPv3Credentials []RequestItemDiscoveryCreateSNMPv3Credentials // Array of RequestDiscoveryCreateSNMPv3Credentials type RequestItemDiscoveryCreateSNMPv3Credentials struct { - AuthPassword string `json:"authPassword,omitempty"` // Auth password for SNMPv3. Required if snmpMode is 'AUTHPRIV' or 'AUTHNOPRIV'. - AuthType string `json:"authType,omitempty"` // SNMPv3 auth protocol. 'SHA' or 'MD5'. Required if snmpMode is 'AUTHPRIV' or 'AUTHNOPRIV'. - Comments string `json:"comments,omitempty"` // Comments to identify the SNMPv3 credential - CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the SNMPv3 credential - Description string `json:"description,omitempty"` // Description for the SNMPv3 credential - ID string `json:"id,omitempty"` // Deprecated. This attribute will be removed in a future release, should not be used, and any value supplied will be ignored. + AuthPassword string `json:"authPassword,omitempty"` // Auth password for SNMPv3. Required if snmpMode is 'AUTHPRIV' or 'AUTHNOPRIV'. + + AuthType string `json:"authType,omitempty"` // SNMPv3 auth protocol. 'SHA' or 'MD5'. Required if snmpMode is 'AUTHPRIV' or 'AUTHNOPRIV'. + + Comments string `json:"comments,omitempty"` // Comments to identify the SNMPv3 credential + + CredentialType string `json:"credentialType,omitempty"` // Credential type to identify the application that uses the SNMPv3 credential + + Description string `json:"description,omitempty"` // Description for the SNMPv3 credential + + ID string `json:"id,omitempty"` // Deprecated. This attribute will be removed in a future release, should not be used, and any value supplied will be ignored. + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Deprecated. This attribute will be removed in a future release, should not be used, and any value supplied will be ignored. - InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated. This attribute will be removed in a future release, should not be used, and any value supplied will be ignored. - PrivacyPassword string `json:"privacyPassword,omitempty"` // Privacy password for SNMPv3 privacy. Required if snmpMode is 'AUTHPRIV'. - PrivacyType string `json:"privacyType,omitempty"` // SNMPv3 privacy protocol. Required is snmpMode is 'AUTHPRIV'. - SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMPv3. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV'. - Username string `json:"username,omitempty"` // SNMPv3 username + + InstanceUUID string `json:"instanceUuid,omitempty"` // Deprecated. This attribute will be removed in a future release, should not be used, and any value supplied will be ignored. + + PrivacyPassword string `json:"privacyPassword,omitempty"` // Privacy password for SNMPv3 privacy. Required if snmpMode is 'AUTHPRIV'. + + PrivacyType string `json:"privacyType,omitempty"` // SNMPv3 privacy protocol. Required is snmpMode is 'AUTHPRIV'. + + SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMPv3. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV'. + + Username string `json:"username,omitempty"` // SNMPv3 username } type RequestDiscoveryUpdateGlobalCredentials struct { SiteUUIDs []string `json:"siteUuids,omitempty"` // List of siteUuids where credential is to be updated } type RequestDiscoveryCreateUpdateSNMPProperties []RequestItemDiscoveryCreateUpdateSNMPProperties // Array of RequestDiscoveryCreateUpdateSNMPProperties type RequestItemDiscoveryCreateUpdateSNMPProperties struct { - ID string `json:"id,omitempty"` // - InstanceTenantID string `json:"instanceTenantId,omitempty"` // - InstanceUUID string `json:"instanceUuid,omitempty"` // - IntValue *int `json:"intValue,omitempty"` // + ID string `json:"id,omitempty"` // + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // + + InstanceUUID string `json:"instanceUuid,omitempty"` // + + IntValue *int `json:"intValue,omitempty"` // + SystemPropertyName string `json:"systemPropertyName,omitempty"` // } type RequestDiscoveryUpdateGlobalCredentialsV2 struct { CliCredential *RequestDiscoveryUpdateGlobalCredentialsV2CliCredential `json:"cliCredential,omitempty"` // - SNMPV2CRead *RequestDiscoveryUpdateGlobalCredentialsV2SNMPV2CRead `json:"snmpV2cRead,omitempty"` // - SNMPV2CWrite *RequestDiscoveryUpdateGlobalCredentialsV2SNMPV2CWrite `json:"snmpV2cWrite,omitempty"` // - SNMPV3 *RequestDiscoveryUpdateGlobalCredentialsV2SNMPV3 `json:"snmpV3,omitempty"` // - HTTPSRead *RequestDiscoveryUpdateGlobalCredentialsV2HTTPSRead `json:"httpsRead,omitempty"` // - HTTPSWrite *RequestDiscoveryUpdateGlobalCredentialsV2HTTPSWrite `json:"httpsWrite,omitempty"` // + + SNMPV2CRead *RequestDiscoveryUpdateGlobalCredentialsV2SNMPV2CRead `json:"snmpV2cRead,omitempty"` // + + SNMPV2CWrite *RequestDiscoveryUpdateGlobalCredentialsV2SNMPV2CWrite `json:"snmpV2cWrite,omitempty"` // + + SNMPV3 *RequestDiscoveryUpdateGlobalCredentialsV2SNMPV3 `json:"snmpV3,omitempty"` // + + HTTPSRead *RequestDiscoveryUpdateGlobalCredentialsV2HTTPSRead `json:"httpsRead,omitempty"` // + + HTTPSWrite *RequestDiscoveryUpdateGlobalCredentialsV2HTTPSWrite `json:"httpsWrite,omitempty"` // } type RequestDiscoveryUpdateGlobalCredentialsV2CliCredential struct { - Description string `json:"description,omitempty"` // Description for CLI credential - Username string `json:"username,omitempty"` // CLI Username - Password string `json:"password,omitempty"` // CLI Password + Description string `json:"description,omitempty"` // Description for CLI credential + + Username string `json:"username,omitempty"` // CLI Username + + Password string `json:"password,omitempty"` // CLI Password + EnablePassword string `json:"enablePassword,omitempty"` // CLI Enable Password - ID string `json:"id,omitempty"` // Id of the CLI Credential in UUID format + + ID string `json:"id,omitempty"` // Id of the CLI Credential in UUID format } type RequestDiscoveryUpdateGlobalCredentialsV2SNMPV2CRead struct { - Description string `json:"description,omitempty"` // Description for Snmp RO community + Description string `json:"description,omitempty"` // Description for Snmp RO community + ReadCommunity string `json:"readCommunity,omitempty"` // Snmp RO community - ID string `json:"id,omitempty"` // Id of the SNMP Read Credential in UUID format + + ID string `json:"id,omitempty"` // Id of the SNMP Read Credential in UUID format } type RequestDiscoveryUpdateGlobalCredentialsV2SNMPV2CWrite struct { - Description string `json:"description,omitempty"` // Description for Snmp RW community + Description string `json:"description,omitempty"` // Description for Snmp RW community + WriteCommunity string `json:"writeCommunity,omitempty"` // Snmp RW community - ID string `json:"id,omitempty"` // Id of the SNMP Write Credential in UUID format + + ID string `json:"id,omitempty"` // Id of the SNMP Write Credential in UUID format } type RequestDiscoveryUpdateGlobalCredentialsV2SNMPV3 struct { - AuthPassword string `json:"authPassword,omitempty"` // Auth Password for SNMP V3 - AuthType string `json:"authType,omitempty"` // SNMP auth protocol. SHA' or 'MD5' - SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMP. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' + AuthPassword string `json:"authPassword,omitempty"` // Auth Password for SNMP V3 + + AuthType string `json:"authType,omitempty"` // SNMP auth protocol. SHA' or 'MD5' + + SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMP. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' + PrivacyPassword string `json:"privacyPassword,omitempty"` // Privacy Password for SNMP privacy - PrivacyType string `json:"privacyType,omitempty"` // SNMP privacy protocol. 'AES128','AES192','AES256' - Username string `json:"username,omitempty"` // SNMP V3 Username - Description string `json:"description,omitempty"` // Description for Snmp V3 Credential - ID string `json:"id,omitempty"` // Id of the SNMP V3 Credential in UUID format + + PrivacyType string `json:"privacyType,omitempty"` // SNMP privacy protocol. 'AES128','AES192','AES256' + + Username string `json:"username,omitempty"` // SNMP V3 Username + + Description string `json:"description,omitempty"` // Description for Snmp V3 Credential + + ID string `json:"id,omitempty"` // Id of the SNMP V3 Credential in UUID format } type RequestDiscoveryUpdateGlobalCredentialsV2HTTPSRead struct { Description string `json:"description,omitempty"` // Description for HTTP(S) Read Credentials - Username string `json:"username,omitempty"` // HTTP(S) Read Username - Password string `json:"password,omitempty"` // HTTP(S) Read Password - Port *int `json:"port,omitempty"` // HTTP(S) Port - ID string `json:"id,omitempty"` // Id of the HTTP(S) Read Credential in UUID format + + Username string `json:"username,omitempty"` // HTTP(S) Read Username + + Password string `json:"password,omitempty"` // HTTP(S) Read Password + + Port *int `json:"port,omitempty"` // HTTP(S) Port + + ID string `json:"id,omitempty"` // Id of the HTTP(S) Read Credential in UUID format } type RequestDiscoveryUpdateGlobalCredentialsV2HTTPSWrite struct { Description string `json:"description,omitempty"` // Description for HTTP(S) Write Credentials - Username string `json:"username,omitempty"` // HTTP(S) Write Username - Password string `json:"password,omitempty"` // HTTP(S) Write Password - Port *int `json:"port,omitempty"` // HTTP(S) Port - ID string `json:"id,omitempty"` // Id of the HTTP(S) Read Credential in UUID format + + Username string `json:"username,omitempty"` // HTTP(S) Write Username + + Password string `json:"password,omitempty"` // HTTP(S) Write Password + + Port *int `json:"port,omitempty"` // HTTP(S) Port + + ID string `json:"id,omitempty"` // Id of the HTTP(S) Read Credential in UUID format } type RequestDiscoveryCreateGlobalCredentialsV2 struct { CliCredential *[]RequestDiscoveryCreateGlobalCredentialsV2CliCredential `json:"cliCredential,omitempty"` // - SNMPV2CRead *[]RequestDiscoveryCreateGlobalCredentialsV2SNMPV2CRead `json:"snmpV2cRead,omitempty"` // - SNMPV2CWrite *[]RequestDiscoveryCreateGlobalCredentialsV2SNMPV2CWrite `json:"snmpV2cWrite,omitempty"` // - SNMPV3 *[]RequestDiscoveryCreateGlobalCredentialsV2SNMPV3 `json:"snmpV3,omitempty"` // - HTTPSRead *[]RequestDiscoveryCreateGlobalCredentialsV2HTTPSRead `json:"httpsRead,omitempty"` // - HTTPSWrite *[]RequestDiscoveryCreateGlobalCredentialsV2HTTPSWrite `json:"httpsWrite,omitempty"` // + + SNMPV2CRead *[]RequestDiscoveryCreateGlobalCredentialsV2SNMPV2CRead `json:"snmpV2cRead,omitempty"` // + + SNMPV2CWrite *[]RequestDiscoveryCreateGlobalCredentialsV2SNMPV2CWrite `json:"snmpV2cWrite,omitempty"` // + + SNMPV3 *[]RequestDiscoveryCreateGlobalCredentialsV2SNMPV3 `json:"snmpV3,omitempty"` // + + HTTPSRead *[]RequestDiscoveryCreateGlobalCredentialsV2HTTPSRead `json:"httpsRead,omitempty"` // + + HTTPSWrite *[]RequestDiscoveryCreateGlobalCredentialsV2HTTPSWrite `json:"httpsWrite,omitempty"` // } type RequestDiscoveryCreateGlobalCredentialsV2CliCredential struct { - Description string `json:"description,omitempty"` // Description for CLI credential - Username string `json:"username,omitempty"` // CLI Username - Password string `json:"password,omitempty"` // CLI Password + Description string `json:"description,omitempty"` // Description for CLI credential + + Username string `json:"username,omitempty"` // CLI Username + + Password string `json:"password,omitempty"` // CLI Password + EnablePassword string `json:"enablePassword,omitempty"` // CLI Enable Password } type RequestDiscoveryCreateGlobalCredentialsV2SNMPV2CRead struct { - Description string `json:"description,omitempty"` // Description for Snmp RO community + Description string `json:"description,omitempty"` // Description for Snmp RO community + ReadCommunity string `json:"readCommunity,omitempty"` // Snmp RO community } type RequestDiscoveryCreateGlobalCredentialsV2SNMPV2CWrite struct { - Description string `json:"description,omitempty"` // Description for Snmp RW community + Description string `json:"description,omitempty"` // Description for Snmp RW community + WriteCommunity string `json:"writeCommunity,omitempty"` // Snmp RW community } type RequestDiscoveryCreateGlobalCredentialsV2SNMPV3 struct { - Description string `json:"description,omitempty"` // Description for Snmp V3 Credential - Username string `json:"username,omitempty"` // SNMP V3 Username - PrivacyType string `json:"privacyType,omitempty"` // SNMP privacy protocol. 'AES128','AES192','AES256' + Description string `json:"description,omitempty"` // Description for Snmp V3 Credential + + Username string `json:"username,omitempty"` // SNMP V3 Username + + PrivacyType string `json:"privacyType,omitempty"` // SNMP privacy protocol. 'AES128','AES192','AES256' + PrivacyPassword string `json:"privacyPassword,omitempty"` // Privacy Password for SNMP privacy - AuthType string `json:"authType,omitempty"` // SNMP auth protocol. SHA' or 'MD5' - AuthPassword string `json:"authPassword,omitempty"` // Auth Password for SNMP - SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMP. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' + + AuthType string `json:"authType,omitempty"` // SNMP auth protocol. SHA' or 'MD5' + + AuthPassword string `json:"authPassword,omitempty"` // Auth Password for SNMP + + SNMPMode string `json:"snmpMode,omitempty"` // Mode of SNMP. 'AUTHPRIV' or 'AUTHNOPRIV' or 'NOAUTHNOPRIV' } type RequestDiscoveryCreateGlobalCredentialsV2HTTPSRead struct { Description string `json:"description,omitempty"` // Description for HTTP(S) Read Credentials - Username string `json:"username,omitempty"` // HTTP(S) Read Username - Password string `json:"password,omitempty"` // HTTP(S) Read Password - Port *int `json:"port,omitempty"` // HTTP(S) Port + + Username string `json:"username,omitempty"` // HTTP(S) Read Username + + Password string `json:"password,omitempty"` // HTTP(S) Read Password + + Port *int `json:"port,omitempty"` // HTTP(S) Port } type RequestDiscoveryCreateGlobalCredentialsV2HTTPSWrite struct { Description string `json:"description,omitempty"` // Description for HTTP(S) Write Credentials - Username string `json:"username,omitempty"` // HTTP(S) Write Username - Password string `json:"password,omitempty"` // HTTP(S) Write Password - Port *int `json:"port,omitempty"` // HTTP(S) Port + + Username string `json:"username,omitempty"` // HTTP(S) Write Username + + Password string `json:"password,omitempty"` // HTTP(S) Write Password + + Port *int `json:"port,omitempty"` // HTTP(S) Port } //GetCountOfAllDiscoveryJobs Get count of all discovery jobs - 069d-9823-451b-892d @@ -1026,7 +1363,7 @@ type RequestDiscoveryCreateGlobalCredentialsV2HTTPSWrite struct { -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-all-discovery-jobs-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-all-discovery-jobs */ func (s *DiscoveryService) GetCountOfAllDiscoveryJobs() (*ResponseDiscoveryGetCountOfAllDiscoveryJobs, *resty.Response, error) { path := "/dna/intent/api/v1/discovery/count" @@ -1061,7 +1398,7 @@ func (s *DiscoveryService) GetCountOfAllDiscoveryJobs() (*ResponseDiscoveryGetCo @param GetDiscoveryJobsByIPQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-discovery-jobs-by-ip-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-discovery-jobs-by-ip */ func (s *DiscoveryService) GetDiscoveryJobsByIP(GetDiscoveryJobsByIPQueryParams *GetDiscoveryJobsByIPQueryParams) (*ResponseDiscoveryGetDiscoveryJobsByIP, *resty.Response, error) { path := "/dna/intent/api/v1/discovery/job" @@ -1099,7 +1436,7 @@ func (s *DiscoveryService) GetDiscoveryJobsByIP(GetDiscoveryJobsByIPQueryParams @param id id path parameter. Discovery ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-discovery-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-discovery-by-id */ func (s *DiscoveryService) GetDiscoveryByID(id string) (*ResponseDiscoveryGetDiscoveryByID, *resty.Response, error) { path := "/dna/intent/api/v1/discovery/{id}" @@ -1137,7 +1474,7 @@ func (s *DiscoveryService) GetDiscoveryByID(id string) (*ResponseDiscoveryGetDis @param GetListOfDiscoveriesByDiscoveryIdQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-discoveries-by-discovery-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-discoveries-by-discovery-id */ func (s *DiscoveryService) GetListOfDiscoveriesByDiscoveryID(id string, GetListOfDiscoveriesByDiscoveryIdQueryParams *GetListOfDiscoveriesByDiscoveryIDQueryParams) (*ResponseDiscoveryGetListOfDiscoveriesByDiscoveryID, *resty.Response, error) { path := "/dna/intent/api/v1/discovery/{id}/job" @@ -1177,7 +1514,7 @@ func (s *DiscoveryService) GetListOfDiscoveriesByDiscoveryID(id string, GetListO @param GetDiscoveredNetworkDevicesByDiscoveryIdQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-discovered-network-devices-by-discovery-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-discovered-network-devices-by-discovery-id */ func (s *DiscoveryService) GetDiscoveredNetworkDevicesByDiscoveryID(id string, GetDiscoveredNetworkDevicesByDiscoveryIdQueryParams *GetDiscoveredNetworkDevicesByDiscoveryIDQueryParams) (*ResponseDiscoveryGetDiscoveredNetworkDevicesByDiscoveryID, *resty.Response, error) { path := "/dna/intent/api/v1/discovery/{id}/network-device" @@ -1217,7 +1554,7 @@ func (s *DiscoveryService) GetDiscoveredNetworkDevicesByDiscoveryID(id string, G @param GetDevicesDiscoveredByIdQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-devices-discovered-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-devices-discovered-by-id */ func (s *DiscoveryService) GetDevicesDiscoveredByID(id string, GetDevicesDiscoveredByIdQueryParams *GetDevicesDiscoveredByIDQueryParams) (*ResponseDiscoveryGetDevicesDiscoveredByID, *resty.Response, error) { path := "/dna/intent/api/v1/discovery/{id}/network-device/count" @@ -1261,7 +1598,7 @@ func (s *DiscoveryService) GetDevicesDiscoveredByID(id string, GetDevicesDiscove @param GetDiscoveredDevicesByRangeQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-discovered-devices-by-range-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-discovered-devices-by-range */ func (s *DiscoveryService) GetDiscoveredDevicesByRange(id string, startIndex int, recordsToReturn int, GetDiscoveredDevicesByRangeQueryParams *GetDiscoveredDevicesByRangeQueryParams) (*ResponseDiscoveryGetDiscoveredDevicesByRange, *resty.Response, error) { path := "/dna/intent/api/v1/discovery/{id}/network-device/{startIndex}/{recordsToReturn}" @@ -1303,7 +1640,7 @@ func (s *DiscoveryService) GetDiscoveredDevicesByRange(id string, startIndex int @param GetNetworkDevicesFromDiscoveryQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-devices-from-discovery-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-devices-from-discovery */ func (s *DiscoveryService) GetNetworkDevicesFromDiscovery(id string, GetNetworkDevicesFromDiscoveryQueryParams *GetNetworkDevicesFromDiscoveryQueryParams) (*ResponseDiscoveryGetNetworkDevicesFromDiscovery, *resty.Response, error) { path := "/dna/intent/api/v1/discovery/{id}/summary" @@ -1344,7 +1681,7 @@ func (s *DiscoveryService) GetNetworkDevicesFromDiscovery(id string, GetNetworkD @param recordsToReturn recordsToReturn path parameter. Number of records to fetch from the starting index -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-discoveries-by-range-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-discoveries-by-range */ func (s *DiscoveryService) GetDiscoveriesByRange(startIndex int, recordsToReturn int) (*ResponseDiscoveryGetDiscoveriesByRange, *resty.Response, error) { path := "/dna/intent/api/v1/discovery/{startIndex}/{recordsToReturn}" @@ -1381,7 +1718,7 @@ func (s *DiscoveryService) GetDiscoveriesByRange(startIndex int, recordsToReturn @param GetGlobalCredentialsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-global-credentials-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-global-credentials */ func (s *DiscoveryService) GetGlobalCredentials(GetGlobalCredentialsQueryParams *GetGlobalCredentialsQueryParams) (*ResponseDiscoveryGetGlobalCredentials, *resty.Response, error) { path := "/dna/intent/api/v1/global-credential" @@ -1419,7 +1756,7 @@ func (s *DiscoveryService) GetGlobalCredentials(GetGlobalCredentialsQueryParams @param id id path parameter. Global Credential ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-credential-sub-type-by-credential-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-credential-sub-type-by-credential-id */ func (s *DiscoveryService) GetCredentialSubTypeByCredentialID(id string) (*ResponseDiscoveryGetCredentialSubTypeByCredentialID, *resty.Response, error) { path := "/dna/intent/api/v1/global-credential/{id}" @@ -1454,7 +1791,7 @@ func (s *DiscoveryService) GetCredentialSubTypeByCredentialID(id string) (*Respo -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-snmp-properties-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-snmp-properties */ func (s *DiscoveryService) GetSNMPProperties() (*ResponseDiscoveryGetSNMPProperties, *resty.Response, error) { path := "/dna/intent/api/v1/snmp-property" @@ -1522,7 +1859,7 @@ func (s *DiscoveryService) GetAllGlobalCredentialsV2() (*ResponseDiscoveryGetAll -Documentation Link: https://developer.cisco.com/docs/dna-center/#!start-discovery-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!start-discovery */ func (s *DiscoveryService) StartDiscovery(requestDiscoveryStartDiscovery *RequestDiscoveryStartDiscovery) (*ResponseDiscoveryStartDiscovery, *resty.Response, error) { path := "/dna/intent/api/v1/discovery" @@ -1559,7 +1896,7 @@ func (s *DiscoveryService) StartDiscovery(requestDiscoveryStartDiscovery *Reques -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-cli-credentials-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-cli-credentials */ func (s *DiscoveryService) CreateCliCredentials(requestDiscoveryCreateCLICredentials *RequestDiscoveryCreateCliCredentials) (*ResponseDiscoveryCreateCliCredentials, *resty.Response, error) { path := "/dna/intent/api/v1/global-credential/cli" @@ -1596,7 +1933,7 @@ func (s *DiscoveryService) CreateCliCredentials(requestDiscoveryCreateCLICredent -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-http-read-credentials-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-http-read-credentials */ func (s *DiscoveryService) CreateHTTPReadCredentials(requestDiscoveryCreateHTTPReadCredentials *RequestDiscoveryCreateHTTPReadCredentials) (*ResponseDiscoveryCreateHTTPReadCredentials, *resty.Response, error) { path := "/dna/intent/api/v1/global-credential/http-read" @@ -1633,7 +1970,7 @@ func (s *DiscoveryService) CreateHTTPReadCredentials(requestDiscoveryCreateHTTPR -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-http-write-credentials-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-http-write-credentials */ func (s *DiscoveryService) CreateHTTPWriteCredentials(requestDiscoveryCreateHTTPWriteCredentials *RequestDiscoveryCreateHTTPWriteCredentials) (*ResponseDiscoveryCreateHTTPWriteCredentials, *resty.Response, error) { path := "/dna/intent/api/v1/global-credential/http-write" @@ -1670,7 +2007,7 @@ func (s *DiscoveryService) CreateHTTPWriteCredentials(requestDiscoveryCreateHTTP -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-netconf-credentials-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-netconf-credentials */ func (s *DiscoveryService) CreateNetconfCredentials(requestDiscoveryCreateNetconfCredentials *RequestDiscoveryCreateNetconfCredentials) (*ResponseDiscoveryCreateNetconfCredentials, *resty.Response, error) { path := "/dna/intent/api/v1/global-credential/netconf" @@ -1707,7 +2044,7 @@ func (s *DiscoveryService) CreateNetconfCredentials(requestDiscoveryCreateNetcon -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-snmp-read-community-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-snmp-read-community */ func (s *DiscoveryService) CreateSNMPReadCommunity(requestDiscoveryCreateSNMPReadCommunity *RequestDiscoveryCreateSNMPReadCommunity) (*ResponseDiscoveryCreateSNMPReadCommunity, *resty.Response, error) { path := "/dna/intent/api/v1/global-credential/snmpv2-read-community" @@ -1744,7 +2081,7 @@ func (s *DiscoveryService) CreateSNMPReadCommunity(requestDiscoveryCreateSNMPRea -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-snmp-write-community-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-snmp-write-community */ func (s *DiscoveryService) CreateSNMPWriteCommunity(requestDiscoveryCreateSNMPWriteCommunity *RequestDiscoveryCreateSNMPWriteCommunity) (*ResponseDiscoveryCreateSNMPWriteCommunity, *resty.Response, error) { path := "/dna/intent/api/v1/global-credential/snmpv2-write-community" @@ -1781,7 +2118,7 @@ func (s *DiscoveryService) CreateSNMPWriteCommunity(requestDiscoveryCreateSNMPWr -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-snmpv3-credentials-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-snmpv3-credentials */ func (s *DiscoveryService) CreateSNMPv3Credentials(requestDiscoveryCreateSNMPv3Credentials *RequestDiscoveryCreateSNMPv3Credentials) (*ResponseDiscoveryCreateSNMPv3Credentials, *resty.Response, error) { path := "/dna/intent/api/v1/global-credential/snmpv3" @@ -1818,7 +2155,7 @@ func (s *DiscoveryService) CreateSNMPv3Credentials(requestDiscoveryCreateSNMPv3C -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-update-snmp-properties-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-update-snmp-properties */ func (s *DiscoveryService) CreateUpdateSNMPProperties(requestDiscoveryCreateUpdateSNMPProperties *RequestDiscoveryCreateUpdateSNMPProperties) (*ResponseDiscoveryCreateUpdateSNMPProperties, *resty.Response, error) { path := "/dna/intent/api/v1/snmp-property" @@ -2221,11 +2558,11 @@ func (s *DiscoveryService) UpdateGlobalCredentialsV2(requestDiscoveryUpdateGloba } //DeleteAllDiscovery Delete all discovery - db8e-0923-4a98-8bab -/* Stops all the discoveries and removes them +/* Stops all the discoveries and removes them. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-all-discovery-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-all-discovery */ func (s *DiscoveryService) DeleteAllDiscovery() (*ResponseDiscoveryDeleteAllDiscovery, *resty.Response, error) { // @@ -2262,7 +2599,7 @@ func (s *DiscoveryService) DeleteAllDiscovery() (*ResponseDiscoveryDeleteAllDisc @param id id path parameter. Discovery ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-discovery-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-discovery-by-id */ func (s *DiscoveryService) DeleteDiscoveryByID(id string) (*ResponseDiscoveryDeleteDiscoveryByID, *resty.Response, error) { //id string @@ -2302,7 +2639,7 @@ func (s *DiscoveryService) DeleteDiscoveryByID(id string) (*ResponseDiscoveryDel @param recordsToDelete recordsToDelete path parameter. Number of records to delete from the starting index -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-discovery-by-specified-range-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-discovery-by-specified-range */ func (s *DiscoveryService) DeleteDiscoveryBySpecifiedRange(startIndex int, recordsToDelete int) (*ResponseDiscoveryDeleteDiscoveryBySpecifiedRange, *resty.Response, error) { //startIndex int,recordsToDelete int @@ -2341,7 +2678,7 @@ func (s *DiscoveryService) DeleteDiscoveryBySpecifiedRange(startIndex int, recor @param globalCredentialID globalCredentialId path parameter. ID of global-credential -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-global-credentials-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-global-credentials-by-id */ func (s *DiscoveryService) DeleteGlobalCredentialsByID(globalCredentialID string) (*ResponseDiscoveryDeleteGlobalCredentialsByID, *resty.Response, error) { //globalCredentialID string diff --git a/sdk/eox.go b/sdk/eox.go index b27b370..dd9c081 100644 --- a/sdk/eox.go +++ b/sdk/eox.go @@ -10,6 +10,11 @@ import ( type EoXService service +type GetEoXStatusForAllDevicesQueryParams struct { + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page, the first record is numbered 1 +} + type ResponseEoXGetEoXStatusForAllDevices struct { Response *[]ResponseEoXGetEoXStatusForAllDevicesResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // Version of the response @@ -23,7 +28,7 @@ type ResponseEoXGetEoXStatusForAllDevicesResponse struct { LastScanTime *int `json:"lastScanTime,omitempty"` // Time at which the network device was scanned. The representation is unix time. } type ResponseEoXGetEoXStatusForAllDevicesResponseSummary struct { - EoXType string `json:"EoXType,omitempty"` // Type of EoX Alert + EoXType string `json:"eoxType,omitempty"` // Type of EoX Alert } type ResponseEoXGetEoXDetailsPerDevice struct { Response *ResponseEoXGetEoXDetailsPerDeviceResponse `json:"response,omitempty"` // @@ -73,11 +78,12 @@ type ResponseEoXGetEoXSummaryResponse struct { /* Retrieves EoX status for all devices in the network +@param GetEoXStatusForAllDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-EoX-status-for-all-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-eox-status-for-all-devices */ func (s *EoXService) GetEoXStatusForAllDevices() (*ResponseEoXGetEoXStatusForAllDevices, *resty.Response, error) { - path := "/dna/intent/api/v1/EoX-status/device" + path := "/dna/intent/api/v1/eox-status/device" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). @@ -110,10 +116,10 @@ func (s *EoXService) GetEoXStatusForAllDevices() (*ResponseEoXGetEoXStatusForAll @param deviceID deviceId path parameter. Device instance UUID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-EoX-details-per-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-eox-details-per-device */ func (s *EoXService) GetEoXDetailsPerDevice(deviceID string) (*ResponseEoXGetEoXDetailsPerDevice, *resty.Response, error) { - path := "/dna/intent/api/v1/EoX-status/device/{deviceId}" + path := "/dna/intent/api/v1/eox-status/device/{deviceId}" path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) response, err := s.client.R(). @@ -145,10 +151,10 @@ func (s *EoXService) GetEoXDetailsPerDevice(deviceID string) (*ResponseEoXGetEoX -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-EoX-summary-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-eox-summary */ func (s *EoXService) GetEoXSummary() (*ResponseEoXGetEoXSummary, *resty.Response, error) { - path := "/dna/intent/api/v1/EoX-status/summary" + path := "/dna/intent/api/v1/eox-status/summary" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). diff --git a/sdk/event_management.go b/sdk/event_management.go index a92dadd..f485db3 100644 --- a/sdk/event_management.go +++ b/sdk/event_management.go @@ -794,6 +794,7 @@ type ResponseItemEventManagementGetEventArtifacts struct { EventTemplates *[]ResponseItemEventManagementGetEventArtifactsEventTemplates `json:"eventTemplates,omitempty"` // Event Templates IsTenantAware *bool `json:"isTenantAware,omitempty"` // Is Tenant Aware SupportedConnectorTypes []string `json:"supportedConnectorTypes,omitempty"` // Supported Connector Types + Configs *ResponseItemEventManagementGetEventArtifactsConfigs `json:"configs,omitempty"` // TenantID string `json:"tenantId,omitempty"` // Tenant Id } type ResponseItemEventManagementGetEventArtifactsEventPayload struct { @@ -812,6 +813,11 @@ type ResponseItemEventManagementGetEventArtifactsEventPayloadDetails struct { } type ResponseItemEventManagementGetEventArtifactsEventPayloadAdditionalDetails interface{} type ResponseItemEventManagementGetEventArtifactsEventTemplates interface{} +type ResponseItemEventManagementGetEventArtifactsConfigs struct { + IsAlert *bool `json:"isAlert,omitempty"` // Is Alert + + IsACKnowledgeable *bool `json:"isACKnowledgeable,omitempty"` // Is A C Knowledgeable +} type ResponseEventManagementEventArtifactCount struct { Response *float64 `json:"response,omitempty"` // Response } @@ -1192,7 +1198,7 @@ type RequestEventManagementUpdateWebhookDestinationHeaders struct { @param GetAuditLogParentRecordsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-audit-log-parent-records-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-audit-log-parent-records */ func (s *EventManagementService) GetAuditLogParentRecords(GetAuditLogParentRecordsQueryParams *GetAuditLogParentRecordsQueryParams) (*ResponseEventManagementGetAuditLogParentRecords, *resty.Response, error) { path := "/dna/data/api/v1/event/event-series/audit-log/parent-records" @@ -1229,7 +1235,7 @@ func (s *EventManagementService) GetAuditLogParentRecords(GetAuditLogParentRecor @param GetAuditLogSummaryQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-audit-log-summary-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-audit-log-summary */ func (s *EventManagementService) GetAuditLogSummary(GetAuditLogSummaryQueryParams *GetAuditLogSummaryQueryParams) (*ResponseEventManagementGetAuditLogSummary, *resty.Response, error) { path := "/dna/data/api/v1/event/event-series/audit-log/summary" @@ -1266,7 +1272,7 @@ func (s *EventManagementService) GetAuditLogSummary(GetAuditLogSummaryQueryParam @param GetAuditLogRecordsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-audit-log-records-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-audit-log-records */ func (s *EventManagementService) GetAuditLogRecords(GetAuditLogRecordsQueryParams *GetAuditLogRecordsQueryParams) (*ResponseEventManagementGetAuditLogRecords, *resty.Response, error) { path := "/dna/data/api/v1/event/event-series/audit-logs" @@ -1303,7 +1309,7 @@ func (s *EventManagementService) GetAuditLogRecords(GetAuditLogRecordsQueryParam @param GetSNMPDestinationQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-snmp-destination-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-snmp-destination */ func (s *EventManagementService) GetSNMPDestination(GetSNMPDestinationQueryParams *GetSNMPDestinationQueryParams) (*ResponseEventManagementGetSNMPDestination, *resty.Response, error) { path := "/dna/intent/api/v1/dna-event/snmp-config" @@ -1341,7 +1347,7 @@ func (s *EventManagementService) GetSNMPDestination(GetSNMPDestinationQueryParam @param executionID executionId path parameter. Execution ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-status-api-for-events-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-status-api-for-events */ func (s *EventManagementService) GetStatusAPIForEvents(executionID string) (*ResponseEventManagementGetStatusAPIForEvents, *resty.Response, error) { path := "/dna/intent/api/v1/event/api-status/{executionId}" @@ -1376,7 +1382,7 @@ func (s *EventManagementService) GetStatusAPIForEvents(executionID string) (*Res -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-email-destination-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-email-destination */ func (s *EventManagementService) GetEmailDestination() (*ResponseEventManagementGetEmailDestination, *resty.Response, error) { path := "/dna/intent/api/v1/event/email-config" @@ -1411,7 +1417,7 @@ func (s *EventManagementService) GetEmailDestination() (*ResponseEventManagement @param GetNotificationsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-notifications-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-notifications */ func (s *EventManagementService) GetNotifications(GetNotificationsQueryParams *GetNotificationsQueryParams) (*ResponseEventManagementGetNotifications, *resty.Response, error) { path := "/dna/intent/api/v1/event/event-series" @@ -1448,7 +1454,7 @@ func (s *EventManagementService) GetNotifications(GetNotificationsQueryParams *G @param CountOfNotificationsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-notifications-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-notifications */ func (s *EventManagementService) CountOfNotifications(CountOfNotificationsQueryParams *CountOfNotificationsQueryParams) (*ResponseEventManagementCountOfNotifications, *resty.Response, error) { path := "/dna/intent/api/v1/event/event-series/count" @@ -1480,12 +1486,12 @@ func (s *EventManagementService) CountOfNotifications(CountOfNotificationsQueryP } //GetEventSubscriptions Get Event Subscriptions - dcaa-6bde-4feb-9152 -/* Gets the list of Subscriptions's based on provided offset and limit (Deprecated) +/* Gets the list of Subscriptions's based on provided offset and limit. Deprecated since Guardian release. Alternative: GET /intent/api/v1/event/subscription/rest @param GetEventSubscriptionsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-event-subscriptions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-event-subscriptions */ func (s *EventManagementService) GetEventSubscriptions(GetEventSubscriptionsQueryParams *GetEventSubscriptionsQueryParams) (*ResponseEventManagementGetEventSubscriptions, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription" @@ -1522,7 +1528,7 @@ func (s *EventManagementService) GetEventSubscriptions(GetEventSubscriptionsQuer @param GetEmailSubscriptionDetailsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-email-subscription-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-email-subscription-details */ func (s *EventManagementService) GetEmailSubscriptionDetails(GetEmailSubscriptionDetailsQueryParams *GetEmailSubscriptionDetailsQueryParams) (*ResponseEventManagementGetEmailSubscriptionDetails, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription-details/email" @@ -1559,7 +1565,7 @@ func (s *EventManagementService) GetEmailSubscriptionDetails(GetEmailSubscriptio @param GetRestWebhookSubscriptionDetailsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rest-webhook-subscription-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rest-webhook-subscription-details */ func (s *EventManagementService) GetRestWebhookSubscriptionDetails(GetRestWebhookSubscriptionDetailsQueryParams *GetRestWebhookSubscriptionDetailsQueryParams) (*ResponseEventManagementGetRestWebhookSubscriptionDetails, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription-details/rest" @@ -1596,7 +1602,7 @@ func (s *EventManagementService) GetRestWebhookSubscriptionDetails(GetRestWebhoo @param GetSyslogSubscriptionDetailsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-syslog-subscription-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-syslog-subscription-details */ func (s *EventManagementService) GetSyslogSubscriptionDetails(GetSyslogSubscriptionDetailsQueryParams *GetSyslogSubscriptionDetailsQueryParams) (*ResponseEventManagementGetSyslogSubscriptionDetails, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription-details/syslog" @@ -1633,7 +1639,7 @@ func (s *EventManagementService) GetSyslogSubscriptionDetails(GetSyslogSubscript @param CountOfEventSubscriptionsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-event-subscriptions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-event-subscriptions */ func (s *EventManagementService) CountOfEventSubscriptions(CountOfEventSubscriptionsQueryParams *CountOfEventSubscriptionsQueryParams) (*ResponseEventManagementCountOfEventSubscriptions, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription/count" @@ -1670,7 +1676,7 @@ func (s *EventManagementService) CountOfEventSubscriptions(CountOfEventSubscript @param GetEmailEventSubscriptionsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-email-event-subscriptions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-email-event-subscriptions */ func (s *EventManagementService) GetEmailEventSubscriptions(GetEmailEventSubscriptionsQueryParams *GetEmailEventSubscriptionsQueryParams) (*ResponseEventManagementGetEmailEventSubscriptions, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription/email" @@ -1707,7 +1713,7 @@ func (s *EventManagementService) GetEmailEventSubscriptions(GetEmailEventSubscri @param GetRestWebhookEventSubscriptionsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rest-webhook-event-subscriptions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rest-webhook-event-subscriptions */ func (s *EventManagementService) GetRestWebhookEventSubscriptions(GetRestWebhookEventSubscriptionsQueryParams *GetRestWebhookEventSubscriptionsQueryParams) (*ResponseEventManagementGetRestWebhookEventSubscriptions, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription/rest" @@ -1744,7 +1750,7 @@ func (s *EventManagementService) GetRestWebhookEventSubscriptions(GetRestWebhook @param GetSyslogEventSubscriptionsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-syslog-event-subscriptions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-syslog-event-subscriptions */ func (s *EventManagementService) GetSyslogEventSubscriptions(GetSyslogEventSubscriptionsQueryParams *GetSyslogEventSubscriptionsQueryParams) (*ResponseEventManagementGetSyslogEventSubscriptions, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription/syslog" @@ -1781,7 +1787,7 @@ func (s *EventManagementService) GetSyslogEventSubscriptions(GetSyslogEventSubsc @param GetSyslogDestinationQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-syslog-destination-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-syslog-destination */ func (s *EventManagementService) GetSyslogDestination(GetSyslogDestinationQueryParams *GetSyslogDestinationQueryParams) (*ResponseEventManagementGetSyslogDestination, *resty.Response, error) { path := "/dna/intent/api/v1/event/syslog-config" @@ -1818,7 +1824,7 @@ func (s *EventManagementService) GetSyslogDestination(GetSyslogDestinationQueryP @param GetWebhookDestinationQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-webhook-destination-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-webhook-destination */ func (s *EventManagementService) GetWebhookDestination(GetWebhookDestinationQueryParams *GetWebhookDestinationQueryParams) (*ResponseEventManagementGetWebhookDestination, *resty.Response, error) { path := "/dna/intent/api/v1/event/webhook" @@ -1855,7 +1861,7 @@ func (s *EventManagementService) GetWebhookDestination(GetWebhookDestinationQuer @param GetEventsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-events-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-events */ func (s *EventManagementService) GetEvents(GetEventsQueryParams *GetEventsQueryParams) (*ResponseEventManagementGetEvents, *resty.Response, error) { path := "/dna/intent/api/v1/events" @@ -1892,7 +1898,7 @@ func (s *EventManagementService) GetEvents(GetEventsQueryParams *GetEventsQueryP @param CountOfEventsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-events-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-events */ func (s *EventManagementService) CountOfEvents(CountOfEventsQueryParams *CountOfEventsQueryParams) (*ResponseEventManagementCountOfEvents, *resty.Response, error) { path := "/dna/intent/api/v1/events/count" @@ -1929,7 +1935,7 @@ func (s *EventManagementService) CountOfEvents(CountOfEventsQueryParams *CountOf @param GetEventArtifactsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-event-artifacts-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-event-artifacts */ func (s *EventManagementService) GetEventArtifacts(GetEventArtifactsQueryParams *GetEventArtifactsQueryParams) (*ResponseEventManagementGetEventArtifacts, *resty.Response, error) { path := "/dna/system/api/v1/event/artifact" @@ -1965,7 +1971,7 @@ func (s *EventManagementService) GetEventArtifacts(GetEventArtifactsQueryParams -Documentation Link: https://developer.cisco.com/docs/dna-center/#!event-artifact-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!event-artifact-count */ func (s *EventManagementService) EventArtifactCount() (*ResponseEventManagementEventArtifactCount, *resty.Response, error) { path := "/dna/system/api/v1/event/artifact/count" @@ -1999,7 +2005,7 @@ func (s *EventManagementService) EventArtifactCount() (*ResponseEventManagementE -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-connector-types-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-connector-types */ func (s *EventManagementService) GetConnectorTypes() (*ResponseEventManagementGetConnectorTypes, *resty.Response, error) { path := "/dna/system/api/v1/event/config/connector-types" @@ -2033,7 +2039,7 @@ func (s *EventManagementService) GetConnectorTypes() (*ResponseEventManagementGe -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-email-destination-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-email-destination */ func (s *EventManagementService) CreateEmailDestination(requestEventManagementCreateEmailDestination *RequestEventManagementCreateEmailDestination) (*ResponseEventManagementCreateEmailDestination, *resty.Response, error) { path := "/dna/intent/api/v1/event/email-config" @@ -2070,7 +2076,7 @@ func (s *EventManagementService) CreateEmailDestination(requestEventManagementCr -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-snmp-destination-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-snmp-destination */ func (s *EventManagementService) CreateSNMPDestination(requestEventManagementCreateSNMPDestination *RequestEventManagementCreateSNMPDestination) (*ResponseEventManagementCreateSNMPDestination, *resty.Response, error) { path := "/dna/intent/api/v1/event/snmp-config" @@ -2103,11 +2109,11 @@ func (s *EventManagementService) CreateSNMPDestination(requestEventManagementCre } //CreateEventSubscriptions Create Event Subscriptions - 4f9f-7a7b-40f9-90de -/* Subscribe SubscriptionEndpoint to list of registered events (Deprecated) +/* Subscribe SubscriptionEndpoint to list of registered events. Deprecated since Guardian release. Alternative: POST /intent/api/v1/event/subscription/rest -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-event-subscriptions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-event-subscriptions */ func (s *EventManagementService) CreateEventSubscriptions(requestEventManagementCreateEventSubscriptions *RequestEventManagementCreateEventSubscriptions) (*ResponseEventManagementCreateEventSubscriptions, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription" @@ -2144,7 +2150,7 @@ func (s *EventManagementService) CreateEventSubscriptions(requestEventManagement -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-email-event-subscription-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-email-event-subscription */ func (s *EventManagementService) CreateEmailEventSubscription(requestEventManagementCreateEmailEventSubscription *RequestEventManagementCreateEmailEventSubscription) (*ResponseEventManagementCreateEmailEventSubscription, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription/email" @@ -2181,7 +2187,7 @@ func (s *EventManagementService) CreateEmailEventSubscription(requestEventManage -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-rest-webhook-event-subscription-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-rest-webhook-event-subscription */ func (s *EventManagementService) CreateRestWebhookEventSubscription(requestEventManagementCreateRestWebhookEventSubscription *RequestEventManagementCreateRestWebhookEventSubscription) (*ResponseEventManagementCreateRestWebhookEventSubscription, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription/rest" @@ -2218,7 +2224,7 @@ func (s *EventManagementService) CreateRestWebhookEventSubscription(requestEvent -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-syslog-event-subscription-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-syslog-event-subscription */ func (s *EventManagementService) CreateSyslogEventSubscription(requestEventManagementCreateSyslogEventSubscription *RequestEventManagementCreateSyslogEventSubscription) (*ResponseEventManagementCreateSyslogEventSubscription, *resty.Response, error) { path := "/dna/intent/api/v1/event/subscription/syslog" @@ -2255,7 +2261,7 @@ func (s *EventManagementService) CreateSyslogEventSubscription(requestEventManag -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-syslog-destination-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-syslog-destination */ func (s *EventManagementService) CreateSyslogDestination(requestEventManagementCreateSyslogDestination *RequestEventManagementCreateSyslogDestination) (*ResponseEventManagementCreateSyslogDestination, *resty.Response, error) { path := "/dna/intent/api/v1/event/syslog-config" @@ -2292,7 +2298,7 @@ func (s *EventManagementService) CreateSyslogDestination(requestEventManagementC -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-webhook-destination-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-webhook-destination */ func (s *EventManagementService) CreateWebhookDestination(requestEventManagementCreateWebhookDestination *RequestEventManagementCreateWebhookDestination) (*ResponseEventManagementCreateWebhookDestination, *resty.Response, error) { path := "/dna/intent/api/v1/event/webhook" @@ -2391,7 +2397,7 @@ func (s *EventManagementService) UpdateSNMPDestination(requestEventManagementUpd } //UpdateEventSubscriptions Update Event Subscriptions - 579a-6a72-48cb-94cf -/* Update SubscriptionEndpoint to list of registered events(Deprecated) +/* Update SubscriptionEndpoint to list of registered events. Deprecated since Guardian release. Alternative: PUT /intent/api/v1/event/subscription/rest */ @@ -2594,7 +2600,7 @@ func (s *EventManagementService) UpdateWebhookDestination(requestEventManagement @param DeleteEventSubscriptionsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-event-subscriptions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-event-subscriptions */ func (s *EventManagementService) DeleteEventSubscriptions(DeleteEventSubscriptionsQueryParams *DeleteEventSubscriptionsQueryParams) (*ResponseEventManagementDeleteEventSubscriptions, *resty.Response, error) { //DeleteEventSubscriptionsQueryParams *DeleteEventSubscriptionsQueryParams @@ -2616,8 +2622,7 @@ func (s *EventManagementService) DeleteEventSubscriptions(DeleteEventSubscriptio if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteEventSubscriptions( - DeleteEventSubscriptionsQueryParams) + return s.DeleteEventSubscriptions(DeleteEventSubscriptionsQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteEventSubscriptions") } diff --git a/sdk/fabric_wireless.go b/sdk/fabric_wireless.go index 32d7597..818e95c 100644 --- a/sdk/fabric_wireless.go +++ b/sdk/fabric_wireless.go @@ -22,11 +22,11 @@ type RemoveWLCFromFabricDomainHeaderParams struct { Persistbapioutput string `url:"__persistbapioutput,omitempty"` //Expects type string. Enable this parameter to execute the API and return a response asynchronously. } type ReturnsAllTheFabricSitesThatHaveVLANToSSIDMappingQueryParams struct { - Limit float64 `url:"limit,omitempty"` //Return only this many IP Pool to SSID Mapping + Limit float64 `url:"limit,omitempty"` //Return only this many IP Pool to SSID Mapping. Default is 500 if not specified. Maximum allowed limit is 500. Offset float64 `url:"offset,omitempty"` //Number of records to skip for pagination } type RetrieveTheVLANsAndSSIDsMappedToTheVLANWithinAFabricSiteQueryParams struct { - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. } @@ -81,6 +81,43 @@ type ResponseFabricWirelessReturnTheCountOfAllTheFabricSiteWhichHasSSIDToIPPoolM type ResponseFabricWirelessReturnTheCountOfAllTheFabricSiteWhichHasSSIDToIPPoolMappingResponse struct { Count *int `json:"count,omitempty"` // Return the count of all the fabric site which has SSID to IP Pool mapping } +type ResponseFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagement struct { + Response *ResponseFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagementResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version of the response +} +type ResponseFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagementResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task + + URL string `json:"url,omitempty"` // URL for the task +} +type ResponseFabricWirelessGetSdaWirelessDetailsFromSwitches struct { + Response *[]ResponseFabricWirelessGetSdaWirelessDetailsFromSwitchesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseFabricWirelessGetSdaWirelessDetailsFromSwitchesResponse struct { + ID string `json:"id,omitempty"` // Network Device ID of the Wireless Capable Switch + + EnableWireless *bool `json:"enableWireless,omitempty"` // Enable Wireless + + RollingApUpgrade *ResponseFabricWirelessGetSdaWirelessDetailsFromSwitchesResponseRollingApUpgrade `json:"rollingApUpgrade,omitempty"` // +} +type ResponseFabricWirelessGetSdaWirelessDetailsFromSwitchesResponseRollingApUpgrade struct { + EnableRollingApUpgrade *bool `json:"enableRollingApUpgrade,omitempty"` // Enable Rolling Ap Upgrade + + ApRebootPercentage *int `json:"apRebootPercentage,omitempty"` // AP Reboot Percentage. Permissible values - 5, 15, 25 +} +type ResponseFabricWirelessReloadSwitchForWirelessControllerCleanup struct { + Response *ResponseFabricWirelessReloadSwitchForWirelessControllerCleanupResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseFabricWirelessReloadSwitchForWirelessControllerCleanupResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL +} type ResponseFabricWirelessAddUpdateOrRemoveSSIDMappingToAVLAN struct { Response *ResponseFabricWirelessAddUpdateOrRemoveSSIDMappingToAVLANResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // Version @@ -108,6 +145,24 @@ type ResponseFabricWirelessReturnsTheCountOfVLANsMappedToSSIDsInAFabricSite stru type ResponseFabricWirelessReturnsTheCountOfVLANsMappedToSSIDsInAFabricSiteResponse struct { Count *int `json:"count,omitempty"` // Returns the count of VLANs mapped to SSIDs in a Fabric Site } +type ResponseFabricWirelessUpdateSdaWirelessMulticast struct { + Response *ResponseFabricWirelessUpdateSdaWirelessMulticastResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseFabricWirelessUpdateSdaWirelessMulticastResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL +} +type ResponseFabricWirelessGetSdaWirelessMulticast struct { + Response *ResponseFabricWirelessGetSdaWirelessMulticastResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseFabricWirelessGetSdaWirelessMulticastResponse struct { + MulticastEnabled *bool `json:"multicastEnabled,omitempty"` // The setting indicates whether multicast is enabled (true) or disabled (false). +} type RequestFabricWirelessAddSSIDToIPPoolMapping struct { VLANName string `json:"vlanName,omitempty"` // VLAN Name ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable Group Name @@ -124,6 +179,21 @@ type RequestFabricWirelessAddWLCToFabricDomain struct { DeviceName string `json:"deviceName,omitempty"` // WLC Device Name SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Fabric Site Name Hierarchy } +type RequestFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagement struct { + ID string `json:"id,omitempty"` // Network Device ID of the wireless capable switch + + EnableWireless *bool `json:"enableWireless,omitempty"` // Enable Wireless + + RollingApUpgrade *RequestFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagementRollingApUpgrade `json:"rollingApUpgrade,omitempty"` // +} +type RequestFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagementRollingApUpgrade struct { + EnableRollingApUpgrade *bool `json:"enableRollingApUpgrade,omitempty"` // Enable Rolling Ap Upgrade + + ApRebootPercentage *int `json:"apRebootPercentage,omitempty"` // AP Reboot Percentage. Permissible values - 5, 15, 25 +} +type RequestFabricWirelessReloadSwitchForWirelessControllerCleanup struct { + DeviceID string `json:"deviceId,omitempty"` // Network Device ID +} type RequestFabricWirelessAddUpdateOrRemoveSSIDMappingToAVLAN []RequestItemFabricWirelessAddUpdateOrRemoveSSIDMappingToAVLAN // Array of RequestFabricWirelessAddUpdateOrRemoveSSIDMappingToAVLAN type RequestItemFabricWirelessAddUpdateOrRemoveSSIDMappingToAVLAN struct { VLANName string `json:"vlanName,omitempty"` // Vlan Name @@ -133,6 +203,9 @@ type RequestItemFabricWirelessAddUpdateOrRemoveSSIDMappingToAVLANSSIDDetails str Name string `json:"name,omitempty"` // Name of the SSID SecurityGroupTag string `json:"securityGroupTag,omitempty"` // Represents the name of the Security Group. Example: Auditors, BYOD, Developers, etc. } +type RequestFabricWirelessUpdateSdaWirelessMulticast struct { + MulticastEnabled *bool `json:"multicastEnabled,omitempty"` // Multicast Enabled +} //GetSSIDToIPPoolMapping Get SSID to IP Pool Mapping - d891-8a44-4b6a-ad19 /* Get SSID to IP Pool Mapping @@ -140,7 +213,7 @@ type RequestItemFabricWirelessAddUpdateOrRemoveSSIDMappingToAVLANSSIDDetails str @param GetSSIDToIPPoolMappingQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-to-ip-pool-mapping-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-to-ip-pool-mapping */ func (s *FabricWirelessService) GetSSIDToIPPoolMapping(GetSSIDToIPPoolMappingQueryParams *GetSSIDToIPPoolMappingQueryParams) (*ResponseFabricWirelessGetSSIDToIPPoolMapping, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/hostonboarding/ssid-ippool" @@ -177,7 +250,7 @@ func (s *FabricWirelessService) GetSSIDToIPPoolMapping(GetSSIDToIPPoolMappingQue @param ReturnsAllTheFabricSitesThatHaveVLANToSSIDMappingQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-all-the-fabric-sites-that-have-vlan-to-ssid-mapping-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-all-the-fabric-sites-that-have-vlan-to-ssid-mapping */ func (s *FabricWirelessService) ReturnsAllTheFabricSitesThatHaveVLANToSSIDMapping(ReturnsAllTheFabricSitesThatHaveVLANToSSIDMappingQueryParams *ReturnsAllTheFabricSitesThatHaveVLANToSSIDMappingQueryParams) (*ResponseFabricWirelessReturnsAllTheFabricSitesThatHaveVLANToSSIDMapping, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabrics/vlanToSsids" @@ -213,7 +286,7 @@ func (s *FabricWirelessService) ReturnsAllTheFabricSitesThatHaveVLANToSSIDMappin -Documentation Link: https://developer.cisco.com/docs/dna-center/#!return-the-count-of-all-the-fabric-site-which-has-ssid-to-ip-pool-mapping-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!return-the-count-of-all-the-fabric-site-which-has-ssid-to-ip-pool-mapping */ func (s *FabricWirelessService) ReturnTheCountOfAllTheFabricSiteWhichHasSSIDToIPPoolMapping() (*ResponseFabricWirelessReturnTheCountOfAllTheFabricSiteWhichHasSSIDToIPPoolMapping, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabrics/vlanToSsids/count" @@ -242,6 +315,43 @@ func (s *FabricWirelessService) ReturnTheCountOfAllTheFabricSiteWhichHasSSIDToIP } +//GetSdaWirelessDetailsFromSwitches Get SDA Wireless details from Switches - e48c-0bd1-459b-ad8d +/* Get the SDA Wireless details from the switches on the fabric site that have wireless capability enabled. A maximum of two switches can have a wireless role in a fabric site. + + +@param fabricID fabricId path parameter. The 'fabricId' represents the Fabric ID of a particular Fabric Site. The 'fabricId' can be obtained using the api /dna/intent/api/v1/sda/fabricSites. Example : e290f1ee-6c54-4b01-90e6-d701748f0851 + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-sda-wireless-details-from-switches +*/ +func (s *FabricWirelessService) GetSdaWirelessDetailsFromSwitches(fabricID string) (*ResponseFabricWirelessGetSdaWirelessDetailsFromSwitches, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabrics/{fabricId}/switchWirelessSetting" + path = strings.Replace(path, "{fabricId}", fmt.Sprintf("%v", fabricID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseFabricWirelessGetSdaWirelessDetailsFromSwitches{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSdaWirelessDetailsFromSwitches(fabricID) + } + return nil, response, fmt.Errorf("error with operation GetSdaWirelessDetailsFromSwitches") + } + + result := response.Result().(*ResponseFabricWirelessGetSdaWirelessDetailsFromSwitches) + return result, response, err + +} + //RetrieveTheVLANsAndSSIDsMappedToTheVLANWithinAFabricSite Retrieve the VLANs and SSIDs mapped to the VLAN within a Fabric Site. - edbe-baa6-46cb-9f5e /* Retrieve the VLANs and SSIDs mapped to the VLAN, within a Fabric Site. The 'fabricId' represents the Fabric ID of a particular Fabric Site. @@ -250,7 +360,7 @@ func (s *FabricWirelessService) ReturnTheCountOfAllTheFabricSiteWhichHasSSIDToIP @param RetrieveTheVLANsAndSSIDsMappedToTheVLANWithinAFabricSiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-vlans-and-ssids-mapped-to-the-vlan-within-a-fabric-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-vlans-and-ssids-mapped-to-the-vlan-within-a-fabric-site */ func (s *FabricWirelessService) RetrieveTheVLANsAndSSIDsMappedToTheVLANWithinAFabricSite(fabricID string, RetrieveTheVLANsAndSSIDsMappedToTheVLANWithinAFabricSiteQueryParams *RetrieveTheVLANsAndSSIDsMappedToTheVLANWithinAFabricSiteQueryParams) (*ResponseFabricWirelessRetrieveTheVLANsAndSSIDsMappedToTheVLANWithinAFabricSite, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabrics/{fabricId}/vlanToSsids" @@ -289,7 +399,7 @@ func (s *FabricWirelessService) RetrieveTheVLANsAndSSIDsMappedToTheVLANWithinAFa @param fabricID fabricId path parameter. The 'fabricId' represents the Fabric ID of a particular Fabric Site -Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-the-count-of-vlans-mapped-to-ssids-in-a-fabric-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-the-count-of-vlans-mapped-to-ssids-in-a-fabric-site */ func (s *FabricWirelessService) ReturnsTheCountOfVLANsMappedToSSIDsInAFabricSite(fabricID string) (*ResponseFabricWirelessReturnsTheCountOfVLANsMappedToSSIDsInAFabricSite, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabrics/{fabricId}/vlanToSsids/count" @@ -319,12 +429,49 @@ func (s *FabricWirelessService) ReturnsTheCountOfVLANsMappedToSSIDsInAFabricSite } +//GetSdaWirelessMulticast Get SDA Wireless Multicast - a58d-4bd1-4f89-8424 +/* Retrieves the current Software-Defined Access (SDA) Wireless Multicast setting for a specified fabric site. The setting indicates whether multicast is enabled (true) or disabled (false). For optimal performance, ensure wired multicast is also enabled. + + +@param fabricID fabricId path parameter. The unique identifier of the fabric site for which the multicast setting is being requested. The identifier should be in the format of a UUID. The 'fabricId' can be obtained using the api /dna/intent/api/v1/sda/fabricSites. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-sda-wireless-multicast +*/ +func (s *FabricWirelessService) GetSdaWirelessMulticast(fabricID string) (*ResponseFabricWirelessGetSdaWirelessMulticast, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabrics/{fabricId}/wirelessMulticast" + path = strings.Replace(path, "{fabricId}", fmt.Sprintf("%v", fabricID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseFabricWirelessGetSdaWirelessMulticast{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSdaWirelessMulticast(fabricID) + } + return nil, response, fmt.Errorf("error with operation GetSdaWirelessMulticast") + } + + result := response.Result().(*ResponseFabricWirelessGetSdaWirelessMulticast) + return result, response, err + +} + //AddSSIDToIPPoolMapping Add SSID to IP Pool Mapping - b783-49d9-463a-98dd /* Add SSID to IP Pool Mapping -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-ssid-to-ip-pool-mapping-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-ssid-to-ip-pool-mapping */ func (s *FabricWirelessService) AddSSIDToIPPoolMapping(requestFabricWirelessAddSSIDToIPPoolMapping *RequestFabricWirelessAddSSIDToIPPoolMapping) (*ResponseFabricWirelessAddSSIDToIPPoolMapping, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/hostonboarding/ssid-ippool" @@ -361,7 +508,7 @@ func (s *FabricWirelessService) AddSSIDToIPPoolMapping(requestFabricWirelessAddS -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-w-l-c-to-fabric-domain-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-w-l-c-to-fabric-domain */ func (s *FabricWirelessService) AddWLCToFabricDomain(requestFabricWirelessAddWLCToFabricDomain *RequestFabricWirelessAddWLCToFabricDomain) (*ResponseFabricWirelessAddWLCToFabricDomain, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/wireless-controller" @@ -393,6 +540,46 @@ func (s *FabricWirelessService) AddWLCToFabricDomain(requestFabricWirelessAddWLC } +//ReloadSwitchForWirelessControllerCleanup Reload Switch for Wireless Controller Cleanup - 7ab4-3994-429b-827c +/* This API is used to reload switches after disabling wireless to remove the wireless-controller configuration on the device. When wireless is disabled on a switch, all wireless configurations are removed except for the wireless-controller configuration. To completely remove the wireless-controller configuration, you can use this API. Please note that using this API will cause a reload of the device(s). This API should only be used for devices that have wireless disabled but still have the 'wireless-controller' configuration present. The reload payload can have a maximum of two switches as only two switches can have a wireless role in a fabric site. + + +@param fabricID fabricId path parameter. The 'fabricId' represents the Fabric ID of a particular Fabric Site. The 'fabricId' can be obtained using the api /dna/intent/api/v1/sda/fabricSites. Example : e290f1ee-6c54-4b01-90e6-d701748f0851 + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!reload-switch-for-wireless-controller-cleanup +*/ +func (s *FabricWirelessService) ReloadSwitchForWirelessControllerCleanup(fabricID string, requestFabricWirelessReloadSwitchForWirelessControllerCleanup *RequestFabricWirelessReloadSwitchForWirelessControllerCleanup) (*ResponseFabricWirelessReloadSwitchForWirelessControllerCleanup, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabrics/{fabricId}/switchWirelessSetting/reload" + path = strings.Replace(path, "{fabricId}", fmt.Sprintf("%v", fabricID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestFabricWirelessReloadSwitchForWirelessControllerCleanup). + SetResult(&ResponseFabricWirelessReloadSwitchForWirelessControllerCleanup{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.ReloadSwitchForWirelessControllerCleanup(fabricID, requestFabricWirelessReloadSwitchForWirelessControllerCleanup) + } + + return nil, response, fmt.Errorf("error with operation ReloadSwitchForWirelessControllerCleanup") + } + + result := response.Result().(*ResponseFabricWirelessReloadSwitchForWirelessControllerCleanup) + return result, response, err + +} + //UpdateSSIDToIPPoolMapping Update SSID to IP Pool Mapping - a7bf-1936-424b-91f0 /* Update SSID to IP Pool Mapping @@ -426,6 +613,42 @@ func (s *FabricWirelessService) UpdateSSIDToIPPoolMapping(requestFabricWirelessU } +//SwitchWirelessSettingAndRollingApUpgradeManagement Switch Wireless Setting and Rolling AP Upgrade Management - 2d95-183a-46db-87ed +/* This API is used to enable or disable wireless capabilities on switch devices, along with configuring rolling AP upgrades on the fabric site. Reboot action is required to remove wireless configurations. + + +@param fabricID fabricId path parameter. The 'fabricId' represents the Fabric ID of a particular Fabric Site. The 'fabricId' can be obtained using the api /dna/intent/api/v1/sda/fabricSites. Example : e290f1ee-6c54-4b01-90e6-d701748f0851 + +*/ +func (s *FabricWirelessService) SwitchWirelessSettingAndRollingApUpgradeManagement(fabricID string, requestFabricWirelessSwitchWirelessSettingAndRollingAPUpgradeManagement *RequestFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagement) (*ResponseFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagement, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabrics/{fabricId}/switchWirelessSetting" + path = strings.Replace(path, "{fabricId}", fmt.Sprintf("%v", fabricID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestFabricWirelessSwitchWirelessSettingAndRollingAPUpgradeManagement). + SetResult(&ResponseFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagement{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.SwitchWirelessSettingAndRollingApUpgradeManagement(fabricID, requestFabricWirelessSwitchWirelessSettingAndRollingAPUpgradeManagement) + } + return nil, response, fmt.Errorf("error with operation SwitchWirelessSettingAndRollingApUpgradeManagement") + } + + result := response.Result().(*ResponseFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagement) + return result, response, err + +} + //AddUpdateOrRemoveSSIDMappingToAVLAN Add, Update or Remove SSID mapping to a VLAN - 07af-b879-4c2a-983b /* Add, update, or remove SSID mappings to a VLAN. If the payload doesn't contain a 'vlanName' which has SSIDs mapping done earlier then all the mapped SSIDs of the 'vlanName' is cleared. The request must include all SSIDs currently mapped to a VLAN, as determined by the response from the GET operation for the same fabricId used in the request. If an already-mapped SSID is not included in the payload, its mapping will be removed by this API. Conversely, if a new SSID is provided, it will be added to the Mapping. Ensure that any new SSID added is a Fabric SSID. This API can also be used to add a VLAN and associate the relevant SSIDs with it. The 'vlanName' must be 'Fabric Wireless Enabled' and should be part of the Fabric Site representing 'Fabric ID' specified in the API request. @@ -462,6 +685,42 @@ func (s *FabricWirelessService) AddUpdateOrRemoveSSIDMappingToAVLAN(fabricID str } +//UpdateSdaWirelessMulticast Update SDA Wireless Multicast - 908b-d97a-4458-8352 +/* Updates the Software-Defined Access (SDA) Wireless Multicast setting for a specified fabric site. This API allows you to enable or disable the multicast feature. For optimal performance, ensure wired multicast is also enabled. + + +@param fabricID fabricId path parameter. The unique identifier of the fabric site for which the multicast setting is being requested. The identifier should be in the format of a UUID. The 'fabricId' can be obtained using the api /dna/intent/api/v1/sda/fabricSites. + +*/ +func (s *FabricWirelessService) UpdateSdaWirelessMulticast(fabricID string, requestFabricWirelessUpdateSDAWirelessMulticast *RequestFabricWirelessUpdateSdaWirelessMulticast) (*ResponseFabricWirelessUpdateSdaWirelessMulticast, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabrics/{fabricId}/wirelessMulticast" + path = strings.Replace(path, "{fabricId}", fmt.Sprintf("%v", fabricID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestFabricWirelessUpdateSDAWirelessMulticast). + SetResult(&ResponseFabricWirelessUpdateSdaWirelessMulticast{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdateSdaWirelessMulticast(fabricID, requestFabricWirelessUpdateSDAWirelessMulticast) + } + return nil, response, fmt.Errorf("error with operation UpdateSdaWirelessMulticast") + } + + result := response.Result().(*ResponseFabricWirelessUpdateSdaWirelessMulticast) + return result, response, err + +} + //RemoveWLCFromFabricDomain Remove WLC from Fabric Domain - 10bb-1ae9-46e9-840f /* Remove WLC from Fabric Domain @@ -469,7 +728,7 @@ func (s *FabricWirelessService) AddUpdateOrRemoveSSIDMappingToAVLAN(fabricID str @param RemoveWLCFromFabricDomainHeaderParams Custom header parameters @param RemoveWLCFromFabricDomainQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-w-l-c-from-fabric-domain-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-w-l-c-from-fabric-domain */ func (s *FabricWirelessService) RemoveWLCFromFabricDomain(RemoveWLCFromFabricDomainHeaderParams *RemoveWLCFromFabricDomainHeaderParams, RemoveWLCFromFabricDomainQueryParams *RemoveWLCFromFabricDomainQueryParams) (*ResponseFabricWirelessRemoveWLCFromFabricDomain, *resty.Response, error) { //RemoveWLCFromFabricDomainHeaderParams *RemoveWLCFromFabricDomainHeaderParams,RemoveWLCFromFabricDomainQueryParams *RemoveWLCFromFabricDomainQueryParams diff --git a/sdk/file.go b/sdk/file.go index cfe6c79..122f3e3 100644 --- a/sdk/file.go +++ b/sdk/file.go @@ -48,7 +48,7 @@ type ResponseFileUploadFile interface{} -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-available-namespaces-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-available-namespaces */ func (s *FileService) GetListOfAvailableNamespaces() (*ResponseFileGetListOfAvailableNamespaces, *resty.Response, error) { path := "/dna/intent/api/v1/file/namespace" @@ -84,7 +84,7 @@ func (s *FileService) GetListOfAvailableNamespaces() (*ResponseFileGetListOfAvai @param nameSpace nameSpace path parameter. A listing of fileId's -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-files-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-files */ func (s *FileService) GetListOfFiles(nameSpace string) (*ResponseFileGetListOfFiles, *resty.Response, error) { path := "/dna/intent/api/v1/file/namespace/{nameSpace}" @@ -121,7 +121,7 @@ func (s *FileService) GetListOfFiles(nameSpace string) (*ResponseFileGetListOfFi @param fileID fileId path parameter. File Identification number -Documentation Link: https://developer.cisco.com/docs/dna-center/#!download-a-file-by-file-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!download-a-file-by-file-id */ func (s *FileService) DownloadAFileByFileID(fileID string) (FileDownload, *resty.Response, error) { path := "/dna/intent/api/v1/file/{fileId}" @@ -161,7 +161,7 @@ func (s *FileService) DownloadAFileByFileID(fileID string) (FileDownload, *resty @param nameSpace nameSpace path parameter. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!upload-file-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!upload-file */ func (s *FileService) UploadFile(nameSpace string, UploadFileMultipartFields *UploadFileMultipartFields) (*ResponseFileUploadFile, *resty.Response, error) { path := "/dna/intent/api/v1/file/{nameSpace}" diff --git a/sdk/health_and_performance.go b/sdk/health_and_performance.go index 93b6063..d6338f4 100644 --- a/sdk/health_and_performance.go +++ b/sdk/health_and_performance.go @@ -19,7 +19,7 @@ type RetrievesTheListOfValidationWorkflowsQueryParams struct { EndTime float64 `url:"endTime,omitempty"` //Workflows started before the given time (as milliseconds since UNIX epoch). RunStatus string `url:"runStatus,omitempty"` //Execution status of the workflow. If the workflow is successfully submitted, runStatus is `PENDING`. If the workflow execution has started, runStatus is `IN_PROGRESS`. If the workflow executed is completed with all validations executed, runStatus is `COMPLETED`. If the workflow execution fails while running validations, runStatus is `FAILED`. Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //Specifies the maximum number of workflows to return per page. Must be an integer between 1 and 500, inclusive. } type RetrievesTheCountOfValidationWorkflowsQueryParams struct { StartTime float64 `url:"startTime,omitempty"` //Workflows started after the given time (as milliseconds since UNIX epoch). @@ -30,8 +30,8 @@ type SystemHealthAPIQueryParams struct { Summary bool `url:"summary,omitempty"` //Fetch the latest high severity event Domain string `url:"domain,omitempty"` //Fetch system events with this domain. Possible values of domain are listed here : /dna/platform/app/consumer-portal/developer-toolkit/events Subdomain string `url:"subdomain,omitempty"` //Fetch system events with this subdomain. Possible values of subdomain are listed here : /dna/platform/app/consumer-portal/developer-toolkit/events - Limit float64 `url:"limit,omitempty"` //limit - Offset float64 `url:"offset,omitempty"` //offset + Limit float64 `url:"limit,omitempty"` //Specifies the maximum number of system health events to return per page. Must be an integer between 1 and 50, inclusive + Offset float64 `url:"offset,omitempty"` //Specifies the starting point for the list of system health events to return. Must be an integer greater than or equal to 0 } type SystemHealthCountAPIQueryParams struct { Domain string `url:"domain,omitempty"` //Fetch system events with this domain. Possible values of domain are listed here : /dna/platform/app/consumer-portal/developer-toolkit/events @@ -49,6 +49,42 @@ type SystemPerformanceHistoricalAPIQueryParams struct { EndTime float64 `url:"endTime,omitempty"` //This is the epoch end time in milliseconds upto which performance indicator need to be fetched } +type ResponseHealthAndPerformanceRetrievesDiagnosticTaskByID struct { + Response *ResponseHealthAndPerformanceRetrievesDiagnosticTaskByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseHealthAndPerformanceRetrievesDiagnosticTaskByIDResponse struct { + ID string `json:"id,omitempty"` // The ID of this task + + RootID string `json:"rootId,omitempty"` // The ID of the task representing the root node of the tree which this task belongs to. In some cases, this may be the same as the ID or null, which indicates that this task is the root task + + ParentID string `json:"parentId,omitempty"` // The ID of the parent task if this happens to be a subtask. In case this task is not a subtask, then the parentId is expected to be null. To construct a task tree, this task will be the child of the task with the ID listed here, or the root of the tree if this task has no parentId + + StartTime *int `json:"startTime,omitempty"` // An approximate time of when the task creation was triggered; as measured in Unix epoch time in milliseconds + + ResultLocation string `json:"resultLocation,omitempty"` // A server-relative URL indicating where additional task-specific details may be found + + Status string `json:"status,omitempty"` // Summarizes the status of a task + + UpdatedTime *int `json:"updatedTime,omitempty"` // The last modification date and time of this task, expressed in Unix epoch time format to the millisecond precision. + + EndTime *int `json:"endTime,omitempty"` // An approximate time of when this task has been marked completed; as measured in Unix epoch time in milliseconds +} +type ResponseHealthAndPerformanceRetrievesDiagnosticTaskDetailsByID struct { + Response *ResponseHealthAndPerformanceRetrievesDiagnosticTaskDetailsByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseHealthAndPerformanceRetrievesDiagnosticTaskDetailsByIDResponse struct { + Data string `json:"data,omitempty"` // Any data associated with this task; the value may vary significantly across different tasks + + Progress string `json:"progress,omitempty"` // A textual representation which indicates the progress of this task; the value may vary significantly across different tasks + + ErrorCode string `json:"errorCode,omitempty"` // An error code if in case this task has failed in its execution + + FailureReason string `json:"failureReason,omitempty"` // A textual description indicating the reason why a task has failed +} type ResponseHealthAndPerformanceRetrievesAllTheValidationSets struct { Response *[]ResponseHealthAndPerformanceRetrievesAllTheValidationSetsResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // The version of the response @@ -232,13 +268,87 @@ type RequestHealthAndPerformanceSubmitsTheWorkflowForExecutingValidations struct ValidationSetIDs []string `json:"validationSetIds,omitempty"` // List of validation set ids } +//RetrievesDiagnosticTaskByID Retrieves diagnostic task by ID - 0086-59cc-4338-ae89 +/* This API retrieves the diagnostic task identified by the specified `id`. + + +@param id id path parameter. The `id` of the diagnostic task to be retrieved + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-diagnostic-task-by-id +*/ +func (s *HealthAndPerformanceService) RetrievesDiagnosticTaskByID(id string) (*ResponseHealthAndPerformanceRetrievesDiagnosticTaskByID, *resty.Response, error) { + path := "/dna/intent/api/v1/diagnosticTasks/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseHealthAndPerformanceRetrievesDiagnosticTaskByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesDiagnosticTaskByID(id) + } + return nil, response, fmt.Errorf("error with operation RetrievesDiagnosticTaskById") + } + + result := response.Result().(*ResponseHealthAndPerformanceRetrievesDiagnosticTaskByID) + return result, response, err + +} + +//RetrievesDiagnosticTaskDetailsByID Retrieves diagnostic task details by ID - a78b-7907-4fb8-a0df +/* This API retrieves the details of the diagnostic task identified by the specified `id`. + + +@param id id path parameter. The `id` of the diagnostic task to be retrieved + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-diagnostic-task-details-by-id +*/ +func (s *HealthAndPerformanceService) RetrievesDiagnosticTaskDetailsByID(id string) (*ResponseHealthAndPerformanceRetrievesDiagnosticTaskDetailsByID, *resty.Response, error) { + path := "/dna/intent/api/v1/diagnosticTasks/{id}/detail" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseHealthAndPerformanceRetrievesDiagnosticTaskDetailsByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesDiagnosticTaskDetailsByID(id) + } + return nil, response, fmt.Errorf("error with operation RetrievesDiagnosticTaskDetailsById") + } + + result := response.Result().(*ResponseHealthAndPerformanceRetrievesDiagnosticTaskDetailsByID) + return result, response, err + +} + //RetrievesAllTheValidationSets Retrieves all the validation sets - 11bb-4b03-4059-a001 /* Retrieves all the validation sets and optionally the contained validations @param RetrievesAllTheValidationSetsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-all-the-validation-sets-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-all-the-validation-sets */ func (s *HealthAndPerformanceService) RetrievesAllTheValidationSets(RetrievesAllTheValidationSetsQueryParams *RetrievesAllTheValidationSetsQueryParams) (*ResponseHealthAndPerformanceRetrievesAllTheValidationSets, *resty.Response, error) { path := "/dna/intent/api/v1/diagnosticValidationSets" @@ -276,7 +386,7 @@ func (s *HealthAndPerformanceService) RetrievesAllTheValidationSets(RetrievesAll @param id id path parameter. Validation set id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-validation-details-for-a-validation-set-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-validation-details-for-a-validation-set */ func (s *HealthAndPerformanceService) RetrievesValidationDetailsForAValidationSet(id string) (*ResponseHealthAndPerformanceRetrievesValidationDetailsForAValidationSet, *resty.Response, error) { path := "/dna/intent/api/v1/diagnosticValidationSets/{id}" @@ -312,7 +422,7 @@ func (s *HealthAndPerformanceService) RetrievesValidationDetailsForAValidationSe @param RetrievesTheListOfValidationWorkflowsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-validation-workflows-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-validation-workflows */ func (s *HealthAndPerformanceService) RetrievesTheListOfValidationWorkflows(RetrievesTheListOfValidationWorkflowsQueryParams *RetrievesTheListOfValidationWorkflowsQueryParams) (*ResponseHealthAndPerformanceRetrievesTheListOfValidationWorkflows, *resty.Response, error) { path := "/dna/intent/api/v1/diagnosticValidationWorkflows" @@ -349,7 +459,7 @@ func (s *HealthAndPerformanceService) RetrievesTheListOfValidationWorkflows(Retr @param RetrievesTheCountOfValidationWorkflowsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-validation-workflows-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-validation-workflows */ func (s *HealthAndPerformanceService) RetrievesTheCountOfValidationWorkflows(RetrievesTheCountOfValidationWorkflowsQueryParams *RetrievesTheCountOfValidationWorkflowsQueryParams) (*ResponseHealthAndPerformanceRetrievesTheCountOfValidationWorkflows, *resty.Response, error) { path := "/dna/intent/api/v1/diagnosticValidationWorkflows/count" @@ -387,7 +497,7 @@ func (s *HealthAndPerformanceService) RetrievesTheCountOfValidationWorkflows(Ret @param id id path parameter. Workflow id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-validation-workflow-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-validation-workflow-details */ func (s *HealthAndPerformanceService) RetrievesValidationWorkflowDetails(id string) (*ResponseHealthAndPerformanceRetrievesValidationWorkflowDetails, *resty.Response, error) { path := "/dna/intent/api/v1/diagnosticValidationWorkflows/{id}" @@ -423,7 +533,7 @@ func (s *HealthAndPerformanceService) RetrievesValidationWorkflowDetails(id stri @param SystemHealthAPIQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!system-health-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!system-health-api */ func (s *HealthAndPerformanceService) SystemHealthAPI(SystemHealthAPIQueryParams *SystemHealthAPIQueryParams) (*ResponseHealthAndPerformanceSystemHealthAPI, *resty.Response, error) { path := "/dna/intent/api/v1/diagnostics/system/health" @@ -460,7 +570,7 @@ func (s *HealthAndPerformanceService) SystemHealthAPI(SystemHealthAPIQueryParams @param SystemHealthCountAPIQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!system-health-count-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!system-health-count-api */ func (s *HealthAndPerformanceService) SystemHealthCountAPI(SystemHealthCountAPIQueryParams *SystemHealthCountAPIQueryParams) (*ResponseHealthAndPerformanceSystemHealthCountAPI, *resty.Response, error) { path := "/dna/intent/api/v1/diagnostics/system/health/count" @@ -497,7 +607,7 @@ func (s *HealthAndPerformanceService) SystemHealthCountAPI(SystemHealthCountAPIQ @param SystemPerformanceAPIQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!system-performance-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!system-performance-api */ func (s *HealthAndPerformanceService) SystemPerformanceAPI(SystemPerformanceAPIQueryParams *SystemPerformanceAPIQueryParams) (*ResponseHealthAndPerformanceSystemPerformanceAPI, *resty.Response, error) { path := "/dna/intent/api/v1/diagnostics/system/performance" @@ -534,7 +644,7 @@ func (s *HealthAndPerformanceService) SystemPerformanceAPI(SystemPerformanceAPIQ @param SystemPerformanceHistoricalAPIQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!system-performance-historical-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!system-performance-historical-api */ func (s *HealthAndPerformanceService) SystemPerformanceHistoricalAPI(SystemPerformanceHistoricalAPIQueryParams *SystemPerformanceHistoricalAPIQueryParams) (*ResponseHealthAndPerformanceSystemPerformanceHistoricalAPI, *resty.Response, error) { path := "/dna/intent/api/v1/diagnostics/system/performance/history" @@ -570,7 +680,7 @@ func (s *HealthAndPerformanceService) SystemPerformanceHistoricalAPI(SystemPerfo -Documentation Link: https://developer.cisco.com/docs/dna-center/#!submits-the-workflow-for-executing-validations-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!submits-the-workflow-for-executing-validations */ func (s *HealthAndPerformanceService) SubmitsTheWorkflowForExecutingValidations(requestHealthAndPerformanceSubmitsTheWorkflowForExecutingValidations *RequestHealthAndPerformanceSubmitsTheWorkflowForExecutingValidations) (*ResponseHealthAndPerformanceSubmitsTheWorkflowForExecutingValidations, *resty.Response, error) { path := "/dna/intent/api/v1/diagnosticValidationWorkflows" @@ -609,7 +719,7 @@ func (s *HealthAndPerformanceService) SubmitsTheWorkflowForExecutingValidations( @param id id path parameter. Workflow id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-a-validation-workflow-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-a-validation-workflow */ func (s *HealthAndPerformanceService) DeletesAValidationWorkflow(id string) (*resty.Response, error) { //id string @@ -629,8 +739,7 @@ func (s *HealthAndPerformanceService) DeletesAValidationWorkflow(id string) (*re if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletesAValidationWorkflow( - id) + return s.DeletesAValidationWorkflow(id) } return response, fmt.Errorf("error with operation DeletesAValidationWorkflow") } diff --git a/sdk/issues.go b/sdk/issues.go index fafcf30..65a2b5e 100644 --- a/sdk/issues.go +++ b/sdk/issues.go @@ -37,8 +37,8 @@ type GetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetworkQueryParams struct FabricVnName string `url:"fabricVnName,omitempty"` //The name of the fabric virtual network Examples: fabricVnName=name1 (single fabric virtual network name requested) fabricVnName=name1&fabricVnName=name2&fabricVnName=name3 (multiple fabric virtual network names requested) FabricTransitSiteID string `url:"fabricTransitSiteId,omitempty"` //The UUID of the fabric transit site. (Ex. "flooruuid") Examples: fabricTransitSiteId=e52aecfe-b142-4287-a587-11a16ba6dd26 (single id requested) fabricTransitSiteId=e52aecfe-b142-4287-a587-11a16ba6dd26&fabricTransitSiteId=864d0421-02c0-43a6-9c52-81cad45f66d8 (multiple ids requested) NetworkDeviceID string `url:"networkDeviceId,omitempty"` //The list of Network Device Uuids. (Ex. `6bef213c-19ca-4170-8375-b694e251101c`) Examples: `networkDeviceId=6bef213c-19ca-4170-8375-b694e251101c` (single networkDeviceId requested) `networkDeviceId=6bef213c-19ca-4170-8375-b694e251101c&networkDeviceId=32219612-819e-4b5e-a96b-cf22aca13dd9&networkDeviceId=2541e9a7-b80d-4955-8aa2-79b233318ba0` (multiple networkDeviceIds with & separator) - NetworkDeviceIPAddress string `url:"networkDeviceIpAddress,omitempty"` //The list of Network Device management IP Address. (Ex. `121.1.1.10`) This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `networkDeviceIpAddress=121.1.1.10` `networkDeviceIpAddress=121.1.1.10&networkDeviceIpAddress=172.20.1.10&networkDeviceIpAddress=10.10.20.10` (multiple networkDevice IP Address with & separator) - MacAddress string `url:"macAddress,omitempty"` //The macAddress of the network device or client This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `macAddress=AB:AB:AB:CD:CD:CD` (single macAddress requested) `macAddress=AB:AB:AB:CD:CD:DC&macAddress=AB:AB:AB:CD:CD:FE` (multiple macAddress requested) + NetworkDeviceIPAddress string `url:"networkDeviceIpAddress,omitempty"` //The list of Network Device management IP Address. (Ex. `121.1.1.10`) This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `networkDeviceIpAddress=121.1.1.10` `networkDeviceIpAddress=121.1.1.10&networkDeviceIpAddress=172.20.1.10&networkDeviceIpAddress=10.10.20.10` (multiple networkDevice IP Address with & separator) + MacAddress string `url:"macAddress,omitempty"` //The macAddress of the network device or client This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `macAddress=AB:AB:AB:CD:CD:CD` (single macAddress requested) `macAddress=AB:AB:AB:CD:CD:DC&macAddress=AB:AB:AB:CD:CD:FE` (multiple macAddress requested) View string `url:"view,omitempty"` //The name of the View. Each view represents a specific data set. Please refer to the `IssuesView` Model for supported views. View is predefined set of attributes supported by the API. Only the attributes related to the given view will be part of the API response along with default attributes. If multiple views are provided, then response will contain attributes from all those views. If no views are specified, all attributes will be returned. | View Name | Included Attributes | | --- | --- | | `update` | updatedTime, updatedBy | | `site` | siteName, siteHierarchy, siteId, siteHierarchyId | Examples: `view=update` (single view requested) `view=update&view=site` (multiple views requested) Attribute string `url:"attribute,omitempty"` //List of attributes related to the issue. If these are provided, then only those attributes will be part of response along with the default attributes. Please refer to the `IssuesResponseAttribute` Model for supported attributes. Examples: `attribute=deviceType` (single attribute requested) `attribute=deviceType&attribute=updatedBy` (multiple attributes requested) AiDriven bool `url:"aiDriven,omitempty"` //Flag whether the issue is AI driven issue @@ -73,8 +73,8 @@ type GetTheTotalNumberOfIssuesForGivenSetOfFiltersKnowYourNetworkQueryParams str FabricVnName string `url:"fabricVnName,omitempty"` //The name of the fabric virtual network Examples: fabricVnName=name1 (single fabric virtual network name requested) fabricVnName=name1&fabricVnName=name2&fabricVnName=name3 (multiple fabric virtual network names requested) FabricTransitSiteID string `url:"fabricTransitSiteId,omitempty"` //The UUID of the fabric transit site. (Ex. "flooruuid") Examples: fabricTransitSiteId=e52aecfe-b142-4287-a587-11a16ba6dd26 (single id requested) fabricTransitSiteId=e52aecfe-b142-4287-a587-11a16ba6dd26&fabricTransitSiteId=864d0421-02c0-43a6-9c52-81cad45f66d8 (multiple ids requested) NetworkDeviceID string `url:"networkDeviceId,omitempty"` //The list of Network Device Uuids. (Ex. `6bef213c-19ca-4170-8375-b694e251101c`) Examples: `networkDeviceId=6bef213c-19ca-4170-8375-b694e251101c` (single networkDeviceId requested) `networkDeviceId=6bef213c-19ca-4170-8375-b694e251101c&networkDeviceId=32219612-819e-4b5e-a96b-cf22aca13dd9&networkDeviceId=2541e9a7-b80d-4955-8aa2-79b233318ba0` (multiple networkDeviceIds with & separator) - NetworkDeviceIPAddress string `url:"networkDeviceIpAddress,omitempty"` //The list of Network Device management IP Address. (Ex. `121.1.1.10`) This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `networkDeviceIpAddress=121.1.1.10` `networkDeviceIpAddress=121.1.1.10&networkDeviceIpAddress=172.20.1.10&networkDeviceIpAddress=10.10.20.10` (multiple networkDevice IP Address with & separator) - MacAddress string `url:"macAddress,omitempty"` //The macAddress of the network device or client This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `macAddress=AB:AB:AB:CD:CD:CD` (single macAddress requested) `macAddress=AB:AB:AB:CD:CD:DC&macAddress=AB:AB:AB:CD:CD:FE` (multiple macAddress requested) + NetworkDeviceIPAddress string `url:"networkDeviceIpAddress,omitempty"` //The list of Network Device management IP Address. (Ex. `121.1.1.10`) This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `networkDeviceIpAddress=121.1.1.10` `networkDeviceIpAddress=121.1.1.10&networkDeviceIpAddress=172.20.1.10&networkDeviceIpAddress=10.10.20.10` (multiple networkDevice IP Address with & separator) + MacAddress string `url:"macAddress,omitempty"` //The macAddress of the network device or client This field supports wildcard (`*`) character-based search. Ex: `*AB:AB:AB*` or `AB:AB:AB*` or `*AB:AB:AB` Examples: `macAddress=AB:AB:AB:CD:CD:CD` (single macAddress requested) `macAddress=AB:AB:AB:CD:CD:DC&macAddress=AB:AB:AB:CD:CD:FE` (multiple macAddress requested) AiDriven bool `url:"aiDriven,omitempty"` //Flag whether the issue is AI driven issue FabricDriven bool `url:"fabricDriven,omitempty"` //Flag whether the issue is related to a Fabric site, a virtual network or a transit. FabricSiteDriven bool `url:"fabricSiteDriven,omitempty"` //Flag whether the issue is Fabric site driven issue @@ -160,14 +160,13 @@ type GetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFiltersQueryParams type GetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFiltersHeaderParams struct { XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID can be used to trace the caller for queries executed on database. The caller id is like a optional attribute which can be added to API invocation like ui, python, postman, test-automation etc } -type UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedIDHeaderParams struct { - ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type - XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +type GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID can be used to trace the caller for queries executed on database. The caller id is like a optional attribute which can be added to API invocation like ui, python, postman, test-automation etc } type GetIssueEnrichmentDetailsHeaderParams struct { EntityType string `url:"entity_type,omitempty"` //Expects type string. Issue enrichment details can be fetched based on either Issue ID or Client MAC address. This parameter value must either be issue_id/mac_address EntityValue string `url:"entity_value,omitempty"` //Expects type string. Contains the actual value for the entity type that has been defined - Persistbapioutput string `url:"__persistbapioutput,omitempty"` //Expects type bool. + Persistbapioutput string `url:"__persistbapioutput,omitempty"` //Expects type bool. For the enrichment details to be made available as part of the API response, this header must be set to true. This header must be explicitly passed when called from client applications outside Catalyst Center } type IssuesQueryParams struct { StartTime float64 `url:"startTime,omitempty"` //Starting epoch time in milliseconds of query time window @@ -209,9 +208,6 @@ type GetTheCountOfSystemDefinedIssueDefinitionsBasedOnProvidedFiltersHeaderParam type GetIssueTriggerDefinitionForGivenIDHeaderParams struct { XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. } -type GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDHeaderParams struct { - XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID can be used to trace the caller for queries executed on database. The caller id is like a optional attribute which can be added to API invocation like ui, python, postman, test-automation etc -} type ResponseIssuesGetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetwork struct { Response *[]ResponseIssuesGetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetworkResponse `json:"response,omitempty"` // @@ -622,6 +618,49 @@ type ResponseIssuesGetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFilte type ResponseIssuesGetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFiltersResponse struct { Count *int `json:"count,omitempty"` // Count } +type ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID struct { + Response *ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDResponse `json:"response,omitempty"` // +} +type ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDResponse struct { + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + Description string `json:"description,omitempty"` // Description + + ProfileID string `json:"profileId,omitempty"` // Profile Id + + TriggerID string `json:"triggerId,omitempty"` // Trigger Id + + Rules *[]ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDResponseRules `json:"rules,omitempty"` // + + IsEnabled *bool `json:"isEnabled,omitempty"` // Is Enabled + + Priority string `json:"priority,omitempty"` // Priority + + IsDeletable *bool `json:"isDeletable,omitempty"` // Is Deletable + + IsNotificationEnabled *bool `json:"isNotificationEnabled,omitempty"` // Is Notification Enabled + + CreatedTime *int `json:"createdTime,omitempty"` // Created Time + + LastUpdatedTime *int `json:"lastUpdatedTime,omitempty"` // Last Updated Time +} +type ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDResponseRules struct { + Type string `json:"type,omitempty"` // Type + + Severity *int `json:"severity,omitempty"` // Severity + + Facility string `json:"facility,omitempty"` // Facility + + Mnemonic string `json:"mnemonic,omitempty"` // Mnemonic + + Pattern string `json:"pattern,omitempty"` // Pattern + + Occurrences *int `json:"occurrences,omitempty"` // Occurrences + + DurationInMinutes *int `json:"durationInMinutes,omitempty"` // Duration In Minutes +} type ResponseIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID struct { Response *ResponseIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedIDResponse `json:"response,omitempty"` // } @@ -756,46 +795,33 @@ type ResponseIssuesIssueTriggerDefinitionUpdate struct { Version string `json:"version,omitempty"` // Version } type ResponseIssuesIssueTriggerDefinitionUpdateResponse struct { - ID string `json:"id,omitempty"` // Id - Name string `json:"name,omitempty"` // Name - DisplayName string `json:"displayName,omitempty"` // Display Name - Description string `json:"description,omitempty"` // Description - Priority string `json:"priority,omitempty"` // Priority - DefaultPriority string `json:"defaultPriority,omitempty"` // Default Priority - DeviceType string `json:"deviceType,omitempty"` // Device Type - IssueEnabled *bool `json:"issueEnabled,omitempty"` // Issue Enabled - ProfileID string `json:"profileId,omitempty"` // Profile Id - DefinitionStatus string `json:"definitionStatus,omitempty"` // Definition Status - CategoryName string `json:"categoryName,omitempty"` // Category Name - SynchronizeToHealthThreshold *bool `json:"synchronizeToHealthThreshold,omitempty"` // Synchronize To Health Threshold - ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value - LastModified string `json:"lastModified,omitempty"` // Last Modified -} -type ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID struct { - Response *ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDResponse `json:"response,omitempty"` // -} -type ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDResponse struct { - ID string `json:"id,omitempty"` // Id - Name string `json:"name,omitempty"` // Name - Description string `json:"description,omitempty"` // Description - ProfileID string `json:"profileId,omitempty"` // Profile Id - TriggerID string `json:"triggerId,omitempty"` // Trigger Id - Rules *[]ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDResponseRules `json:"rules,omitempty"` // - IsEnabled *bool `json:"isEnabled,omitempty"` // Is Enabled - Priority string `json:"priority,omitempty"` // Priority - IsDeletable *bool `json:"isDeletable,omitempty"` // Is Deletable - IsNotificationEnabled *bool `json:"isNotificationEnabled,omitempty"` // Is Notification Enabled - CreatedTime *int `json:"createdTime,omitempty"` // Created Time - LastUpdatedTime *int `json:"lastUpdatedTime,omitempty"` // Last Updated Time -} -type ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDResponseRules struct { - Type string `json:"type,omitempty"` // Type - Severity *int `json:"severity,omitempty"` // Severity - Facility string `json:"facility,omitempty"` // Facility - Mnemonic string `json:"mnemonic,omitempty"` // Mnemonic - Pattern string `json:"pattern,omitempty"` // Pattern - Occurrences *int `json:"occurrences,omitempty"` // Occurrences - DurationInMinutes *int `json:"durationInMinutes,omitempty"` // Duration In Minutes + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + DisplayName string `json:"displayName,omitempty"` // Display Name + + Description string `json:"description,omitempty"` // Description + + Priority string `json:"priority,omitempty"` // Priority + + DefaultPriority string `json:"defaultPriority,omitempty"` // Default Priority + + DeviceType string `json:"deviceType,omitempty"` // Device Type + + IssueEnabled *bool `json:"issueEnabled,omitempty"` // Issue Enabled + + ProfileID string `json:"profileId,omitempty"` // Profile Id + + DefinitionStatus string `json:"definitionStatus,omitempty"` // Definition Status + + CategoryName string `json:"categoryName,omitempty"` // Category Name + + SynchronizeToHealthThreshold *bool `json:"synchronizeToHealthThreshold,omitempty"` // Synchronize To Health Threshold + + ThresholdValue *float64 `json:"thresholdValue,omitempty"` // Threshold Value + + LastModified string `json:"lastModified,omitempty"` // Last Modified } type RequestIssuesGetTheDetailsOfIssuesForGivenSetOfFilters struct { StartTime *int `json:"startTime,omitempty"` // Start Time @@ -983,7 +1009,7 @@ type RequestIssuesIssueTriggerDefinitionUpdate struct { @param GetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetworkHeaderParams Custom header parameters @param GetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetworkQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-details-of-issues-for-given-set-of-filters-know-your-network-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-details-of-issues-for-given-set-of-filters-know-your-network */ func (s *IssuesService) GetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetwork(GetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetworkHeaderParams *GetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetworkHeaderParams, GetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetworkQueryParams *GetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetworkQueryParams) (*ResponseIssuesGetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetwork, *resty.Response, error) { path := "/dna/data/api/v1/assuranceIssues" @@ -1037,7 +1063,7 @@ func (s *IssuesService) GetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetwork @param GetTheTotalNumberOfIssuesForGivenSetOfFiltersKnowYourNetworkHeaderParams Custom header parameters @param GetTheTotalNumberOfIssuesForGivenSetOfFiltersKnowYourNetworkQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-total-number-of-issues-for-given-set-of-filters-know-your-network-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-total-number-of-issues-for-given-set-of-filters-know-your-network */ func (s *IssuesService) GetTheTotalNumberOfIssuesForGivenSetOfFiltersKnowYourNetwork(GetTheTotalNumberOfIssuesForGivenSetOfFiltersKnowYourNetworkHeaderParams *GetTheTotalNumberOfIssuesForGivenSetOfFiltersKnowYourNetworkHeaderParams, GetTheTotalNumberOfIssuesForGivenSetOfFiltersKnowYourNetworkQueryParams *GetTheTotalNumberOfIssuesForGivenSetOfFiltersKnowYourNetworkQueryParams) (*ResponseIssuesGetTheTotalNumberOfIssuesForGivenSetOfFiltersKnowYourNetwork, *resty.Response, error) { path := "/dna/data/api/v1/assuranceIssues/count" @@ -1089,7 +1115,7 @@ func (s *IssuesService) GetTheTotalNumberOfIssuesForGivenSetOfFiltersKnowYourNet @param GetAllTheDetailsAndSuggestedActionsOfAnIssueForTheGivenIssueIdHeaderParams Custom header parameters @param GetAllTheDetailsAndSuggestedActionsOfAnIssueForTheGivenIssueIdQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-the-details-and-suggested-actions-of-an-issue-for-the-given-issue-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-the-details-and-suggested-actions-of-an-issue-for-the-given-issue-id */ func (s *IssuesService) GetAllTheDetailsAndSuggestedActionsOfAnIssueForTheGivenIssueID(id string, GetAllTheDetailsAndSuggestedActionsOfAnIssueForTheGivenIssueIdHeaderParams *GetAllTheDetailsAndSuggestedActionsOfAnIssueForTheGivenIssueIDHeaderParams, GetAllTheDetailsAndSuggestedActionsOfAnIssueForTheGivenIssueIdQueryParams *GetAllTheDetailsAndSuggestedActionsOfAnIssueForTheGivenIssueIDQueryParams) (*ResponseIssuesGetAllTheDetailsAndSuggestedActionsOfAnIssueForTheGivenIssueID, *resty.Response, error) { path := "/dna/data/api/v1/assuranceIssues/{id}" @@ -1145,7 +1171,7 @@ func (s *IssuesService) GetAllTheDetailsAndSuggestedActionsOfAnIssueForTheGivenI @param GetAllTheCustomIssueDefinitionsBasedOnTheGivenFiltersQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-the-custom-issue-definitions-based-on-the-given-filters-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-the-custom-issue-definitions-based-on-the-given-filters */ func (s *IssuesService) GetAllTheCustomIssueDefinitionsBasedOnTheGivenFilters(GetAllTheCustomIssueDefinitionsBasedOnTheGivenFiltersQueryParams *GetAllTheCustomIssueDefinitionsBasedOnTheGivenFiltersQueryParams) (*ResponseIssuesGetAllTheCustomIssueDefinitionsBasedOnTheGivenFilters, *resty.Response, error) { path := "/dna/intent/api/v1/customIssueDefinitions" @@ -1183,7 +1209,7 @@ func (s *IssuesService) GetAllTheCustomIssueDefinitionsBasedOnTheGivenFilters(Ge @param GetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFiltersHeaderParams Custom header parameters @param GetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFiltersQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-total-custom-issue-definitions-count-based-on-the-provided-filters-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-total-custom-issue-definitions-count-based-on-the-provided-filters */ func (s *IssuesService) GetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFilters(GetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFiltersHeaderParams *GetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFiltersHeaderParams, GetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFiltersQueryParams *GetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFiltersQueryParams) (*ResponseIssuesGetTheTotalCustomIssueDefinitionsCountBasedOnTheProvidedFilters, *resty.Response, error) { path := "/dna/intent/api/v1/customIssueDefinitions/count" @@ -1226,13 +1252,63 @@ func (s *IssuesService) GetTheTotalCustomIssueDefinitionsCountBasedOnTheProvided } +//GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID Get the custom issue definition for the given custom issue definition Id. - d39f-a9d8-44b8-880d +/* Get the custom issue definition for the given custom issue definition Id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceUserDefinedIssueAPIs-1.0.0-resolved.yaml + + +@param id id path parameter. Get the custom issue definition for the given custom issue definition Id. + +@param GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-custom-issue-definition-for-the-given-custom-issue-definition-id +*/ +func (s *IssuesService) GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID(id string, GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams *GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDHeaderParams) (*ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID, *resty.Response, error) { + path := "/dna/intent/api/v1/customIssueDefinitions/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams != nil { + + if GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetResult(&ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID(id, GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams) + } + return nil, response, fmt.Errorf("error with operation GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionId") + } + + result := response.Result().(*ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID) + return result, response, err + +} + //GetIssueEnrichmentDetails Get Issue Enrichment Details - 8684-39bb-4e89-a6e4 /* Enriches a given network issue context (an issue id or end user’s Mac Address) with details about the issue(s), impacted hosts and suggested actions for remediation @param GetIssueEnrichmentDetailsHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-issue-enrichment-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-issue-enrichment-details */ func (s *IssuesService) GetIssueEnrichmentDetails(GetIssueEnrichmentDetailsHeaderParams *GetIssueEnrichmentDetailsHeaderParams) (*ResponseIssuesGetIssueEnrichmentDetails, *resty.Response, error) { path := "/dna/intent/api/v1/issue-enrichment-details" @@ -1287,7 +1363,7 @@ func (s *IssuesService) GetIssueEnrichmentDetails(GetIssueEnrichmentDetailsHeade @param IssuesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!issues-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!issues */ func (s *IssuesService) Issues(IssuesQueryParams *IssuesQueryParams) (*ResponseIssuesIssues, *resty.Response, error) { path := "/dna/intent/api/v1/issues" @@ -1325,7 +1401,7 @@ func (s *IssuesService) Issues(IssuesQueryParams *IssuesQueryParams) (*ResponseI @param ReturnsAllIssueTriggerDefinitionsForGivenFiltersHeaderParams Custom header parameters @param ReturnsAllIssueTriggerDefinitionsForGivenFiltersQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-all-issue-trigger-definitions-for-given-filters-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-all-issue-trigger-definitions-for-given-filters */ func (s *IssuesService) ReturnsAllIssueTriggerDefinitionsForGivenFilters(ReturnsAllIssueTriggerDefinitionsForGivenFiltersHeaderParams *ReturnsAllIssueTriggerDefinitionsForGivenFiltersHeaderParams, ReturnsAllIssueTriggerDefinitionsForGivenFiltersQueryParams *ReturnsAllIssueTriggerDefinitionsForGivenFiltersQueryParams) (*ResponseIssuesReturnsAllIssueTriggerDefinitionsForGivenFilters, *resty.Response, error) { path := "/dna/intent/api/v1/systemIssueDefinitions" @@ -1375,7 +1451,7 @@ func (s *IssuesService) ReturnsAllIssueTriggerDefinitionsForGivenFilters(Returns @param GetTheCountOfSystemDefinedIssueDefinitionsBasedOnProvidedFiltersHeaderParams Custom header parameters @param GetTheCountOfSystemDefinedIssueDefinitionsBasedOnProvidedFiltersQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-count-of-system-defined-issue-definitions-based-on-provided-filters-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-count-of-system-defined-issue-definitions-based-on-provided-filters */ func (s *IssuesService) GetTheCountOfSystemDefinedIssueDefinitionsBasedOnProvidedFilters(GetTheCountOfSystemDefinedIssueDefinitionsBasedOnProvidedFiltersHeaderParams *GetTheCountOfSystemDefinedIssueDefinitionsBasedOnProvidedFiltersHeaderParams, GetTheCountOfSystemDefinedIssueDefinitionsBasedOnProvidedFiltersQueryParams *GetTheCountOfSystemDefinedIssueDefinitionsBasedOnProvidedFiltersQueryParams) (*ResponseIssuesGetTheCountOfSystemDefinedIssueDefinitionsBasedOnProvidedFilters, *resty.Response, error) { path := "/dna/intent/api/v1/systemIssueDefinitions/count" @@ -1426,7 +1502,7 @@ func (s *IssuesService) GetTheCountOfSystemDefinedIssueDefinitionsBasedOnProvide @param GetIssueTriggerDefinitionForGivenIdHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-issue-trigger-definition-for-given-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-issue-trigger-definition-for-given-id */ func (s *IssuesService) GetIssueTriggerDefinitionForGivenID(id string, GetIssueTriggerDefinitionForGivenIdHeaderParams *GetIssueTriggerDefinitionForGivenIDHeaderParams) (*ResponseIssuesGetIssueTriggerDefinitionForGivenID, *resty.Response, error) { path := "/dna/intent/api/v1/systemIssueDefinitions/{id}" @@ -1468,63 +1544,13 @@ func (s *IssuesService) GetIssueTriggerDefinitionForGivenID(id string, GetIssueT } -//GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID Get the custom issue definition for the given custom issue definition Id. - d39f-a9d8-44b8-880d -/* Get the custom issue definition for the given custom issue definition Id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceUserDefinedIssueAPIs-1.0.0-resolved.yaml - - -@param id id path parameter. Get the custom issue definition for the given custom issue definition Id. - -@param GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams Custom header parameters - -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-custom-issue-definition-for-the-given-custom-issue-definition-id-v1 -*/ -func (s *IssuesService) GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID(id string, GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams *GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIDHeaderParams) (*ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID, *resty.Response, error) { - path := "/intent/api/v1/customIssueDefinitions/{id}" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - - var response *resty.Response - var err error - clientRequest := s.client.R(). - SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") - - if GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams != nil { - - if GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams.XCaLLERID) - } - - } - - response, err = clientRequest. - SetResult(&ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID{}). - SetError(&Error). - Get(path) - - if err != nil { - return nil, nil, err - - } - - if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID(id, GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionIdHeaderParams) - } - return nil, response, fmt.Errorf("error with operation GetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionId") - } - - result := response.Result().(*ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID) - return result, response, err - -} - //GetTheDetailsOfIssuesForGivenSetOfFilters Get the details of issues for given set of filters - 82ad-186f-4848-a3dd /* Returns all details of each issue along with suggested actions for given set of filters specified in request body. If there is no start and/or end time, then end time will be defaulted to current time and start time will be defaulted to 24-hours ago from end time. https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesList-1.0.0-resolved.yaml @param GetTheDetailsOfIssuesForGivenSetOfFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-details-of-issues-for-given-set-of-filters-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-details-of-issues-for-given-set-of-filters */ func (s *IssuesService) GetTheDetailsOfIssuesForGivenSetOfFilters(requestIssuesGetTheDetailsOfIssuesForGivenSetOfFilters *RequestIssuesGetTheDetailsOfIssuesForGivenSetOfFilters, GetTheDetailsOfIssuesForGivenSetOfFiltersHeaderParams *GetTheDetailsOfIssuesForGivenSetOfFiltersHeaderParams) (*ResponseIssuesGetTheDetailsOfIssuesForGivenSetOfFilters, *resty.Response, error) { path := "/dna/data/api/v1/assuranceIssues/query" @@ -1578,7 +1604,7 @@ func (s *IssuesService) GetTheDetailsOfIssuesForGivenSetOfFilters(requestIssuesG @param GetTheTotalNumberOfIssuesForGivenSetOfFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-total-number-of-issues-for-given-set-of-filters-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-total-number-of-issues-for-given-set-of-filters */ func (s *IssuesService) GetTheTotalNumberOfIssuesForGivenSetOfFilters(requestIssuesGetTheTotalNumberOfIssuesForGivenSetOfFilters *RequestIssuesGetTheTotalNumberOfIssuesForGivenSetOfFilters, GetTheTotalNumberOfIssuesForGivenSetOfFiltersHeaderParams *GetTheTotalNumberOfIssuesForGivenSetOfFiltersHeaderParams) (*ResponseIssuesGetTheTotalNumberOfIssuesForGivenSetOfFilters, *resty.Response, error) { path := "/dna/data/api/v1/assuranceIssues/query/count" @@ -1623,12 +1649,12 @@ func (s *IssuesService) GetTheTotalNumberOfIssuesForGivenSetOfFilters(requestIss } //GetSummaryAnalyticsDataOfIssues Get summary analytics data of issues - afaa-2bdf-424b-9161 -/* Gets the summary analytics data related to issues based on given filters and group by field. This data can be used to find issue counts grouped by different keys. https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesList-1.0.0-resolved.yaml +/* Gets the summary analytics data related to issues based on given filters and group by field. This data can be used to find issue counts grouped by different keys. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesList-1.0.1-resolved.yaml @param GetSummaryAnalyticsDataOfIssuesHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-summary-analytics-data-of-issues-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-summary-analytics-data-of-issues */ func (s *IssuesService) GetSummaryAnalyticsDataOfIssues(requestIssuesGetSummaryAnalyticsDataOfIssues *RequestIssuesGetSummaryAnalyticsDataOfIssues, GetSummaryAnalyticsDataOfIssuesHeaderParams *GetSummaryAnalyticsDataOfIssuesHeaderParams) (*ResponseIssuesGetSummaryAnalyticsDataOfIssues, *resty.Response, error) { path := "/dna/data/api/v1/assuranceIssues/summaryAnalytics" @@ -1677,12 +1703,12 @@ func (s *IssuesService) GetSummaryAnalyticsDataOfIssues(requestIssuesGetSummaryA } //GetTopNAnalyticsDataOfIssues Get Top N analytics data of issues - 21a7-c91a-4f5a-b54d -/* Gets the Top N analytics data related to issues based on given filters and group by field. This data can be used to find top sites which has most issues or top device types with most issue etc,. https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesList-1.0.0-resolved.yaml +/* Gets the Top N analytics data related to issues based on given filters and group by field. This data can be used to find top sites which has most issues or top device types with most issue etc,. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesList-1.0.1-resolved.yaml @param GetTopNAnalyticsDataOfIssuesHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-top-n-analytics-data-of-issues-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-top-n-analytics-data-of-issues */ func (s *IssuesService) GetTopNAnalyticsDataOfIssues(requestIssuesGetTopNAnalyticsDataOfIssues *RequestIssuesGetTopNAnalyticsDataOfIssues, GetTopNAnalyticsDataOfIssuesHeaderParams *GetTopNAnalyticsDataOfIssuesHeaderParams) (*ResponseIssuesGetTopNAnalyticsDataOfIssues, *resty.Response, error) { path := "/dna/data/api/v1/assuranceIssues/topNAnalytics" @@ -1731,12 +1757,12 @@ func (s *IssuesService) GetTopNAnalyticsDataOfIssues(requestIssuesGetTopNAnalyti } //GetTrendAnalyticsDataOfIssues Get trend analytics data of issues - f9ae-db6a-4618-b045 -/* Gets the trend analytics data related to issues based on given filters and group by field. This data can be used to find issue counts in different intervals over a period of time. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesList-1.0.0-resolved.yaml +/* Gets the trend analytics data related to issues based on given filters and group by field. This data can be used to find issue counts in different intervals over a period of time. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesList-1.0.1-resolved.yaml @param GetTrendAnalyticsDataOfIssuesHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trend-analytics-data-of-issues-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trend-analytics-data-of-issues */ func (s *IssuesService) GetTrendAnalyticsDataOfIssues(requestIssuesGetTrendAnalyticsDataOfIssues *RequestIssuesGetTrendAnalyticsDataOfIssues, GetTrendAnalyticsDataOfIssuesHeaderParams *GetTrendAnalyticsDataOfIssuesHeaderParams) (*ResponseIssuesGetTrendAnalyticsDataOfIssues, *resty.Response, error) { path := "/dna/data/api/v1/assuranceIssues/trendAnalytics" @@ -1785,12 +1811,12 @@ func (s *IssuesService) GetTrendAnalyticsDataOfIssues(requestIssuesGetTrendAnaly } //IgnoreTheGivenListOfIssues Ignore the given list of issues - 4b92-ca6b-4918-b9fd -/* Ignores the given list of issues. The response contains the list of issues which were successfully ignored as well as the issues which are failed to ignore. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesLifecycle-1.0.0-resolved.yaml +/* Ignores the given list of issues. The response contains the list of issues which were successfully ignored as well as the issues which are failed to ignore. After this API returns success response, it may take few seconds for the issue status to be updated if the system is heavily loaded. Please use `GET /dna/data/api/v1/assuranceIssues/{id}` API to fetch the details of a particular issue and verify `updatedTime`. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesLifecycle-1.0.0-resolved.yaml @param IgnoreTheGivenListOfIssuesHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!ignore-the-given-list-of-issues-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!ignore-the-given-list-of-issues */ func (s *IssuesService) IgnoreTheGivenListOfIssues(requestIssuesIgnoreTheGivenListOfIssues *RequestIssuesIgnoreTheGivenListOfIssues, IgnoreTheGivenListOfIssuesHeaderParams *IgnoreTheGivenListOfIssuesHeaderParams) (*ResponseIssuesIgnoreTheGivenListOfIssues, *resty.Response, error) { path := "/dna/intent/api/v1/assuranceIssues/ignore" @@ -1835,12 +1861,12 @@ func (s *IssuesService) IgnoreTheGivenListOfIssues(requestIssuesIgnoreTheGivenLi } //ResolveTheGivenListsOfIssues Resolve the given lists of issues - d48f-a9ed-4929-a6dd -/* Resolves the given list of issues. The response contains the list of issues which were successfully resolved as well as the issues which are failed to resolve. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesLifecycle-1.0.0-resolved.yaml +/* Resolves the given list of issues. The response contains the list of issues which were successfully resolved as well as the issues which are failed to resolve. After this API returns success response, it may take few seconds for the issue status to be updated if the system is heavily loaded. Please use `GET /dna/data/api/v1/assuranceIssues/{id}` API to fetch the details of a particular issue and verify `updatedTime`. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesLifecycle-1.0.0-resolved.yaml @param ResolveTheGivenListsOfIssuesHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!resolve-the-given-lists-of-issues-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!resolve-the-given-lists-of-issues */ func (s *IssuesService) ResolveTheGivenListsOfIssues(requestIssuesResolveTheGivenListsOfIssues *RequestIssuesResolveTheGivenListsOfIssues, ResolveTheGivenListsOfIssuesHeaderParams *ResolveTheGivenListsOfIssuesHeaderParams) (*ResponseIssuesResolveTheGivenListsOfIssues, *resty.Response, error) { path := "/dna/intent/api/v1/assuranceIssues/resolve" @@ -1885,14 +1911,14 @@ func (s *IssuesService) ResolveTheGivenListsOfIssues(requestIssuesResolveTheGive } //UpdateTheGivenIssueByUpdatingSelectedFields Update the given issue by updating selected fields - b0bc-dba1-4c19-8d7c -/* Updates selected fields in the given issue. Currently the only field that can be updated is 'notes' field. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesLifecycle-1.0.0-resolved.yaml +/* Updates selected fields in the given issue. Currently the only field that can be updated is 'notes' field. After this API returns success response, it may take few seconds for the issue details to be updated if the system is heavily loaded. Please use `GET /dna/data/api/v1/assuranceIssues/{id}` API to fetch the details of a particular issue and verify `updatedTime`. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-IssuesLifecycle-1.0.0-resolved.yaml @param id id path parameter. The issue Uuid @param UpdateTheGivenIssueByUpdatingSelectedFieldsHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!update-the-given-issue-by-updating-selected-fields-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!update-the-given-issue-by-updating-selected-fields */ func (s *IssuesService) UpdateTheGivenIssueByUpdatingSelectedFields(id string, requestIssuesUpdateTheGivenIssueByUpdatingSelectedFields *RequestIssuesUpdateTheGivenIssueByUpdatingSelectedFields, UpdateTheGivenIssueByUpdatingSelectedFieldsHeaderParams *UpdateTheGivenIssueByUpdatingSelectedFieldsHeaderParams) (*ResponseIssuesUpdateTheGivenIssueByUpdatingSelectedFields, *resty.Response, error) { path := "/dna/intent/api/v1/assuranceIssues/{id}/update" @@ -1947,7 +1973,7 @@ func (s *IssuesService) UpdateTheGivenIssueByUpdatingSelectedFields(id string, r @param CreatesANewUserDefinedIssueDefinitionsHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-a-new-user-defined-issue-definitions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-a-new-user-defined-issue-definitions */ func (s *IssuesService) CreatesANewUserDefinedIssueDefinitions(requestIssuesCreatesANewUserDefinedIssueDefinitions *RequestIssuesCreatesANewUserDefinedIssueDefinitions, CreatesANewUserDefinedIssueDefinitionsHeaderParams *CreatesANewUserDefinedIssueDefinitionsHeaderParams) (*ResponseIssuesCreatesANewUserDefinedIssueDefinitions, *resty.Response, error) { path := "/dna/intent/api/v1/customIssueDefinitions" @@ -1992,12 +2018,11 @@ func (s *IssuesService) CreatesANewUserDefinedIssueDefinitions(requestIssuesCrea } //ExecuteSuggestedActionsCommands Execute Suggested Actions Commands - cfb2-ab10-4cea-bfbb -/* This API triggers the execution of the suggested actions for an issue, given the Issue Id. It will return an execution Id. At the completion of the execution, the output of the commands associated with the suggested actions will be provided -Invoking this API would provide the execution id. Execute the 'Get Business API Execution Details' API with this execution id, to receive the suggested actions commands output. +/* This API fetches the issue details and suggested actions for an issue, given the Issue Id, executes the commands associated with the suggested actions to remediate the issue -Documentation Link: https://developer.cisco.com/docs/dna-center/#!execute-suggested-actions-commands-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!execute-suggested-actions-commands */ func (s *IssuesService) ExecuteSuggestedActionsCommands(requestIssuesExecuteSuggestedActionsCommands *RequestIssuesExecuteSuggestedActionsCommands) (*ResponseIssuesExecuteSuggestedActionsCommands, *resty.Response, error) { path := "/dna/intent/api/v1/execute-suggested-actions-commands" @@ -2037,7 +2062,7 @@ func (s *IssuesService) ExecuteSuggestedActionsCommands(requestIssuesExecuteSugg @param UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedIdHeaderParams Custom header parameters */ -func (s *IssuesService) UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID(id string, requestIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedId *RequestIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID, UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedIdHeaderParams *UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedIDHeaderParams) (*ResponseIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID, *resty.Response, error) { +func (s *IssuesService) UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID(id string, requestIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedId *RequestIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID) (*ResponseIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID, *resty.Response, error) { path := "/dna/intent/api/v1/customIssueDefinitions/{id}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) @@ -2047,14 +2072,6 @@ func (s *IssuesService) UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvided SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedIdHeaderParams != nil { - - if UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedIdHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedIdHeaderParams.XCaLLERID) - } - - } - response, err = clientRequest. SetBody(requestIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedId). SetResult(&ResponseIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID{}). @@ -2068,7 +2085,7 @@ func (s *IssuesService) UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvided if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID(id, requestIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedId, UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedIdHeaderParams) + return s.UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID(id, requestIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedId) } return nil, response, fmt.Errorf("error with operation UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedId") } @@ -2122,7 +2139,7 @@ func (s *IssuesService) IssueTriggerDefinitionUpdate(id string, requestIssuesIss @param id id path parameter. The custom issue definition unique identifier -Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-an-existing-custom-issue-definition-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-an-existing-custom-issue-definition */ func (s *IssuesService) DeletesAnExistingCustomIssueDefinition(id string) (*resty.Response, error) { //id string @@ -2142,8 +2159,7 @@ func (s *IssuesService) DeletesAnExistingCustomIssueDefinition(id string) (*rest if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletesAnExistingCustomIssueDefinition( - id) + return s.DeletesAnExistingCustomIssueDefinition(id) } return response, fmt.Errorf("error with operation DeletesAnExistingCustomIssueDefinition") } diff --git a/sdk/itsm.go b/sdk/itsm.go index 1a679e1..da2aeb8 100644 --- a/sdk/itsm.go +++ b/sdk/itsm.go @@ -66,7 +66,7 @@ type RequestItsmRetryIntegrationEvents []string // Array of RequestItsmRetryInte @param GetCMDBSyncStatusQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-cmdb-sync-status-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-cmdb-sync-status */ func (s *ItsmService) GetCmdbSyncStatus(GetCMDBSyncStatusQueryParams *GetCmdbSyncStatusQueryParams) (*ResponseItsmGetCmdbSyncStatus, *resty.Response, error) { path := "/dna/intent/api/v1/cmdb-sync/detail" @@ -103,7 +103,7 @@ func (s *ItsmService) GetCmdbSyncStatus(GetCMDBSyncStatusQueryParams *GetCmdbSyn @param GetFailedITSMEventsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-failed-itsm-events-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-failed-itsm-events */ func (s *ItsmService) GetFailedItsmEvents(GetFailedITSMEventsQueryParams *GetFailedItsmEventsQueryParams) (*ResponseItsmGetFailedItsmEvents, *resty.Response, error) { path := "/dna/intent/api/v1/integration/events" @@ -139,7 +139,7 @@ func (s *ItsmService) GetFailedItsmEvents(GetFailedITSMEventsQueryParams *GetFai -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retry-integration-events-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retry-integration-events */ func (s *ItsmService) RetryIntegrationEvents(requestItsmRetryIntegrationEvents *RequestItsmRetryIntegrationEvents) (*ResponseItsmRetryIntegrationEvents, *resty.Response, error) { path := "/dna/intent/api/v1/integration/events" diff --git a/sdk/itsm_integration.go b/sdk/itsm_integration.go index c76ebfe..2d3be05 100644 --- a/sdk/itsm_integration.go +++ b/sdk/itsm_integration.go @@ -146,7 +146,7 @@ type RequestItsmIntegrationUpdateItsmIntegrationSettingDataConnectionSettings st @param instanceID instanceId path parameter. Instance Id of the Integration setting instance -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-itsm-integration-setting-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-itsm-integration-setting-by-id */ func (s *ItsmIntegrationService) GetItsmIntegrationSettingByID(instanceID string) (*ResponseItsmIntegrationGetItsmIntegrationSettingByID, *resty.Response, error) { path := "/dna/intent/api/v1/integration-settings/instances/itsm/{instanceId}" @@ -181,7 +181,7 @@ func (s *ItsmIntegrationService) GetItsmIntegrationSettingByID(instanceID string -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-itsm-integration-settings-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-itsm-integration-settings */ func (s *ItsmIntegrationService) GetAllItsmIntegrationSettings() (*ResponseItsmIntegrationGetAllItsmIntegrationSettings, *resty.Response, error) { path := "/dna/intent/api/v1/integration-settings/itsm/instances" @@ -215,7 +215,7 @@ func (s *ItsmIntegrationService) GetAllItsmIntegrationSettings() (*ResponseItsmI -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-itsm-integration-status-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-itsm-integration-status */ func (s *ItsmIntegrationService) GetItsmIntegrationStatus() (*ResponseItsmIntegrationGetItsmIntegrationStatus, *resty.Response, error) { path := "/dna/intent/api/v1/integration-settings/status" @@ -249,7 +249,7 @@ func (s *ItsmIntegrationService) GetItsmIntegrationStatus() (*ResponseItsmIntegr -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-itsm-integration-setting-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-itsm-integration-setting */ func (s *ItsmIntegrationService) CreateItsmIntegrationSetting(requestItsmIntegrationCreateITSMIntegrationSetting *RequestItsmIntegrationCreateItsmIntegrationSetting) (*ResponseItsmIntegrationCreateItsmIntegrationSetting, *resty.Response, error) { path := "/dna/intent/api/v1/integration-settings/instances/itsm" @@ -324,7 +324,7 @@ func (s *ItsmIntegrationService) UpdateItsmIntegrationSetting(instanceID string, @param instanceID instanceId path parameter. Instance Id of the Integration setting instance -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-itsm-integration-setting-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-itsm-integration-setting */ func (s *ItsmIntegrationService) DeleteItsmIntegrationSetting(instanceID string) (*resty.Response, error) { //instanceID string diff --git a/sdk/lan_automation.go b/sdk/lan_automation.go index ed35680..9960380 100644 --- a/sdk/lan_automation.go +++ b/sdk/lan_automation.go @@ -276,7 +276,7 @@ type RequestItemLanAutomationLanAutomationStopAndUpdateDevicesV2 struct { -Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-session-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-session-count */ func (s *LanAutomationService) LanAutomationSessionCount() (*ResponseLanAutomationLanAutomationSessionCount, *resty.Response, error) { path := "/dna/intent/api/v1/lan-automation/count" @@ -311,7 +311,7 @@ func (s *LanAutomationService) LanAutomationSessionCount() (*ResponseLanAutomati @param LANAutomationLogQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-log-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-log */ func (s *LanAutomationService) LanAutomationLog(LANAutomationLogQueryParams *LanAutomationLogQueryParams) (*ResponseLanAutomationLanAutomationLog, *resty.Response, error) { path := "/dna/intent/api/v1/lan-automation/log" @@ -349,7 +349,7 @@ func (s *LanAutomationService) LanAutomationLog(LANAutomationLogQueryParams *Lan @param id id path parameter. LAN Automation session identifier. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-log-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-log-by-id */ func (s *LanAutomationService) LanAutomationLogByID(id string) (*ResponseLanAutomationLanAutomationLogByID, *resty.Response, error) { path := "/dna/intent/api/v1/lan-automation/log/{id}" @@ -389,7 +389,7 @@ func (s *LanAutomationService) LanAutomationLogByID(id string) (*ResponseLanAuto @param LANAutomationLogsForIndividualDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-logs-for-individual-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-logs-for-individual-devices */ func (s *LanAutomationService) LanAutomationLogsForIndividualDevices(id string, serialNumber string, LANAutomationLogsForIndividualDevicesQueryParams *LanAutomationLogsForIndividualDevicesQueryParams) (*ResponseLanAutomationLanAutomationLogsForIndividualDevices, *resty.Response, error) { path := "/dna/intent/api/v1/lan-automation/log/{id}/{serialNumber}" @@ -427,7 +427,7 @@ func (s *LanAutomationService) LanAutomationLogsForIndividualDevices(id string, -Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-active-sessions-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-active-sessions */ func (s *LanAutomationService) LanAutomationActiveSessions() (*ResponseLanAutomationLanAutomationActiveSessions, *resty.Response, error) { path := "/dna/intent/api/v1/lan-automation/sessions" @@ -462,7 +462,7 @@ func (s *LanAutomationService) LanAutomationActiveSessions() (*ResponseLanAutoma @param LANAutomationStatusQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-status-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-status */ func (s *LanAutomationService) LanAutomationStatus(LANAutomationStatusQueryParams *LanAutomationStatusQueryParams) (*ResponseLanAutomationLanAutomationStatus, *resty.Response, error) { path := "/dna/intent/api/v1/lan-automation/status" @@ -500,7 +500,7 @@ func (s *LanAutomationService) LanAutomationStatus(LANAutomationStatusQueryParam @param id id path parameter. LAN Automation session identifier. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-status-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-status-by-id */ func (s *LanAutomationService) LanAutomationStatusByID(id string) (*ResponseLanAutomationLanAutomationStatusByID, *resty.Response, error) { path := "/dna/intent/api/v1/lan-automation/status/{id}" @@ -535,7 +535,7 @@ func (s *LanAutomationService) LanAutomationStatusByID(id string) (*ResponseLanA -Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-start-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-start */ func (s *LanAutomationService) LanAutomationStart(requestLanAutomationLANAutomationStart *RequestLanAutomationLanAutomationStart) (*ResponseLanAutomationLanAutomationStart, *resty.Response, error) { path := "/dna/intent/api/v1/lan-automation" @@ -719,7 +719,7 @@ func (s *LanAutomationService) LanAutomationStopAndUpdateDevicesV2(id string, re @param id id path parameter. LAN Automation id can be obtained from /dna/intent/api/v1/lan-automation/status. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-stop-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!lan-automation-stop */ func (s *LanAutomationService) LanAutomationStop(id string) (*ResponseLanAutomationLanAutomationStop, *resty.Response, error) { //id string @@ -740,8 +740,7 @@ func (s *LanAutomationService) LanAutomationStop(id string) (*ResponseLanAutomat if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.LanAutomationStop( - id) + return s.LanAutomationStop(id) } return nil, response, fmt.Errorf("error with operation LanAutomationStop") } diff --git a/sdk/licenses.go b/sdk/licenses.go index e857c2b..2ff2479 100644 --- a/sdk/licenses.go +++ b/sdk/licenses.go @@ -22,12 +22,12 @@ type DeviceLicenseSummaryQueryParams struct { PageNumber float64 `url:"page_number,omitempty"` //Page number of response Order string `url:"order,omitempty"` //Sorting order SortBy string `url:"sort_by,omitempty"` //Sort result by field - DnaLevel string `url:"dna_level,omitempty"` //Device Cisco DNA license level. The valid values are Advantage, Essentials - DeviceType string `url:"device_type,omitempty"` //Type of device. The valid values are Routers, Switches and Hubs, Wireless Controller - Limit float64 `url:"limit,omitempty"` //Limit - RegistrationStatus string `url:"registration_status,omitempty"` //Smart license registration status of device. The valid values are Unknown, NA, Unregistered, Registered, Registration_expired, Reservation_in_progress, Registered_slr, Registered_plr, Registered_satellite + DnaLevel string `url:"dna_level,omitempty"` //Device Cisco DNA license level + DeviceType string `url:"device_type,omitempty"` //Type of device + Limit float64 `url:"limit,omitempty"` //Specifies the maximum number of device license summaries to return per page. Must be an integer between 1 and 500, inclusive. + RegistrationStatus string `url:"registration_status,omitempty"` //Smart license registration status of device VirtualAccountName string `url:"virtual_account_name,omitempty"` //Name of virtual account - SmartAccountID string `url:"smart_account_id,omitempty"` //Id of smart account + SmartAccountID float64 `url:"smart_account_id,omitempty"` //Id of smart account DeviceUUID string `url:"device_uuid,omitempty"` //Id of device } type LicenseTermDetailsQueryParams struct { @@ -37,6 +37,33 @@ type LicenseUsageDetailsQueryParams struct { DeviceType string `url:"device_type,omitempty"` //Type of device like router, switch, wireless or ise } +type ResponseLicensesRetrievesCSSMConnectionMode struct { + Response *ResponseLicensesRetrievesCSSMConnectionModeResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // API version +} +type ResponseLicensesRetrievesCSSMConnectionModeResponse struct { + ConnectionMode string `json:"connectionMode,omitempty"` // The CSSM connection modes of Catalyst Center are DIRECT, ON_PREMISE and SMART_PROXY + + Parameters *ResponseLicensesRetrievesCSSMConnectionModeResponseParameters `json:"parameters,omitempty"` // +} +type ResponseLicensesRetrievesCSSMConnectionModeResponseParameters struct { + OnPremiseHost string `json:"onPremiseHost,omitempty"` // On-premise host + + SmartAccountName string `json:"smartAccountName,omitempty"` // On-premise CSSM local smart account name + + ClientID string `json:"clientId,omitempty"` // On-premise CSSM client id +} +type ResponseLicensesUpdateCSSMConnectionMode struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseLicensesUpdateCSSMConnectionModeResponse `json:"response,omitempty"` // +} +type ResponseLicensesUpdateCSSMConnectionModeResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} type ResponseLicensesRetrieveLicenseSetting struct { Response *ResponseLicensesRetrieveLicenseSettingResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // API version @@ -202,12 +229,13 @@ type ResponseLicensesLicenseTermDetailsLicenseDetails struct { IsLicenseExpired string `json:"is_license_expired,omitempty"` // Is license expired } type ResponseLicensesLicenseUsageDetails struct { - PurchasedDnaLicense *ResponseLicensesLicenseUsageDetailsPurchasedDnaLicense `json:"purchased_dna_license,omitempty"` // + PurchasedDnaLicense *ResponseLicensesLicenseUsageDetailsPurchasedDnaLicense `json:"purchased_dna_license,omitempty"` // + PurchasedNetworkLicense *ResponseLicensesLicenseUsageDetailsPurchasedNetworkLicense `json:"purchased_network_license,omitempty"` // - UsedDnaLicense *ResponseLicensesLicenseUsageDetailsUsedDnaLicense `json:"used_dna_license,omitempty"` // - UsedNetworkLicense *ResponseLicensesLicenseUsageDetailsUsedNetworkLicense `json:"used_network_license,omitempty"` // - PurchasedIseLicense *ResponseLicensesLicenseUsageDetailsPurchasedIseLicense `json:"purchased_ise_license,omitempty"` // - UsedIseLicense *ResponseLicensesLicenseUsageDetailsUsedIseLicense `json:"used_ise_license,omitempty"` // + + UsedDnaLicense *ResponseLicensesLicenseUsageDetailsUsedDnaLicense `json:"used_dna_license,omitempty"` // + + UsedNetworkLicense *ResponseLicensesLicenseUsageDetailsUsedNetworkLicense `json:"used_network_license,omitempty"` // } type ResponseLicensesLicenseUsageDetailsPurchasedDnaLicense struct { TotalLicenseCount *int `json:"total_license_count,omitempty"` // Total number of licenses @@ -241,24 +269,120 @@ type ResponseLicensesLicenseUsageDetailsUsedNetworkLicenseLicenseCountByType str LicenseType string `json:"license_type,omitempty"` // Type of license LicenseCount *int `json:"license_count,omitempty"` // Number of licenses } -type ResponseLicensesLicenseUsageDetailsPurchasedIseLicense struct { - TotalLicenseCount *int `json:"total_license_count,omitempty"` // Total number of licenses - LicenseCountByType *[]ResponseLicensesLicenseUsageDetailsPurchasedIseLicenseLicenseCountByType `json:"license_count_by_type,omitempty"` // +type ResponseLicensesSmartLicensingDeregistration struct { + Response *ResponseLicensesSmartLicensingDeregistrationResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // API version } -type ResponseLicensesLicenseUsageDetailsPurchasedIseLicenseLicenseCountByType struct { - LicenseType string `json:"license_type,omitempty"` // Type of license - LicenseCount *int `json:"license_count,omitempty"` // Number of licenses +type ResponseLicensesSmartLicensingDeregistrationResponse struct { + URL string `json:"url,omitempty"` // URL to track the operation status } -type ResponseLicensesLicenseUsageDetailsUsedIseLicense struct { - TotalLicenseCount *int `json:"total_license_count,omitempty"` // Total number of licenses - LicenseCountByType *[]ResponseLicensesLicenseUsageDetailsUsedIseLicenseLicenseCountByType `json:"license_count_by_type,omitempty"` // +type ResponseLicensesSystemLicensingLastOperationStatus struct { + Response *ResponseLicensesSystemLicensingLastOperationStatusResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // API version } -type ResponseLicensesLicenseUsageDetailsUsedIseLicenseLicenseCountByType struct { - LicenseType string `json:"license_type,omitempty"` // Type of license - LicenseCount *int `json:"license_count,omitempty"` // Number of licenses +type ResponseLicensesSystemLicensingLastOperationStatusResponse struct { + ID string `json:"id,omitempty"` // The ID of this task + + Status string `json:"status,omitempty"` // Summarizes the status of a task + + IsError *bool `json:"isError,omitempty"` // A boolean indicating if this task has ended with or without error. true indicates a failure, whereas false indicates a success. + + FailureReason string `json:"failureReason,omitempty"` // A textual description indicating the reason why a task has failed + + ErrorCode string `json:"errorCode,omitempty"` // An error code if in case this task has failed in its execution + + LastUpdate *float64 `json:"lastUpdate,omitempty"` // A timestamp of when this task was last updated; as measured in Unix epoch time in milliseconds +} +type ResponseLicensesSystemLicensingRegistration struct { + Response *ResponseLicensesSystemLicensingRegistrationResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // API version +} +type ResponseLicensesSystemLicensingRegistrationResponse struct { + URL string `json:"url,omitempty"` // URL to track the operation status +} +type ResponseLicensesSmartLicensingRenewOperation struct { + Response *ResponseLicensesSmartLicensingRenewOperationResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // API version +} +type ResponseLicensesSmartLicensingRenewOperationResponse struct { + URL string `json:"url,omitempty"` // URL to track the operation status +} +type ResponseLicensesSystemLicensingStatus struct { + Response *ResponseLicensesSystemLicensingStatusResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // API version +} +type ResponseLicensesSystemLicensingStatusResponse struct { + RegistrationStatus *ResponseLicensesSystemLicensingStatusResponseRegistrationStatus `json:"registrationStatus,omitempty"` // + + AuthorizationStatus *ResponseLicensesSystemLicensingStatusResponseAuthorizationStatus `json:"authorizationStatus,omitempty"` // + + Entitlements *ResponseLicensesSystemLicensingStatusResponseEntitlements `json:"entitlements,omitempty"` // + + SmartAccountID string `json:"smartAccountId,omitempty"` // Smart Account id to which the system is registered + + VirtualAccountID string `json:"virtualAccountId,omitempty"` // Virtual Account id to which the system is registered + + ExportControl string `json:"exportControl,omitempty"` // Export-Controlled setting of Smart Account +} +type ResponseLicensesSystemLicensingStatusResponseRegistrationStatus struct { + Status string `json:"status,omitempty"` // REGISTERED if the system is registered with CSSM, otherwise UNREGISTERED. + + LastAttemptTimestamp *float64 `json:"lastAttemptTimestamp,omitempty"` // A date and time represented as milliseconds since the Unix epoch. + + ExpiryTimestamp *float64 `json:"expiryTimestamp,omitempty"` // A date and time represented as milliseconds since the Unix epoch. + + NextAttemptTimestamp *float64 `json:"nextAttemptTimestamp,omitempty"` // A date and time represented as milliseconds since the Unix epoch. + + LastAttemptStatus string `json:"lastAttemptStatus,omitempty"` // The last registration request's status + + LastAttemptFailReason string `json:"lastAttemptFailReason,omitempty"` // The reason for last registration request failure +} +type ResponseLicensesSystemLicensingStatusResponseAuthorizationStatus struct { + Status string `json:"status,omitempty"` // This denotes the authorization status of the system. + + LastAttemptTimestamp *float64 `json:"lastAttemptTimestamp,omitempty"` // A date and time represented as milliseconds since the Unix epoch. + + EvaluationRemainderTimestamp *float64 `json:"evaluationRemainderTimestamp,omitempty"` // A date and time represented as milliseconds since the Unix epoch. + + ExpiryTimestamp *float64 `json:"expiryTimestamp,omitempty"` // A date and time represented as milliseconds since the Unix epoch. + + NextAttemptTimestamp *float64 `json:"nextAttemptTimestamp,omitempty"` // A date and time represented as milliseconds since the Unix epoch. + + LastAttemptStatus string `json:"lastAttemptStatus,omitempty"` // The last authorization request's status + + LastAttemptFailReason string `json:"lastAttemptFailReason,omitempty"` // The reason for last authorization request failure +} +type ResponseLicensesSystemLicensingStatusResponseEntitlements struct { + Tag string `json:"tag,omitempty"` // Entitlement tag associated with the available licenses + + Description string `json:"description,omitempty"` // Name or description of the license entitlement + + UsageCount *int `json:"usageCount,omitempty"` // Available license count + + Status string `json:"status,omitempty"` // This denotes the authorization status of the available licenses. +} +type RequestLicensesUpdateCSSMConnectionMode struct { + ConnectionMode string `json:"connectionMode,omitempty"` // The CSSM connection modes of Catalyst Center are DIRECT, ON_PREMISE and SMART_PROXY. + + Parameters *RequestLicensesUpdateCSSMConnectionModeParameters `json:"parameters,omitempty"` // +} +type RequestLicensesUpdateCSSMConnectionModeParameters struct { + OnPremiseHost string `json:"onPremiseHost,omitempty"` // On-premise CSSM hostname or IP address + + SmartAccountName string `json:"smartAccountName,omitempty"` // On-premise CSSM local smart account name + + ClientID string `json:"clientId,omitempty"` // On-premise CSSM client id + + ClientSecret string `json:"clientSecret,omitempty"` // On-premise CSSM client secret } type RequestLicensesUpdateLicenseSetting struct { - DefaultSmartAccountID string `json:"defaultSmartAccountId,omitempty"` // Default smart account id + DefaultSmartAccountID string `json:"defaultSmartAccountId,omitempty"` // Default smart account id + AutoRegistrationVirtualAccountID string `json:"autoRegistrationVirtualAccountId,omitempty"` // Virtual account id } type RequestLicensesDeviceDeregistration struct { @@ -270,13 +394,51 @@ type RequestLicensesDeviceRegistration struct { type RequestLicensesChangeVirtualAccount struct { DeviceUUIDs []string `json:"device_uuids,omitempty"` // Comma separated device ids } +type RequestLicensesSystemLicensingRegistration struct { + SmartAccountID string `json:"smartAccountId,omitempty"` // The ID of the Smart Account to which the system is registered + VirtualAccountID string `json:"virtualAccountId,omitempty"` // The ID of the Virtual Account to which the system is registered +} + +//RetrievesCSSMConnectionMode Retrieves CSSM Connection Mode - 1098-3a93-47a9-bf2c +/* Retrieves Cisco Smart Software Manager (CSSM) connection mode setting. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-c-s-s-m-connection-mode +*/ +func (s *LicensesService) RetrievesCSSMConnectionMode() (*ResponseLicensesRetrievesCSSMConnectionMode, *resty.Response, error) { + path := "/dna/intent/api/v1/connectionModeSetting" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseLicensesRetrievesCSSMConnectionMode{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesCSSMConnectionMode() + } + return nil, response, fmt.Errorf("error with operation RetrievesCSSMConnectionMode") + } + + result := response.Result().(*ResponseLicensesRetrievesCSSMConnectionMode) + return result, response, err + +} //RetrieveLicenseSetting Retrieve license setting - c489-d9a3-4c09-84c7 /* Retrieves license setting Default smart account id and virtual account id for auto registration of devices for smart license flow. If default smart account is not configured, 'defaultSmartAccountId' is 'null'. Similarly, if auto registration of devices for smart license flow is not enabled, 'autoRegistrationVirtualAccountId' is 'null'. For smart proxy connection mode, 'autoRegistrationVirtualAccountId' is always 'null'. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-license-setting-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-license-setting */ func (s *LicensesService) RetrieveLicenseSetting() (*ResponseLicensesRetrieveLicenseSetting, *resty.Response, error) { path := "/dna/intent/api/v1/licenseSetting" @@ -311,7 +473,7 @@ func (s *LicensesService) RetrieveLicenseSetting() (*ResponseLicensesRetrieveLic @param DeviceCountDetailsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!device-count-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!device-count-details */ func (s *LicensesService) DeviceCountDetails(DeviceCountDetailsQueryParams *DeviceCountDetailsQueryParams) (*ResponseLicensesDeviceCountDetails, *resty.Response, error) { path := "/dna/intent/api/v1/licenses/device/count" @@ -348,7 +510,7 @@ func (s *LicensesService) DeviceCountDetails(DeviceCountDetailsQueryParams *Devi @param DeviceLicenseSummaryQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!device-license-summary-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!device-license-summary */ func (s *LicensesService) DeviceLicenseSummary(DeviceLicenseSummaryQueryParams *DeviceLicenseSummaryQueryParams) (*ResponseLicensesDeviceLicenseSummary, *resty.Response, error) { path := "/dna/intent/api/v1/licenses/device/summary" @@ -386,7 +548,7 @@ func (s *LicensesService) DeviceLicenseSummary(DeviceLicenseSummaryQueryParams * @param deviceuuid device_uuid path parameter. Id of device -Documentation Link: https://developer.cisco.com/docs/dna-center/#!device-license-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!device-license-details */ func (s *LicensesService) DeviceLicenseDetails(deviceuuid string) (*ResponseLicensesDeviceLicenseDetails, *resty.Response, error) { path := "/dna/intent/api/v1/licenses/device/{device_uuid}/details" @@ -423,7 +585,7 @@ func (s *LicensesService) DeviceLicenseDetails(deviceuuid string) (*ResponseLice @param smartaccountTypeID smart_account_id path parameter. Id of smart account -Documentation Link: https://developer.cisco.com/docs/dna-center/#!virtual-account-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!virtual-account-details */ func (s *LicensesService) VirtualAccountDetails(smartaccountTypeID string) (*ResponseLicensesVirtualAccountDetails, *resty.Response, error) { path := "/dna/intent/api/v1/licenses/smartAccount/{smart_account_id}/virtualAccounts" @@ -458,7 +620,7 @@ func (s *LicensesService) VirtualAccountDetails(smartaccountTypeID string) (*Res -Documentation Link: https://developer.cisco.com/docs/dna-center/#!smart-account-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!smart-account-details */ func (s *LicensesService) SmartAccountDetails() (*ResponseLicensesSmartAccountDetails, *resty.Response, error) { path := "/dna/intent/api/v1/licenses/smartAccounts" @@ -497,7 +659,7 @@ func (s *LicensesService) SmartAccountDetails() (*ResponseLicensesSmartAccountDe @param LicenseTermDetailsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!license-term-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!license-term-details */ func (s *LicensesService) LicenseTermDetails(smartaccountTypeID string, virtualaccountname string, LicenseTermDetailsQueryParams *LicenseTermDetailsQueryParams) (*ResponseLicensesLicenseTermDetails, *resty.Response, error) { path := "/dna/intent/api/v1/licenses/term/smartAccount/{smart_account_id}/virtualAccount/{virtual_account_name}" @@ -540,7 +702,7 @@ func (s *LicensesService) LicenseTermDetails(smartaccountTypeID string, virtuala @param LicenseUsageDetailsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!license-usage-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!license-usage-details */ func (s *LicensesService) LicenseUsageDetails(smartaccountTypeID string, virtualaccountname string, LicenseUsageDetailsQueryParams *LicenseUsageDetailsQueryParams) (*ResponseLicensesLicenseUsageDetails, *resty.Response, error) { path := "/dna/intent/api/v1/licenses/usage/smartAccount/{smart_account_id}/virtualAccount/{virtual_account_name}" @@ -573,6 +735,74 @@ func (s *LicensesService) LicenseUsageDetails(smartaccountTypeID string, virtual } +//SystemLicensingLastOperationStatus System Licensing Last Operation Status - 458d-da00-4e18-b4ec +/* Retrieves the status of the last system licensing operation. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!system-licensing-last-operation-status +*/ +func (s *LicensesService) SystemLicensingLastOperationStatus() (*ResponseLicensesSystemLicensingLastOperationStatus, *resty.Response, error) { + path := "/dna/system/api/v1/license/lastOperationStatus" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseLicensesSystemLicensingLastOperationStatus{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.SystemLicensingLastOperationStatus() + } + return nil, response, fmt.Errorf("error with operation SystemLicensingLastOperationStatus") + } + + result := response.Result().(*ResponseLicensesSystemLicensingLastOperationStatus) + return result, response, err + +} + +//SystemLicensingStatus System Licensing Status - 64a5-0bcb-414b-89e1 +/* Fetches registration status, authorization status and entitlements of the system with Cisco Smart Software Manage (CSSM). + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!system-licensing-status +*/ +func (s *LicensesService) SystemLicensingStatus() (*ResponseLicensesSystemLicensingStatus, *resty.Response, error) { + path := "/dna/system/api/v1/license/status" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseLicensesSystemLicensingStatus{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.SystemLicensingStatus() + } + return nil, response, fmt.Errorf("error with operation SystemLicensingStatus") + } + + result := response.Result().(*ResponseLicensesSystemLicensingStatus) + return result, response, err + +} + //ChangeVirtualAccount Change Virtual Account - bea7-4a0b-4778-8c89 /* Transfer device(s) from one virtual account to another within same smart account. @@ -582,7 +812,7 @@ func (s *LicensesService) LicenseUsageDetails(smartaccountTypeID string, virtual @param virtualaccountname virtual_account_name path parameter. Name of target virtual account -Documentation Link: https://developer.cisco.com/docs/dna-center/#!change-virtual-account-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!change-virtual-account */ func (s *LicensesService) ChangeVirtualAccount(smartaccountTypeID string, virtualaccountname string, requestLicensesChangeVirtualAccount *RequestLicensesChangeVirtualAccount) (*ResponseLicensesChangeVirtualAccount, *resty.Response, error) { path := "/dna/intent/api/v1/licenses/smartAccount/{smart_account_id}/virtualAccount/{virtual_account_name}/device/transfer" @@ -616,6 +846,148 @@ func (s *LicensesService) ChangeVirtualAccount(smartaccountTypeID string, virtua } +//SmartLicensingDeregistration Smart Licensing Deregistration - 8489-ea73-4838-a40e +/* Deregisters the system with Cisco Smart Software Manager (CSSM) + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!smart-licensing-deregistration +*/ +func (s *LicensesService) SmartLicensingDeregistration() (*ResponseLicensesSmartLicensingDeregistration, *resty.Response, error) { + path := "/dna/system/api/v1/license/deregister" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseLicensesSmartLicensingDeregistration{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.SmartLicensingDeregistration() + } + + return nil, response, fmt.Errorf("error with operation SmartLicensingDeregistration") + } + + result := response.Result().(*ResponseLicensesSmartLicensingDeregistration) + return result, response, err + +} + +//SystemLicensingRegistration System Licensing Registration - eda9-ea64-4ce8-ad1e +/* Registers the system with Cisco Smart Software Manager (CSSM) + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!system-licensing-registration +*/ +func (s *LicensesService) SystemLicensingRegistration(requestLicensesSystemLicensingRegistration *RequestLicensesSystemLicensingRegistration) (*ResponseLicensesSystemLicensingRegistration, *resty.Response, error) { + path := "/dna/system/api/v1/license/register" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestLicensesSystemLicensingRegistration). + SetResult(&ResponseLicensesSystemLicensingRegistration{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.SystemLicensingRegistration(requestLicensesSystemLicensingRegistration) + } + + return nil, response, fmt.Errorf("error with operation SystemLicensingRegistration") + } + + result := response.Result().(*ResponseLicensesSystemLicensingRegistration) + return result, response, err + +} + +//SmartLicensingRenewOperation Smart Licensing Renew Operation - d288-fb7f-45b8-87d7 +/* Renews license registration and authorization status of the system with Cisco Smart Software Manager (CSSM) + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!smart-licensing-renew-operation +*/ +func (s *LicensesService) SmartLicensingRenewOperation() (*ResponseLicensesSmartLicensingRenewOperation, *resty.Response, error) { + path := "/dna/system/api/v1/license/renew" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseLicensesSmartLicensingRenewOperation{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.SmartLicensingRenewOperation() + } + + return nil, response, fmt.Errorf("error with operation SmartLicensingRenewOperation") + } + + result := response.Result().(*ResponseLicensesSmartLicensingRenewOperation) + return result, response, err + +} + +//UpdateCSSMConnectionMode Update CSSM Connection Mode - cfb4-18c6-4eb8-959a +/* Update Cisco Smart Software Manager (CSSM) connection mode for the system. + + + */ +func (s *LicensesService) UpdateCSSMConnectionMode(requestLicensesUpdateCSSMConnectionMode *RequestLicensesUpdateCSSMConnectionMode) (*ResponseLicensesUpdateCSSMConnectionMode, *resty.Response, error) { + path := "/dna/intent/api/v1/connectionModeSetting" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestLicensesUpdateCSSMConnectionMode). + SetResult(&ResponseLicensesUpdateCSSMConnectionMode{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdateCSSMConnectionMode(requestLicensesUpdateCSSMConnectionMode) + } + return nil, response, fmt.Errorf("error with operation UpdateCSSMConnectionMode") + } + + result := response.Result().(*ResponseLicensesUpdateCSSMConnectionMode) + return result, response, err + +} + //UpdateLicenseSetting Update license setting - 97ae-8980-475a-961e /* Update license setting Configure default smart account id and/or virtual account id for auto registration of devices for smart license flow. Virtual account should be part of default smart account. Default smart account id cannot be set to 'null'. Auto registration of devices for smart license flow is applicable only for direct or on-prem SSM connection mode. diff --git a/sdk/network_settings.go b/sdk/network_settings.go index 09f6bef..8e2069a 100644 --- a/sdk/network_settings.go +++ b/sdk/network_settings.go @@ -21,6 +21,26 @@ type GetGlobalPoolQueryParams struct { Offset float64 `url:"offset,omitempty"` //Offset/starting row. Indexed from 1. Default value of 1. Limit float64 `url:"limit,omitempty"` //Number of Global Pools to be retrieved. Default is 25 if not specified. } +type RetrievesGlobalIPAddressPoolsQueryParams struct { + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. +} +type RetrievesSubpoolsIDsOfAGlobalIPAddressPoolQueryParams struct { + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. +} +type RetrievesIPAddressSubpoolsQueryParams struct { + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. + SiteID string `url:"siteId,omitempty"` //The `id` of the site for which to retrieve IP address subpools. Only subpools whose `siteId` exactly matches will be fetched, parent or child site matches will not be included. +} +type CountsIPAddressSubpoolsQueryParams struct { + SiteID string `url:"siteId,omitempty"` //The `id` of the site for which to retrieve IP address subpools. Only subpools whose `siteId` matches will be counted. +} type GetNetworkQueryParams struct { SiteID string `url:"siteId,omitempty"` //Site id to get the network settings associated with the site. } @@ -31,7 +51,7 @@ type GetReserveIPSubpoolQueryParams struct { SiteID string `url:"siteId,omitempty"` //site id of site from which to retrieve associated reserve pools. Either siteId (per site queries) or ignoreInheritedGroups must be used. They can also be used together. Offset float64 `url:"offset,omitempty"` //offset/starting row. Indexed from 1. Limit float64 `url:"limit,omitempty"` //Number of reserve pools to be retrieved. Default is 25 if not specified. Maximum allowed limit is 500. - IgnoreInheritedGroups string `url:"ignoreInheritedGroups,omitempty"` //Ignores pools inherited from parent site. Either siteId or ignoreInheritedGroups must be passed. They can also be used together. + IgnoreInheritedGroups bool `url:"ignoreInheritedGroups,omitempty"` //Ignores pools inherited from parent site. Either siteId or ignoreInheritedGroups must be passed. They can also be used together. PoolUsage string `url:"poolUsage,omitempty"` //Can take values empty, partially-full or empty-partially-full GroupName string `url:"groupName,omitempty"` //Name of the group } @@ -216,346 +236,792 @@ type ResponseNetworkSettingsDeleteGlobalIPPool struct { ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url Message string `json:"message,omitempty"` // Message } +type ResponseNetworkSettingsCreateAGlobalIPAddressPool struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseNetworkSettingsCreateAGlobalIPAddressPoolResponse `json:"response,omitempty"` // +} +type ResponseNetworkSettingsCreateAGlobalIPAddressPoolResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseNetworkSettingsRetrievesGlobalIPAddressPools struct { + Response *[]ResponseNetworkSettingsRetrievesGlobalIPAddressPoolsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // +} +type ResponseNetworkSettingsRetrievesGlobalIPAddressPoolsResponse struct { + AddressSpace *ResponseNetworkSettingsRetrievesGlobalIPAddressPoolsResponseAddressSpace `json:"addressSpace,omitempty"` // + + ID string `json:"id,omitempty"` // The UUID for this global IP pool. + + Name string `json:"name,omitempty"` // The name for this reserve IP pool. Only letters, numbers, '-' (hyphen), '_' (underscore), '.' (period), and '/' (forward slash) are allowed. + + PoolType string `json:"poolType,omitempty"` // Once created, a global pool type cannot be changed. Tunnel: Assigns IP addresses to site-to-site VPN for IPSec tunneling. Generic: used for all other network types. +} +type ResponseNetworkSettingsRetrievesGlobalIPAddressPoolsResponseAddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. + + TotalAddresses string `json:"totalAddresses,omitempty"` // The total number of addresses in the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + UnassignableAddresses string `json:"unassignableAddresses,omitempty"` // The number of addresses in the pool that cannot be assigned. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + AssignedAddresses string `json:"assignedAddresses,omitempty"` // The number of addresses assigned from the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + DefaultAssignedAddresses string `json:"defaultAssignedAddresses,omitempty"` // The number of addresses that are assigned from the pool by default. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. +} +type ResponseNetworkSettingsCountsGlobalIPAddressPools struct { + Response *ResponseNetworkSettingsCountsGlobalIPAddressPoolsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseNetworkSettingsCountsGlobalIPAddressPoolsResponse struct { + Count *int `json:"count,omitempty"` // The reported count. +} +type ResponseNetworkSettingsRetrievesSubpoolsIDsOfAGlobalIPAddressPool struct { + Response *[]ResponseNetworkSettingsRetrievesSubpoolsIDsOfAGlobalIPAddressPoolResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // +} +type ResponseNetworkSettingsRetrievesSubpoolsIDsOfAGlobalIPAddressPoolResponse struct { + ID string `json:"id,omitempty"` // ID of the subpool +} +type ResponseNetworkSettingsCountsSubpoolsOfAGlobalIPAddressPool struct { + Response *ResponseNetworkSettingsCountsSubpoolsOfAGlobalIPAddressPoolResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseNetworkSettingsCountsSubpoolsOfAGlobalIPAddressPoolResponse struct { + Count *int `json:"count,omitempty"` // The reported count. +} +type ResponseNetworkSettingsRetrievesAGlobalIPAddressPool struct { + Response *ResponseNetworkSettingsRetrievesAGlobalIPAddressPoolResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // +} +type ResponseNetworkSettingsRetrievesAGlobalIPAddressPoolResponse struct { + AddressSpace *ResponseNetworkSettingsRetrievesAGlobalIPAddressPoolResponseAddressSpace `json:"addressSpace,omitempty"` // + + ID string `json:"id,omitempty"` // The UUID for this global IP pool. + + Name string `json:"name,omitempty"` // The name for this reserve IP pool. Only letters, numbers, '-' (hyphen), '_' (underscore), '.' (period), and '/' (forward slash) are allowed. + + PoolType string `json:"poolType,omitempty"` // Once created, a global pool type cannot be changed. Tunnel: Assigns IP addresses to site-to-site VPN for IPSec tunneling. Generic: used for all other network types. +} +type ResponseNetworkSettingsRetrievesAGlobalIPAddressPoolResponseAddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. + + TotalAddresses string `json:"totalAddresses,omitempty"` // The total number of addresses in the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + UnassignableAddresses string `json:"unassignableAddresses,omitempty"` // The number of addresses in the pool that cannot be assigned. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + AssignedAddresses string `json:"assignedAddresses,omitempty"` // The number of addresses assigned from the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + DefaultAssignedAddresses string `json:"defaultAssignedAddresses,omitempty"` // The number of addresses that are assigned from the pool by default. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. +} +type ResponseNetworkSettingsUpdatesAGlobalIPAddressPool struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseNetworkSettingsUpdatesAGlobalIPAddressPoolResponse `json:"response,omitempty"` // +} +type ResponseNetworkSettingsUpdatesAGlobalIPAddressPoolResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseNetworkSettingsDeleteAGlobalIPAddressPool struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseNetworkSettingsDeleteAGlobalIPAddressPoolResponse `json:"response,omitempty"` // +} +type ResponseNetworkSettingsDeleteAGlobalIPAddressPoolResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseNetworkSettingsReservecreateIPAddressSubpools struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseNetworkSettingsReservecreateIPAddressSubpoolsResponse `json:"response,omitempty"` // +} +type ResponseNetworkSettingsReservecreateIPAddressSubpoolsResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseNetworkSettingsRetrievesIPAddressSubpools struct { + Response *[]ResponseNetworkSettingsRetrievesIPAddressSubpoolsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // +} +type ResponseNetworkSettingsRetrievesIPAddressSubpoolsResponse struct { + ID string `json:"id,omitempty"` // The UUID for this reserve IP pool (subpool). + + IPV4AddressSpace *ResponseNetworkSettingsRetrievesIPAddressSubpoolsResponseIPV4AddressSpace `json:"ipV4AddressSpace,omitempty"` // + + IPV6AddressSpace *ResponseNetworkSettingsRetrievesIPAddressSubpoolsResponseIPV6AddressSpace `json:"ipV6AddressSpace,omitempty"` // + + Name string `json:"name,omitempty"` // The name for this reserve IP pool. Only letters, numbers, '-' (hyphen), '_' (underscore), '.' (period), and '/' (forward slash) are allowed. + + PoolType string `json:"poolType,omitempty"` // Once created, a subpool type cannot be changed. LAN: Assigns IP addresses to LAN interfaces of applicable VNFs and underlay LAN automation. Management: Assigns IP addresses to management interfaces. A management network is a dedicated network connected to VNFs for VNF management. Service: Assigns IP addresses to service interfaces. Service networks are used for communication within VNFs. WAN: Assigns IP addresses to NFVIS for UCS-E provisioning. Generic: used for all other network types. + + SiteID string `json:"siteId,omitempty"` // The `id` of the site that this subpool belongs to. This must be the `id` of a non-Global site. + + SiteName string `json:"siteName,omitempty"` // The name of the site that this subpool belongs to. +} +type ResponseNetworkSettingsRetrievesIPAddressSubpoolsResponseIPV4AddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. + + TotalAddresses string `json:"totalAddresses,omitempty"` // The total number of addresses in the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + UnassignableAddresses string `json:"unassignableAddresses,omitempty"` // The number of addresses in the pool that cannot be assigned. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + AssignedAddresses string `json:"assignedAddresses,omitempty"` // The number of addresses assigned from the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + DefaultAssignedAddresses string `json:"defaultAssignedAddresses,omitempty"` // The number of addresses that are assigned from the pool by default. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + SLAacSupport *bool `json:"slaacSupport,omitempty"` // If the prefixLength is 64, this option may be enabled. Stateless Address Auto-configuration (SLAAC) allows network devices to select their IP address without the use of DHCP servers. + + GlobalPoolID string `json:"globalPoolId,omitempty"` // The non-tunnel global pool for this reserve pool (which matches this IP address type). Once added this value cannot be changed. +} +type ResponseNetworkSettingsRetrievesIPAddressSubpoolsResponseIPV6AddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. + + TotalAddresses string `json:"totalAddresses,omitempty"` // The total number of addresses in the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + UnassignableAddresses string `json:"unassignableAddresses,omitempty"` // The number of addresses in the pool that cannot be assigned. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + AssignedAddresses string `json:"assignedAddresses,omitempty"` // The number of addresses assigned from the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + DefaultAssignedAddresses string `json:"defaultAssignedAddresses,omitempty"` // The number of addresses that are assigned from the pool by default. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + SLAacSupport *bool `json:"slaacSupport,omitempty"` // If the prefixLength is 64, this option may be enabled. Stateless Address Auto-configuration (SLAAC) allows network devices to select their IP address without the use of DHCP servers. + + GlobalPoolID string `json:"globalPoolId,omitempty"` // The non-tunnel global pool for this reserve pool (which matches this IP address type). Once added this value cannot be changed. +} +type ResponseNetworkSettingsCountsIPAddressSubpools struct { + Response *ResponseNetworkSettingsCountsIPAddressSubpoolsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseNetworkSettingsCountsIPAddressSubpoolsResponse struct { + Count *int `json:"count,omitempty"` // The reported count. +} +type ResponseNetworkSettingsReleaseAnIPAddressSubpool struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseNetworkSettingsReleaseAnIPAddressSubpoolResponse `json:"response,omitempty"` // +} +type ResponseNetworkSettingsReleaseAnIPAddressSubpoolResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseNetworkSettingsUpdatesAnIPAddressSubpool struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseNetworkSettingsUpdatesAnIPAddressSubpoolResponse `json:"response,omitempty"` // +} +type ResponseNetworkSettingsUpdatesAnIPAddressSubpoolResponse struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseNetworkSettingsRetrievesAnIPAddressSubpool struct { + Response *ResponseNetworkSettingsRetrievesAnIPAddressSubpoolResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // +} +type ResponseNetworkSettingsRetrievesAnIPAddressSubpoolResponse struct { + ID string `json:"id,omitempty"` // The UUID for this reserve IP pool (subpool). + + IPV4AddressSpace *ResponseNetworkSettingsRetrievesAnIPAddressSubpoolResponseIPV4AddressSpace `json:"ipV4AddressSpace,omitempty"` // + + IPV6AddressSpace *ResponseNetworkSettingsRetrievesAnIPAddressSubpoolResponseIPV6AddressSpace `json:"ipV6AddressSpace,omitempty"` // + + Name string `json:"name,omitempty"` // The name for this reserve IP pool. Only letters, numbers, '-' (hyphen), '_' (underscore), '.' (period), and '/' (forward slash) are allowed. + + PoolType string `json:"poolType,omitempty"` // Once created, a subpool type cannot be changed. LAN: Assigns IP addresses to LAN interfaces of applicable VNFs and underlay LAN automation. Management: Assigns IP addresses to management interfaces. A management network is a dedicated network connected to VNFs for VNF management. Service: Assigns IP addresses to service interfaces. Service networks are used for communication within VNFs. WAN: Assigns IP addresses to NFVIS for UCS-E provisioning. Generic: used for all other network types. + + SiteID string `json:"siteId,omitempty"` // The `id` of the site that this subpool belongs to. This must be the `id` of a non-Global site. + + SiteName string `json:"siteName,omitempty"` // The name of the site that this subpool belongs to. +} +type ResponseNetworkSettingsRetrievesAnIPAddressSubpoolResponseIPV4AddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. + + TotalAddresses string `json:"totalAddresses,omitempty"` // The total number of addresses in the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + UnassignableAddresses string `json:"unassignableAddresses,omitempty"` // The number of addresses in the pool that cannot be assigned. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + AssignedAddresses string `json:"assignedAddresses,omitempty"` // The number of addresses assigned from the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + DefaultAssignedAddresses string `json:"defaultAssignedAddresses,omitempty"` // The number of addresses that are assigned from the pool by default. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + SLAacSupport *bool `json:"slaacSupport,omitempty"` // If the prefixLength is 64, this option may be enabled. Stateless Address Auto-configuration (SLAAC) allows network devices to select their IP address without the use of DHCP servers. + + GlobalPoolID string `json:"globalPoolId,omitempty"` // The non-tunnel global pool for this reserve pool (which matches this IP address type). Once added this value cannot be changed. +} +type ResponseNetworkSettingsRetrievesAnIPAddressSubpoolResponseIPV6AddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. + + TotalAddresses string `json:"totalAddresses,omitempty"` // The total number of addresses in the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + UnassignableAddresses string `json:"unassignableAddresses,omitempty"` // The number of addresses in the pool that cannot be assigned. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + AssignedAddresses string `json:"assignedAddresses,omitempty"` // The number of addresses assigned from the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + DefaultAssignedAddresses string `json:"defaultAssignedAddresses,omitempty"` // The number of addresses that are assigned from the pool by default. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + SLAacSupport *bool `json:"slaacSupport,omitempty"` // If the prefixLength is 64, this option may be enabled. Stateless Address Auto-configuration (SLAAC) allows network devices to select their IP address without the use of DHCP servers. + + GlobalPoolID string `json:"globalPoolId,omitempty"` // The non-tunnel global pool for this reserve pool (which matches this IP address type). Once added this value cannot be changed. +} type ResponseNetworkSettingsGetNetwork struct { Response *[]ResponseNetworkSettingsGetNetworkResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsGetNetworkResponse struct { - InstanceType string `json:"instanceType,omitempty"` // Instance Type - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid - Namespace string `json:"namespace,omitempty"` // Namespace - Type string `json:"type,omitempty"` // Type - Key string `json:"key,omitempty"` // Key - Version *int `json:"version,omitempty"` // Version - Value *[]ResponseNetworkSettingsGetNetworkResponseValue `json:"value,omitempty"` // - GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid - InheritedGroupUUID string `json:"inheritedGroupUuid,omitempty"` // Inherited Group Uuid - InheritedGroupName string `json:"inheritedGroupName,omitempty"` // Inherited Group Name + InstanceType string `json:"instanceType,omitempty"` // Instance Type + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid + + Namespace string `json:"namespace,omitempty"` // Namespace + + Type string `json:"type,omitempty"` // Type + + Key string `json:"key,omitempty"` // Key + + Version *int `json:"version,omitempty"` // Version + + Value *[]ResponseNetworkSettingsGetNetworkResponseValue `json:"value,omitempty"` // + + GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid + + InheritedGroupUUID string `json:"inheritedGroupUuid,omitempty"` // Inherited Group Uuid + + InheritedGroupName string `json:"inheritedGroupName,omitempty"` // Inherited Group Name } type ResponseNetworkSettingsGetNetworkResponseValue struct { - IPAddresses []string `json:"ipAddresses,omitempty"` // Ip Addresses - ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configure Dnac I P + IPAddresses []string `json:"ipAddresses,omitempty"` // Ip Addresses + + ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configure Dnac I P } type ResponseNetworkSettingsCreateNetwork struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseNetworkSettingsUpdateNetwork struct { ExecutionID string `json:"executionId,omitempty"` // Execution Id ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url Message string `json:"message,omitempty"` // Message } +type ResponseNetworkSettingsRetrieveCliTemplatesAttachedToANetworkProfile struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *[]ResponseNetworkSettingsRetrieveCliTemplatesAttachedToANetworkProfileResponse `json:"response,omitempty"` // +} +type ResponseNetworkSettingsRetrieveCliTemplatesAttachedToANetworkProfileResponse struct { + ID string `json:"id,omitempty"` // The id of the template attached to the site profile - `/intent/api/v1/templates` + + Name string `json:"name,omitempty"` // The name of the template attached to the site profile - `/intent/api/v1/templates` +} +type ResponseNetworkSettingsRetrieveCountOfCliTemplatesAttachedToANetworkProfile struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseNetworkSettingsRetrieveCountOfCliTemplatesAttachedToANetworkProfileResponse `json:"response,omitempty"` // +} +type ResponseNetworkSettingsRetrieveCountOfCliTemplatesAttachedToANetworkProfileResponse struct { + Count *int `json:"count,omitempty"` // The reported count +} type ResponseNetworkSettingsGetReserveIPSubpool struct { Response *[]ResponseNetworkSettingsGetReserveIPSubpoolResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsGetReserveIPSubpoolResponse struct { - ID string `json:"id,omitempty"` // Id - GroupName string `json:"groupName,omitempty"` // Group Name - IPPools *[]ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPools `json:"ipPools,omitempty"` // - SiteID string `json:"siteId,omitempty"` // Site Id - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - Type string `json:"type,omitempty"` // Type - GroupOwner string `json:"groupOwner,omitempty"` // Group Owner + ID string `json:"id,omitempty"` // Id + + GroupName string `json:"groupName,omitempty"` // Group Name + + IPPools *[]ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPools `json:"ipPools,omitempty"` // + + SiteID string `json:"siteId,omitempty"` // Site Id + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + + Type string `json:"type,omitempty"` // Type + + GroupOwner string `json:"groupOwner,omitempty"` // Group Owner } type ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPools struct { - IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name - DhcpServerIPs *[]ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsDhcpServerIPs `json:"dhcpServerIps,omitempty"` // Dhcp Server Ips - Gateways []string `json:"gateways,omitempty"` // Gateways - CreateTime *int `json:"createTime,omitempty"` // Create Time - LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last Update Time - TotalIPAddressCount *int `json:"totalIpAddressCount,omitempty"` // Total Ip Address Count - UsedIPAddressCount *int `json:"usedIpAddressCount,omitempty"` // Used Ip Address Count - ParentUUID string `json:"parentUuid,omitempty"` // Parent Uuid - Owner string `json:"owner,omitempty"` // Owner - Shared *bool `json:"shared,omitempty"` // Shared - Overlapping *bool `json:"overlapping,omitempty"` // Overlapping - ConfigureExternalDhcp *bool `json:"configureExternalDhcp,omitempty"` // Configure External Dhcp - UsedPercentage string `json:"usedPercentage,omitempty"` // Used Percentage - ClientOptions *ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsClientOptions `json:"clientOptions,omitempty"` // Client Options - GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid - DNSServerIPs *[]ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsDNSServerIPs `json:"dnsServerIps,omitempty"` // Dns Server Ips - Context *[]ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsContext `json:"context,omitempty"` // - IPv6 *bool `json:"ipv6,omitempty"` // Ipv6 - ID string `json:"id,omitempty"` // Id - IPPoolCidr string `json:"ipPoolCidr,omitempty"` // Ip Pool Cidr + IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name + + DhcpServerIPs *[]ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsDhcpServerIPs `json:"dhcpServerIps,omitempty"` // Dhcp Server Ips + + Gateways []string `json:"gateways,omitempty"` // Gateways + + CreateTime *int `json:"createTime,omitempty"` // Create Time + + LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last Update Time + + TotalIPAddressCount *int `json:"totalIpAddressCount,omitempty"` // Total Ip Address Count + + UsedIPAddressCount *int `json:"usedIpAddressCount,omitempty"` // Used Ip Address Count + + ParentUUID string `json:"parentUuid,omitempty"` // Parent Uuid + + Owner string `json:"owner,omitempty"` // Owner + + Shared *bool `json:"shared,omitempty"` // Shared + + Overlapping *bool `json:"overlapping,omitempty"` // Overlapping + + ConfigureExternalDhcp *bool `json:"configureExternalDhcp,omitempty"` // Configure External Dhcp + + UsedPercentage string `json:"usedPercentage,omitempty"` // Used Percentage + + ClientOptions *ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsClientOptions `json:"clientOptions,omitempty"` // Client Options + + GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid + + DNSServerIPs *[]ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsDNSServerIPs `json:"dnsServerIps,omitempty"` // Dns Server Ips + + Context *[]ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsContext `json:"context,omitempty"` // + + IPv6 *bool `json:"ipv6,omitempty"` // Ipv6 + + ID string `json:"id,omitempty"` // Id + + IPPoolCidr string `json:"ipPoolCidr,omitempty"` // Ip Pool Cidr } type ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsDhcpServerIPs interface{} type ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsClientOptions interface{} type ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsDNSServerIPs interface{} type ResponseNetworkSettingsGetReserveIPSubpoolResponseIPPoolsContext struct { - Owner string `json:"owner,omitempty"` // Owner - ContextKey string `json:"contextKey,omitempty"` // Context Key + Owner string `json:"owner,omitempty"` // Owner + + ContextKey string `json:"contextKey,omitempty"` // Context Key + ContextValue string `json:"contextValue,omitempty"` // Context Value } type ResponseNetworkSettingsReleaseReserveIPSubpool struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseNetworkSettingsReserveIPSubpool struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseNetworkSettingsUpdateReserveIPSubpool struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseNetworkSettingsGetServiceProviderDetails struct { Response *[]ResponseNetworkSettingsGetServiceProviderDetailsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsGetServiceProviderDetailsResponse struct { - InstanceType string `json:"instanceType,omitempty"` // Instance Type - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid - Namespace string `json:"namespace,omitempty"` // Namespace - Type string `json:"type,omitempty"` // Type - Key string `json:"key,omitempty"` // Key - Version *int `json:"version,omitempty"` // Version - Value *[]ResponseNetworkSettingsGetServiceProviderDetailsResponseValue `json:"value,omitempty"` // - GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid - InheritedGroupUUID string `json:"inheritedGroupUuid,omitempty"` // Inherited Group Uuid - InheritedGroupName string `json:"inheritedGroupName,omitempty"` // Inherited Group Name + InstanceType string `json:"instanceType,omitempty"` // Instance Type + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid + + Namespace string `json:"namespace,omitempty"` // Namespace + + Type string `json:"type,omitempty"` // Type + + Key string `json:"key,omitempty"` // Key + + Version *int `json:"version,omitempty"` // Version + + Value *[]ResponseNetworkSettingsGetServiceProviderDetailsResponseValue `json:"value,omitempty"` // + + GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid + + InheritedGroupUUID string `json:"inheritedGroupUuid,omitempty"` // Inherited Group Uuid + + InheritedGroupName string `json:"inheritedGroupName,omitempty"` // Inherited Group Name } type ResponseNetworkSettingsGetServiceProviderDetailsResponseValue struct { - WanProvider string `json:"wanProvider,omitempty"` // Wan Provider - SpProfileName string `json:"spProfileName,omitempty"` // Sp Profile Name + WanProvider string `json:"wanProvider,omitempty"` // Wan Provider + + SpProfileName string `json:"spProfileName,omitempty"` // Sp Profile Name + SLAProfileName string `json:"slaProfileName,omitempty"` // Sla Profile Name } type ResponseNetworkSettingsCreateSpProfile struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseNetworkSettingsUpdateSpProfile struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseNetworkSettingsSyncNetworkDevicesCredential struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseNetworkSettingsSyncNetworkDevicesCredentialResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsSyncNetworkDevicesCredentialResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseNetworkSettingsSetAAASettingsForASite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseNetworkSettingsSetAAASettingsForASiteResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsSetAAASettingsForASiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseNetworkSettingsRetrieveAAASettingsForASite struct { Response *ResponseNetworkSettingsRetrieveAAASettingsForASiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsRetrieveAAASettingsForASiteResponse struct { AAANetwork *ResponseNetworkSettingsRetrieveAAASettingsForASiteResponseAAANetwork `json:"aaaNetwork,omitempty"` // - AAAClient *ResponseNetworkSettingsRetrieveAAASettingsForASiteResponseAAAClient `json:"aaaClient,omitempty"` // + + AAAClient *ResponseNetworkSettingsRetrieveAAASettingsForASiteResponseAAAClient `json:"aaaClient,omitempty"` // } type ResponseNetworkSettingsRetrieveAAASettingsForASiteResponseAAANetwork struct { - ServerType string `json:"serverType,omitempty"` // Server Type - Protocol string `json:"protocol,omitempty"` // Protocol - Pan string `json:"pan,omitempty"` // Administration Node. Required for ISE. - PrimaryServerIP string `json:"primaryServerIp,omitempty"` // The server to use as a primary. + ServerType string `json:"serverType,omitempty"` // Server Type + + Protocol string `json:"protocol,omitempty"` // Protocol + + Pan string `json:"pan,omitempty"` // Administration Node. Required for ISE. + + PrimaryServerIP string `json:"primaryServerIp,omitempty"` // The server to use as a primary. + SecondaryServerIP string `json:"secondaryServerIp,omitempty"` // The server to use as a secondary. - SharedSecret string `json:"sharedSecret,omitempty"` // Shared Secret - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared Secret + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. } type ResponseNetworkSettingsRetrieveAAASettingsForASiteResponseAAAClient struct { - ServerType string `json:"serverType,omitempty"` // Server Type - Protocol string `json:"protocol,omitempty"` // Protocol - Pan string `json:"pan,omitempty"` // Administration Node. Required for ISE. - PrimaryServerIP string `json:"primaryServerIp,omitempty"` // The server to use as a primary. + ServerType string `json:"serverType,omitempty"` // Server Type + + Protocol string `json:"protocol,omitempty"` // Protocol + + Pan string `json:"pan,omitempty"` // Administration Node. Required for ISE. + + PrimaryServerIP string `json:"primaryServerIp,omitempty"` // The server to use as a primary. + SecondaryServerIP string `json:"secondaryServerIp,omitempty"` // The server to use as a secondary. - SharedSecret string `json:"sharedSecret,omitempty"` // Shared Secret - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared Secret + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. } type ResponseNetworkSettingsRetrieveBannerSettingsForASite struct { Response *ResponseNetworkSettingsRetrieveBannerSettingsForASiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsRetrieveBannerSettingsForASiteResponse struct { Banner *ResponseNetworkSettingsRetrieveBannerSettingsForASiteResponseBanner `json:"banner,omitempty"` // } type ResponseNetworkSettingsRetrieveBannerSettingsForASiteResponseBanner struct { - Type string `json:"type,omitempty"` // Type - Message string `json:"message,omitempty"` // Custom message that appears when logging into routers, switches, and hubs. Required for custom type. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + Type string `json:"type,omitempty"` // Type + + Message string `json:"message,omitempty"` // Custom message that appears when logging into routers, switches, and hubs. Required for custom type. + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. } type ResponseNetworkSettingsSetBannerSettingsForASite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseNetworkSettingsSetBannerSettingsForASiteResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsSetBannerSettingsForASiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseNetworkSettingsGetDeviceCredentialSettingsForASite struct { Response *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponse struct { - CliCredentialsID *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseCliCredentialsID `json:"cliCredentialsId,omitempty"` // - SNMPv2CReadCredentialsID *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseSNMPv2CReadCredentialsID `json:"snmpv2cReadCredentialsId,omitempty"` // + CliCredentialsID *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseCliCredentialsID `json:"cliCredentialsId,omitempty"` // + + SNMPv2CReadCredentialsID *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseSNMPv2CReadCredentialsID `json:"snmpv2cReadCredentialsId,omitempty"` // + SNMPv2CWriteCredentialsID *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseSNMPv2CWriteCredentialsID `json:"snmpv2cWriteCredentialsId,omitempty"` // - SNMPv3CredentialsID *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseSNMPv3CredentialsID `json:"snmpv3CredentialsId,omitempty"` // - HTTPReadCredentialsID *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseHTTPReadCredentialsID `json:"httpReadCredentialsId,omitempty"` // - HTTPWriteCredentialsID *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseHTTPWriteCredentialsID `json:"httpWriteCredentialsId,omitempty"` // + + SNMPv3CredentialsID *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseSNMPv3CredentialsID `json:"snmpv3CredentialsId,omitempty"` // + + HTTPReadCredentialsID *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseHTTPReadCredentialsID `json:"httpReadCredentialsId,omitempty"` // + + HTTPWriteCredentialsID *ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseHTTPWriteCredentialsID `json:"httpWriteCredentialsId,omitempty"` // } type ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseCliCredentialsID struct { - CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name } type ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseSNMPv2CReadCredentialsID struct { - CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name } type ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseSNMPv2CWriteCredentialsID struct { - CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name } type ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseSNMPv3CredentialsID struct { - CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name } type ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseHTTPReadCredentialsID struct { - CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name } type ResponseNetworkSettingsGetDeviceCredentialSettingsForASiteResponseHTTPWriteCredentialsID struct { - CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name } type ResponseNetworkSettingsUpdateDeviceCredentialSettingsForASite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseNetworkSettingsUpdateDeviceCredentialSettingsForASiteResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsUpdateDeviceCredentialSettingsForASiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatus struct { Response *ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponse struct { - Cli *[]ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponseCli `json:"cli,omitempty"` // - SNMPV2Read *[]ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponseSNMPV2Read `json:"snmpV2Read,omitempty"` // + Cli *[]ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponseCli `json:"cli,omitempty"` // + + SNMPV2Read *[]ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponseSNMPV2Read `json:"snmpV2Read,omitempty"` // + SNMPV2Write *[]ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponseSNMPV2Write `json:"snmpV2Write,omitempty"` // - SNMPV3 *[]ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponseSNMPV3 `json:"snmpV3,omitempty"` // + + SNMPV3 *[]ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponseSNMPV3 `json:"snmpV3,omitempty"` // } type ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponseCli struct { - DeviceCount *int `json:"deviceCount,omitempty"` // Device count - Status string `json:"status,omitempty"` // Sync status + DeviceCount *int `json:"deviceCount,omitempty"` // Device count + + Status string `json:"status,omitempty"` // Sync status } type ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponseSNMPV2Read struct { - DeviceCount *int `json:"deviceCount,omitempty"` // Device count - Status string `json:"status,omitempty"` // Sync status + DeviceCount *int `json:"deviceCount,omitempty"` // Device count + + Status string `json:"status,omitempty"` // Sync status } type ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponseSNMPV2Write struct { - DeviceCount *int `json:"deviceCount,omitempty"` // Device count - Status string `json:"status,omitempty"` // Sync status + DeviceCount *int `json:"deviceCount,omitempty"` // Device count + + Status string `json:"status,omitempty"` // Sync status } type ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatusResponseSNMPV3 struct { - DeviceCount *int `json:"deviceCount,omitempty"` // Device count - Status string `json:"status,omitempty"` // Sync status + DeviceCount *int `json:"deviceCount,omitempty"` // Device count + + Status string `json:"status,omitempty"` // Sync status } type ResponseNetworkSettingsSetDhcpSettingsForASite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseNetworkSettingsSetDhcpSettingsForASiteResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsSetDhcpSettingsForASiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseNetworkSettingsRetrieveDHCPSettingsForASite struct { Response *ResponseNetworkSettingsRetrieveDHCPSettingsForASiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsRetrieveDHCPSettingsForASiteResponse struct { Dhcp *ResponseNetworkSettingsRetrieveDHCPSettingsForASiteResponseDhcp `json:"dhcp,omitempty"` // } type ResponseNetworkSettingsRetrieveDHCPSettingsForASiteResponseDhcp struct { - Servers []string `json:"servers,omitempty"` // DHCP servers for managing client device networking configuration. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. - InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. + Servers []string `json:"servers,omitempty"` // DHCP servers for managing client device networking configuration. + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. } type ResponseNetworkSettingsRetrieveDNSSettingsForASite struct { Response *ResponseNetworkSettingsRetrieveDNSSettingsForASiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsRetrieveDNSSettingsForASiteResponse struct { DNS *ResponseNetworkSettingsRetrieveDNSSettingsForASiteResponseDNS `json:"dns,omitempty"` // } type ResponseNetworkSettingsRetrieveDNSSettingsForASiteResponseDNS struct { - DomainName string `json:"domainName,omitempty"` // Network's domain name. - DNSServers []string `json:"dnsServers,omitempty"` // DNS servers for hostname resolution. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. - InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. + DomainName string `json:"domainName,omitempty"` // Network's domain name. + + DNSServers []string `json:"dnsServers,omitempty"` // DNS servers for hostname resolution. + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. } type ResponseNetworkSettingsSetDNSSettingsForASite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseNetworkSettingsSetDNSSettingsForASiteResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsSetDNSSettingsForASiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseNetworkSettingsSetImageDistributionSettingsForASite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseNetworkSettingsSetImageDistributionSettingsForASiteResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsSetImageDistributionSettingsForASiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseNetworkSettingsRetrieveImageDistributionSettingsForASite struct { Response *ResponseNetworkSettingsRetrieveImageDistributionSettingsForASiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsRetrieveImageDistributionSettingsForASiteResponse struct { ImageDistribution *ResponseNetworkSettingsRetrieveImageDistributionSettingsForASiteResponseImageDistribution `json:"imageDistribution,omitempty"` // } type ResponseNetworkSettingsRetrieveImageDistributionSettingsForASiteResponseImageDistribution struct { - Servers []string `json:"servers,omitempty"` // This field holds an array of unique identifiers representing image distribution servers. SFTP servers to act as image distribution servers. A distributed SWIM architecture, using suitably located SFTP servers, can help support large-scale device software image upgrades and conserve WAN bandwidth. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. - InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. + Servers []string `json:"servers,omitempty"` // This field holds an array of unique identifiers representing image distribution servers. SFTP servers to act as image distribution servers. A distributed SWIM architecture, using suitably located SFTP servers, can help support large-scale device software image upgrades and conserve WAN bandwidth. + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. } type ResponseNetworkSettingsSetNTPSettingsForASite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseNetworkSettingsSetNTPSettingsForASiteResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsSetNTPSettingsForASiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseNetworkSettingsRetrieveNTPSettingsForASite struct { Response *ResponseNetworkSettingsRetrieveNTPSettingsForASiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsRetrieveNTPSettingsForASiteResponse struct { Ntp *ResponseNetworkSettingsRetrieveNTPSettingsForASiteResponseNtp `json:"ntp,omitempty"` // } type ResponseNetworkSettingsRetrieveNTPSettingsForASiteResponseNtp struct { - Servers []string `json:"servers,omitempty"` // NTP servers to facilitate system clock synchronization for your network. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. - InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. + Servers []string `json:"servers,omitempty"` // NTP servers to facilitate system clock synchronization for your network. + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. } type ResponseNetworkSettingsRetrieveTelemetrySettingsForASite struct { Response *ResponseNetworkSettingsRetrieveTelemetrySettingsForASiteResponse `json:"response,omitempty"` // @@ -602,235 +1068,334 @@ type ResponseNetworkSettingsRetrieveTelemetrySettingsForASiteResponseApplication Port *int `json:"port,omitempty"` // Min:1; Max: 65535. If collection type is 'TelemetryBrokerOrUDPDirector', this field value is mandatory otherwise it is optional. } type ResponseNetworkSettingsSetTelemetrySettingsForASite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseNetworkSettingsSetTelemetrySettingsForASiteResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsSetTelemetrySettingsForASiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseNetworkSettingsSetTimeZoneForASite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseNetworkSettingsSetTimeZoneForASiteResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsSetTimeZoneForASiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseNetworkSettingsRetrieveTimeZoneSettingsForASite struct { Response *ResponseNetworkSettingsRetrieveTimeZoneSettingsForASiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsRetrieveTimeZoneSettingsForASiteResponse struct { TimeZone *ResponseNetworkSettingsRetrieveTimeZoneSettingsForASiteResponseTimeZone `json:"timeZone,omitempty"` // } type ResponseNetworkSettingsRetrieveTimeZoneSettingsForASiteResponseTimeZone struct { - IDentifier string `json:"identifier,omitempty"` // Time zone that corresponds to the site's physical location. The site time zone is used when scheduling device provisioning and updates. Example : GMT - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + IDentifier string `json:"identifier,omitempty"` // Time zone that corresponds to the site's physical location. The site time zone is used when scheduling device provisioning and updates. Example : GMT + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. } type ResponseNetworkSettingsDeleteSpProfile struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseNetworkSettingsUpdateADevicesTelemetrySettingsToConformToTheTelemetrySettingsForItsSite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseNetworkSettingsUpdateADevicesTelemetrySettingsToConformToTheTelemetrySettingsForItsSiteResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsUpdateADevicesTelemetrySettingsToConformToTheTelemetrySettingsForItsSiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseNetworkSettingsAssignDeviceCredentialToSiteV2 struct { Response *ResponseNetworkSettingsAssignDeviceCredentialToSiteV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsAssignDeviceCredentialToSiteV2Response struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseNetworkSettingsGetNetworkV2 struct { Response *[]ResponseNetworkSettingsGetNetworkV2Response `json:"response,omitempty"` // } type ResponseNetworkSettingsGetNetworkV2Response struct { - InstanceType string `json:"instanceType,omitempty"` // Instance Type - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid - Namespace string `json:"namespace,omitempty"` // Namespace - Type string `json:"type,omitempty"` // Type - Key string `json:"key,omitempty"` // Key - Version *int `json:"version,omitempty"` // Version - Value []string `json:"value,omitempty"` // Value - GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid - InheritedGroupUUID string `json:"inheritedGroupUuid,omitempty"` // Inherited Group Uuid - InheritedGroupName string `json:"inheritedGroupName,omitempty"` // Inherited Group Name + InstanceType string `json:"instanceType,omitempty"` // Instance Type + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid + + Namespace string `json:"namespace,omitempty"` // Namespace + + Type string `json:"type,omitempty"` // Type + + Key string `json:"key,omitempty"` // Key + + Version *int `json:"version,omitempty"` // Version + + Value []string `json:"value,omitempty"` // Value + + GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid + + InheritedGroupUUID string `json:"inheritedGroupUuid,omitempty"` // Inherited Group Uuid + + InheritedGroupName string `json:"inheritedGroupName,omitempty"` // Inherited Group Name } type ResponseNetworkSettingsCreateNetworkV2 struct { Response *ResponseNetworkSettingsCreateNetworkV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsCreateNetworkV2Response struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseNetworkSettingsUpdateNetworkV2 struct { Response *ResponseNetworkSettingsUpdateNetworkV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsUpdateNetworkV2Response struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseNetworkSettingsCreateSpProfileV2 struct { Response *ResponseNetworkSettingsCreateSpProfileV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsCreateSpProfileV2Response struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseNetworkSettingsUpdateSpProfileV2 struct { Response *ResponseNetworkSettingsUpdateSpProfileV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsUpdateSpProfileV2Response struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseNetworkSettingsGetServiceProviderDetailsV2 struct { Response *[]ResponseNetworkSettingsGetServiceProviderDetailsV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsGetServiceProviderDetailsV2Response struct { - InstanceType string `json:"instanceType,omitempty"` // Instance Type - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid - Namespace string `json:"namespace,omitempty"` // Namespace - Type string `json:"type,omitempty"` // Type - Key string `json:"key,omitempty"` // Key - Version *int `json:"version,omitempty"` // Version - Value *[]ResponseNetworkSettingsGetServiceProviderDetailsV2ResponseValue `json:"value,omitempty"` // - GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid - InheritedGroupUUID string `json:"inheritedGroupUuid,omitempty"` // Inherited Group Uuid - InheritedGroupName string `json:"inheritedGroupName,omitempty"` // Inherited Group Name + InstanceType string `json:"instanceType,omitempty"` // Instance Type + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid + + Namespace string `json:"namespace,omitempty"` // Namespace + + Type string `json:"type,omitempty"` // Type + + Key string `json:"key,omitempty"` // Key + + Version *int `json:"version,omitempty"` // Version + + Value *[]ResponseNetworkSettingsGetServiceProviderDetailsV2ResponseValue `json:"value,omitempty"` // + + GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid + + InheritedGroupUUID string `json:"inheritedGroupUuid,omitempty"` // Inherited Group Uuid + + InheritedGroupName string `json:"inheritedGroupName,omitempty"` // Inherited Group Name } type ResponseNetworkSettingsGetServiceProviderDetailsV2ResponseValue struct { - WanProvider string `json:"wanProvider,omitempty"` // Wan Provider - SpProfileName string `json:"spProfileName,omitempty"` // Sp Profile Name + WanProvider string `json:"wanProvider,omitempty"` // Wan Provider + + SpProfileName string `json:"spProfileName,omitempty"` // Sp Profile Name + SLAProfileName string `json:"slaProfileName,omitempty"` // Sla Profile Name } type ResponseNetworkSettingsDeleteSpProfileV2 struct { Response *ResponseNetworkSettingsDeleteSpProfileV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseNetworkSettingsDeleteSpProfileV2Response struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type RequestNetworkSettingsAssignDeviceCredentialToSite struct { - CliID string `json:"cliId,omitempty"` // Cli Id - SNMPV2ReadID string `json:"snmpV2ReadId,omitempty"` // Snmp V2 Read Id + CliID string `json:"cliId,omitempty"` // Cli Id + + SNMPV2ReadID string `json:"snmpV2ReadId,omitempty"` // Snmp V2 Read Id + SNMPV2WriteID string `json:"snmpV2WriteId,omitempty"` // Snmp V2 Write Id - HTTPRead string `json:"httpRead,omitempty"` // Http Read - HTTPWrite string `json:"httpWrite,omitempty"` // Http Write - SNMPV3ID string `json:"snmpV3Id,omitempty"` // Snmp V3 Id + + HTTPRead string `json:"httpRead,omitempty"` // Http Read + + HTTPWrite string `json:"httpWrite,omitempty"` // Http Write + + SNMPV3ID string `json:"snmpV3Id,omitempty"` // Snmp V3 Id } type RequestNetworkSettingsCreateDeviceCredentials struct { Settings *RequestNetworkSettingsCreateDeviceCredentialsSettings `json:"settings,omitempty"` // } type RequestNetworkSettingsCreateDeviceCredentialsSettings struct { CliCredential *[]RequestNetworkSettingsCreateDeviceCredentialsSettingsCliCredential `json:"cliCredential,omitempty"` // - SNMPV2CRead *[]RequestNetworkSettingsCreateDeviceCredentialsSettingsSNMPV2CRead `json:"snmpV2cRead,omitempty"` // - SNMPV2CWrite *[]RequestNetworkSettingsCreateDeviceCredentialsSettingsSNMPV2CWrite `json:"snmpV2cWrite,omitempty"` // - SNMPV3 *[]RequestNetworkSettingsCreateDeviceCredentialsSettingsSNMPV3 `json:"snmpV3,omitempty"` // - HTTPSRead *[]RequestNetworkSettingsCreateDeviceCredentialsSettingsHTTPSRead `json:"httpsRead,omitempty"` // - HTTPSWrite *[]RequestNetworkSettingsCreateDeviceCredentialsSettingsHTTPSWrite `json:"httpsWrite,omitempty"` // + + SNMPV2CRead *[]RequestNetworkSettingsCreateDeviceCredentialsSettingsSNMPV2CRead `json:"snmpV2cRead,omitempty"` // + + SNMPV2CWrite *[]RequestNetworkSettingsCreateDeviceCredentialsSettingsSNMPV2CWrite `json:"snmpV2cWrite,omitempty"` // + + SNMPV3 *[]RequestNetworkSettingsCreateDeviceCredentialsSettingsSNMPV3 `json:"snmpV3,omitempty"` // + + HTTPSRead *[]RequestNetworkSettingsCreateDeviceCredentialsSettingsHTTPSRead `json:"httpsRead,omitempty"` // + + HTTPSWrite *[]RequestNetworkSettingsCreateDeviceCredentialsSettingsHTTPSWrite `json:"httpsWrite,omitempty"` // } type RequestNetworkSettingsCreateDeviceCredentialsSettingsCliCredential struct { - Description string `json:"description,omitempty"` // Name or description for CLI credential - Username string `json:"username,omitempty"` // User name for CLI credential - Password string `json:"password,omitempty"` // Password for CLI credential + Description string `json:"description,omitempty"` // Name or description for CLI credential + + Username string `json:"username,omitempty"` // User name for CLI credential + + Password string `json:"password,omitempty"` // Password for CLI credential + EnablePassword string `json:"enablePassword,omitempty"` // Enable password for CLI credential } type RequestNetworkSettingsCreateDeviceCredentialsSettingsSNMPV2CRead struct { - Description string `json:"description,omitempty"` // Description for snmp v2 read + Description string `json:"description,omitempty"` // Description for snmp v2 read + ReadCommunity string `json:"readCommunity,omitempty"` // Ready community for snmp v2 read credential } type RequestNetworkSettingsCreateDeviceCredentialsSettingsSNMPV2CWrite struct { - Description string `json:"description,omitempty"` // Description for snmp v2 write + Description string `json:"description,omitempty"` // Description for snmp v2 write + WriteCommunity string `json:"writeCommunity,omitempty"` // Write community for snmp v2 write credential } type RequestNetworkSettingsCreateDeviceCredentialsSettingsSNMPV3 struct { - Description string `json:"description,omitempty"` // Name or description for SNMPV3 credential - Username string `json:"username,omitempty"` // User name for SNMPv3 credential - PrivacyType string `json:"privacyType,omitempty"` // Privacy type for snmpv3 credential + Description string `json:"description,omitempty"` // Name or description for SNMPV3 credential + + Username string `json:"username,omitempty"` // User name for SNMPv3 credential + + PrivacyType string `json:"privacyType,omitempty"` // Privacy type for snmpv3 credential + PrivacyPassword string `json:"privacyPassword,omitempty"` // Privacy password for snmpv3 credential - AuthType string `json:"authType,omitempty"` // Authentication type for snmpv3 credential - AuthPassword string `json:"authPassword,omitempty"` // Authentication password for snmpv3 credential - SNMPMode string `json:"snmpMode,omitempty"` // Mode for snmpv3 credential + + AuthType string `json:"authType,omitempty"` // Authentication type for snmpv3 credential + + AuthPassword string `json:"authPassword,omitempty"` // Authentication password for snmpv3 credential + + SNMPMode string `json:"snmpMode,omitempty"` // Mode for snmpv3 credential } type RequestNetworkSettingsCreateDeviceCredentialsSettingsHTTPSRead struct { - Name string `json:"name,omitempty"` // Name or description of http read credential - Username string `json:"username,omitempty"` // User name of the http read credential - Password string `json:"password,omitempty"` // Password for http read credential - Port *float64 `json:"port,omitempty"` // Port for http read credential + Name string `json:"name,omitempty"` // Name or description of http read credential + + Username string `json:"username,omitempty"` // User name of the http read credential + + Password string `json:"password,omitempty"` // Password for http read credential + + Port *float64 `json:"port,omitempty"` // Port for http read credential } type RequestNetworkSettingsCreateDeviceCredentialsSettingsHTTPSWrite struct { - Name string `json:"name,omitempty"` // Name or description of http write credential - Username string `json:"username,omitempty"` // User name of the http write credential - Password string `json:"password,omitempty"` // Password for http write credential - Port *float64 `json:"port,omitempty"` // Port for http write credential + Name string `json:"name,omitempty"` // Name or description of http write credential + + Username string `json:"username,omitempty"` // User name of the http write credential + + Password string `json:"password,omitempty"` // Password for http write credential + + Port *float64 `json:"port,omitempty"` // Port for http write credential } type RequestNetworkSettingsUpdateDeviceCredentials struct { Settings *RequestNetworkSettingsUpdateDeviceCredentialsSettings `json:"settings,omitempty"` // } type RequestNetworkSettingsUpdateDeviceCredentialsSettings struct { CliCredential *RequestNetworkSettingsUpdateDeviceCredentialsSettingsCliCredential `json:"cliCredential,omitempty"` // - SNMPV2CRead *RequestNetworkSettingsUpdateDeviceCredentialsSettingsSNMPV2CRead `json:"snmpV2cRead,omitempty"` // - SNMPV2CWrite *RequestNetworkSettingsUpdateDeviceCredentialsSettingsSNMPV2CWrite `json:"snmpV2cWrite,omitempty"` // - SNMPV3 *RequestNetworkSettingsUpdateDeviceCredentialsSettingsSNMPV3 `json:"snmpV3,omitempty"` // - HTTPSRead *RequestNetworkSettingsUpdateDeviceCredentialsSettingsHTTPSRead `json:"httpsRead,omitempty"` // - HTTPSWrite *RequestNetworkSettingsUpdateDeviceCredentialsSettingsHTTPSWrite `json:"httpsWrite,omitempty"` // + + SNMPV2CRead *RequestNetworkSettingsUpdateDeviceCredentialsSettingsSNMPV2CRead `json:"snmpV2cRead,omitempty"` // + + SNMPV2CWrite *RequestNetworkSettingsUpdateDeviceCredentialsSettingsSNMPV2CWrite `json:"snmpV2cWrite,omitempty"` // + + SNMPV3 *RequestNetworkSettingsUpdateDeviceCredentialsSettingsSNMPV3 `json:"snmpV3,omitempty"` // + + HTTPSRead *RequestNetworkSettingsUpdateDeviceCredentialsSettingsHTTPSRead `json:"httpsRead,omitempty"` // + + HTTPSWrite *RequestNetworkSettingsUpdateDeviceCredentialsSettingsHTTPSWrite `json:"httpsWrite,omitempty"` // } type RequestNetworkSettingsUpdateDeviceCredentialsSettingsCliCredential struct { - Description string `json:"description,omitempty"` // Description - Username string `json:"username,omitempty"` // Username - Password string `json:"password,omitempty"` // Password + Description string `json:"description,omitempty"` // Description + + Username string `json:"username,omitempty"` // Username + + Password string `json:"password,omitempty"` // Password + EnablePassword string `json:"enablePassword,omitempty"` // Enable Password - ID string `json:"id,omitempty"` // Id + + ID string `json:"id,omitempty"` // Id } type RequestNetworkSettingsUpdateDeviceCredentialsSettingsSNMPV2CRead struct { - Description string `json:"description,omitempty"` // Description + Description string `json:"description,omitempty"` // Description + ReadCommunity string `json:"readCommunity,omitempty"` // Read Community - ID string `json:"id,omitempty"` // Id + + ID string `json:"id,omitempty"` // Id } type RequestNetworkSettingsUpdateDeviceCredentialsSettingsSNMPV2CWrite struct { - Description string `json:"description,omitempty"` // Description + Description string `json:"description,omitempty"` // Description + WriteCommunity string `json:"writeCommunity,omitempty"` // Write Community - ID string `json:"id,omitempty"` // Id + + ID string `json:"id,omitempty"` // Id } type RequestNetworkSettingsUpdateDeviceCredentialsSettingsSNMPV3 struct { - AuthPassword string `json:"authPassword,omitempty"` // Auth Password - AuthType string `json:"authType,omitempty"` // Auth Type - SNMPMode string `json:"snmpMode,omitempty"` // Snmp Mode + AuthPassword string `json:"authPassword,omitempty"` // Auth Password + + AuthType string `json:"authType,omitempty"` // Auth Type + + SNMPMode string `json:"snmpMode,omitempty"` // Snmp Mode + PrivacyPassword string `json:"privacyPassword,omitempty"` // Privacy Password - PrivacyType string `json:"privacyType,omitempty"` // Privacy Type - Username string `json:"username,omitempty"` // Username - Description string `json:"description,omitempty"` // Description - ID string `json:"id,omitempty"` // Id + + PrivacyType string `json:"privacyType,omitempty"` // Privacy Type + + Username string `json:"username,omitempty"` // Username + + Description string `json:"description,omitempty"` // Description + + ID string `json:"id,omitempty"` // Id } type RequestNetworkSettingsUpdateDeviceCredentialsSettingsHTTPSRead struct { - Name string `json:"name,omitempty"` // Name + Name string `json:"name,omitempty"` // Name + Username string `json:"username,omitempty"` // Username + Password string `json:"password,omitempty"` // Password - Port string `json:"port,omitempty"` // Port - ID string `json:"id,omitempty"` // Id + + Port string `json:"port,omitempty"` // Port + + ID string `json:"id,omitempty"` // Id } type RequestNetworkSettingsUpdateDeviceCredentialsSettingsHTTPSWrite struct { - Name string `json:"name,omitempty"` // Name + Name string `json:"name,omitempty"` // Name + Username string `json:"username,omitempty"` // Username + Password string `json:"password,omitempty"` // Password - Port string `json:"port,omitempty"` // Port - ID string `json:"id,omitempty"` // Id + + Port string `json:"port,omitempty"` // Port + + ID string `json:"id,omitempty"` // Id } type RequestNetworkSettingsUpdateGlobalPool struct { Settings *RequestNetworkSettingsUpdateGlobalPoolSettings `json:"settings,omitempty"` // @@ -839,11 +1404,15 @@ type RequestNetworkSettingsUpdateGlobalPoolSettings struct { IPpool *[]RequestNetworkSettingsUpdateGlobalPoolSettingsIPpool `json:"ippool,omitempty"` // } type RequestNetworkSettingsUpdateGlobalPoolSettingsIPpool struct { - IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name - Gateway string `json:"gateway,omitempty"` // Gateway + IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name + + Gateway string `json:"gateway,omitempty"` // Gateway + DhcpServerIPs []string `json:"dhcpServerIps,omitempty"` // Dhcp Server Ips - DNSServerIPs []string `json:"dnsServerIps,omitempty"` // Dns Server Ips - ID string `json:"id,omitempty"` // Id + + DNSServerIPs []string `json:"dnsServerIps,omitempty"` // Dns Server Ips + + ID string `json:"id,omitempty"` // Id } type RequestNetworkSettingsCreateGlobalPool struct { Settings *RequestNetworkSettingsCreateGlobalPoolSettings `json:"settings,omitempty"` // @@ -852,151 +1421,371 @@ type RequestNetworkSettingsCreateGlobalPoolSettings struct { IPpool *[]RequestNetworkSettingsCreateGlobalPoolSettingsIPpool `json:"ippool,omitempty"` // } type RequestNetworkSettingsCreateGlobalPoolSettingsIPpool struct { - IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name - Type string `json:"type,omitempty"` // Type - IPPoolCidr string `json:"ipPoolCidr,omitempty"` // Ip Pool Cidr - Gateway string `json:"gateway,omitempty"` // Gateway - DhcpServerIPs []string `json:"dhcpServerIps,omitempty"` // Dhcp Server Ips - DNSServerIPs []string `json:"dnsServerIps,omitempty"` // Dns Server Ips - IPAddressSpace string `json:"IpAddressSpace,omitempty"` // Ip Address Space + IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name + + Type string `json:"type,omitempty"` // Type + + IPPoolCidr string `json:"ipPoolCidr,omitempty"` // Ip Pool Cidr + + Gateway string `json:"gateway,omitempty"` // Gateway + + DhcpServerIPs []string `json:"dhcpServerIps,omitempty"` // Dhcp Server Ips + + DNSServerIPs []string `json:"dnsServerIps,omitempty"` // Dns Server Ips + + IPAddressSpace string `json:"IpAddressSpace,omitempty"` // Ip Address Space +} +type RequestNetworkSettingsCreateAGlobalIPAddressPool struct { + AddressSpace *RequestNetworkSettingsCreateAGlobalIPAddressPoolAddressSpace `json:"addressSpace,omitempty"` // + + Name string `json:"name,omitempty"` // The name for this reserve IP pool. Only letters, numbers, '-' (hyphen), '_' (underscore), '.' (period), and '/' (forward slash) are allowed. + + PoolType string `json:"poolType,omitempty"` // Once created, a global pool type cannot be changed. Tunnel: Assigns IP addresses to site-to-site VPN for IPSec tunneling. Generic: used for all other network types. +} +type RequestNetworkSettingsCreateAGlobalIPAddressPoolAddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. +} +type RequestNetworkSettingsUpdatesAGlobalIPAddressPool struct { + AddressSpace *RequestNetworkSettingsUpdatesAGlobalIPAddressPoolAddressSpace `json:"addressSpace,omitempty"` // + + Name string `json:"name,omitempty"` // The name for this reserve IP pool. Only letters, numbers, '-' (hyphen), '_' (underscore), '.' (period), and '/' (forward slash) are allowed. + + PoolType string `json:"poolType,omitempty"` // Once created, a global pool type cannot be changed. Tunnel: Assigns IP addresses to site-to-site VPN for IPSec tunneling. Generic: used for all other network types. +} +type RequestNetworkSettingsUpdatesAGlobalIPAddressPoolAddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. +} +type RequestNetworkSettingsReservecreateIPAddressSubpools struct { + IPV4AddressSpace *RequestNetworkSettingsReservecreateIPAddressSubpoolsIPV4AddressSpace `json:"ipV4AddressSpace,omitempty"` // + + IPV6AddressSpace *RequestNetworkSettingsReservecreateIPAddressSubpoolsIPV6AddressSpace `json:"ipV6AddressSpace,omitempty"` // + + Name string `json:"name,omitempty"` // The name for this reserve IP pool. Only letters, numbers, '-' (hyphen), '_' (underscore), '.' (period), and '/' (forward slash) are allowed. + + PoolType string `json:"poolType,omitempty"` // Once created, a subpool type cannot be changed. LAN: Assigns IP addresses to LAN interfaces of applicable VNFs and underlay LAN automation. Management: Assigns IP addresses to management interfaces. A management network is a dedicated network connected to VNFs for VNF management. Service: Assigns IP addresses to service interfaces. Service networks are used for communication within VNFs. WAN: Assigns IP addresses to NFVIS for UCS-E provisioning. Generic: used for all other network types. + + SiteID string `json:"siteId,omitempty"` // The `id` of the site that this subpool belongs to. This must be the `id` of a non-Global site. + + SiteName string `json:"siteName,omitempty"` // The name of the site that this subpool belongs to. +} +type RequestNetworkSettingsReservecreateIPAddressSubpoolsIPV4AddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. + + TotalAddresses string `json:"totalAddresses,omitempty"` // The total number of addresses in the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + UnassignableAddresses string `json:"unassignableAddresses,omitempty"` // The number of addresses in the pool that cannot be assigned. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + AssignedAddresses string `json:"assignedAddresses,omitempty"` // The number of addresses assigned from the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + DefaultAssignedAddresses string `json:"defaultAssignedAddresses,omitempty"` // The number of addresses that are assigned from the pool by default. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + SLAacSupport *bool `json:"slaacSupport,omitempty"` // If the prefixLength is 64, this option may be enabled. Stateless Address Auto-configuration (SLAAC) allows network devices to select their IP address without the use of DHCP servers. + + GlobalPoolID string `json:"globalPoolId,omitempty"` // The non-tunnel global pool for this reserve pool (which matches this IP address type). Once added this value cannot be changed. +} +type RequestNetworkSettingsReservecreateIPAddressSubpoolsIPV6AddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. + + TotalAddresses string `json:"totalAddresses,omitempty"` // The total number of addresses in the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + UnassignableAddresses string `json:"unassignableAddresses,omitempty"` // The number of addresses in the pool that cannot be assigned. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + AssignedAddresses string `json:"assignedAddresses,omitempty"` // The number of addresses assigned from the pool. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + DefaultAssignedAddresses string `json:"defaultAssignedAddresses,omitempty"` // The number of addresses that are assigned from the pool by default. This is a numeric string; since IPv6 address spaces are 128 bits in size, presume this string has a value up to 128 bits for IPv6 address spaces and 32 bits for IPv4 address spaces. + + SLAacSupport *bool `json:"slaacSupport,omitempty"` // If the prefixLength is 64, this option may be enabled. Stateless Address Auto-configuration (SLAAC) allows network devices to select their IP address without the use of DHCP servers. + + GlobalPoolID string `json:"globalPoolId,omitempty"` // The non-tunnel global pool for this reserve pool (which matches this IP address type). Once added this value cannot be changed. +} +type RequestNetworkSettingsUpdatesAnIPAddressSubpool struct { + IPV4AddressSpace *RequestNetworkSettingsUpdatesAnIPAddressSubpoolIPV4AddressSpace `json:"ipV4AddressSpace,omitempty"` // + + IPV6AddressSpace *RequestNetworkSettingsUpdatesAnIPAddressSubpoolIPV6AddressSpace `json:"ipV6AddressSpace,omitempty"` // + + Name string `json:"name,omitempty"` // The name for this reserve IP pool. Only letters, numbers, '-' (hyphen), '_' (underscore), '.' (period), and '/' (forward slash) are allowed. + + PoolType string `json:"poolType,omitempty"` // Once created, a subpool type cannot be changed. LAN: Assigns IP addresses to LAN interfaces of applicable VNFs and underlay LAN automation. Management: Assigns IP addresses to management interfaces. A management network is a dedicated network connected to VNFs for VNF management. Service: Assigns IP addresses to service interfaces. Service networks are used for communication within VNFs. WAN: Assigns IP addresses to NFVIS for UCS-E provisioning. Generic: used for all other network types. + + SiteID string `json:"siteId,omitempty"` // The `id` of the site that this subpool belongs to. This must be the `id` of a non-Global site. +} +type RequestNetworkSettingsUpdatesAnIPAddressSubpoolIPV4AddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. + + SLAacSupport *bool `json:"slaacSupport,omitempty"` // If the prefixLength is 64, this option may be enabled. Stateless Address Auto-configuration (SLAAC) allows network devices to select their IP address without the use of DHCP servers. + + GlobalPoolID string `json:"globalPoolId,omitempty"` // The non-tunnel global pool for this reserve pool (which matches this IP address type). Once added this value cannot be changed. +} +type RequestNetworkSettingsUpdatesAnIPAddressSubpoolIPV6AddressSpace struct { + Subnet string `json:"subnet,omitempty"` // The IP address component of the CIDR notation for this subnet. + + PrefixLength *float64 `json:"prefixLength,omitempty"` // The network mask component, as a decimal, for the CIDR notation of this subnet. + + GatewayIPAddress string `json:"gatewayIpAddress,omitempty"` // The gateway IP address for this subnet. + + DhcpServers []string `json:"dhcpServers,omitempty"` // The DHCP server(s) for this subnet. + + DNSServers []string `json:"dnsServers,omitempty"` // The DNS server(s) for this subnet. + + SLAacSupport *bool `json:"slaacSupport,omitempty"` // If the prefixLength is 64, this option may be enabled. Stateless Address Auto-configuration (SLAAC) allows network devices to select their IP address without the use of DHCP servers. + + GlobalPoolID string `json:"globalPoolId,omitempty"` // The non-tunnel global pool for this reserve pool (which matches this IP address type). Once added this value cannot be changed. } type RequestNetworkSettingsCreateNetwork struct { Settings *RequestNetworkSettingsCreateNetworkSettings `json:"settings,omitempty"` // } type RequestNetworkSettingsCreateNetworkSettings struct { - DhcpServer []string `json:"dhcpServer,omitempty"` // DHCP Server IP (eg: 1.1.1.1) - DNSServer *RequestNetworkSettingsCreateNetworkSettingsDNSServer `json:"dnsServer,omitempty"` // - SyslogServer *RequestNetworkSettingsCreateNetworkSettingsSyslogServer `json:"syslogServer,omitempty"` // - SNMPServer *RequestNetworkSettingsCreateNetworkSettingsSNMPServer `json:"snmpServer,omitempty"` // - Netflowcollector *RequestNetworkSettingsCreateNetworkSettingsNetflowcollector `json:"netflowcollector,omitempty"` // - NtpServer []string `json:"ntpServer,omitempty"` // IP address for NTP server (eg: 1.1.1.2) - Timezone string `json:"timezone,omitempty"` // Input for time zone (eg: Africa/Abidjan) - MessageOfTheday *RequestNetworkSettingsCreateNetworkSettingsMessageOfTheday `json:"messageOfTheday,omitempty"` // - NetworkAAA *RequestNetworkSettingsCreateNetworkSettingsNetworkAAA `json:"network_aaa,omitempty"` // + DhcpServer []string `json:"dhcpServer,omitempty"` // DHCP Server IP (eg: 1.1.1.1) + + DNSServer *RequestNetworkSettingsCreateNetworkSettingsDNSServer `json:"dnsServer,omitempty"` // + + SyslogServer *RequestNetworkSettingsCreateNetworkSettingsSyslogServer `json:"syslogServer,omitempty"` // + + SNMPServer *RequestNetworkSettingsCreateNetworkSettingsSNMPServer `json:"snmpServer,omitempty"` // + + Netflowcollector *RequestNetworkSettingsCreateNetworkSettingsNetflowcollector `json:"netflowcollector,omitempty"` // + + NtpServer []string `json:"ntpServer,omitempty"` // IP address for NTP server (eg: 1.1.1.2) + + Timezone string `json:"timezone,omitempty"` // Input for time zone (eg: Africa/Abidjan) + + MessageOfTheday *RequestNetworkSettingsCreateNetworkSettingsMessageOfTheday `json:"messageOfTheday,omitempty"` // + + NetworkAAA *RequestNetworkSettingsCreateNetworkSettingsNetworkAAA `json:"network_aaa,omitempty"` // + ClientAndEndpointAAA *RequestNetworkSettingsCreateNetworkSettingsClientAndEndpointAAA `json:"clientAndEndpoint_aaa,omitempty"` // } type RequestNetworkSettingsCreateNetworkSettingsDNSServer struct { - DomainName string `json:"domainName,omitempty"` // Domain Name of DHCP (eg; cisco) - PrimaryIPAddress string `json:"primaryIpAddress,omitempty"` // Primary IP Address for DHCP (eg: 2.2.2.2) + DomainName string `json:"domainName,omitempty"` // Domain Name of DHCP (eg; cisco) + + PrimaryIPAddress string `json:"primaryIpAddress,omitempty"` // Primary IP Address for DHCP (eg: 2.2.2.2) + SecondaryIPAddress string `json:"secondaryIpAddress,omitempty"` // Secondary IP Address for DHCP (eg: 3.3.3.3) } type RequestNetworkSettingsCreateNetworkSettingsSyslogServer struct { - IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for syslog server (eg: 4.4.4.4) - ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for syslog server (eg: true) + IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for syslog server (eg: 4.4.4.4) + + ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for syslog server (eg: true) } type RequestNetworkSettingsCreateNetworkSettingsSNMPServer struct { - IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for SNMP Server (eg: 4.4.4.1) - ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for SNMP Server (eg: true) + IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for SNMP Server (eg: 4.4.4.1) + + ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for SNMP Server (eg: true) } type RequestNetworkSettingsCreateNetworkSettingsNetflowcollector struct { - IPAddress string `json:"ipAddress,omitempty"` // IP Address for NetFlow collector (eg: 3.3.3.1) - Port *float64 `json:"port,omitempty"` // Port for NetFlow Collector (eg; 443) + IPAddress string `json:"ipAddress,omitempty"` // IP Address for NetFlow collector (eg: 3.3.3.1) + + Port *float64 `json:"port,omitempty"` // Port for NetFlow Collector (eg; 443) } type RequestNetworkSettingsCreateNetworkSettingsMessageOfTheday struct { - BannerMessage string `json:"bannerMessage,omitempty"` // Massage for Banner message (eg; Good day) + BannerMessage string `json:"bannerMessage,omitempty"` // Massage for Banner message (eg; Good day) + RetainExistingBanner string `json:"retainExistingBanner,omitempty"` // Retain existing Banner Message (eg: "true" or "false") } type RequestNetworkSettingsCreateNetworkSettingsNetworkAAA struct { - Servers string `json:"servers,omitempty"` // Server type for AAA Network (eg: AAA) - IPAddress string `json:"ipAddress,omitempty"` // IP address for AAA and ISE server (eg: 1.1.1.1) - Network string `json:"network,omitempty"` // IP Address for AAA or ISE server (eg: 2.2.2.2) - Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + Servers string `json:"servers,omitempty"` // Server type for AAA Network (eg: AAA) + + IPAddress string `json:"ipAddress,omitempty"` // IP address for AAA and ISE server (eg: 1.1.1.1) + + Network string `json:"network,omitempty"` // IP Address for AAA or ISE server (eg: 2.2.2.2) + + Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret for ISE Server } type RequestNetworkSettingsCreateNetworkSettingsClientAndEndpointAAA struct { - Servers string `json:"servers,omitempty"` // Server type AAA or ISE server (eg: AAA) - IPAddress string `json:"ipAddress,omitempty"` // IP address for ISE serve (eg: 1.1.1.4) - Network string `json:"network,omitempty"` // IP address for AAA or ISE server (eg: 2.2.2.1) - Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + Servers string `json:"servers,omitempty"` // Server type AAA or ISE server (eg: AAA) + + IPAddress string `json:"ipAddress,omitempty"` // IP address for ISE serve (eg: 1.1.1.4) + + Network string `json:"network,omitempty"` // IP address for AAA or ISE server (eg: 2.2.2.1) + + Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret for ISE server } type RequestNetworkSettingsUpdateNetwork struct { Settings *RequestNetworkSettingsUpdateNetworkSettings `json:"settings,omitempty"` // } type RequestNetworkSettingsUpdateNetworkSettings struct { - DhcpServer []string `json:"dhcpServer,omitempty"` // DHCP Server IP (eg: 1.1.1.1) - DNSServer *RequestNetworkSettingsUpdateNetworkSettingsDNSServer `json:"dnsServer,omitempty"` // - SyslogServer *RequestNetworkSettingsUpdateNetworkSettingsSyslogServer `json:"syslogServer,omitempty"` // - SNMPServer *RequestNetworkSettingsUpdateNetworkSettingsSNMPServer `json:"snmpServer,omitempty"` // - Netflowcollector *RequestNetworkSettingsUpdateNetworkSettingsNetflowcollector `json:"netflowcollector,omitempty"` // - NtpServer []string `json:"ntpServer,omitempty"` // IP address for NTP server (eg: 1.1.1.2) - Timezone string `json:"timezone,omitempty"` // Input for time zone (eg: Africa/Abidjan) - MessageOfTheday *RequestNetworkSettingsUpdateNetworkSettingsMessageOfTheday `json:"messageOfTheday,omitempty"` // - NetworkAAA *RequestNetworkSettingsUpdateNetworkSettingsNetworkAAA `json:"network_aaa,omitempty"` // - ClientAndEndpointAAA *RequestNetworkSettingsUpdateNetworkSettingsClientAndEndpointAAA `json:"clientAndEndpoint_aaa,omitempty"` // + DhcpServer []string `json:"dhcpServer,omitempty"` // DHCP Server IP (eg: 1.1.1.1) + + DNSServer *RequestNetworkSettingsUpdateNetworkSettingsDNSServer `json:"dnsServer,omitempty"` // + + SyslogServer *RequestNetworkSettingsUpdateNetworkSettingsSyslogServer `json:"syslogServer,omitempty"` // + + SNMPServer *RequestNetworkSettingsUpdateNetworkSettingsSNMPServer `json:"snmpServer,omitempty"` // + + Netflowcollector *RequestNetworkSettingsUpdateNetworkSettingsNetflowcollector `json:"netflowcollector,omitempty"` // + + NtpServer []string `json:"ntpServer,omitempty"` // IP address for NTP server (eg: 1.1.1.2) + + Timezone string `json:"timezone,omitempty"` // Input for time zone (eg: Africa/Abidjan) + + MessageOfTheday *RequestNetworkSettingsUpdateNetworkSettingsMessageOfTheday `json:"messageOfTheday,omitempty"` // + + NetworkAAA *RequestNetworkSettingsUpdateNetworkSettingsNetworkAAA `json:"network_aaa,omitempty"` // + + ClientAndEndpointAAA *RequestNetworkSettingsUpdateNetworkSettingsClientAndEndpointAAA `json:"clientAndEndpoint_aaa,omitempty"` // } type RequestNetworkSettingsUpdateNetworkSettingsDNSServer struct { - DomainName string `json:"domainName,omitempty"` // Domain Name of DHCP (eg; cisco) - PrimaryIPAddress string `json:"primaryIpAddress,omitempty"` // Primary IP Address for DHCP (eg: 2.2.2.2) + DomainName string `json:"domainName,omitempty"` // Domain Name of DHCP (eg; cisco) + + PrimaryIPAddress string `json:"primaryIpAddress,omitempty"` // Primary IP Address for DHCP (eg: 2.2.2.2) + SecondaryIPAddress string `json:"secondaryIpAddress,omitempty"` // Secondary IP Address for DHCP (eg: 3.3.3.3) } type RequestNetworkSettingsUpdateNetworkSettingsSyslogServer struct { - IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for syslog server (eg: 4.4.4.4) - ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for syslog server (eg: true) + IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for syslog server (eg: 4.4.4.4) + + ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for syslog server (eg: true) } type RequestNetworkSettingsUpdateNetworkSettingsSNMPServer struct { - IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for SNMP Server (eg: 4.4.4.1) - ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for SNMP Server (eg: true) + IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for SNMP Server (eg: 4.4.4.1) + + ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for SNMP Server (eg: true) } type RequestNetworkSettingsUpdateNetworkSettingsNetflowcollector struct { - IPAddress string `json:"ipAddress,omitempty"` // IP Address for NetFlow collector (eg: 3.3.3.1) - Port *float64 `json:"port,omitempty"` // Port for NetFlow Collector (eg; 443) + IPAddress string `json:"ipAddress,omitempty"` // IP Address for NetFlow collector (eg: 3.3.3.1) + + Port *float64 `json:"port,omitempty"` // Port for NetFlow Collector (eg; 443) } type RequestNetworkSettingsUpdateNetworkSettingsMessageOfTheday struct { - BannerMessage string `json:"bannerMessage,omitempty"` // Massage for Banner message (eg; Good day) + BannerMessage string `json:"bannerMessage,omitempty"` // Massage for Banner message (eg; Good day) + RetainExistingBanner string `json:"retainExistingBanner,omitempty"` // Retain existing Banner Message (eg: "true" or "false") } type RequestNetworkSettingsUpdateNetworkSettingsNetworkAAA struct { - Servers string `json:"servers,omitempty"` // Server type for AAA Network (eg: AAA) - IPAddress string `json:"ipAddress,omitempty"` // IP address for AAA and ISE server (eg: 1.1.1.1) - Network string `json:"network,omitempty"` // IP Address for AAA or ISE server (eg: 2.2.2.2) - Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + Servers string `json:"servers,omitempty"` // Server type for AAA Network (eg: AAA) + + IPAddress string `json:"ipAddress,omitempty"` // IP address for AAA and ISE server (eg: 1.1.1.1) + + Network string `json:"network,omitempty"` // IP Address for AAA or ISE server (eg: 2.2.2.2) + + Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret for ISE Server } type RequestNetworkSettingsUpdateNetworkSettingsClientAndEndpointAAA struct { - Servers string `json:"servers,omitempty"` // Server type AAA or ISE server (eg: AAA) - IPAddress string `json:"ipAddress,omitempty"` // IP address for ISE serve (eg: 1.1.1.4) - Network string `json:"network,omitempty"` // IP address for AAA or ISE server (eg: 2.2.2.1) - Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + Servers string `json:"servers,omitempty"` // Server type AAA or ISE server (eg: AAA) + + IPAddress string `json:"ipAddress,omitempty"` // IP address for ISE serve (eg: 1.1.1.4) + + Network string `json:"network,omitempty"` // IP address for AAA or ISE server (eg: 2.2.2.1) + + Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret for ISE server } type RequestNetworkSettingsReserveIPSubpool struct { - Name string `json:"name,omitempty"` // Name of the reserve ip sub pool - Type string `json:"type,omitempty"` // Type of the reserve ip sub pool - IPv6AddressSpace *bool `json:"ipv6AddressSpace,omitempty"` // If the value is omitted or false only ipv4 input are required, otherwise both ipv6 and ipv4 are required - IPv4GlobalPool string `json:"ipv4GlobalPool,omitempty"` // IP v4 Global pool address with cidr, example: 175.175.0.0/16 - IPv4Prefix *bool `json:"ipv4Prefix,omitempty"` // IPv4 prefix value is true, the ip4 prefix length input field is enabled , if it is false ipv4 total Host input is enable - IPv4PrefixLength *int `json:"ipv4PrefixLength,omitempty"` // The ipv4 prefix length is required when ipv4prefix value is true. - IPv4Subnet string `json:"ipv4Subnet,omitempty"` // IPv4 Subnet address, example: 175.175.0.0. Either ipv4Subnet or ipv4TotalHost needs to be passed if creating IPv4 subpool. - IPv4GateWay string `json:"ipv4GateWay,omitempty"` // Gateway ip address details, example: 175.175.0.1 - IPv4DhcpServers []string `json:"ipv4DhcpServers,omitempty"` // IPv4 input for dhcp server ip example: ["1.1.1.1"] - IPv4DNSServers []string `json:"ipv4DnsServers,omitempty"` // IPv4 input for dns server ip example: ["4.4.4.4"] - IPv6GlobalPool string `json:"ipv6GlobalPool,omitempty"` // IPv6 Global pool address with cidr this is required when Ipv6AddressSpace value is true, example: 2001:db8:85a3::/64 - IPv6Prefix *bool `json:"ipv6Prefix,omitempty"` // Ipv6 prefix value is true, the ip6 prefix length input field is enabled , if it is false ipv6 total Host input is enable - IPv6PrefixLength *int `json:"ipv6PrefixLength,omitempty"` // IPv6 prefix length is required when the ipv6prefix value is true - IPv6Subnet string `json:"ipv6Subnet,omitempty"` // IPv6 Subnet address, example :2001:db8:85a3:0:100::. Either ipv6Subnet or ipv6TotalHost needs to be passed if creating IPv6 subpool. - IPv6GateWay string `json:"ipv6GateWay,omitempty"` // Gateway ip address details, example: 2001:db8:85a3:0:100::1 - IPv6DhcpServers []string `json:"ipv6DhcpServers,omitempty"` // IPv6 format dhcp server as input example : ["2001:db8::1234"] - IPv6DNSServers []string `json:"ipv6DnsServers,omitempty"` // IPv6 format dns server input example: ["2001:db8::1234"] - IPv4TotalHost *int `json:"ipv4TotalHost,omitempty"` // IPv4 total host is required when ipv4prefix value is false. - IPv6TotalHost *int `json:"ipv6TotalHost,omitempty"` // IPv6 total host is required when ipv6prefix value is false. - SLAacSupport *bool `json:"slaacSupport,omitempty"` // Slaac Support + Name string `json:"name,omitempty"` // Name of the reserve ip sub pool + + Type string `json:"type,omitempty"` // Type of the reserve ip sub pool + + IPv6AddressSpace *bool `json:"ipv6AddressSpace,omitempty"` // If the value is omitted or false only ipv4 input are required, otherwise both ipv6 and ipv4 are required + + IPv4GlobalPool string `json:"ipv4GlobalPool,omitempty"` // IP v4 Global pool address with cidr, example: 175.175.0.0/16 + + IPv4Prefix *bool `json:"ipv4Prefix,omitempty"` // IPv4 prefix value is true, the ip4 prefix length input field is enabled , if it is false ipv4 total Host input is enable + + IPv4PrefixLength *int `json:"ipv4PrefixLength,omitempty"` // The ipv4 prefix length is required when ipv4prefix value is true. + + IPv4Subnet string `json:"ipv4Subnet,omitempty"` // IPv4 Subnet address, example: 175.175.0.0. Either ipv4Subnet or ipv4TotalHost needs to be passed if creating IPv4 subpool. + + IPv4GateWay string `json:"ipv4GateWay,omitempty"` // Gateway ip address details, example: 175.175.0.1 + + IPv4DhcpServers []string `json:"ipv4DhcpServers,omitempty"` // IPv4 input for dhcp server ip example: ["1.1.1.1"] + + IPv4DNSServers []string `json:"ipv4DnsServers,omitempty"` // IPv4 input for dns server ip example: ["4.4.4.4"] + + IPv6GlobalPool string `json:"ipv6GlobalPool,omitempty"` // IPv6 Global pool address with cidr this is required when Ipv6AddressSpace value is true, example: 2001:db8:85a3::/64 + + IPv6Prefix *bool `json:"ipv6Prefix,omitempty"` // Ipv6 prefix value is true, the ip6 prefix length input field is enabled , if it is false ipv6 total Host input is enable + + IPv6PrefixLength *int `json:"ipv6PrefixLength,omitempty"` // IPv6 prefix length is required when the ipv6prefix value is true + + IPv6Subnet string `json:"ipv6Subnet,omitempty"` // IPv6 Subnet address, example :2001:db8:85a3:0:100::. Either ipv6Subnet or ipv6TotalHost needs to be passed if creating IPv6 subpool. + + IPv6GateWay string `json:"ipv6GateWay,omitempty"` // Gateway ip address details, example: 2001:db8:85a3:0:100::1 + + IPv6DhcpServers []string `json:"ipv6DhcpServers,omitempty"` // IPv6 format dhcp server as input example : ["2001:db8::1234"] + + IPv6DNSServers []string `json:"ipv6DnsServers,omitempty"` // IPv6 format dns server input example: ["2001:db8::1234"] + + IPv4TotalHost *int `json:"ipv4TotalHost,omitempty"` // IPv4 total host is required when ipv4prefix value is false. + + IPv6TotalHost *int `json:"ipv6TotalHost,omitempty"` // IPv6 total host is required when ipv6prefix value is false. + + SLAacSupport *bool `json:"slaacSupport,omitempty"` // Slaac Support } type RequestNetworkSettingsUpdateReserveIPSubpool struct { - Name string `json:"name,omitempty"` // Name of the reserve ip sub pool - IPv6AddressSpace *bool `json:"ipv6AddressSpace,omitempty"` // If the value is false only ipv4 input are required. NOTE if value is false then any existing ipv6 subpool in the group will be removed. - IPv4DhcpServers []string `json:"ipv4DhcpServers,omitempty"` // IPv4 input for dhcp server ip example: ["1.1.1.1"] - IPv4DNSServers []string `json:"ipv4DnsServers,omitempty"` // IPv4 input for dns server ip example: ["4.4.4.4"] - IPv6GlobalPool string `json:"ipv6GlobalPool,omitempty"` // IPv6 Global pool address with cidr this is required when Ipv6AddressSpace value is true, example: 2001:db8:85a3::/64 - IPv6Prefix *bool `json:"ipv6Prefix,omitempty"` // Ipv6 prefix value is true, the ip6 prefix length input field is enabled, if it is false ipv6 total Host input is enable - IPv6PrefixLength *int `json:"ipv6PrefixLength,omitempty"` // IPv6 prefix length is required when the ipv6prefix value is true - IPv6Subnet string `json:"ipv6Subnet,omitempty"` // IPv6 Subnet address, example :2001:db8:85a3:0:100::. - IPv6TotalHost *int `json:"ipv6TotalHost,omitempty"` // Size of pool in terms of number of IPs. IPv6 total host is required when ipv6prefix value is false. - IPv6GateWay string `json:"ipv6GateWay,omitempty"` // Gateway ip address details, example: 2001:db8:85a3:0:100::1 - IPv6DhcpServers []string `json:"ipv6DhcpServers,omitempty"` // IPv6 format dhcp server as input example : ["2001:db8::1234"] - IPv6DNSServers []string `json:"ipv6DnsServers,omitempty"` // IPv6 format dns server input example: ["2001:db8::1234"] - SLAacSupport *bool `json:"slaacSupport,omitempty"` // Slaac Support - IPv4GateWay string `json:"ipv4GateWay,omitempty"` // Gateway ip address details, example: 175.175.0.1 + Name string `json:"name,omitempty"` // Name of the reserve ip sub pool + + IPv6AddressSpace *bool `json:"ipv6AddressSpace,omitempty"` // If the value is false only ipv4 input are required. NOTE if value is false then any existing ipv6 subpool in the group will be removed. + + IPv4DhcpServers []string `json:"ipv4DhcpServers,omitempty"` // IPv4 input for dhcp server ip example: ["1.1.1.1"] + + IPv4DNSServers []string `json:"ipv4DnsServers,omitempty"` // IPv4 input for dns server ip example: ["4.4.4.4"] + + IPv6GlobalPool string `json:"ipv6GlobalPool,omitempty"` // IPv6 Global pool address with cidr this is required when Ipv6AddressSpace value is true, example: 2001:db8:85a3::/64 + + IPv6Prefix *bool `json:"ipv6Prefix,omitempty"` // Ipv6 prefix value is true, the ip6 prefix length input field is enabled, if it is false ipv6 total Host input is enable + + IPv6PrefixLength *int `json:"ipv6PrefixLength,omitempty"` // IPv6 prefix length is required when the ipv6prefix value is true + + IPv6Subnet string `json:"ipv6Subnet,omitempty"` // IPv6 Subnet address, example :2001:db8:85a3:0:100::. + + IPv6TotalHost *int `json:"ipv6TotalHost,omitempty"` // Size of pool in terms of number of IPs. IPv6 total host is required when ipv6prefix value is false. + + IPv6GateWay string `json:"ipv6GateWay,omitempty"` // Gateway ip address details, example: 2001:db8:85a3:0:100::1 + + IPv6DhcpServers []string `json:"ipv6DhcpServers,omitempty"` // IPv6 format dhcp server as input example : ["2001:db8::1234"] + + IPv6DNSServers []string `json:"ipv6DnsServers,omitempty"` // IPv6 format dns server input example: ["2001:db8::1234"] + + SLAacSupport *bool `json:"slaacSupport,omitempty"` // Slaac Support + + IPv4GateWay string `json:"ipv4GateWay,omitempty"` // Gateway ip address details, example: 175.175.0.1 } type RequestNetworkSettingsCreateSpProfile struct { Settings *RequestNetworkSettingsCreateSpProfileSettings `json:"settings,omitempty"` // @@ -1006,7 +1795,9 @@ type RequestNetworkSettingsCreateSpProfileSettings struct { } type RequestNetworkSettingsCreateSpProfileSettingsQos struct { ProfileName string `json:"profileName,omitempty"` // Profile Name - Model string `json:"model,omitempty"` // Model + + Model string `json:"model,omitempty"` // Model + WanProvider string `json:"wanProvider,omitempty"` // Wan Provider } type RequestNetworkSettingsUpdateSpProfile struct { @@ -1016,49 +1807,70 @@ type RequestNetworkSettingsUpdateSpProfileSettings struct { Qos *[]RequestNetworkSettingsUpdateSpProfileSettingsQos `json:"qos,omitempty"` // } type RequestNetworkSettingsUpdateSpProfileSettingsQos struct { - ProfileName string `json:"profileName,omitempty"` // Profile Name - Model string `json:"model,omitempty"` // Model - WanProvider string `json:"wanProvider,omitempty"` // Wan Provider + ProfileName string `json:"profileName,omitempty"` // Profile Name + + Model string `json:"model,omitempty"` // Model + + WanProvider string `json:"wanProvider,omitempty"` // Wan Provider + OldProfileName string `json:"oldProfileName,omitempty"` // Old Profile Name } type RequestNetworkSettingsSyncNetworkDevicesCredential struct { DeviceCredentialID string `json:"deviceCredentialId,omitempty"` // It must be cli/snmpV2Read/snmpV2Write/snmpV3 Id. - SiteID string `json:"siteId,omitempty"` // Site Id. + + SiteID string `json:"siteId,omitempty"` // Site Id. } type RequestNetworkSettingsSetAAASettingsForASite struct { AAANetwork *RequestNetworkSettingsSetAAASettingsForASiteAAANetwork `json:"aaaNetwork,omitempty"` // - AAAClient *RequestNetworkSettingsSetAAASettingsForASiteAAAClient `json:"aaaClient,omitempty"` // + + AAAClient *RequestNetworkSettingsSetAAASettingsForASiteAAAClient `json:"aaaClient,omitempty"` // } type RequestNetworkSettingsSetAAASettingsForASiteAAANetwork struct { - ServerType string `json:"serverType,omitempty"` // Server Type - Protocol string `json:"protocol,omitempty"` // Protocol - Pan string `json:"pan,omitempty"` // Administration Node. Required for ISE. - PrimaryServerIP string `json:"primaryServerIp,omitempty"` // The server to use as a primary. + ServerType string `json:"serverType,omitempty"` // Server Type + + Protocol string `json:"protocol,omitempty"` // Protocol + + Pan string `json:"pan,omitempty"` // Administration Node. Required for ISE. + + PrimaryServerIP string `json:"primaryServerIp,omitempty"` // The server to use as a primary. + SecondaryServerIP string `json:"secondaryServerIp,omitempty"` // The server to use as a secondary. - SharedSecret string `json:"sharedSecret,omitempty"` // Shared Secret + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared Secret } type RequestNetworkSettingsSetAAASettingsForASiteAAAClient struct { - ServerType string `json:"serverType,omitempty"` // Server Type - Protocol string `json:"protocol,omitempty"` // Protocol - Pan string `json:"pan,omitempty"` // Administration Node. Required for ISE. - PrimaryServerIP string `json:"primaryServerIp,omitempty"` // The server to use as a primary. + ServerType string `json:"serverType,omitempty"` // Server Type + + Protocol string `json:"protocol,omitempty"` // Protocol + + Pan string `json:"pan,omitempty"` // Administration Node. Required for ISE. + + PrimaryServerIP string `json:"primaryServerIp,omitempty"` // The server to use as a primary. + SecondaryServerIP string `json:"secondaryServerIp,omitempty"` // The server to use as a secondary. - SharedSecret string `json:"sharedSecret,omitempty"` // Shared Secret + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared Secret } type RequestNetworkSettingsSetBannerSettingsForASite struct { Banner *RequestNetworkSettingsSetBannerSettingsForASiteBanner `json:"banner,omitempty"` // } type RequestNetworkSettingsSetBannerSettingsForASiteBanner struct { - Type string `json:"type,omitempty"` // Type + Type string `json:"type,omitempty"` // Type + Message string `json:"message,omitempty"` // Custom message that appears when logging into routers, switches, and hubs. Required for custom type. } type RequestNetworkSettingsUpdateDeviceCredentialSettingsForASite struct { - CliCredentialsID *RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteCliCredentialsID `json:"cliCredentialsId,omitempty"` // - SNMPv2CReadCredentialsID *RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteSNMPv2CReadCredentialsID `json:"snmpv2cReadCredentialsId,omitempty"` // + CliCredentialsID *RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteCliCredentialsID `json:"cliCredentialsId,omitempty"` // + + SNMPv2CReadCredentialsID *RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteSNMPv2CReadCredentialsID `json:"snmpv2cReadCredentialsId,omitempty"` // + SNMPv2CWriteCredentialsID *RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteSNMPv2CWriteCredentialsID `json:"snmpv2cWriteCredentialsId,omitempty"` // - SNMPv3CredentialsID *RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteSNMPv3CredentialsID `json:"snmpv3CredentialsId,omitempty"` // - HTTPReadCredentialsID *RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteHTTPReadCredentialsID `json:"httpReadCredentialsId,omitempty"` // - HTTPWriteCredentialsID *RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteHTTPWriteCredentialsID `json:"httpWriteCredentialsId,omitempty"` // + + SNMPv3CredentialsID *RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteSNMPv3CredentialsID `json:"snmpv3CredentialsId,omitempty"` // + + HTTPReadCredentialsID *RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteHTTPReadCredentialsID `json:"httpReadCredentialsId,omitempty"` // + + HTTPWriteCredentialsID *RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteHTTPWriteCredentialsID `json:"httpWriteCredentialsId,omitempty"` // } type RequestNetworkSettingsUpdateDeviceCredentialSettingsForASiteCliCredentialsID struct { CredentialsID string `json:"credentialsId,omitempty"` // The `id` of the credentials. @@ -1104,10 +1916,14 @@ type RequestNetworkSettingsSetNTPSettingsForASiteNtp struct { Servers []string `json:"servers,omitempty"` // NTP servers to facilitate system clock synchronization for your network. Max:10 } type RequestNetworkSettingsSetTelemetrySettingsForASite struct { - WiredDataCollection *RequestNetworkSettingsSetTelemetrySettingsForASiteWiredDataCollection `json:"wiredDataCollection,omitempty"` // - WirelessTelemetry *RequestNetworkSettingsSetTelemetrySettingsForASiteWirelessTelemetry `json:"wirelessTelemetry,omitempty"` // - SNMPTraps *RequestNetworkSettingsSetTelemetrySettingsForASiteSNMPTraps `json:"snmpTraps,omitempty"` // - Syslogs *RequestNetworkSettingsSetTelemetrySettingsForASiteSyslogs `json:"syslogs,omitempty"` // + WiredDataCollection *RequestNetworkSettingsSetTelemetrySettingsForASiteWiredDataCollection `json:"wiredDataCollection,omitempty"` // + + WirelessTelemetry *RequestNetworkSettingsSetTelemetrySettingsForASiteWirelessTelemetry `json:"wirelessTelemetry,omitempty"` // + + SNMPTraps *RequestNetworkSettingsSetTelemetrySettingsForASiteSNMPTraps `json:"snmpTraps,omitempty"` // + + Syslogs *RequestNetworkSettingsSetTelemetrySettingsForASiteSyslogs `json:"syslogs,omitempty"` // + ApplicationVisibility *RequestNetworkSettingsSetTelemetrySettingsForASiteApplicationVisibility `json:"applicationVisibility,omitempty"` // } type RequestNetworkSettingsSetTelemetrySettingsForASiteWiredDataCollection struct { @@ -1117,21 +1933,26 @@ type RequestNetworkSettingsSetTelemetrySettingsForASiteWirelessTelemetry struct EnableWirelessTelemetry *bool `json:"enableWirelessTelemetry,omitempty"` // Enables Streaming Telemetry on your wireless controllers in order to determine the health of your wireless controller, access points and wireless clients. } type RequestNetworkSettingsSetTelemetrySettingsForASiteSNMPTraps struct { - UseBuiltinTrapServer *bool `json:"useBuiltinTrapServer,omitempty"` // Enable this server as a destination server for SNMP traps and messages from your network - ExternalTrapServers []string `json:"externalTrapServers,omitempty"` // External SNMP trap servers. Example: ["250.162.252.170","2001:db8:3c4d:15::1a2f:1a2b"] + UseBuiltinTrapServer *bool `json:"useBuiltinTrapServer,omitempty"` // Enable this server as a destination server for SNMP traps and messages from your network + + ExternalTrapServers []string `json:"externalTrapServers,omitempty"` // External SNMP trap servers. Example: ["250.162.252.170","2001:db8:3c4d:15::1a2f:1a2b"] } type RequestNetworkSettingsSetTelemetrySettingsForASiteSyslogs struct { - UseBuiltinSyslogServer *bool `json:"useBuiltinSyslogServer,omitempty"` // Enable this server as a destination server for syslog messages. - ExternalSyslogServers []string `json:"externalSyslogServers,omitempty"` // External syslog servers. Example: ["250.162.252.170", "2001:db8:3c4d:15::1a2f:1a2b"] + UseBuiltinSyslogServer *bool `json:"useBuiltinSyslogServer,omitempty"` // Enable this server as a destination server for syslog messages. + + ExternalSyslogServers []string `json:"externalSyslogServers,omitempty"` // External syslog servers. Example: ["250.162.252.170", "2001:db8:3c4d:15::1a2f:1a2b"] } type RequestNetworkSettingsSetTelemetrySettingsForASiteApplicationVisibility struct { - Collector *RequestNetworkSettingsSetTelemetrySettingsForASiteApplicationVisibilityCollector `json:"collector,omitempty"` // - EnableOnWiredAccessDevices *bool `json:"enableOnWiredAccessDevices,omitempty"` // Enable Netflow Application Telemetry and Controller Based Application Recognition (CBAR) by default upon network device site assignment for wired access devices. + Collector *RequestNetworkSettingsSetTelemetrySettingsForASiteApplicationVisibilityCollector `json:"collector,omitempty"` // + + EnableOnWiredAccessDevices *bool `json:"enableOnWiredAccessDevices,omitempty"` // Enable Netflow Application Telemetry and Controller Based Application Recognition (CBAR) by default upon network device site assignment for wired access devices. } type RequestNetworkSettingsSetTelemetrySettingsForASiteApplicationVisibilityCollector struct { CollectorType string `json:"collectorType,omitempty"` // Collector Type - Address string `json:"address,omitempty"` // IP Address. If collection type is 'TelemetryBrokerOrUDPDirector', this field value is mandatory otherwise it is optional. Examples: "250.162.252.170", "2001:db8:3c4d:15::1a2f:1a2b" - Port *int `json:"port,omitempty"` // Min:1; Max: 65535. If collection type is 'TelemetryBrokerOrUDPDirector', this field value is mandatory otherwise it is optional. + + Address string `json:"address,omitempty"` // IP Address. If collection type is 'TelemetryBrokerOrUDPDirector', this field value is mandatory otherwise it is optional. Examples: "250.162.252.170", "2001:db8:3c4d:15::1a2f:1a2b" + + Port *int `json:"port,omitempty"` // Min:1; Max: 65535. If collection type is 'TelemetryBrokerOrUDPDirector', this field value is mandatory otherwise it is optional. } type RequestNetworkSettingsSetTimeZoneForASite struct { TimeZone *RequestNetworkSettingsSetTimeZoneForASiteTimeZone `json:"timeZone,omitempty"` // @@ -1143,111 +1964,162 @@ type RequestNetworkSettingsUpdateADevicesTelemetrySettingsToConformToTheTelemetr DeviceIDs []string `json:"deviceIds,omitempty"` // The list of device Ids to perform the provisioning against } type RequestNetworkSettingsAssignDeviceCredentialToSiteV2 struct { - CliID string `json:"cliId,omitempty"` // CLI Credential Id - SNMPV2ReadID string `json:"snmpV2ReadId,omitempty"` // SNMPv2c Read Credential Id + CliID string `json:"cliId,omitempty"` // CLI Credential Id + + SNMPV2ReadID string `json:"snmpV2ReadId,omitempty"` // SNMPv2c Read Credential Id + SNMPV2WriteID string `json:"snmpV2WriteId,omitempty"` // SNMPv2c Write Credential Id - SNMPV3ID string `json:"snmpV3Id,omitempty"` // SNMPv3 Credential Id - HTTPRead string `json:"httpRead,omitempty"` // HTTP(S) Read Credential Id - HTTPWrite string `json:"httpWrite,omitempty"` // HTTP(S) Write Credential Id + + SNMPV3ID string `json:"snmpV3Id,omitempty"` // SNMPv3 Credential Id + + HTTPRead string `json:"httpRead,omitempty"` // HTTP(S) Read Credential Id + + HTTPWrite string `json:"httpWrite,omitempty"` // HTTP(S) Write Credential Id } type RequestNetworkSettingsCreateNetworkV2 struct { Settings *RequestNetworkSettingsCreateNetworkV2Settings `json:"settings,omitempty"` // } type RequestNetworkSettingsCreateNetworkV2Settings struct { - DhcpServer []string `json:"dhcpServer,omitempty"` // DHCP Server IP (eg: 1.1.1.1) - DNSServer *RequestNetworkSettingsCreateNetworkV2SettingsDNSServer `json:"dnsServer,omitempty"` // - SyslogServer *RequestNetworkSettingsCreateNetworkV2SettingsSyslogServer `json:"syslogServer,omitempty"` // - SNMPServer *RequestNetworkSettingsCreateNetworkV2SettingsSNMPServer `json:"snmpServer,omitempty"` // - Netflowcollector *RequestNetworkSettingsCreateNetworkV2SettingsNetflowcollector `json:"netflowcollector,omitempty"` // - NtpServer []string `json:"ntpServer,omitempty"` // IP address for NTP server (eg: 1.1.1.2) - Timezone string `json:"timezone,omitempty"` // Input for time zone (eg: Africa/Abidjan) - MessageOfTheday *RequestNetworkSettingsCreateNetworkV2SettingsMessageOfTheday `json:"messageOfTheday,omitempty"` // - NetworkAAA *RequestNetworkSettingsCreateNetworkV2SettingsNetworkAAA `json:"network_aaa,omitempty"` // + DhcpServer []string `json:"dhcpServer,omitempty"` // DHCP Server IP (eg: 1.1.1.1) + + DNSServer *RequestNetworkSettingsCreateNetworkV2SettingsDNSServer `json:"dnsServer,omitempty"` // + + SyslogServer *RequestNetworkSettingsCreateNetworkV2SettingsSyslogServer `json:"syslogServer,omitempty"` // + + SNMPServer *RequestNetworkSettingsCreateNetworkV2SettingsSNMPServer `json:"snmpServer,omitempty"` // + + Netflowcollector *RequestNetworkSettingsCreateNetworkV2SettingsNetflowcollector `json:"netflowcollector,omitempty"` // + + NtpServer []string `json:"ntpServer,omitempty"` // IP address for NTP server (eg: 1.1.1.2) + + Timezone string `json:"timezone,omitempty"` // Input for time zone (eg: Africa/Abidjan) + + MessageOfTheday *RequestNetworkSettingsCreateNetworkV2SettingsMessageOfTheday `json:"messageOfTheday,omitempty"` // + + NetworkAAA *RequestNetworkSettingsCreateNetworkV2SettingsNetworkAAA `json:"network_aaa,omitempty"` // + ClientAndEndpointAAA *RequestNetworkSettingsCreateNetworkV2SettingsClientAndEndpointAAA `json:"clientAndEndpoint_aaa,omitempty"` // } type RequestNetworkSettingsCreateNetworkV2SettingsDNSServer struct { - DomainName string `json:"domainName,omitempty"` // Domain Name of DHCP (eg; cisco) - PrimaryIPAddress string `json:"primaryIpAddress,omitempty"` // Primary IP Address for DHCP (eg: 2.2.2.2) + DomainName string `json:"domainName,omitempty"` // Domain Name of DHCP (eg; cisco) + + PrimaryIPAddress string `json:"primaryIpAddress,omitempty"` // Primary IP Address for DHCP (eg: 2.2.2.2) + SecondaryIPAddress string `json:"secondaryIpAddress,omitempty"` // Secondary IP Address for DHCP (eg: 3.3.3.3) } type RequestNetworkSettingsCreateNetworkV2SettingsSyslogServer struct { - IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for syslog server (eg: 4.4.4.4) - ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for syslog server (eg: true) + IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for syslog server (eg: 4.4.4.4) + + ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for syslog server (eg: true) } type RequestNetworkSettingsCreateNetworkV2SettingsSNMPServer struct { - IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for SNMP Server (eg: 4.4.4.1) - ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for SNMP Server (eg: true) + IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for SNMP Server (eg: 4.4.4.1) + + ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for SNMP Server (eg: true) } type RequestNetworkSettingsCreateNetworkV2SettingsNetflowcollector struct { - IPAddress string `json:"ipAddress,omitempty"` // IP Address for NetFlow collector (eg: 3.3.3.1) - Port *float64 `json:"port,omitempty"` // Port for NetFlow Collector (eg; 443) + IPAddress string `json:"ipAddress,omitempty"` // IP Address for NetFlow collector (eg: 3.3.3.1) + + Port *float64 `json:"port,omitempty"` // Port for NetFlow Collector (eg; 443) } type RequestNetworkSettingsCreateNetworkV2SettingsMessageOfTheday struct { - BannerMessage string `json:"bannerMessage,omitempty"` // Massage for Banner message (eg; Good day) + BannerMessage string `json:"bannerMessage,omitempty"` // Massage for Banner message (eg; Good day) + RetainExistingBanner string `json:"retainExistingBanner,omitempty"` // Retain existing Banner Message (eg: "true" or "false") } type RequestNetworkSettingsCreateNetworkV2SettingsNetworkAAA struct { - Servers string `json:"servers,omitempty"` // Server type for AAA Network (eg: AAA) - IPAddress string `json:"ipAddress,omitempty"` // IP address for AAA and ISE server (eg: 1.1.1.1) - Network string `json:"network,omitempty"` // IP Address for AAA or ISE server (eg: 2.2.2.2) - Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + Servers string `json:"servers,omitempty"` // Server type for AAA Network (eg: AAA) + + IPAddress string `json:"ipAddress,omitempty"` // IP address for AAA and ISE server (eg: 1.1.1.1) + + Network string `json:"network,omitempty"` // IP Address for AAA or ISE server (eg: 2.2.2.2) + + Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret for ISE Server } type RequestNetworkSettingsCreateNetworkV2SettingsClientAndEndpointAAA struct { - Servers string `json:"servers,omitempty"` // Server type AAA or ISE server (eg: AAA) - IPAddress string `json:"ipAddress,omitempty"` // IP address for ISE serve (eg: 1.1.1.4) - Network string `json:"network,omitempty"` // IP address for AAA or ISE server (eg: 2.2.2.1) - Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + Servers string `json:"servers,omitempty"` // Server type AAA or ISE server (eg: AAA) + + IPAddress string `json:"ipAddress,omitempty"` // IP address for ISE serve (eg: 1.1.1.4) + + Network string `json:"network,omitempty"` // IP address for AAA or ISE server (eg: 2.2.2.1) + + Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret for ISE server } type RequestNetworkSettingsUpdateNetworkV2 struct { Settings *RequestNetworkSettingsUpdateNetworkV2Settings `json:"settings,omitempty"` // } type RequestNetworkSettingsUpdateNetworkV2Settings struct { - DhcpServer []string `json:"dhcpServer,omitempty"` // DHCP Server IP (eg: 1.1.1.1) - DNSServer *RequestNetworkSettingsUpdateNetworkV2SettingsDNSServer `json:"dnsServer,omitempty"` // - SyslogServer *RequestNetworkSettingsUpdateNetworkV2SettingsSyslogServer `json:"syslogServer,omitempty"` // - SNMPServer *RequestNetworkSettingsUpdateNetworkV2SettingsSNMPServer `json:"snmpServer,omitempty"` // - Netflowcollector *RequestNetworkSettingsUpdateNetworkV2SettingsNetflowcollector `json:"netflowcollector,omitempty"` // - NtpServer []string `json:"ntpServer,omitempty"` // IP address for NTP server (eg: 1.1.1.2) - Timezone string `json:"timezone,omitempty"` // Input for time zone (eg: Africa/Abidjan) - MessageOfTheday *RequestNetworkSettingsUpdateNetworkV2SettingsMessageOfTheday `json:"messageOfTheday,omitempty"` // - NetworkAAA *RequestNetworkSettingsUpdateNetworkV2SettingsNetworkAAA `json:"network_aaa,omitempty"` // + DhcpServer []string `json:"dhcpServer,omitempty"` // DHCP Server IP (eg: 1.1.1.1) + + DNSServer *RequestNetworkSettingsUpdateNetworkV2SettingsDNSServer `json:"dnsServer,omitempty"` // + + SyslogServer *RequestNetworkSettingsUpdateNetworkV2SettingsSyslogServer `json:"syslogServer,omitempty"` // + + SNMPServer *RequestNetworkSettingsUpdateNetworkV2SettingsSNMPServer `json:"snmpServer,omitempty"` // + + Netflowcollector *RequestNetworkSettingsUpdateNetworkV2SettingsNetflowcollector `json:"netflowcollector,omitempty"` // + + NtpServer []string `json:"ntpServer,omitempty"` // IP address for NTP server (eg: 1.1.1.2) + + Timezone string `json:"timezone,omitempty"` // Input for time zone (eg: Africa/Abidjan) + + MessageOfTheday *RequestNetworkSettingsUpdateNetworkV2SettingsMessageOfTheday `json:"messageOfTheday,omitempty"` // + + NetworkAAA *RequestNetworkSettingsUpdateNetworkV2SettingsNetworkAAA `json:"network_aaa,omitempty"` // + ClientAndEndpointAAA *RequestNetworkSettingsUpdateNetworkV2SettingsClientAndEndpointAAA `json:"clientAndEndpoint_aaa,omitempty"` // } type RequestNetworkSettingsUpdateNetworkV2SettingsDNSServer struct { - DomainName string `json:"domainName,omitempty"` // Domain Name of DHCP (eg; cisco) - PrimaryIPAddress string `json:"primaryIpAddress,omitempty"` // Primary IP Address for DHCP (eg: 2.2.2.2) + DomainName string `json:"domainName,omitempty"` // Domain Name of DHCP (eg; cisco) + + PrimaryIPAddress string `json:"primaryIpAddress,omitempty"` // Primary IP Address for DHCP (eg: 2.2.2.2) + SecondaryIPAddress string `json:"secondaryIpAddress,omitempty"` // Secondary IP Address for DHCP (eg: 3.3.3.3) } type RequestNetworkSettingsUpdateNetworkV2SettingsSyslogServer struct { - IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for syslog server (eg: 4.4.4.4) - ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for syslog server (eg: true) + IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for syslog server (eg: 4.4.4.4) + + ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for syslog server (eg: true) } type RequestNetworkSettingsUpdateNetworkV2SettingsSNMPServer struct { - IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for SNMP Server (eg: 4.4.4.1) - ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for SNMP Server (eg: true) + IPAddresses []string `json:"ipAddresses,omitempty"` // IP Address for SNMP Server (eg: 4.4.4.1) + + ConfigureDnacIP *bool `json:"configureDnacIP,omitempty"` // Configuration DNAC IP for SNMP Server (eg: true) } type RequestNetworkSettingsUpdateNetworkV2SettingsNetflowcollector struct { - IPAddress string `json:"ipAddress,omitempty"` // IP Address for NetFlow collector (eg: 3.3.3.1) - Port *float64 `json:"port,omitempty"` // Port for NetFlow Collector (eg; 443) + IPAddress string `json:"ipAddress,omitempty"` // IP Address for NetFlow collector (eg: 3.3.3.1) + + Port *float64 `json:"port,omitempty"` // Port for NetFlow Collector (eg; 443) } type RequestNetworkSettingsUpdateNetworkV2SettingsMessageOfTheday struct { - BannerMessage string `json:"bannerMessage,omitempty"` // Massage for Banner message (eg; Good day) + BannerMessage string `json:"bannerMessage,omitempty"` // Massage for Banner message (eg; Good day) + RetainExistingBanner string `json:"retainExistingBanner,omitempty"` // Retain existing Banner Message (eg: "true" or "false") } type RequestNetworkSettingsUpdateNetworkV2SettingsNetworkAAA struct { - Servers string `json:"servers,omitempty"` // Server type for AAA Network (eg: AAA) - IPAddress string `json:"ipAddress,omitempty"` // IP address for AAA and ISE server (eg: 1.1.1.1) - Network string `json:"network,omitempty"` // IP Address for AAA or ISE server (eg: 2.2.2.2) - Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + Servers string `json:"servers,omitempty"` // Server type for AAA Network (eg: AAA) + + IPAddress string `json:"ipAddress,omitempty"` // IP address for AAA and ISE server (eg: 1.1.1.1) + + Network string `json:"network,omitempty"` // IP Address for AAA or ISE server (eg: 2.2.2.2) + + Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret for ISE Server } type RequestNetworkSettingsUpdateNetworkV2SettingsClientAndEndpointAAA struct { - Servers string `json:"servers,omitempty"` // Server type AAA or ISE server (eg: AAA) - IPAddress string `json:"ipAddress,omitempty"` // IP address for ISE serve (eg: 1.1.1.4) - Network string `json:"network,omitempty"` // IP address for AAA or ISE server (eg: 2.2.2.1) - Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + Servers string `json:"servers,omitempty"` // Server type AAA or ISE server (eg: AAA) + + IPAddress string `json:"ipAddress,omitempty"` // IP address for ISE serve (eg: 1.1.1.4) + + Network string `json:"network,omitempty"` // IP address for AAA or ISE server (eg: 2.2.2.1) + + Protocol string `json:"protocol,omitempty"` // Protocol for AAA or ISE serve (eg: RADIUS) + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret for ISE server } type RequestNetworkSettingsCreateSpProfileV2 struct { @@ -1258,7 +2130,9 @@ type RequestNetworkSettingsCreateSpProfileV2Settings struct { } type RequestNetworkSettingsCreateSpProfileV2SettingsQos struct { ProfileName string `json:"profileName,omitempty"` // Profile Name - Model string `json:"model,omitempty"` // Model + + Model string `json:"model,omitempty"` // Model + WanProvider string `json:"wanProvider,omitempty"` // Wan Provider } type RequestNetworkSettingsUpdateSpProfileV2 struct { @@ -1268,29 +2142,328 @@ type RequestNetworkSettingsUpdateSpProfileV2Settings struct { Qos *[]RequestNetworkSettingsUpdateSpProfileV2SettingsQos `json:"qos,omitempty"` // } type RequestNetworkSettingsUpdateSpProfileV2SettingsQos struct { - ProfileName string `json:"profileName,omitempty"` // Profile Name - Model string `json:"model,omitempty"` // Model - WanProvider string `json:"wanProvider,omitempty"` // Wan Provider + ProfileName string `json:"profileName,omitempty"` // Profile Name + + Model string `json:"model,omitempty"` // Model + + WanProvider string `json:"wanProvider,omitempty"` // Wan Provider + OldProfileName string `json:"oldProfileName,omitempty"` // Old Profile Name } -//GetDeviceCredentialDetails Get Device Credential Details - 899f-08e7-401b-82dd -/* API to get device credential details. This API has been deprecated and will not be available in a Cisco DNA Center release after August 1st 2024 23:59:59 GMT. Please refer new Intent API : Get All Global Credentials V2 +//GetDeviceCredentialDetails Get Device Credential Details - 899f-08e7-401b-82dd +/* API to get device credential details. + + +@param GetDeviceCredentialDetailsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-credential-details +*/ +func (s *NetworkSettingsService) GetDeviceCredentialDetails(GetDeviceCredentialDetailsQueryParams *GetDeviceCredentialDetailsQueryParams) (*ResponseNetworkSettingsGetDeviceCredentialDetails, *resty.Response, error) { + path := "/dna/intent/api/v1/device-credential" + + queryString, _ := query.Values(GetDeviceCredentialDetailsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseNetworkSettingsGetDeviceCredentialDetails{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDeviceCredentialDetails(GetDeviceCredentialDetailsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetDeviceCredentialDetails") + } + + result := response.Result().(*ResponseNetworkSettingsGetDeviceCredentialDetails) + return result, response, err + +} + +//GetGlobalPool Get Global Pool - c0bc-a856-43c8-b58d +/* API to get the global pool. + + +@param GetGlobalPoolQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-global-pool +*/ +func (s *NetworkSettingsService) GetGlobalPool(GetGlobalPoolQueryParams *GetGlobalPoolQueryParams) (*ResponseNetworkSettingsGetGlobalPool, *resty.Response, error) { + path := "/dna/intent/api/v1/global-pool" + + queryString, _ := query.Values(GetGlobalPoolQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseNetworkSettingsGetGlobalPool{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetGlobalPool(GetGlobalPoolQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetGlobalPool") + } + + result := response.Result().(*ResponseNetworkSettingsGetGlobalPool) + return result, response, err + +} + +//RetrievesGlobalIPAddressPools Retrieves global IP address pools. - 8389-eba4-402a-9892 +/* Retrieves global IP address pools. Global pools are not associated with any particular site, but may have portions of their address space reserved by site-specific subpools. + + +@param RetrievesGlobalIPAddressPoolsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-global-ip-address-pools +*/ +func (s *NetworkSettingsService) RetrievesGlobalIPAddressPools(RetrievesGlobalIPAddressPoolsQueryParams *RetrievesGlobalIPAddressPoolsQueryParams) (*ResponseNetworkSettingsRetrievesGlobalIPAddressPools, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/globalIpAddressPools" + + queryString, _ := query.Values(RetrievesGlobalIPAddressPoolsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseNetworkSettingsRetrievesGlobalIPAddressPools{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesGlobalIPAddressPools(RetrievesGlobalIPAddressPoolsQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesGlobalIpAddressPools") + } + + result := response.Result().(*ResponseNetworkSettingsRetrievesGlobalIPAddressPools) + return result, response, err + +} + +//CountsGlobalIPAddressPools Counts global IP address pools. - e0bb-eaf9-4c08-8683 +/* Counts global IP address pools. Global pools are not associated with any particular site, but may have portions of their address space reserved by site-specific subpools. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!counts-global-ip-address-pools +*/ +func (s *NetworkSettingsService) CountsGlobalIPAddressPools() (*ResponseNetworkSettingsCountsGlobalIPAddressPools, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/globalIpAddressPools/count" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseNetworkSettingsCountsGlobalIPAddressPools{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.CountsGlobalIPAddressPools() + } + return nil, response, fmt.Errorf("error with operation CountsGlobalIpAddressPools") + } + + result := response.Result().(*ResponseNetworkSettingsCountsGlobalIPAddressPools) + return result, response, err + +} + +//RetrievesSubpoolsIDsOfAGlobalIPAddressPool Retrieves subpools IDs of a global IP address pool. - 8c8d-4821-4c4a-b0fa +/* Retrieves subpools IDs of a global IP address pool. The IDs can be fetched with `/dna/intent/api/v1/ipam/siteIpAddressPools/{id}` + + +@param globalIPAddressPoolID globalIpAddressPoolId path parameter. The `id` of the global IP address pool for which to retrieve subpool IDs. + +@param RetrievesSubpoolsIDsOfAGlobalIPAddressPoolQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-subpools-ids-of-a-global-ip-address-pool +*/ +func (s *NetworkSettingsService) RetrievesSubpoolsIDsOfAGlobalIPAddressPool(globalIPAddressPoolID string, RetrievesSubpoolsIDsOfAGlobalIPAddressPoolQueryParams *RetrievesSubpoolsIDsOfAGlobalIPAddressPoolQueryParams) (*ResponseNetworkSettingsRetrievesSubpoolsIDsOfAGlobalIPAddressPool, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/globalIpAddressPools/{globalIpAddressPoolId}/subpools" + path = strings.Replace(path, "{globalIpAddressPoolId}", fmt.Sprintf("%v", globalIPAddressPoolID), -1) + + queryString, _ := query.Values(RetrievesSubpoolsIDsOfAGlobalIPAddressPoolQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseNetworkSettingsRetrievesSubpoolsIDsOfAGlobalIPAddressPool{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesSubpoolsIDsOfAGlobalIPAddressPool(globalIPAddressPoolID, RetrievesSubpoolsIDsOfAGlobalIPAddressPoolQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesSubpoolsIdsOfAGlobalIpAddressPool") + } + + result := response.Result().(*ResponseNetworkSettingsRetrievesSubpoolsIDsOfAGlobalIPAddressPool) + return result, response, err + +} + +//CountsSubpoolsOfAGlobalIPAddressPool Counts subpools of a global IP address pool. - 3a9b-4bb7-4d5a-b5e1 +/* Counts subpools of a global IP address pool. + + +@param globalIPAddressPoolID globalIpAddressPoolId path parameter. The `id` of the global IP address pool for which to count subpools. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!counts-subpools-of-a-global-ip-address-pool +*/ +func (s *NetworkSettingsService) CountsSubpoolsOfAGlobalIPAddressPool(globalIPAddressPoolID string) (*ResponseNetworkSettingsCountsSubpoolsOfAGlobalIPAddressPool, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/globalIpAddressPools/{globalIpAddressPoolId}/subpools/count" + path = strings.Replace(path, "{globalIpAddressPoolId}", fmt.Sprintf("%v", globalIPAddressPoolID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseNetworkSettingsCountsSubpoolsOfAGlobalIPAddressPool{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.CountsSubpoolsOfAGlobalIPAddressPool(globalIPAddressPoolID) + } + return nil, response, fmt.Errorf("error with operation CountsSubpoolsOfAGlobalIpAddressPool") + } + + result := response.Result().(*ResponseNetworkSettingsCountsSubpoolsOfAGlobalIPAddressPool) + return result, response, err + +} + +//RetrievesAGlobalIPAddressPool Retrieves a global IP address pool. - c389-6867-476b-b9a2 +/* Retrieves a global IP address pool. Global pools are not associated with any particular site, but may have portions of their address space reserved by site-specific subpools. + + +@param id id path parameter. The `id` of the global IP address pool to retrieve. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-a-global-ip-address-pool +*/ +func (s *NetworkSettingsService) RetrievesAGlobalIPAddressPool(id string) (*ResponseNetworkSettingsRetrievesAGlobalIPAddressPool, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/globalIpAddressPools/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseNetworkSettingsRetrievesAGlobalIPAddressPool{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesAGlobalIPAddressPool(id) + } + return nil, response, fmt.Errorf("error with operation RetrievesAGlobalIpAddressPool") + } + + result := response.Result().(*ResponseNetworkSettingsRetrievesAGlobalIPAddressPool) + return result, response, err + +} + +//RetrievesIPAddressSubpools Retrieves IP address subpools. - aeb2-38a2-4249-a7a0 +/* Retrieves IP address subpools, which reserve address space from a global pool (or global pools). + + +@param RetrievesIPAddressSubpoolsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-ip-address-subpools +*/ +func (s *NetworkSettingsService) RetrievesIPAddressSubpools(RetrievesIPAddressSubpoolsQueryParams *RetrievesIPAddressSubpoolsQueryParams) (*ResponseNetworkSettingsRetrievesIPAddressSubpools, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/siteIpAddressPools" + + queryString, _ := query.Values(RetrievesIPAddressSubpoolsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseNetworkSettingsRetrievesIPAddressSubpools{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesIPAddressSubpools(RetrievesIPAddressSubpoolsQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesIpAddressSubpools") + } + + result := response.Result().(*ResponseNetworkSettingsRetrievesIPAddressSubpools) + return result, response, err + +} + +//CountsIPAddressSubpools Counts IP address subpools. - 019b-fb9a-4789-ab20 +/* Counts IP address subpools, which reserve address space from a global pool (or global pools). -@param GetDeviceCredentialDetailsQueryParams Filtering parameter +@param CountsIPAddressSubpoolsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-credential-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!counts-ip-address-subpools */ -func (s *NetworkSettingsService) GetDeviceCredentialDetails(GetDeviceCredentialDetailsQueryParams *GetDeviceCredentialDetailsQueryParams) (*ResponseNetworkSettingsGetDeviceCredentialDetails, *resty.Response, error) { - path := "/dna/intent/api/v1/device-credential" +func (s *NetworkSettingsService) CountsIPAddressSubpools(CountsIPAddressSubpoolsQueryParams *CountsIPAddressSubpoolsQueryParams) (*ResponseNetworkSettingsCountsIPAddressSubpools, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/siteIpAddressPools/count" - queryString, _ := query.Values(GetDeviceCredentialDetailsQueryParams) + queryString, _ := query.Values(CountsIPAddressSubpoolsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseNetworkSettingsGetDeviceCredentialDetails{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseNetworkSettingsCountsIPAddressSubpools{}). SetError(&Error). Get(path) @@ -1301,33 +2474,33 @@ func (s *NetworkSettingsService) GetDeviceCredentialDetails(GetDeviceCredentialD if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceCredentialDetails(GetDeviceCredentialDetailsQueryParams) + return s.CountsIPAddressSubpools(CountsIPAddressSubpoolsQueryParams) } - return nil, response, fmt.Errorf("error with operation GetDeviceCredentialDetails") + return nil, response, fmt.Errorf("error with operation CountsIpAddressSubpools") } - result := response.Result().(*ResponseNetworkSettingsGetDeviceCredentialDetails) + result := response.Result().(*ResponseNetworkSettingsCountsIPAddressSubpools) return result, response, err } -//GetGlobalPool Get Global Pool - c0bc-a856-43c8-b58d -/* API to get the global pool. +//RetrievesAnIPAddressSubpool Retrieves an IP address subpool. - a09a-ca0d-4f38-aada +/* Retrieves an IP address subpool, which reserves address space from a global pool (or global pools) for a particular site. -@param GetGlobalPoolQueryParams Filtering parameter +@param id id path parameter. The `id` of the IP address subpool to retrieve. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-global-pool-v1 -*/ -func (s *NetworkSettingsService) GetGlobalPool(GetGlobalPoolQueryParams *GetGlobalPoolQueryParams) (*ResponseNetworkSettingsGetGlobalPool, *resty.Response, error) { - path := "/dna/intent/api/v1/global-pool" - queryString, _ := query.Values(GetGlobalPoolQueryParams) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-an-ip-address-subpool +*/ +func (s *NetworkSettingsService) RetrievesAnIPAddressSubpool(id string) (*ResponseNetworkSettingsRetrievesAnIPAddressSubpool, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/siteIpAddressPools/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseNetworkSettingsGetGlobalPool{}). + SetResult(&ResponseNetworkSettingsRetrievesAnIPAddressSubpool{}). SetError(&Error). Get(path) @@ -1338,12 +2511,12 @@ func (s *NetworkSettingsService) GetGlobalPool(GetGlobalPoolQueryParams *GetGlob if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetGlobalPool(GetGlobalPoolQueryParams) + return s.RetrievesAnIPAddressSubpool(id) } - return nil, response, fmt.Errorf("error with operation GetGlobalPool") + return nil, response, fmt.Errorf("error with operation RetrievesAnIpAddressSubpool") } - result := response.Result().(*ResponseNetworkSettingsGetGlobalPool) + result := response.Result().(*ResponseNetworkSettingsRetrievesAnIPAddressSubpool) return result, response, err } @@ -1354,7 +2527,7 @@ func (s *NetworkSettingsService) GetGlobalPool(GetGlobalPoolQueryParams *GetGlob @param GetNetworkQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network */ func (s *NetworkSettingsService) GetNetwork(GetNetworkQueryParams *GetNetworkQueryParams) (*ResponseNetworkSettingsGetNetwork, *resty.Response, error) { path := "/dna/intent/api/v1/network" @@ -1385,13 +2558,87 @@ func (s *NetworkSettingsService) GetNetwork(GetNetworkQueryParams *GetNetworkQue } +//RetrieveCliTemplatesAttachedToANetworkProfile Retrieve CLI templates attached to a network profile - b69f-eafa-4f5b-b286 +/* Retrieves a list of CLI templates attached to a network profile based on the network profile ID. + + +@param profileID profileId path parameter. The `id` of the network profile, retrievable from `GET /intent/api/v1/networkProfilesForSites` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-cli-templates-attached-to-a-network-profile +*/ +func (s *NetworkSettingsService) RetrieveCliTemplatesAttachedToANetworkProfile(profileID string) (*ResponseNetworkSettingsRetrieveCliTemplatesAttachedToANetworkProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/networkProfilesForSites/{profileId}/templates" + path = strings.Replace(path, "{profileId}", fmt.Sprintf("%v", profileID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseNetworkSettingsRetrieveCliTemplatesAttachedToANetworkProfile{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveCliTemplatesAttachedToANetworkProfile(profileID) + } + return nil, response, fmt.Errorf("error with operation RetrieveCliTemplatesAttachedToANetworkProfile") + } + + result := response.Result().(*ResponseNetworkSettingsRetrieveCliTemplatesAttachedToANetworkProfile) + return result, response, err + +} + +//RetrieveCountOfCliTemplatesAttachedToANetworkProfile Retrieve count of CLI templates attached to a network profile - 60b7-d88a-4a48-a59a +/* Retrieves the count of all CLI templates attached to a network profile by the profile ID. + + +@param profileID profileId path parameter. The `id` of the network profile, retrievable from `GET /intent/api/v1/networkProfilesForSites` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-count-of-cli-templates-attached-to-a-network-profile +*/ +func (s *NetworkSettingsService) RetrieveCountOfCliTemplatesAttachedToANetworkProfile(profileID string) (*ResponseNetworkSettingsRetrieveCountOfCliTemplatesAttachedToANetworkProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/networkProfilesForSites/{profileId}/templates/count" + path = strings.Replace(path, "{profileId}", fmt.Sprintf("%v", profileID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseNetworkSettingsRetrieveCountOfCliTemplatesAttachedToANetworkProfile{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveCountOfCliTemplatesAttachedToANetworkProfile(profileID) + } + return nil, response, fmt.Errorf("error with operation RetrieveCountOfCliTemplatesAttachedToANetworkProfile") + } + + result := response.Result().(*ResponseNetworkSettingsRetrieveCountOfCliTemplatesAttachedToANetworkProfile) + return result, response, err + +} + //GetReserveIPSubpool Get Reserve IP Subpool - 4586-0917-4fab-87e2 /* API to get the ip subpool info. @param GetReserveIPSubpoolQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-reserve-ip-subpool-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-reserve-ip-subpool */ func (s *NetworkSettingsService) GetReserveIPSubpool(GetReserveIPSubpoolQueryParams *GetReserveIPSubpoolQueryParams) (*ResponseNetworkSettingsGetReserveIPSubpool, *resty.Response, error) { path := "/dna/intent/api/v1/reserve-ip-subpool" @@ -1427,7 +2674,7 @@ func (s *NetworkSettingsService) GetReserveIPSubpool(GetReserveIPSubpoolQueryPar -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-service-provider-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-service-provider-details */ func (s *NetworkSettingsService) GetServiceProviderDetails() (*ResponseNetworkSettingsGetServiceProviderDetails, *resty.Response, error) { path := "/dna/intent/api/v1/service-provider" @@ -1464,7 +2711,7 @@ func (s *NetworkSettingsService) GetServiceProviderDetails() (*ResponseNetworkSe @param RetrieveAAASettingsForASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-a-a-a-settings-for-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-a-a-a-settings-for-a-site */ func (s *NetworkSettingsService) RetrieveAAASettingsForASite(id string, RetrieveAAASettingsForASiteQueryParams *RetrieveAAASettingsForASiteQueryParams) (*ResponseNetworkSettingsRetrieveAAASettingsForASite, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{id}/aaaSettings" @@ -1504,7 +2751,7 @@ func (s *NetworkSettingsService) RetrieveAAASettingsForASite(id string, Retrieve @param RetrieveBannerSettingsForASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-banner-settings-for-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-banner-settings-for-a-site */ func (s *NetworkSettingsService) RetrieveBannerSettingsForASite(id string, RetrieveBannerSettingsForASiteQueryParams *RetrieveBannerSettingsForASiteQueryParams) (*ResponseNetworkSettingsRetrieveBannerSettingsForASite, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{id}/bannerSettings" @@ -1544,7 +2791,7 @@ func (s *NetworkSettingsService) RetrieveBannerSettingsForASite(id string, Retri @param GetDeviceCredentialSettingsForASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-credential-settings-for-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-credential-settings-for-a-site */ func (s *NetworkSettingsService) GetDeviceCredentialSettingsForASite(id string, GetDeviceCredentialSettingsForASiteQueryParams *GetDeviceCredentialSettingsForASiteQueryParams) (*ResponseNetworkSettingsGetDeviceCredentialSettingsForASite, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{id}/deviceCredentials" @@ -1583,7 +2830,7 @@ func (s *NetworkSettingsService) GetDeviceCredentialSettingsForASite(id string, @param id id path parameter. Site Id. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-devices-credentials-sync-status-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-devices-credentials-sync-status */ func (s *NetworkSettingsService) GetNetworkDevicesCredentialsSyncStatus(id string) (*ResponseNetworkSettingsGetNetworkDevicesCredentialsSyncStatus, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{id}/deviceCredentials/status" @@ -1621,7 +2868,7 @@ func (s *NetworkSettingsService) GetNetworkDevicesCredentialsSyncStatus(id strin @param RetrieveDHCPSettingsForASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-d-h-c-p-settings-for-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-d-h-c-p-settings-for-a-site */ func (s *NetworkSettingsService) RetrieveDHCPSettingsForASite(id string, RetrieveDHCPSettingsForASiteQueryParams *RetrieveDHCPSettingsForASiteQueryParams) (*ResponseNetworkSettingsRetrieveDHCPSettingsForASite, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{id}/dhcpSettings" @@ -1661,7 +2908,7 @@ func (s *NetworkSettingsService) RetrieveDHCPSettingsForASite(id string, Retriev @param RetrieveDNSSettingsForASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-d-n-s-settings-for-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-d-n-s-settings-for-a-site */ func (s *NetworkSettingsService) RetrieveDNSSettingsForASite(id string, RetrieveDNSSettingsForASiteQueryParams *RetrieveDNSSettingsForASiteQueryParams) (*ResponseNetworkSettingsRetrieveDNSSettingsForASite, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{id}/dnsSettings" @@ -1701,7 +2948,7 @@ func (s *NetworkSettingsService) RetrieveDNSSettingsForASite(id string, Retrieve @param RetrieveImageDistributionSettingsForASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-image-distribution-settings-for-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-image-distribution-settings-for-a-site */ func (s *NetworkSettingsService) RetrieveImageDistributionSettingsForASite(id string, RetrieveImageDistributionSettingsForASiteQueryParams *RetrieveImageDistributionSettingsForASiteQueryParams) (*ResponseNetworkSettingsRetrieveImageDistributionSettingsForASite, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{id}/imageDistributionSettings" @@ -1741,7 +2988,7 @@ func (s *NetworkSettingsService) RetrieveImageDistributionSettingsForASite(id st @param RetrieveNTPSettingsForASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-n-t-p-settings-for-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-n-t-p-settings-for-a-site */ func (s *NetworkSettingsService) RetrieveNTPSettingsForASite(id string, RetrieveNTPSettingsForASiteQueryParams *RetrieveNTPSettingsForASiteQueryParams) (*ResponseNetworkSettingsRetrieveNTPSettingsForASite, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{id}/ntpSettings" @@ -1781,7 +3028,7 @@ func (s *NetworkSettingsService) RetrieveNTPSettingsForASite(id string, Retrieve @param RetrieveTelemetrySettingsForASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-telemetry-settings-for-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-telemetry-settings-for-a-site */ func (s *NetworkSettingsService) RetrieveTelemetrySettingsForASite(id string, RetrieveTelemetrySettingsForASiteQueryParams *RetrieveTelemetrySettingsForASiteQueryParams) (*ResponseNetworkSettingsRetrieveTelemetrySettingsForASite, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{id}/telemetrySettings" @@ -1821,7 +3068,7 @@ func (s *NetworkSettingsService) RetrieveTelemetrySettingsForASite(id string, Re @param RetrieveTimeZoneSettingsForASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-time-zone-settings-for-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-time-zone-settings-for-a-site */ func (s *NetworkSettingsService) RetrieveTimeZoneSettingsForASite(id string, RetrieveTimeZoneSettingsForASiteQueryParams *RetrieveTimeZoneSettingsForASiteQueryParams) (*ResponseNetworkSettingsRetrieveTimeZoneSettingsForASite, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{id}/timeZoneSettings" @@ -1932,7 +3179,7 @@ func (s *NetworkSettingsService) GetServiceProviderDetailsV2() (*ResponseNetwork @param AssignDeviceCredentialToSiteHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-device-credential-to-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-device-credential-to-site */ func (s *NetworkSettingsService) AssignDeviceCredentialToSite(siteID string, requestNetworkSettingsAssignDeviceCredentialToSite *RequestNetworkSettingsAssignDeviceCredentialToSite, AssignDeviceCredentialToSiteHeaderParams *AssignDeviceCredentialToSiteHeaderParams) (*ResponseNetworkSettingsAssignDeviceCredentialToSite, *resty.Response, error) { path := "/dna/intent/api/v1/credential-to-site/{siteId}" @@ -1978,11 +3225,11 @@ func (s *NetworkSettingsService) AssignDeviceCredentialToSite(siteID string, req } //CreateDeviceCredentials Create Device Credentials - fbb9-5b37-484a-9fce -/* API to create device credentials. This API has been deprecated and will not be available in a Cisco DNA Center release after August 1st 2024 23:59:59 GMT. Please refer new Intent API : Create Global Credentials V2 +/* API to create device credentials. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-device-credentials-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-device-credentials */ func (s *NetworkSettingsService) CreateDeviceCredentials(requestNetworkSettingsCreateDeviceCredentials *RequestNetworkSettingsCreateDeviceCredentials) (*ResponseNetworkSettingsCreateDeviceCredentials, *resty.Response, error) { path := "/dna/intent/api/v1/device-credential" @@ -2015,11 +3262,11 @@ func (s *NetworkSettingsService) CreateDeviceCredentials(requestNetworkSettingsC } //CreateGlobalPool Create Global Pool - f793-192a-43da-bed9 -/* API to create global pool. +/* API to create global pool. There is a limit of creating 25 global pools per request. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-global-pool-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-global-pool */ func (s *NetworkSettingsService) CreateGlobalPool(requestNetworkSettingsCreateGlobalPool *RequestNetworkSettingsCreateGlobalPool) (*ResponseNetworkSettingsCreateGlobalPool, *resty.Response, error) { path := "/dna/intent/api/v1/global-pool" @@ -2051,6 +3298,80 @@ func (s *NetworkSettingsService) CreateGlobalPool(requestNetworkSettingsCreateGl } +//CreateAGlobalIPAddressPool Create a global IP address pool. - abb0-f98d-4d69-b5ab +/* Creates a global IP address pool, which is not bound to a particular site. A global pool must be either an IPv4 or IPv6 pool. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-a-global-ip-address-pool +*/ +func (s *NetworkSettingsService) CreateAGlobalIPAddressPool(requestNetworkSettingsCreateAGlobalIPAddressPool *RequestNetworkSettingsCreateAGlobalIPAddressPool) (*ResponseNetworkSettingsCreateAGlobalIPAddressPool, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/globalIpAddressPools" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestNetworkSettingsCreateAGlobalIPAddressPool). + SetResult(&ResponseNetworkSettingsCreateAGlobalIPAddressPool{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateAGlobalIPAddressPool(requestNetworkSettingsCreateAGlobalIPAddressPool) + } + + return nil, response, fmt.Errorf("error with operation CreateAGlobalIpAddressPool") + } + + result := response.Result().(*ResponseNetworkSettingsCreateAGlobalIPAddressPool) + return result, response, err + +} + +//ReservecreateIPAddressSubpools Reserve (create) IP address subpools. - ecb4-7a7e-43da-91fa +/* Reserves (creates) an IP address subpool, which reserves address space from a global pool (or global pools) for a particular site (and it's child sites). A subpool must be either an IPv4 or dual-stack pool, with `ipV4AddressSpace` and optionally `ipV6AddressSpace` properties specified. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!reservecreate-ip-address-subpools +*/ +func (s *NetworkSettingsService) ReservecreateIPAddressSubpools(requestNetworkSettingsReservecreateIPAddressSubpools *RequestNetworkSettingsReservecreateIPAddressSubpools) (*ResponseNetworkSettingsReservecreateIPAddressSubpools, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/siteIpAddressPools" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestNetworkSettingsReservecreateIPAddressSubpools). + SetResult(&ResponseNetworkSettingsReservecreateIPAddressSubpools{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.ReservecreateIPAddressSubpools(requestNetworkSettingsReservecreateIPAddressSubpools) + } + + return nil, response, fmt.Errorf("error with operation ReservecreateIpAddressSubpools") + } + + result := response.Result().(*ResponseNetworkSettingsReservecreateIPAddressSubpools) + return result, response, err + +} + //CreateNetwork Create Network - be89-2bd8-4a78-865a /* API to create a network for DHCP, Syslog, SNMP, NTP, Network AAA, Client and EndPoint AAA, and/or DNS center server settings. @@ -2059,7 +3380,7 @@ func (s *NetworkSettingsService) CreateGlobalPool(requestNetworkSettingsCreateGl @param CreateNetworkHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-network-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-network */ func (s *NetworkSettingsService) CreateNetwork(siteID string, requestNetworkSettingsCreateNetwork *RequestNetworkSettingsCreateNetwork, CreateNetworkHeaderParams *CreateNetworkHeaderParams) (*ResponseNetworkSettingsCreateNetwork, *resty.Response, error) { path := "/dna/intent/api/v1/network/{siteId}" @@ -2111,7 +3432,7 @@ func (s *NetworkSettingsService) CreateNetwork(siteID string, requestNetworkSett @param siteID siteId path parameter. Site id to reserve the ip sub pool. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!reserve-ip-subpool-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!reserve-ip-subpool */ func (s *NetworkSettingsService) ReserveIPSubpool(siteID string, requestNetworkSettingsReserveIPSubpool *RequestNetworkSettingsReserveIPSubpool) (*ResponseNetworkSettingsReserveIPSubpool, *resty.Response, error) { path := "/dna/intent/api/v1/reserve-ip-subpool/{siteId}" @@ -2149,7 +3470,7 @@ func (s *NetworkSettingsService) ReserveIPSubpool(siteID string, requestNetworkS -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-sp-profile-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-sp-profile */ func (s *NetworkSettingsService) CreateSpProfile(requestNetworkSettingsCreateSPProfile *RequestNetworkSettingsCreateSpProfile) (*ResponseNetworkSettingsCreateSpProfile, *resty.Response, error) { path := "/dna/intent/api/v1/service-provider" @@ -2186,7 +3507,7 @@ func (s *NetworkSettingsService) CreateSpProfile(requestNetworkSettingsCreateSPP -Documentation Link: https://developer.cisco.com/docs/dna-center/#!sync-network-devices-credential-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!sync-network-devices-credential */ func (s *NetworkSettingsService) SyncNetworkDevicesCredential(requestNetworkSettingsSyncNetworkDevicesCredential *RequestNetworkSettingsSyncNetworkDevicesCredential) (*ResponseNetworkSettingsSyncNetworkDevicesCredential, *resty.Response, error) { path := "/dna/intent/api/v1/sites/deviceCredentials/apply" @@ -2223,7 +3544,7 @@ func (s *NetworkSettingsService) SyncNetworkDevicesCredential(requestNetworkSett -Documentation Link: https://developer.cisco.com/docs/dna-center/#!update-a-devices-telemetry-settings-to-conform-to-the-telemetry-settings-for-its-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!update-a-devices-telemetry-settings-to-conform-to-the-telemetry-settings-for-its-site */ func (s *NetworkSettingsService) UpdateADevicesTelemetrySettingsToConformToTheTelemetrySettingsForItsSite(requestNetworkSettingsUpdateADevicesTelemetrySettingsToConformToTheTelemetrySettingsForItsSite *RequestNetworkSettingsUpdateADevicesTelemetrySettingsToConformToTheTelemetrySettingsForItsSite) (*ResponseNetworkSettingsUpdateADevicesTelemetrySettingsToConformToTheTelemetrySettingsForItsSite, *resty.Response, error) { path := "/dna/intent/api/v1/telemetrySettings/apply" @@ -2373,7 +3694,7 @@ func (s *NetworkSettingsService) CreateSpProfileV2(requestNetworkSettingsCreateS } //UpdateDeviceCredentials Update Device Credentials - 4f94-7a1c-4fc8-84f6 -/* API to update device credentials. This API has been deprecated and will not be available in a Cisco DNA Center release after August 1st 2024 23:59:59 GMT. Please refer new Intent API : Update Global Credentials V2 +/* API to update device credentials. */ @@ -2406,7 +3727,7 @@ func (s *NetworkSettingsService) UpdateDeviceCredentials(requestNetworkSettingsU } //UpdateGlobalPool Update Global Pool - 03b4-c8b4-4919-b964 -/* API to update global pool +/* API to update global pool. There is a limit of updating 25 global pools per request. */ @@ -2438,6 +3759,80 @@ func (s *NetworkSettingsService) UpdateGlobalPool(requestNetworkSettingsUpdateGl } +//UpdatesAGlobalIPAddressPool Updates a global IP address pool. - 68a9-5861-467a-abd9 +/* Updates a global IP address pool. +Restrictions on updating a global IP address pool: The `poolType` cannot be changed. The `subnet` and `prefixLength` within `addressSpace` cannot be changed. + + +@param id id path parameter. The `id` of the global IP address pool to update. + +*/ +func (s *NetworkSettingsService) UpdatesAGlobalIPAddressPool(id string, requestNetworkSettingsUpdatesAGlobalIPAddressPool *RequestNetworkSettingsUpdatesAGlobalIPAddressPool) (*ResponseNetworkSettingsUpdatesAGlobalIPAddressPool, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/globalIpAddressPools/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestNetworkSettingsUpdatesAGlobalIPAddressPool). + SetResult(&ResponseNetworkSettingsUpdatesAGlobalIPAddressPool{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdatesAGlobalIPAddressPool(id, requestNetworkSettingsUpdatesAGlobalIPAddressPool) + } + return nil, response, fmt.Errorf("error with operation UpdatesAGlobalIpAddressPool") + } + + result := response.Result().(*ResponseNetworkSettingsUpdatesAGlobalIPAddressPool) + return result, response, err + +} + +//UpdatesAnIPAddressSubpool Updates an IP address subpool. - 968f-d8e4-465b-8ec2 +/* Updates an IP address subpool, which reserves address space from a global pool (or global pools) for a particular site. +Restrictions on updating an IP address subpool: The `poolType` cannot be changed. The `siteId` cannot be changed. The `ipV4AddressSpace` may not be removed. The `globalPoolId`, `subnet`, and `prefixLength` cannot be changed once it's already been set. However you may edit a subpool to add an IP address space if it does not already have one. + + +@param id id path parameter. The `id` of the IP address subpool to update. + +*/ +func (s *NetworkSettingsService) UpdatesAnIPAddressSubpool(id string, requestNetworkSettingsUpdatesAnIPAddressSubpool *RequestNetworkSettingsUpdatesAnIPAddressSubpool) (*ResponseNetworkSettingsUpdatesAnIPAddressSubpool, *resty.Response, error) { + path := "/dna/intent/api/v1/ipam/siteIpAddressPools/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestNetworkSettingsUpdatesAnIPAddressSubpool). + SetResult(&ResponseNetworkSettingsUpdatesAnIPAddressSubpool{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdatesAnIPAddressSubpool(id, requestNetworkSettingsUpdatesAnIPAddressSubpool) + } + return nil, response, fmt.Errorf("error with operation UpdatesAnIpAddressSubpool") + } + + result := response.Result().(*ResponseNetworkSettingsUpdatesAnIPAddressSubpool) + return result, response, err + +} + //UpdateNetwork Update Network - 698b-fbb4-4dcb-9fca /* API to update network settings for DHCP, Syslog, SNMP, NTP, Network AAA, Client and EndPoint AAA, and/or DNS server settings. @@ -2940,13 +4335,13 @@ func (s *NetworkSettingsService) UpdateSpProfileV2(requestNetworkSettingsUpdateS } //DeleteDeviceCredential Delete Device Credential - 259e-ab30-4598-8958 -/* Delete device credential. This API has been deprecated and will not be available in a Cisco DNA Center release after August 1st 2024 23:59:59 GMT. Please refer new Intent API : Delete Global Credentials V2 +/* Delete device credential. @param id id path parameter. global credential id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-device-credential-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-device-credential */ func (s *NetworkSettingsService) DeleteDeviceCredential(id string) (*ResponseNetworkSettingsDeleteDeviceCredential, *resty.Response, error) { //id string @@ -2967,8 +4362,7 @@ func (s *NetworkSettingsService) DeleteDeviceCredential(id string) (*ResponseNet if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteDeviceCredential( - id) + return s.DeleteDeviceCredential(id) } return nil, response, fmt.Errorf("error with operation DeleteDeviceCredential") } @@ -2985,7 +4379,7 @@ func (s *NetworkSettingsService) DeleteDeviceCredential(id string) (*ResponseNet @param id id path parameter. global pool id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-global-ip-pool-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-global-ip-pool */ func (s *NetworkSettingsService) DeleteGlobalIPPool(id string) (*ResponseNetworkSettingsDeleteGlobalIPPool, *resty.Response, error) { //id string @@ -3016,6 +4410,83 @@ func (s *NetworkSettingsService) DeleteGlobalIPPool(id string) (*ResponseNetwork } +//DeleteAGlobalIPAddressPool Delete a global IP address pool. - f7ae-db6b-4fea-bfd8 +/* Deletes a global IP address pool. A global IP address pool can only be deleted if there are no subpools reserving address space from it. + + +@param id id path parameter. The `id` of the global IP address pool to delete. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-a-global-ip-address-pool +*/ +func (s *NetworkSettingsService) DeleteAGlobalIPAddressPool(id string) (*ResponseNetworkSettingsDeleteAGlobalIPAddressPool, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/ipam/globalIpAddressPools/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseNetworkSettingsDeleteAGlobalIPAddressPool{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteAGlobalIPAddressPool(id) + } + return nil, response, fmt.Errorf("error with operation DeleteAGlobalIpAddressPool") + } + + result := response.Result().(*ResponseNetworkSettingsDeleteAGlobalIPAddressPool) + return result, response, err + +} + +//ReleaseAnIPAddressSubpool Release an IP address subpool. - e680-0b06-45f9-927d +/* Releases an IP address subpool. +**Release** completely removes the subpool from the site, and from all child sites, and frees the address use from the global pool(s). Subpools cannot be released when assigned addresses in use. + + +@param id id path parameter. The `id` of the IP address subpool to delete. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!release-an-ip-address-subpool +*/ +func (s *NetworkSettingsService) ReleaseAnIPAddressSubpool(id string) (*ResponseNetworkSettingsReleaseAnIPAddressSubpool, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/ipam/siteIpAddressPools/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseNetworkSettingsReleaseAnIPAddressSubpool{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReleaseAnIPAddressSubpool(id) + } + return nil, response, fmt.Errorf("error with operation ReleaseAnIpAddressSubpool") + } + + result := response.Result().(*ResponseNetworkSettingsReleaseAnIPAddressSubpool) + return result, response, err + +} + //ReleaseReserveIPSubpool Release Reserve IP Subpool - 85b2-89e3-4489-9dc1 /* API to delete the reserved ip subpool @@ -3023,7 +4494,7 @@ func (s *NetworkSettingsService) DeleteGlobalIPPool(id string) (*ResponseNetwork @param id id path parameter. Id of reserve ip subpool to be deleted. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!release-reserve-ip-subpool-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!release-reserve-ip-subpool */ func (s *NetworkSettingsService) ReleaseReserveIPSubpool(id string) (*ResponseNetworkSettingsReleaseReserveIPSubpool, *resty.Response, error) { //id string @@ -3061,7 +4532,7 @@ func (s *NetworkSettingsService) ReleaseReserveIPSubpool(id string) (*ResponseNe @param spProfileName spProfileName path parameter. sp profile name -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-sp-profile-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-sp-profile */ func (s *NetworkSettingsService) DeleteSpProfile(spProfileName string) (*ResponseNetworkSettingsDeleteSpProfile, *resty.Response, error) { //spProfileName string diff --git a/sdk/path_trace.go b/sdk/path_trace.go index b9383a5..034ce3a 100644 --- a/sdk/path_trace.go +++ b/sdk/path_trace.go @@ -462,471 +462,761 @@ type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsIngressVi RefreshedAt *int `json:"refreshedAt,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsPerfMonStatistics struct { - ByteRate *int `json:"byteRate,omitempty"` // - DestIPAddress string `json:"destIpAddress,omitempty"` // - DestPort string `json:"destPort,omitempty"` // - InputInterface string `json:"inputInterface,omitempty"` // - IPv4DSCP string `json:"ipv4DSCP,omitempty"` // - IPv4TTL *int `json:"ipv4TTL,omitempty"` // - OutputInterface string `json:"outputInterface,omitempty"` // - PacketBytes *int `json:"packetBytes,omitempty"` // - PacketCount *int `json:"packetCount,omitempty"` // - PacketLoss *int `json:"packetLoss,omitempty"` // + ByteRate *int `json:"byteRate,omitempty"` // + + DestIPAddress string `json:"destIpAddress,omitempty"` // + + DestPort string `json:"destPort,omitempty"` // + + InputInterface string `json:"inputInterface,omitempty"` // + + IPv4DSCP string `json:"ipv4DSCP,omitempty"` // + + IPv4TTL *int `json:"ipv4TTL,omitempty"` // + + OutputInterface string `json:"outputInterface,omitempty"` // + + PacketBytes *int `json:"packetBytes,omitempty"` // + + PacketCount *int `json:"packetCount,omitempty"` // + + PacketLoss *int `json:"packetLoss,omitempty"` // + PacketLossPercentage *float64 `json:"packetLossPercentage,omitempty"` // - Protocol string `json:"protocol,omitempty"` // - RefreshedAt *int `json:"refreshedAt,omitempty"` // - RtpJitterMax *int `json:"rtpJitterMax,omitempty"` // - RtpJitterMean *int `json:"rtpJitterMean,omitempty"` // - RtpJitterMin *int `json:"rtpJitterMin,omitempty"` // - SourceIPAddress string `json:"sourceIpAddress,omitempty"` // - SourcePort string `json:"sourcePort,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // + + RefreshedAt *int `json:"refreshedAt,omitempty"` // + + RtpJitterMax *int `json:"rtpJitterMax,omitempty"` // + + RtpJitterMean *int `json:"rtpJitterMean,omitempty"` // + + RtpJitterMin *int `json:"rtpJitterMin,omitempty"` // + + SourceIPAddress string `json:"sourceIpAddress,omitempty"` // + + SourcePort string `json:"sourcePort,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfo struct { - AccuracyList *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoAccuracyList `json:"accuracyList,omitempty"` // - DetailedStatus *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoDetailedStatus `json:"detailedStatus,omitempty"` // - DeviceStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoDeviceStatistics `json:"deviceStatistics,omitempty"` // - DeviceStatsCollection string `json:"deviceStatsCollection,omitempty"` // - DeviceStatsCollectionFailureReason string `json:"deviceStatsCollectionFailureReason,omitempty"` // - EgressInterface *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterface `json:"egressInterface,omitempty"` // - FlexConnect *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnect `json:"flexConnect,omitempty"` // - ID string `json:"id,omitempty"` // - IngressInterface *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterface `json:"ingressInterface,omitempty"` // - IP string `json:"ip,omitempty"` // - LinkInformationSource string `json:"linkInformationSource,omitempty"` // - Name string `json:"name,omitempty"` // - PerfMonCollection string `json:"perfMonCollection,omitempty"` // - PerfMonCollectionFailureReason string `json:"perfMonCollectionFailureReason,omitempty"` // - PerfMonitorStatistics *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoPerfMonitorStatistics `json:"perfMonitorStatistics,omitempty"` // - Role string `json:"role,omitempty"` // - SSID string `json:"ssid,omitempty"` // - Tunnels []string `json:"tunnels,omitempty"` // - Type string `json:"type,omitempty"` // - WLANID string `json:"wlanId,omitempty"` // + AccuracyList *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoAccuracyList `json:"accuracyList,omitempty"` // + + DetailedStatus *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoDetailedStatus `json:"detailedStatus,omitempty"` // + + DeviceStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoDeviceStatistics `json:"deviceStatistics,omitempty"` // + + DeviceStatsCollection string `json:"deviceStatsCollection,omitempty"` // + + DeviceStatsCollectionFailureReason string `json:"deviceStatsCollectionFailureReason,omitempty"` // + + EgressInterface *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterface `json:"egressInterface,omitempty"` // + + FlexConnect *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnect `json:"flexConnect,omitempty"` // + + ID string `json:"id,omitempty"` // + + IngressInterface *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterface `json:"ingressInterface,omitempty"` // + + IP string `json:"ip,omitempty"` // + + LinkInformationSource string `json:"linkInformationSource,omitempty"` // + + Name string `json:"name,omitempty"` // + + PerfMonCollection string `json:"perfMonCollection,omitempty"` // + + PerfMonCollectionFailureReason string `json:"perfMonCollectionFailureReason,omitempty"` // + + PerfMonitorStatistics *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoPerfMonitorStatistics `json:"perfMonitorStatistics,omitempty"` // + + Role string `json:"role,omitempty"` // + + SSID string `json:"ssid,omitempty"` // + + Tunnels []string `json:"tunnels,omitempty"` // + + Type string `json:"type,omitempty"` // + + WLANID string `json:"wlanId,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoAccuracyList struct { - Percent *int `json:"percent,omitempty"` // - Reason string `json:"reason,omitempty"` // + Percent *int `json:"percent,omitempty"` // + + Reason string `json:"reason,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoDetailedStatus struct { - ACLTraceCalculation string `json:"aclTraceCalculation,omitempty"` // + ACLTraceCalculation string `json:"aclTraceCalculation,omitempty"` // + ACLTraceCalculationFailureReason string `json:"aclTraceCalculationFailureReason,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoDeviceStatistics struct { - CPUStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoDeviceStatisticsCPUStatistics `json:"cpuStatistics,omitempty"` // + CPUStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoDeviceStatisticsCPUStatistics `json:"cpuStatistics,omitempty"` // + MemoryStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoDeviceStatisticsMemoryStatistics `json:"memoryStatistics,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoDeviceStatisticsCPUStatistics struct { - FiveMinUsageInPercentage *float64 `json:"fiveMinUsageInPercentage,omitempty"` // + FiveMinUsageInPercentage *float64 `json:"fiveMinUsageInPercentage,omitempty"` // + FiveSecsUsageInPercentage *float64 `json:"fiveSecsUsageInPercentage,omitempty"` // - OneMinUsageInPercentage *float64 `json:"oneMinUsageInPercentage,omitempty"` // - RefreshedAt *int `json:"refreshedAt,omitempty"` // + + OneMinUsageInPercentage *float64 `json:"oneMinUsageInPercentage,omitempty"` // + + RefreshedAt *int `json:"refreshedAt,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoDeviceStatisticsMemoryStatistics struct { MemoryUsage *int `json:"memoryUsage,omitempty"` // + RefreshedAt *int `json:"refreshedAt,omitempty"` // + TotalMemory *int `json:"totalMemory,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterface struct { - PhysicalInterface *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterface `json:"physicalInterface,omitempty"` // - VirtualInterface *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterface `json:"virtualInterface,omitempty"` // + PhysicalInterface *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterface `json:"physicalInterface,omitempty"` // + + VirtualInterface *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterface `json:"virtualInterface,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterface struct { - ACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceACLAnalysis `json:"aclAnalysis,omitempty"` // - ID string `json:"id,omitempty"` // - InterfaceStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceInterfaceStatistics `json:"interfaceStatistics,omitempty"` // - InterfaceStatsCollection string `json:"interfaceStatsCollection,omitempty"` // - InterfaceStatsCollectionFailureReason string `json:"interfaceStatsCollectionFailureReason,omitempty"` // - Name string `json:"name,omitempty"` // - PathOverlayInfo *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfacePathOverlayInfo `json:"pathOverlayInfo,omitempty"` // - QosStatistics *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceQosStatistics `json:"qosStatistics,omitempty"` // - QosStatsCollection string `json:"qosStatsCollection,omitempty"` // - QosStatsCollectionFailureReason string `json:"qosStatsCollectionFailureReason,omitempty"` // - UsedVLAN string `json:"usedVlan,omitempty"` // - VrfName string `json:"vrfName,omitempty"` // + ACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceACLAnalysis `json:"aclAnalysis,omitempty"` // + + ID string `json:"id,omitempty"` // + + InterfaceStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceInterfaceStatistics `json:"interfaceStatistics,omitempty"` // + + InterfaceStatsCollection string `json:"interfaceStatsCollection,omitempty"` // + + InterfaceStatsCollectionFailureReason string `json:"interfaceStatsCollectionFailureReason,omitempty"` // + + Name string `json:"name,omitempty"` // + + PathOverlayInfo *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfacePathOverlayInfo `json:"pathOverlayInfo,omitempty"` // + + QosStatistics *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceQosStatistics `json:"qosStatistics,omitempty"` // + + QosStatsCollection string `json:"qosStatsCollection,omitempty"` // + + QosStatsCollectionFailureReason string `json:"qosStatsCollectionFailureReason,omitempty"` // + + UsedVLAN string `json:"usedVlan,omitempty"` // + + VrfName string `json:"vrfName,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceACLAnalysis struct { - ACLName string `json:"aclName,omitempty"` // + ACLName string `json:"aclName,omitempty"` // + MatchingAces *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceACLAnalysisMatchingAces `json:"matchingAces,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceACLAnalysisMatchingAces struct { - Ace string `json:"ace,omitempty"` // + Ace string `json:"ace,omitempty"` // + MatchingPorts *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceACLAnalysisMatchingAcesMatchingPorts `json:"matchingPorts,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceACLAnalysisMatchingAcesMatchingPorts struct { - Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // - Protocol string `json:"protocol,omitempty"` // + Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceACLAnalysisMatchingAcesMatchingPortsPorts struct { - DestPorts []string `json:"destPorts,omitempty"` // + DestPorts []string `json:"destPorts,omitempty"` // + SourcePorts []string `json:"sourcePorts,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceInterfaceStatistics struct { - AdminStatus string `json:"adminStatus,omitempty"` // - InputPackets *int `json:"inputPackets,omitempty"` // - InputQueueCount *int `json:"inputQueueCount,omitempty"` // - InputQueueDrops *int `json:"inputQueueDrops,omitempty"` // - InputQueueFlushes *int `json:"inputQueueFlushes,omitempty"` // - InputQueueMaxDepth *int `json:"inputQueueMaxDepth,omitempty"` // - InputRatebps *int `json:"inputRatebps,omitempty"` // - OperationalStatus string `json:"operationalStatus,omitempty"` // - OutputDrop *int `json:"outputDrop,omitempty"` // - OutputPackets *int `json:"outputPackets,omitempty"` // - OutputQueueCount *int `json:"outputQueueCount,omitempty"` // - OutputQueueDepth *int `json:"outputQueueDepth,omitempty"` // - OutputRatebps *int `json:"outputRatebps,omitempty"` // - RefreshedAt *int `json:"refreshedAt,omitempty"` // + AdminStatus string `json:"adminStatus,omitempty"` // + + InputPackets *int `json:"inputPackets,omitempty"` // + + InputQueueCount *int `json:"inputQueueCount,omitempty"` // + + InputQueueDrops *int `json:"inputQueueDrops,omitempty"` // + + InputQueueFlushes *int `json:"inputQueueFlushes,omitempty"` // + + InputQueueMaxDepth *int `json:"inputQueueMaxDepth,omitempty"` // + + InputRatebps *int `json:"inputRatebps,omitempty"` // + + OperationalStatus string `json:"operationalStatus,omitempty"` // + + OutputDrop *int `json:"outputDrop,omitempty"` // + + OutputPackets *int `json:"outputPackets,omitempty"` // + + OutputQueueCount *int `json:"outputQueueCount,omitempty"` // + + OutputQueueDepth *int `json:"outputQueueDepth,omitempty"` // + + OutputRatebps *int `json:"outputRatebps,omitempty"` // + + RefreshedAt *int `json:"refreshedAt,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfacePathOverlayInfo struct { - ControlPlane string `json:"controlPlane,omitempty"` // - DataPacketEncapsulation string `json:"dataPacketEncapsulation,omitempty"` // - DestIP string `json:"destIp,omitempty"` // - DestPort string `json:"destPort,omitempty"` // - Protocol string `json:"protocol,omitempty"` // - SourceIP string `json:"sourceIp,omitempty"` // - SourcePort string `json:"sourcePort,omitempty"` // - VxlanInfo *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfacePathOverlayInfoVxlanInfo `json:"vxlanInfo,omitempty"` // + ControlPlane string `json:"controlPlane,omitempty"` // + + DataPacketEncapsulation string `json:"dataPacketEncapsulation,omitempty"` // + + DestIP string `json:"destIp,omitempty"` // + + DestPort string `json:"destPort,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // + + SourceIP string `json:"sourceIp,omitempty"` // + + SourcePort string `json:"sourcePort,omitempty"` // + + VxlanInfo *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfacePathOverlayInfoVxlanInfo `json:"vxlanInfo,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfacePathOverlayInfoVxlanInfo struct { Dscp string `json:"dscp,omitempty"` // + Vnid string `json:"vnid,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfacePhysicalInterfaceQosStatistics struct { - ClassMapName string `json:"classMapName,omitempty"` // - DropRate *int `json:"dropRate,omitempty"` // - NumBytes *int `json:"numBytes,omitempty"` // - NumPackets *int `json:"numPackets,omitempty"` // - OfferedRate *int `json:"offeredRate,omitempty"` // - QueueBandwidthbps string `json:"queueBandwidthbps,omitempty"` // - QueueDepth *int `json:"queueDepth,omitempty"` // - QueueNoBufferDrops *int `json:"queueNoBufferDrops,omitempty"` // - QueueTotalDrops *int `json:"queueTotalDrops,omitempty"` // - RefreshedAt *int `json:"refreshedAt,omitempty"` // + ClassMapName string `json:"classMapName,omitempty"` // + + DropRate *int `json:"dropRate,omitempty"` // + + NumBytes *int `json:"numBytes,omitempty"` // + + NumPackets *int `json:"numPackets,omitempty"` // + + OfferedRate *int `json:"offeredRate,omitempty"` // + + QueueBandwidthbps string `json:"queueBandwidthbps,omitempty"` // + + QueueDepth *int `json:"queueDepth,omitempty"` // + + QueueNoBufferDrops *int `json:"queueNoBufferDrops,omitempty"` // + + QueueTotalDrops *int `json:"queueTotalDrops,omitempty"` // + + RefreshedAt *int `json:"refreshedAt,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterface struct { - ACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceACLAnalysis `json:"aclAnalysis,omitempty"` // - ID string `json:"id,omitempty"` // - InterfaceStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceInterfaceStatistics `json:"interfaceStatistics,omitempty"` // - InterfaceStatsCollection string `json:"interfaceStatsCollection,omitempty"` // - InterfaceStatsCollectionFailureReason string `json:"interfaceStatsCollectionFailureReason,omitempty"` // - Name string `json:"name,omitempty"` // - PathOverlayInfo *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfacePathOverlayInfo `json:"pathOverlayInfo,omitempty"` // - QosStatistics *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceQosStatistics `json:"qosStatistics,omitempty"` // - QosStatsCollection string `json:"qosStatsCollection,omitempty"` // - QosStatsCollectionFailureReason string `json:"qosStatsCollectionFailureReason,omitempty"` // - UsedVLAN string `json:"usedVlan,omitempty"` // - VrfName string `json:"vrfName,omitempty"` // + ACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceACLAnalysis `json:"aclAnalysis,omitempty"` // + + ID string `json:"id,omitempty"` // + + InterfaceStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceInterfaceStatistics `json:"interfaceStatistics,omitempty"` // + + InterfaceStatsCollection string `json:"interfaceStatsCollection,omitempty"` // + + InterfaceStatsCollectionFailureReason string `json:"interfaceStatsCollectionFailureReason,omitempty"` // + + Name string `json:"name,omitempty"` // + + PathOverlayInfo *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfacePathOverlayInfo `json:"pathOverlayInfo,omitempty"` // + + QosStatistics *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceQosStatistics `json:"qosStatistics,omitempty"` // + + QosStatsCollection string `json:"qosStatsCollection,omitempty"` // + + QosStatsCollectionFailureReason string `json:"qosStatsCollectionFailureReason,omitempty"` // + + UsedVLAN string `json:"usedVlan,omitempty"` // + + VrfName string `json:"vrfName,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceACLAnalysis struct { - ACLName string `json:"aclName,omitempty"` // + ACLName string `json:"aclName,omitempty"` // + MatchingAces *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceACLAnalysisMatchingAces `json:"matchingAces,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceACLAnalysisMatchingAces struct { - Ace string `json:"ace,omitempty"` // + Ace string `json:"ace,omitempty"` // + MatchingPorts *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceACLAnalysisMatchingAcesMatchingPorts `json:"matchingPorts,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceACLAnalysisMatchingAcesMatchingPorts struct { - Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // - Protocol string `json:"protocol,omitempty"` // + Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceACLAnalysisMatchingAcesMatchingPortsPorts struct { - DestPorts []string `json:"destPorts,omitempty"` // + DestPorts []string `json:"destPorts,omitempty"` // + SourcePorts []string `json:"sourcePorts,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceInterfaceStatistics struct { - AdminStatus string `json:"adminStatus,omitempty"` // - InputPackets *int `json:"inputPackets,omitempty"` // - InputQueueCount *int `json:"inputQueueCount,omitempty"` // - InputQueueDrops *int `json:"inputQueueDrops,omitempty"` // - InputQueueFlushes *int `json:"inputQueueFlushes,omitempty"` // - InputQueueMaxDepth *int `json:"inputQueueMaxDepth,omitempty"` // - InputRatebps *int `json:"inputRatebps,omitempty"` // - OperationalStatus string `json:"operationalStatus,omitempty"` // - OutputDrop *int `json:"outputDrop,omitempty"` // - OutputPackets *int `json:"outputPackets,omitempty"` // - OutputQueueCount *int `json:"outputQueueCount,omitempty"` // - OutputQueueDepth *int `json:"outputQueueDepth,omitempty"` // - OutputRatebps *int `json:"outputRatebps,omitempty"` // - RefreshedAt *int `json:"refreshedAt,omitempty"` // + AdminStatus string `json:"adminStatus,omitempty"` // + + InputPackets *int `json:"inputPackets,omitempty"` // + + InputQueueCount *int `json:"inputQueueCount,omitempty"` // + + InputQueueDrops *int `json:"inputQueueDrops,omitempty"` // + + InputQueueFlushes *int `json:"inputQueueFlushes,omitempty"` // + + InputQueueMaxDepth *int `json:"inputQueueMaxDepth,omitempty"` // + + InputRatebps *int `json:"inputRatebps,omitempty"` // + + OperationalStatus string `json:"operationalStatus,omitempty"` // + + OutputDrop *int `json:"outputDrop,omitempty"` // + + OutputPackets *int `json:"outputPackets,omitempty"` // + + OutputQueueCount *int `json:"outputQueueCount,omitempty"` // + + OutputQueueDepth *int `json:"outputQueueDepth,omitempty"` // + + OutputRatebps *int `json:"outputRatebps,omitempty"` // + + RefreshedAt *int `json:"refreshedAt,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfacePathOverlayInfo struct { - ControlPlane string `json:"controlPlane,omitempty"` // - DataPacketEncapsulation string `json:"dataPacketEncapsulation,omitempty"` // - DestIP string `json:"destIp,omitempty"` // - DestPort string `json:"destPort,omitempty"` // - Protocol string `json:"protocol,omitempty"` // - SourceIP string `json:"sourceIp,omitempty"` // - SourcePort string `json:"sourcePort,omitempty"` // - VxlanInfo *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfacePathOverlayInfoVxlanInfo `json:"vxlanInfo,omitempty"` // + ControlPlane string `json:"controlPlane,omitempty"` // + + DataPacketEncapsulation string `json:"dataPacketEncapsulation,omitempty"` // + + DestIP string `json:"destIp,omitempty"` // + + DestPort string `json:"destPort,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // + + SourceIP string `json:"sourceIp,omitempty"` // + + SourcePort string `json:"sourcePort,omitempty"` // + + VxlanInfo *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfacePathOverlayInfoVxlanInfo `json:"vxlanInfo,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfacePathOverlayInfoVxlanInfo struct { Dscp string `json:"dscp,omitempty"` // + Vnid string `json:"vnid,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoEgressInterfaceVirtualInterfaceQosStatistics struct { - ClassMapName string `json:"classMapName,omitempty"` // - DropRate *int `json:"dropRate,omitempty"` // - NumBytes *int `json:"numBytes,omitempty"` // - NumPackets *int `json:"numPackets,omitempty"` // - OfferedRate *int `json:"offeredRate,omitempty"` // - QueueBandwidthbps string `json:"queueBandwidthbps,omitempty"` // - QueueDepth *int `json:"queueDepth,omitempty"` // - QueueNoBufferDrops *int `json:"queueNoBufferDrops,omitempty"` // - QueueTotalDrops *int `json:"queueTotalDrops,omitempty"` // - RefreshedAt *int `json:"refreshedAt,omitempty"` // + ClassMapName string `json:"classMapName,omitempty"` // + + DropRate *int `json:"dropRate,omitempty"` // + + NumBytes *int `json:"numBytes,omitempty"` // + + NumPackets *int `json:"numPackets,omitempty"` // + + OfferedRate *int `json:"offeredRate,omitempty"` // + + QueueBandwidthbps string `json:"queueBandwidthbps,omitempty"` // + + QueueDepth *int `json:"queueDepth,omitempty"` // + + QueueNoBufferDrops *int `json:"queueNoBufferDrops,omitempty"` // + + QueueTotalDrops *int `json:"queueTotalDrops,omitempty"` // + + RefreshedAt *int `json:"refreshedAt,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnect struct { - Authentication string `json:"authentication,omitempty"` // - DataSwitching string `json:"dataSwitching,omitempty"` // - EgressACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectEgressACLAnalysis `json:"egressAclAnalysis,omitempty"` // - IngressACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectIngressACLAnalysis `json:"ingressAclAnalysis,omitempty"` // - WirelessLanControllerID string `json:"wirelessLanControllerId,omitempty"` // - WirelessLanControllerName string `json:"wirelessLanControllerName,omitempty"` // + Authentication string `json:"authentication,omitempty"` // + + DataSwitching string `json:"dataSwitching,omitempty"` // + + EgressACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectEgressACLAnalysis `json:"egressAclAnalysis,omitempty"` // + + IngressACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectIngressACLAnalysis `json:"ingressAclAnalysis,omitempty"` // + + WirelessLanControllerID string `json:"wirelessLanControllerId,omitempty"` // + + WirelessLanControllerName string `json:"wirelessLanControllerName,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectEgressACLAnalysis struct { - ACLName string `json:"aclName,omitempty"` // + ACLName string `json:"aclName,omitempty"` // + MatchingAces *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectEgressACLAnalysisMatchingAces `json:"matchingAces,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectEgressACLAnalysisMatchingAces struct { - Ace string `json:"ace,omitempty"` // + Ace string `json:"ace,omitempty"` // + MatchingPorts *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectEgressACLAnalysisMatchingAcesMatchingPorts `json:"matchingPorts,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectEgressACLAnalysisMatchingAcesMatchingPorts struct { - Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectEgressACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // - Protocol string `json:"protocol,omitempty"` // + Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectEgressACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectEgressACLAnalysisMatchingAcesMatchingPortsPorts struct { - DestPorts []string `json:"destPorts,omitempty"` // + DestPorts []string `json:"destPorts,omitempty"` // + SourcePorts []string `json:"sourcePorts,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectIngressACLAnalysis struct { - ACLName string `json:"aclName,omitempty"` // + ACLName string `json:"aclName,omitempty"` // + MatchingAces *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectIngressACLAnalysisMatchingAces `json:"matchingAces,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectIngressACLAnalysisMatchingAces struct { - Ace string `json:"ace,omitempty"` // + Ace string `json:"ace,omitempty"` // + MatchingPorts *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectIngressACLAnalysisMatchingAcesMatchingPorts `json:"matchingPorts,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectIngressACLAnalysisMatchingAcesMatchingPorts struct { - Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectIngressACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // - Protocol string `json:"protocol,omitempty"` // + Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectIngressACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoFlexConnectIngressACLAnalysisMatchingAcesMatchingPortsPorts struct { - DestPorts []string `json:"destPorts,omitempty"` // + DestPorts []string `json:"destPorts,omitempty"` // + SourcePorts []string `json:"sourcePorts,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterface struct { - PhysicalInterface *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterface `json:"physicalInterface,omitempty"` // - VirtualInterface *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterface `json:"virtualInterface,omitempty"` // + PhysicalInterface *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterface `json:"physicalInterface,omitempty"` // + + VirtualInterface *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterface `json:"virtualInterface,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterface struct { - ACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceACLAnalysis `json:"aclAnalysis,omitempty"` // - ID string `json:"id,omitempty"` // - InterfaceStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceInterfaceStatistics `json:"interfaceStatistics,omitempty"` // - InterfaceStatsCollection string `json:"interfaceStatsCollection,omitempty"` // - InterfaceStatsCollectionFailureReason string `json:"interfaceStatsCollectionFailureReason,omitempty"` // - Name string `json:"name,omitempty"` // - PathOverlayInfo *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfacePathOverlayInfo `json:"pathOverlayInfo,omitempty"` // - QosStatistics *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceQosStatistics `json:"qosStatistics,omitempty"` // - QosStatsCollection string `json:"qosStatsCollection,omitempty"` // - QosStatsCollectionFailureReason string `json:"qosStatsCollectionFailureReason,omitempty"` // - UsedVLAN string `json:"usedVlan,omitempty"` // - VrfName string `json:"vrfName,omitempty"` // + ACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceACLAnalysis `json:"aclAnalysis,omitempty"` // + + ID string `json:"id,omitempty"` // + + InterfaceStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceInterfaceStatistics `json:"interfaceStatistics,omitempty"` // + + InterfaceStatsCollection string `json:"interfaceStatsCollection,omitempty"` // + + InterfaceStatsCollectionFailureReason string `json:"interfaceStatsCollectionFailureReason,omitempty"` // + + Name string `json:"name,omitempty"` // + + PathOverlayInfo *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfacePathOverlayInfo `json:"pathOverlayInfo,omitempty"` // + + QosStatistics *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceQosStatistics `json:"qosStatistics,omitempty"` // + + QosStatsCollection string `json:"qosStatsCollection,omitempty"` // + + QosStatsCollectionFailureReason string `json:"qosStatsCollectionFailureReason,omitempty"` // + + UsedVLAN string `json:"usedVlan,omitempty"` // + + VrfName string `json:"vrfName,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceACLAnalysis struct { - ACLName string `json:"aclName,omitempty"` // + ACLName string `json:"aclName,omitempty"` // + MatchingAces *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceACLAnalysisMatchingAces `json:"matchingAces,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceACLAnalysisMatchingAces struct { - Ace string `json:"ace,omitempty"` // + Ace string `json:"ace,omitempty"` // + MatchingPorts *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceACLAnalysisMatchingAcesMatchingPorts `json:"matchingPorts,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceACLAnalysisMatchingAcesMatchingPorts struct { - Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // - Protocol string `json:"protocol,omitempty"` // + Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceACLAnalysisMatchingAcesMatchingPortsPorts struct { - DestPorts []string `json:"destPorts,omitempty"` // + DestPorts []string `json:"destPorts,omitempty"` // + SourcePorts []string `json:"sourcePorts,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceInterfaceStatistics struct { - AdminStatus string `json:"adminStatus,omitempty"` // - InputPackets *int `json:"inputPackets,omitempty"` // - InputQueueCount *int `json:"inputQueueCount,omitempty"` // - InputQueueDrops *int `json:"inputQueueDrops,omitempty"` // - InputQueueFlushes *int `json:"inputQueueFlushes,omitempty"` // - InputQueueMaxDepth *int `json:"inputQueueMaxDepth,omitempty"` // - InputRatebps *int `json:"inputRatebps,omitempty"` // - OperationalStatus string `json:"operationalStatus,omitempty"` // - OutputDrop *int `json:"outputDrop,omitempty"` // - OutputPackets *int `json:"outputPackets,omitempty"` // - OutputQueueCount *int `json:"outputQueueCount,omitempty"` // - OutputQueueDepth *int `json:"outputQueueDepth,omitempty"` // - OutputRatebps *int `json:"outputRatebps,omitempty"` // - RefreshedAt *int `json:"refreshedAt,omitempty"` // + AdminStatus string `json:"adminStatus,omitempty"` // + + InputPackets *int `json:"inputPackets,omitempty"` // + + InputQueueCount *int `json:"inputQueueCount,omitempty"` // + + InputQueueDrops *int `json:"inputQueueDrops,omitempty"` // + + InputQueueFlushes *int `json:"inputQueueFlushes,omitempty"` // + + InputQueueMaxDepth *int `json:"inputQueueMaxDepth,omitempty"` // + + InputRatebps *int `json:"inputRatebps,omitempty"` // + + OperationalStatus string `json:"operationalStatus,omitempty"` // + + OutputDrop *int `json:"outputDrop,omitempty"` // + + OutputPackets *int `json:"outputPackets,omitempty"` // + + OutputQueueCount *int `json:"outputQueueCount,omitempty"` // + + OutputQueueDepth *int `json:"outputQueueDepth,omitempty"` // + + OutputRatebps *int `json:"outputRatebps,omitempty"` // + + RefreshedAt *int `json:"refreshedAt,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfacePathOverlayInfo struct { - ControlPlane string `json:"controlPlane,omitempty"` // - DataPacketEncapsulation string `json:"dataPacketEncapsulation,omitempty"` // - DestIP string `json:"destIp,omitempty"` // - DestPort string `json:"destPort,omitempty"` // - Protocol string `json:"protocol,omitempty"` // - SourceIP string `json:"sourceIp,omitempty"` // - SourcePort string `json:"sourcePort,omitempty"` // - VxlanInfo *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfacePathOverlayInfoVxlanInfo `json:"vxlanInfo,omitempty"` // + ControlPlane string `json:"controlPlane,omitempty"` // + + DataPacketEncapsulation string `json:"dataPacketEncapsulation,omitempty"` // + + DestIP string `json:"destIp,omitempty"` // + + DestPort string `json:"destPort,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // + + SourceIP string `json:"sourceIp,omitempty"` // + + SourcePort string `json:"sourcePort,omitempty"` // + + VxlanInfo *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfacePathOverlayInfoVxlanInfo `json:"vxlanInfo,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfacePathOverlayInfoVxlanInfo struct { Dscp string `json:"dscp,omitempty"` // + Vnid string `json:"vnid,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfacePhysicalInterfaceQosStatistics struct { - ClassMapName string `json:"classMapName,omitempty"` // - DropRate *int `json:"dropRate,omitempty"` // - NumBytes *int `json:"numBytes,omitempty"` // - NumPackets *int `json:"numPackets,omitempty"` // - OfferedRate *int `json:"offeredRate,omitempty"` // - QueueBandwidthbps string `json:"queueBandwidthbps,omitempty"` // - QueueDepth *int `json:"queueDepth,omitempty"` // - QueueNoBufferDrops *int `json:"queueNoBufferDrops,omitempty"` // - QueueTotalDrops *int `json:"queueTotalDrops,omitempty"` // - RefreshedAt *int `json:"refreshedAt,omitempty"` // + ClassMapName string `json:"classMapName,omitempty"` // + + DropRate *int `json:"dropRate,omitempty"` // + + NumBytes *int `json:"numBytes,omitempty"` // + + NumPackets *int `json:"numPackets,omitempty"` // + + OfferedRate *int `json:"offeredRate,omitempty"` // + + QueueBandwidthbps string `json:"queueBandwidthbps,omitempty"` // + + QueueDepth *int `json:"queueDepth,omitempty"` // + + QueueNoBufferDrops *int `json:"queueNoBufferDrops,omitempty"` // + + QueueTotalDrops *int `json:"queueTotalDrops,omitempty"` // + + RefreshedAt *int `json:"refreshedAt,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterface struct { - ACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceACLAnalysis `json:"aclAnalysis,omitempty"` // - ID string `json:"id,omitempty"` // - InterfaceStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceInterfaceStatistics `json:"interfaceStatistics,omitempty"` // - InterfaceStatsCollection string `json:"interfaceStatsCollection,omitempty"` // - InterfaceStatsCollectionFailureReason string `json:"interfaceStatsCollectionFailureReason,omitempty"` // - Name string `json:"name,omitempty"` // - PathOverlayInfo *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfacePathOverlayInfo `json:"pathOverlayInfo,omitempty"` // - QosStatistics *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceQosStatistics `json:"qosStatistics,omitempty"` // - QosStatsCollection string `json:"qosStatsCollection,omitempty"` // - QosStatsCollectionFailureReason string `json:"qosStatsCollectionFailureReason,omitempty"` // - UsedVLAN string `json:"usedVlan,omitempty"` // - VrfName string `json:"vrfName,omitempty"` // + ACLAnalysis *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceACLAnalysis `json:"aclAnalysis,omitempty"` // + + ID string `json:"id,omitempty"` // + + InterfaceStatistics *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceInterfaceStatistics `json:"interfaceStatistics,omitempty"` // + + InterfaceStatsCollection string `json:"interfaceStatsCollection,omitempty"` // + + InterfaceStatsCollectionFailureReason string `json:"interfaceStatsCollectionFailureReason,omitempty"` // + + Name string `json:"name,omitempty"` // + + PathOverlayInfo *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfacePathOverlayInfo `json:"pathOverlayInfo,omitempty"` // + + QosStatistics *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceQosStatistics `json:"qosStatistics,omitempty"` // + + QosStatsCollection string `json:"qosStatsCollection,omitempty"` // + + QosStatsCollectionFailureReason string `json:"qosStatsCollectionFailureReason,omitempty"` // + + UsedVLAN string `json:"usedVlan,omitempty"` // + + VrfName string `json:"vrfName,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceACLAnalysis struct { - ACLName string `json:"aclName,omitempty"` // + ACLName string `json:"aclName,omitempty"` // + MatchingAces *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceACLAnalysisMatchingAces `json:"matchingAces,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceACLAnalysisMatchingAces struct { - Ace string `json:"ace,omitempty"` // + Ace string `json:"ace,omitempty"` // + MatchingPorts *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceACLAnalysisMatchingAcesMatchingPorts `json:"matchingPorts,omitempty"` // - Result string `json:"result,omitempty"` // + + Result string `json:"result,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceACLAnalysisMatchingAcesMatchingPorts struct { - Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // - Protocol string `json:"protocol,omitempty"` // + Ports *[]ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceACLAnalysisMatchingAcesMatchingPortsPorts `json:"ports,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceACLAnalysisMatchingAcesMatchingPortsPorts struct { - DestPorts []string `json:"destPorts,omitempty"` // + DestPorts []string `json:"destPorts,omitempty"` // + SourcePorts []string `json:"sourcePorts,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceInterfaceStatistics struct { - AdminStatus string `json:"adminStatus,omitempty"` // - InputPackets *int `json:"inputPackets,omitempty"` // - InputQueueCount *int `json:"inputQueueCount,omitempty"` // - InputQueueDrops *int `json:"inputQueueDrops,omitempty"` // - InputQueueFlushes *int `json:"inputQueueFlushes,omitempty"` // - InputQueueMaxDepth *int `json:"inputQueueMaxDepth,omitempty"` // - InputRatebps *int `json:"inputRatebps,omitempty"` // - OperationalStatus string `json:"operationalStatus,omitempty"` // - OutputDrop *int `json:"outputDrop,omitempty"` // - OutputPackets *int `json:"outputPackets,omitempty"` // - OutputQueueCount *int `json:"outputQueueCount,omitempty"` // - OutputQueueDepth *int `json:"outputQueueDepth,omitempty"` // - OutputRatebps *int `json:"outputRatebps,omitempty"` // - RefreshedAt *int `json:"refreshedAt,omitempty"` // + AdminStatus string `json:"adminStatus,omitempty"` // + + InputPackets *int `json:"inputPackets,omitempty"` // + + InputQueueCount *int `json:"inputQueueCount,omitempty"` // + + InputQueueDrops *int `json:"inputQueueDrops,omitempty"` // + + InputQueueFlushes *int `json:"inputQueueFlushes,omitempty"` // + + InputQueueMaxDepth *int `json:"inputQueueMaxDepth,omitempty"` // + + InputRatebps *int `json:"inputRatebps,omitempty"` // + + OperationalStatus string `json:"operationalStatus,omitempty"` // + + OutputDrop *int `json:"outputDrop,omitempty"` // + + OutputPackets *int `json:"outputPackets,omitempty"` // + + OutputQueueCount *int `json:"outputQueueCount,omitempty"` // + + OutputQueueDepth *int `json:"outputQueueDepth,omitempty"` // + + OutputRatebps *int `json:"outputRatebps,omitempty"` // + + RefreshedAt *int `json:"refreshedAt,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfacePathOverlayInfo struct { - ControlPlane string `json:"controlPlane,omitempty"` // - DataPacketEncapsulation string `json:"dataPacketEncapsulation,omitempty"` // - DestIP string `json:"destIp,omitempty"` // - DestPort string `json:"destPort,omitempty"` // - Protocol string `json:"protocol,omitempty"` // - SourceIP string `json:"sourceIp,omitempty"` // - SourcePort string `json:"sourcePort,omitempty"` // - VxlanInfo *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfacePathOverlayInfoVxlanInfo `json:"vxlanInfo,omitempty"` // + ControlPlane string `json:"controlPlane,omitempty"` // + + DataPacketEncapsulation string `json:"dataPacketEncapsulation,omitempty"` // + + DestIP string `json:"destIp,omitempty"` // + + DestPort string `json:"destPort,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // + + SourceIP string `json:"sourceIp,omitempty"` // + + SourcePort string `json:"sourcePort,omitempty"` // + + VxlanInfo *ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfacePathOverlayInfoVxlanInfo `json:"vxlanInfo,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfacePathOverlayInfoVxlanInfo struct { Dscp string `json:"dscp,omitempty"` // + Vnid string `json:"vnid,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoIngressInterfaceVirtualInterfaceQosStatistics struct { - ClassMapName string `json:"classMapName,omitempty"` // - DropRate *int `json:"dropRate,omitempty"` // - NumBytes *int `json:"numBytes,omitempty"` // - NumPackets *int `json:"numPackets,omitempty"` // - OfferedRate *int `json:"offeredRate,omitempty"` // - QueueBandwidthbps string `json:"queueBandwidthbps,omitempty"` // - QueueDepth *int `json:"queueDepth,omitempty"` // - QueueNoBufferDrops *int `json:"queueNoBufferDrops,omitempty"` // - QueueTotalDrops *int `json:"queueTotalDrops,omitempty"` // - RefreshedAt *int `json:"refreshedAt,omitempty"` // + ClassMapName string `json:"classMapName,omitempty"` // + + DropRate *int `json:"dropRate,omitempty"` // + + NumBytes *int `json:"numBytes,omitempty"` // + + NumPackets *int `json:"numPackets,omitempty"` // + + OfferedRate *int `json:"offeredRate,omitempty"` // + + QueueBandwidthbps string `json:"queueBandwidthbps,omitempty"` // + + QueueDepth *int `json:"queueDepth,omitempty"` // + + QueueNoBufferDrops *int `json:"queueNoBufferDrops,omitempty"` // + + QueueTotalDrops *int `json:"queueTotalDrops,omitempty"` // + + RefreshedAt *int `json:"refreshedAt,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseNetworkElementsInfoPerfMonitorStatistics struct { - ByteRate *int `json:"byteRate,omitempty"` // - DestIPAddress string `json:"destIpAddress,omitempty"` // - DestPort string `json:"destPort,omitempty"` // - InputInterface string `json:"inputInterface,omitempty"` // - IPv4DSCP string `json:"ipv4DSCP,omitempty"` // - IPv4TTL *int `json:"ipv4TTL,omitempty"` // - OutputInterface string `json:"outputInterface,omitempty"` // - PacketBytes *int `json:"packetBytes,omitempty"` // - PacketCount *int `json:"packetCount,omitempty"` // - PacketLoss *int `json:"packetLoss,omitempty"` // + ByteRate *int `json:"byteRate,omitempty"` // + + DestIPAddress string `json:"destIpAddress,omitempty"` // + + DestPort string `json:"destPort,omitempty"` // + + InputInterface string `json:"inputInterface,omitempty"` // + + IPv4DSCP string `json:"ipv4DSCP,omitempty"` // + + IPv4TTL *int `json:"ipv4TTL,omitempty"` // + + OutputInterface string `json:"outputInterface,omitempty"` // + + PacketBytes *int `json:"packetBytes,omitempty"` // + + PacketCount *int `json:"packetCount,omitempty"` // + + PacketLoss *int `json:"packetLoss,omitempty"` // + PacketLossPercentage *float64 `json:"packetLossPercentage,omitempty"` // - Protocol string `json:"protocol,omitempty"` // - RefreshedAt *int `json:"refreshedAt,omitempty"` // - RtpJitterMax *int `json:"rtpJitterMax,omitempty"` // - RtpJitterMean *int `json:"rtpJitterMean,omitempty"` // - RtpJitterMin *int `json:"rtpJitterMin,omitempty"` // - SourceIPAddress string `json:"sourceIpAddress,omitempty"` // - SourcePort string `json:"sourcePort,omitempty"` // + + Protocol string `json:"protocol,omitempty"` // + + RefreshedAt *int `json:"refreshedAt,omitempty"` // + + RtpJitterMax *int `json:"rtpJitterMax,omitempty"` // + + RtpJitterMean *int `json:"rtpJitterMean,omitempty"` // + + RtpJitterMin *int `json:"rtpJitterMin,omitempty"` // + + SourceIPAddress string `json:"sourceIpAddress,omitempty"` // + + SourcePort string `json:"sourcePort,omitempty"` // } type ResponsePathTraceRetrievesPreviousPathtraceResponseRequest struct { - ControlPath *bool `json:"controlPath,omitempty"` // Control path tracing - CreateTime *int `json:"createTime,omitempty"` // Timestamp when the Path Trace request was first received - DestIP string `json:"destIP,omitempty"` // IP Address of the destination device - DestPort string `json:"destPort,omitempty"` // Port on the destination device - FailureReason string `json:"failureReason,omitempty"` // Reason for failure - ID string `json:"id,omitempty"` // Unique ID for the Path Trace request - Inclusions []string `json:"inclusions,omitempty"` // Subset of {INTERFACE-STATS, QOS-STATS, DEVICE-STATS, PERFORMANCE-STATS, ACL-TRACE} - LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last timestamp when the path trace response was updated - PeriodicRefresh *bool `json:"periodicRefresh,omitempty"` // Re-run the Path Trace every 30 seconds - Protocol string `json:"protocol,omitempty"` // One of TCP/UDP or either (null) - SourceIP string `json:"sourceIP,omitempty"` // IP Address of the source device - SourcePort string `json:"sourcePort,omitempty"` // Port on the source device - Status string `json:"status,omitempty"` // One of {SUCCESS, INPROGRESS, FAILED, SCHEDULED, PENDING, COMPLETED} - PreviousFlowAnalysisID string `json:"previousFlowAnalysisId,omitempty"` // When periodicRefresh is true, this field holds the original Path Trace request ID + ControlPath *bool `json:"controlPath,omitempty"` // Control path tracing + + CreateTime *int `json:"createTime,omitempty"` // Timestamp when the Path Trace request was first received + + DestIP string `json:"destIP,omitempty"` // IP Address of the destination device + + DestPort string `json:"destPort,omitempty"` // Port on the destination device + + FailureReason string `json:"failureReason,omitempty"` // Reason for failure + + ID string `json:"id,omitempty"` // Unique ID for the Path Trace request + + Inclusions []string `json:"inclusions,omitempty"` // Subset of {INTERFACE-STATS, QOS-STATS, DEVICE-STATS, PERFORMANCE-STATS, ACL-TRACE} + + LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last timestamp when the path trace response was updated + + PeriodicRefresh *bool `json:"periodicRefresh,omitempty"` // Re-run the Path Trace every 30 seconds + + Protocol string `json:"protocol,omitempty"` // One of TCP/UDP or either (null) + + SourceIP string `json:"sourceIP,omitempty"` // IP Address of the source device + + SourcePort string `json:"sourcePort,omitempty"` // Port on the source device + + Status string `json:"status,omitempty"` // One of {SUCCESS, INPROGRESS, FAILED, SCHEDULED, PENDING, COMPLETED} + + PreviousFlowAnalysisID string `json:"previousFlowAnalysisId,omitempty"` // When periodicRefresh is true, this field holds the original Path Trace request ID } type ResponsePathTraceDeletesPathtraceByID struct { Response *ResponsePathTraceDeletesPathtraceByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponsePathTraceDeletesPathtraceByIDResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type RequestPathTraceInitiateANewPathtrace struct { - ControlPath *bool `json:"controlPath,omitempty"` // Control path tracing - DestIP string `json:"destIP,omitempty"` // Destination IP address - DestPort string `json:"destPort,omitempty"` // Destination Port, range: 1-65535 - Inclusions []string `json:"inclusions,omitempty"` // Subset of {INTERFACE-STATS, QOS-STATS, DEVICE-STATS, PERFORMANCE-STATS, ACL-TRACE} - PeriodicRefresh *bool `json:"periodicRefresh,omitempty"` // Periodic refresh of path for every 30 sec - Protocol string `json:"protocol,omitempty"` // Protocol - one of [TCP, UDP] - checks both when left blank - SourceIP string `json:"sourceIP,omitempty"` // Source IP address - SourcePort string `json:"sourcePort,omitempty"` // Source Port, range: 1-65535 + ControlPath *bool `json:"controlPath,omitempty"` // Control path tracing + + DestIP string `json:"destIP,omitempty"` // Destination IP address + + DestPort string `json:"destPort,omitempty"` // Destination Port, range: 1-65535 + + Inclusions []string `json:"inclusions,omitempty"` // Subset of {INTERFACE-STATS, QOS-STATS, DEVICE-STATS, PERFORMANCE-STATS, ACL-TRACE} + + PeriodicRefresh *bool `json:"periodicRefresh,omitempty"` // Periodic refresh of path for every 30 sec + + Protocol string `json:"protocol,omitempty"` // Protocol - one of [TCP, UDP] - checks both when left blank + + SourceIP string `json:"sourceIP,omitempty"` // Source IP address + + SourcePort string `json:"sourcePort,omitempty"` // Source Port, range: 1-65535 } //RetrievesAllPreviousPathtracesSummary Retrieves all previous Pathtraces summary - 55bc-3bf9-4e38-b6ff @@ -935,7 +1225,7 @@ type RequestPathTraceInitiateANewPathtrace struct { @param RetrievesAllPreviousPathtracesSummaryQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-all-previous-pathtraces-summary-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-all-previous-pathtraces-summary */ func (s *PathTraceService) RetrievesAllPreviousPathtracesSummary(RetrievesAllPreviousPathtracesSummaryQueryParams *RetrievesAllPreviousPathtracesSummaryQueryParams) (*ResponsePathTraceRetrievesAllPreviousPathtracesSummary, *resty.Response, error) { path := "/dna/intent/api/v1/flow-analysis" @@ -973,7 +1263,7 @@ func (s *PathTraceService) RetrievesAllPreviousPathtracesSummary(RetrievesAllPre @param flowAnalysisID flowAnalysisId path parameter. Flow analysis request id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-previous-pathtrace-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-previous-pathtrace */ func (s *PathTraceService) RetrievesPreviousPathtrace(flowAnalysisID string) (*ResponsePathTraceRetrievesPreviousPathtrace, *resty.Response, error) { path := "/dna/intent/api/v1/flow-analysis/{flowAnalysisId}" @@ -1008,7 +1298,7 @@ func (s *PathTraceService) RetrievesPreviousPathtrace(flowAnalysisID string) (*R -Documentation Link: https://developer.cisco.com/docs/dna-center/#!initiate-a-new-pathtrace-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!initiate-a-new-pathtrace */ func (s *PathTraceService) InitiateANewPathtrace(requestPathTraceInitiateANewPathtrace *RequestPathTraceInitiateANewPathtrace) (*ResponsePathTraceInitiateANewPathtrace, *resty.Response, error) { path := "/dna/intent/api/v1/flow-analysis" @@ -1047,7 +1337,7 @@ func (s *PathTraceService) InitiateANewPathtrace(requestPathTraceInitiateANewPat @param flowAnalysisID flowAnalysisId path parameter. Flow analysis request id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-pathtrace-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-pathtrace-by-id */ func (s *PathTraceService) DeletesPathtraceByID(flowAnalysisID string) (*ResponsePathTraceDeletesPathtraceByID, *resty.Response, error) { //flowAnalysisID string diff --git a/sdk/platform.go b/sdk/platform.go index dd12fac..a0e073f 100644 --- a/sdk/platform.go +++ b/sdk/platform.go @@ -22,74 +22,103 @@ type ResponsePlatformCiscoDnaCenterReleaseSummary struct { Response *ResponsePlatformCiscoDnaCenterReleaseSummaryResponse `json:"response,omitempty"` // } type ResponsePlatformCiscoDnaCenterReleaseSummaryResponse struct { - CorePackages []string `json:"corePackages,omitempty"` // The set of packages that are mandatory to be installed/upgraded with the release - Packages []string `json:"packages,omitempty"` // The set of packages upgrades available with this release that will not be upgraded unless selected for upgrade - Name string `json:"name,omitempty"` // Name of the release (example "dnac") - InstalledVersion string `json:"installedVersion,omitempty"` // The installed Cisco DNAC version - SystemVersion string `json:"systemVersion,omitempty"` // The MAGLEV-SYSTEM version + CorePackages []string `json:"corePackages,omitempty"` // The set of packages that are mandatory to be installed/upgraded with the release + + Packages []string `json:"packages,omitempty"` // The set of packages upgrades available with this release that will not be upgraded unless selected for upgrade + + Name string `json:"name,omitempty"` // Name of the release (example "dnac") + + InstalledVersion string `json:"installedVersion,omitempty"` // The installed Cisco Dna Center version + + SystemVersion string `json:"systemVersion,omitempty"` // The MAGLEV-SYSTEM version + SupportedDirectUpdates *[]ResponsePlatformCiscoDnaCenterReleaseSummaryResponseSupportedDirectUpdates `json:"supportedDirectUpdates,omitempty"` // The list of earlier releases that can upgrade directly to the current release. If the supportedDirectUpdates value is empty, then no direct upgrades to the current release are allowed. - TenantID string `json:"tenantId,omitempty"` // Tenant ID (for multi tenant Cisco DNA Center) + + TenantID string `json:"tenantId,omitempty"` // Tenant ID (for multi tenant Cisco Dna Center) } type ResponsePlatformCiscoDnaCenterReleaseSummaryResponseSupportedDirectUpdates interface{} type ResponsePlatformCiscoDnaCenterNodesConfigurationSummary struct { - Version string `json:"version,omitempty"` // The MAGLEV-API version (this field is for internal development purpose) + Version string `json:"version,omitempty"` // The MAGLEV-API version (this field is for internal development purpose) + Response *ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponse `json:"response,omitempty"` // } type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponse struct { Nodes *[]ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodes `json:"nodes,omitempty"` // } type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodes struct { - Ntp *ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNtp `json:"ntp,omitempty"` // - Network *[]ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetwork `json:"network,omitempty"` // - Proxy *ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesProxy `json:"proxy,omitempty"` // - Platform *ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesPlatform `json:"platform,omitempty"` // - ID string `json:"id,omitempty"` // Cluster Identifier - Name string `json:"name,omitempty"` // Node name + Ntp *ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNtp `json:"ntp,omitempty"` // + + Network *[]ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetwork `json:"network,omitempty"` // + + Proxy *ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesProxy `json:"proxy,omitempty"` // + + Platform *ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesPlatform `json:"platform,omitempty"` // + + ID string `json:"id,omitempty"` // Cluster Identifier + + Name string `json:"name,omitempty"` // Node name } type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNtp struct { Servers []string `json:"servers,omitempty"` // NTP server } type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetwork struct { - IntraClusterLink *bool `json:"intra_cluster_link,omitempty"` // Flag to indicate which interface is configured as the inter-cluster link - LacpMode *bool `json:"lacp_mode,omitempty"` // LACP Mode configuration on NIC - Inet *ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInet `json:"inet,omitempty"` // - Interface string `json:"interface,omitempty"` // Interface name - Inet6 *ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInet6 `json:"inet6,omitempty"` // - LacpSupported *bool `json:"lacp_supported,omitempty"` // LACP Support configuration on NIC - SLAve []string `json:"slave,omitempty"` // Physical interface name + IntraClusterLink *bool `json:"intra_cluster_link,omitempty"` // Flag to indicate which interface is configured as the inter-cluster link + + LacpMode *bool `json:"lacp_mode,omitempty"` // LACP Mode configuration on NIC + + Inet *ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInet `json:"inet,omitempty"` // + + Interface string `json:"interface,omitempty"` // Interface name + + Inet6 *ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInet6 `json:"inet6,omitempty"` // + + LacpSupported *bool `json:"lacp_supported,omitempty"` // LACP Support configuration on NIC + + SLAve []string `json:"slave,omitempty"` // Physical interface name } type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInet struct { - Routes *[]ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInetRoutes `json:"routes,omitempty"` // Static route - Gateway string `json:"gateway,omitempty"` // Default gateway + Routes *[]ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInetRoutes `json:"routes,omitempty"` // Static route + + Gateway string `json:"gateway,omitempty"` // Default gateway + DNSServers *[]ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInetDNSServers `json:"dns_servers,omitempty"` // DNS server - Netmask string `json:"netmask,omitempty"` // Subnet mask - HostIP string `json:"host_ip,omitempty"` // IP assigned + + Netmask string `json:"netmask,omitempty"` // Subnet mask + + HostIP string `json:"host_ip,omitempty"` // IP assigned } type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInetRoutes interface{} type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInetDNSServers interface{} type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInet6 struct { - HostIP string `json:"host_ip,omitempty"` // IP assigned to the host + HostIP string `json:"host_ip,omitempty"` // IP assigned to the host + Netmask string `json:"netmask,omitempty"` // Subnet mask of the host } type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesProxy struct { - HTTPSProxy string `json:"https_proxy,omitempty"` // Https Proxy Server - NoProxy []string `json:"no_proxy,omitempty"` // Servers configured to explicitly use no proxy - HTTPSProxyUsername string `json:"https_proxy_username,omitempty"` // Configured Https proxy username - HTTPProxy string `json:"http_proxy,omitempty"` // Not Supported - HTTPSProxyPassword string `json:"https_proxy_password,omitempty"` // Configured Https excrypted proxy password. + HTTPSProxy string `json:"https_proxy,omitempty"` // Https Proxy Server + + NoProxy []string `json:"no_proxy,omitempty"` // Servers configured to explicitly use no proxy + + HTTPSProxyUsername string `json:"https_proxy_username,omitempty"` // Configured Https proxy username + + HTTPProxy string `json:"http_proxy,omitempty"` // Not Supported + + HTTPSProxyPassword string `json:"https_proxy_password,omitempty"` // Configured Https excrypted proxy password. } type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesPlatform struct { - Vendor string `json:"vendor,omitempty"` // Product manufacturer + Vendor string `json:"vendor,omitempty"` // Product manufacturer + Product string `json:"product,omitempty"` // Product Identifier - Serial string `json:"serial,omitempty"` // Serial number of chassis + + Serial string `json:"serial,omitempty"` // Serial number of chassis } -//CiscoDnaCenterPackagesSummary Cisco Catalyst Center Packages Summary - f3aa-697a-453a-bba0 -/* Provides information such as name, version of packages installed on the Catalyst Center. +//CiscoDnaCenterPackagesSummary Cisco Dna Center Packages Summary - f3aa-697a-453a-bba0 +/* Provides information such as name, version of packages installed on the Dna center. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-dna-center-packages-summary-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-dna-center-packages-summary */ func (s *PlatformService) CiscoDnaCenterPackagesSummary() (*ResponsePlatformCiscoDnaCenterPackagesSummary, *resty.Response, error) { path := "/dna/intent/api/v1/dnac-packages" @@ -118,12 +147,12 @@ func (s *PlatformService) CiscoDnaCenterPackagesSummary() (*ResponsePlatformCisc } -//CiscoDnaCenterReleaseSummary Cisco Catalyst Center Release Summary - 5b87-e929-418b-8550 -/* Provides information such as API version, mandatory core packages for installation or upgrade, optional packages, Cisco Catalyst Center name and version, supported direct updates, and tenant ID. +//CiscoDnaCenterReleaseSummary Cisco Dna Center Release Summary - 5b87-e929-418b-8550 +/* Provides information such as API version, mandatory core packages for installation or upgrade, optional packages, Cisco Dna Center name and version, supported direct updates, and tenant ID. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-dna-center-release-summary-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-dna-center-release-summary */ func (s *PlatformService) CiscoDnaCenterReleaseSummary() (*ResponsePlatformCiscoDnaCenterReleaseSummary, *resty.Response, error) { path := "/dna/intent/api/v1/dnac-release" @@ -152,12 +181,12 @@ func (s *PlatformService) CiscoDnaCenterReleaseSummary() (*ResponsePlatformCisco } -//CiscoDnaCenterNodesConfigurationSummary Cisco Catalyst Center Nodes Configuration Summary - d8b0-fb13-4f08-a967 -/* Provides details about the current Cisco Catalyst Center node configuration, such as API version, node name, NTP server, intracluster link, LACP mode, network static routes, DNS server, subnet mask, host IP, default gateway, and interface information. +//CiscoDnaCenterNodesConfigurationSummary Cisco Dna Center Nodes Configuration Summary - d8b0-fb13-4f08-a967 +/* Provides details about the current Cisco Dna Center node configuration, such as API version, node name, NTP server, intracluster link, LACP mode, network static routes, DNS server, subnet mask, host IP, default gateway, and interface information. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-dna-center-nodes-configuration-summary-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-dna-center-nodes-configuration-summary */ func (s *PlatformService) CiscoDnaCenterNodesConfigurationSummary() (*ResponsePlatformCiscoDnaCenterNodesConfigurationSummary, *resty.Response, error) { path := "/dna/intent/api/v1/nodes-config" diff --git a/sdk/reports.go b/sdk/reports.go index 91bdafc..e1001c8 100644 --- a/sdk/reports.go +++ b/sdk/reports.go @@ -18,29 +18,44 @@ type GetListOfScheduledReportsQueryParams struct { // # Review unknown case type ResponseReportsExecutingTheFlexibleReport struct { - ExecutionID string `json:"executionId,omitempty"` // Report ExecutionId (Unique UUID) - StartTime *float64 `json:"startTime,omitempty"` // Report execution start time (Represent the specified number of milliseconds since the epoch time) - EndTime *float64 `json:"endTime,omitempty"` // Report execution end time (Represent the specified number of milliseconds since the epoch time) - RequestStatus string `json:"requestStatus,omitempty"` // Report request status - Errors []string `json:"errors,omitempty"` // Errors associated to the report execution - Warnings *[]ResponseReportsExecutingTheFlexibleReportWarnings `json:"warnings,omitempty"` // Warnings associated to the report execution + ExecutionID string `json:"executionId,omitempty"` // Report ExecutionId (Unique UUID) + + StartTime *float64 `json:"startTime,omitempty"` // Report execution start time (Represent the specified number of milliseconds since the epoch time) + + EndTime *float64 `json:"endTime,omitempty"` // Report execution end time (Represent the specified number of milliseconds since the epoch time) + + RequestStatus string `json:"requestStatus,omitempty"` // Report request status + + Errors []string `json:"errors,omitempty"` // Errors associated to the report execution + + Warnings *[]ResponseReportsExecutingTheFlexibleReportWarnings `json:"warnings,omitempty"` // Warnings associated to the report execution } type ResponseReportsExecutingTheFlexibleReportWarnings interface{} type ResponseReportsGetExecutionIDByReportID struct { - ReportID string `json:"reportId,omitempty"` // Report Id (Unique UUID) - ReportName string `json:"reportName,omitempty"` // Name of the report - Executions *[]ResponseReportsGetExecutionIDByReportIDExecutions `json:"executions,omitempty"` // - ExecutionCount *int `json:"executionCount,omitempty"` // Total number of report executions - ReportWasExecuted *bool `json:"reportWasExecuted,omitempty"` // Report execution status flag (true if execution is started, false if the execution is not started) + ReportID string `json:"reportId,omitempty"` // Report Id (Unique UUID) + + ReportName string `json:"reportName,omitempty"` // Name of the report + + Executions *[]ResponseReportsGetExecutionIDByReportIDExecutions `json:"executions,omitempty"` // + + ExecutionCount *int `json:"executionCount,omitempty"` // Total number of report executions + + ReportWasExecuted *bool `json:"reportWasExecuted,omitempty"` // Report execution status flag (true if execution is started, false if the execution is not started) } type ResponseReportsGetExecutionIDByReportIDExecutions struct { - ExecutionID string `json:"executionId,omitempty"` // Report ExecutionId (Unique UUID) - StartTime *int `json:"startTime,omitempty"` // Report execution start time (Represent the specified number of milliseconds since the epoch time) - EndTime *float64 `json:"endTime,omitempty"` // Report execution end time (Represent the specified number of milliseconds since the epoch time) - ProcessStatus string `json:"processStatus,omitempty"` // Report execution status - RequestStatus string `json:"requestStatus,omitempty"` // Report request status - Errors []string `json:"errors,omitempty"` // Errors associated with the report execution - Warnings *[]ResponseReportsGetExecutionIDByReportIDExecutionsWarnings `json:"warnings,omitempty"` // Warnings associated with the report execution + ExecutionID string `json:"executionId,omitempty"` // Report ExecutionId (Unique UUID) + + StartTime *int `json:"startTime,omitempty"` // Report execution start time (Represent the specified number of milliseconds since the epoch time) + + EndTime *float64 `json:"endTime,omitempty"` // Report execution end time (Represent the specified number of milliseconds since the epoch time) + + ProcessStatus string `json:"processStatus,omitempty"` // Report execution status + + RequestStatus string `json:"requestStatus,omitempty"` // Report request status + + Errors []string `json:"errors,omitempty"` // Errors associated with the report execution + + Warnings *[]ResponseReportsGetExecutionIDByReportIDExecutionsWarnings `json:"warnings,omitempty"` // Warnings associated with the report execution } type ResponseReportsGetExecutionIDByReportIDExecutionsWarnings interface{} type ResponseReportsUpdateScheduleOfFlexibleReport struct { @@ -53,339 +68,513 @@ type ResponseReportsGetFlexibleReportScheduleByReportID struct { type ResponseReportsGetFlexibleReportScheduleByReportIDSchedule interface{} type ResponseReportsGetAllFlexibleReportSchedules []ResponseItemReportsGetAllFlexibleReportSchedules // Array of ResponseReportsGetAllFlexibleReportSchedules type ResponseItemReportsGetAllFlexibleReportSchedules struct { - ReportID string `json:"reportId,omitempty"` // Report Id (Unique UUID) - Schedule *ResponseItemReportsGetAllFlexibleReportSchedulesSchedule `json:"schedule,omitempty"` // Schedule information - ReportName string `json:"reportName,omitempty"` // Name of the report + ReportID string `json:"reportId,omitempty"` // Report Id (Unique UUID) + + Schedule *ResponseItemReportsGetAllFlexibleReportSchedulesSchedule `json:"schedule,omitempty"` // Schedule information + + ReportName string `json:"reportName,omitempty"` // Name of the report } type ResponseItemReportsGetAllFlexibleReportSchedulesSchedule interface{} type ResponseReportsCreateOrScheduleAReport struct { - Tags []string `json:"tags,omitempty"` // array of tags for report - DataCategory string `json:"dataCategory,omitempty"` // data category of the report - Deliveries *[]ResponseReportsCreateOrScheduleAReportDeliveries `json:"deliveries,omitempty"` // Array of available delivery channels - ExecutionCount *int `json:"executionCount,omitempty"` // Total number of report executions - Executions *[]ResponseReportsCreateOrScheduleAReportExecutions `json:"executions,omitempty"` // - Name string `json:"name,omitempty"` // report name - ReportID string `json:"reportId,omitempty"` // report Id - ReportWasExecuted *bool `json:"reportWasExecuted,omitempty"` // true if atleast one execution has started - Schedule *ResponseReportsCreateOrScheduleAReportSchedule `json:"schedule,omitempty"` // - View *ResponseReportsCreateOrScheduleAReportView `json:"view,omitempty"` // - ViewGroupID string `json:"viewGroupId,omitempty"` // viewGroupId of the viewgroup for the report - ViewGroupVersion string `json:"viewGroupVersion,omitempty"` // version of viewgroup for the report + Tags []string `json:"tags,omitempty"` // array of tags for report + + DataCategory string `json:"dataCategory,omitempty"` // data category of the report + + Deliveries *[]ResponseReportsCreateOrScheduleAReportDeliveries `json:"deliveries,omitempty"` // Array of available delivery channels + + ExecutionCount *int `json:"executionCount,omitempty"` // Total number of report executions + + Executions *[]ResponseReportsCreateOrScheduleAReportExecutions `json:"executions,omitempty"` // + + Name string `json:"name,omitempty"` // report name + + ReportID string `json:"reportId,omitempty"` // report Id + + ReportWasExecuted *bool `json:"reportWasExecuted,omitempty"` // true if atleast one execution has started + + Schedule *ResponseReportsCreateOrScheduleAReportSchedule `json:"schedule,omitempty"` // + + View *ResponseReportsCreateOrScheduleAReportView `json:"view,omitempty"` // + + ViewGroupID string `json:"viewGroupId,omitempty"` // viewGroupId of the viewgroup for the report + + ViewGroupVersion string `json:"viewGroupVersion,omitempty"` // version of viewgroup for the report } type ResponseReportsCreateOrScheduleAReportDeliveries interface{} type ResponseReportsCreateOrScheduleAReportExecutions struct { - EndTime *int `json:"endTime,omitempty"` // Report execution pipeline end time - Errors []string `json:"errors,omitempty"` // - ExecutionID string `json:"executionId,omitempty"` // Report execution Id. - ProcessStatus string `json:"processStatus,omitempty"` // Report execution status - RequestStatus string `json:"requestStatus,omitempty"` // Report execution acceptance status from scheduler - StartTime *int `json:"startTime,omitempty"` // Report execution pipeline start time - Warnings []string `json:"warnings,omitempty"` // + EndTime *int `json:"endTime,omitempty"` // Report execution pipeline end time + + Errors []string `json:"errors,omitempty"` // + + ExecutionID string `json:"executionId,omitempty"` // Report execution Id. + + ProcessStatus string `json:"processStatus,omitempty"` // Report execution status + + RequestStatus string `json:"requestStatus,omitempty"` // Report execution acceptance status from scheduler + + StartTime *int `json:"startTime,omitempty"` // Report execution pipeline start time + + Warnings []string `json:"warnings,omitempty"` // } type ResponseReportsCreateOrScheduleAReportSchedule interface{} type ResponseReportsCreateOrScheduleAReportView struct { FieldGroups *[]ResponseReportsCreateOrScheduleAReportViewFieldGroups `json:"fieldGroups,omitempty"` // - Filters *[]ResponseReportsCreateOrScheduleAReportViewFilters `json:"filters,omitempty"` // - Format *ResponseReportsCreateOrScheduleAReportViewFormat `json:"format,omitempty"` // - Name string `json:"name,omitempty"` // view name - ViewID string `json:"viewId,omitempty"` // view Id - Description string `json:"description,omitempty"` // view description - ViewInfo string `json:"viewInfo,omitempty"` // view filters info + + Filters *[]ResponseReportsCreateOrScheduleAReportViewFilters `json:"filters,omitempty"` // + + Format *ResponseReportsCreateOrScheduleAReportViewFormat `json:"format,omitempty"` // + + Name string `json:"name,omitempty"` // view name + + ViewID string `json:"viewId,omitempty"` // view Id + + Description string `json:"description,omitempty"` // view description + + ViewInfo string `json:"viewInfo,omitempty"` // view filters info } type ResponseReportsCreateOrScheduleAReportViewFieldGroups struct { - FieldGroupDisplayName string `json:"fieldGroupDisplayName,omitempty"` // Field group label/displayname for user - FieldGroupName string `json:"fieldGroupName,omitempty"` // Field group name - Fields *[]ResponseReportsCreateOrScheduleAReportViewFieldGroupsFields `json:"fields,omitempty"` // + FieldGroupDisplayName string `json:"fieldGroupDisplayName,omitempty"` // Field group label/displayname for user + + FieldGroupName string `json:"fieldGroupName,omitempty"` // Field group name + + Fields *[]ResponseReportsCreateOrScheduleAReportViewFieldGroupsFields `json:"fields,omitempty"` // } type ResponseReportsCreateOrScheduleAReportViewFieldGroupsFields struct { DisplayName string `json:"displayName,omitempty"` // field label/displayname - Name string `json:"name,omitempty"` // field name + + Name string `json:"name,omitempty"` // field name } type ResponseReportsCreateOrScheduleAReportViewFilters struct { - DisplayName string `json:"displayName,omitempty"` // filter label/displayname - Name string `json:"name,omitempty"` // filter name - Type string `json:"type,omitempty"` // filter type - Value *ResponseReportsCreateOrScheduleAReportViewFiltersValue `json:"value,omitempty"` // value of filter. data type is based on the filter type. + DisplayName string `json:"displayName,omitempty"` // filter label/displayname + + Name string `json:"name,omitempty"` // filter name + + Type string `json:"type,omitempty"` // filter type + + Value *ResponseReportsCreateOrScheduleAReportViewFiltersValue `json:"value,omitempty"` // value of filter. data type is based on the filter type. } type ResponseReportsCreateOrScheduleAReportViewFiltersValue interface{} type ResponseReportsCreateOrScheduleAReportViewFormat struct { FormatType string `json:"formatType,omitempty"` // format type of report - Name string `json:"name,omitempty"` // format name of report + + Name string `json:"name,omitempty"` // format name of report } type ResponseReportsGetListOfScheduledReports []ResponseItemReportsGetListOfScheduledReports // Array of ResponseReportsGetListOfScheduledReports type ResponseItemReportsGetListOfScheduledReports struct { - Tags []string `json:"tags,omitempty"` // array of tags for report - DataCategory string `json:"dataCategory,omitempty"` // data category of the report - Deliveries *[]ResponseItemReportsGetListOfScheduledReportsDeliveries `json:"deliveries,omitempty"` // Array of available delivery channels - ExecutionCount *int `json:"executionCount,omitempty"` // Total number of report executions - Executions *[]ResponseItemReportsGetListOfScheduledReportsExecutions `json:"executions,omitempty"` // - Name string `json:"name,omitempty"` // report name - ReportID string `json:"reportId,omitempty"` // report Id - ReportWasExecuted *bool `json:"reportWasExecuted,omitempty"` // true if atleast one execution has started - Schedule *ResponseItemReportsGetListOfScheduledReportsSchedule `json:"schedule,omitempty"` // - View *ResponseItemReportsGetListOfScheduledReportsView `json:"view,omitempty"` // - ViewGroupID string `json:"viewGroupId,omitempty"` // viewGroupId of the viewgroup for the report - ViewGroupVersion string `json:"viewGroupVersion,omitempty"` // version of viewgroup for the report + Tags []string `json:"tags,omitempty"` // array of tags for report + + DataCategory string `json:"dataCategory,omitempty"` // data category of the report + + Deliveries *[]ResponseItemReportsGetListOfScheduledReportsDeliveries `json:"deliveries,omitempty"` // Array of available delivery channels + + ExecutionCount *int `json:"executionCount,omitempty"` // Total number of report executions + + Executions *[]ResponseItemReportsGetListOfScheduledReportsExecutions `json:"executions,omitempty"` // + + Name string `json:"name,omitempty"` // report name + + ReportID string `json:"reportId,omitempty"` // report Id + + ReportWasExecuted *bool `json:"reportWasExecuted,omitempty"` // true if atleast one execution has started + + Schedule *ResponseItemReportsGetListOfScheduledReportsSchedule `json:"schedule,omitempty"` // + + View *ResponseItemReportsGetListOfScheduledReportsView `json:"view,omitempty"` // + + ViewGroupID string `json:"viewGroupId,omitempty"` // viewGroupId of the viewgroup for the report + + ViewGroupVersion string `json:"viewGroupVersion,omitempty"` // version of viewgroup for the report } type ResponseItemReportsGetListOfScheduledReportsDeliveries interface{} type ResponseItemReportsGetListOfScheduledReportsExecutions struct { - EndTime *int `json:"endTime,omitempty"` // Report execution pipeline end time - Errors []string `json:"errors,omitempty"` // - ExecutionID string `json:"executionId,omitempty"` // Report execution Id. - ProcessStatus string `json:"processStatus,omitempty"` // Report execution status - RequestStatus string `json:"requestStatus,omitempty"` // Report execution acceptance status from scheduler - StartTime *int `json:"startTime,omitempty"` // Report execution pipeline start time - Warnings []string `json:"warnings,omitempty"` // + EndTime *int `json:"endTime,omitempty"` // Report execution pipeline end time + + Errors []string `json:"errors,omitempty"` // + + ExecutionID string `json:"executionId,omitempty"` // Report execution Id. + + ProcessStatus string `json:"processStatus,omitempty"` // Report execution status + + RequestStatus string `json:"requestStatus,omitempty"` // Report execution acceptance status from scheduler + + StartTime *int `json:"startTime,omitempty"` // Report execution pipeline start time + + Warnings []string `json:"warnings,omitempty"` // } type ResponseItemReportsGetListOfScheduledReportsSchedule interface{} type ResponseItemReportsGetListOfScheduledReportsView struct { FieldGroups *[]ResponseItemReportsGetListOfScheduledReportsViewFieldGroups `json:"fieldGroups,omitempty"` // - Filters *[]ResponseItemReportsGetListOfScheduledReportsViewFilters `json:"filters,omitempty"` // - Format *ResponseItemReportsGetListOfScheduledReportsViewFormat `json:"format,omitempty"` // - Name string `json:"name,omitempty"` // view name - ViewID string `json:"viewId,omitempty"` // view Id - Description string `json:"description,omitempty"` // view description - ViewInfo string `json:"viewInfo,omitempty"` // view filters info + + Filters *[]ResponseItemReportsGetListOfScheduledReportsViewFilters `json:"filters,omitempty"` // + + Format *ResponseItemReportsGetListOfScheduledReportsViewFormat `json:"format,omitempty"` // + + Name string `json:"name,omitempty"` // view name + + ViewID string `json:"viewId,omitempty"` // view Id + + Description string `json:"description,omitempty"` // view description + + ViewInfo string `json:"viewInfo,omitempty"` // view filters info } type ResponseItemReportsGetListOfScheduledReportsViewFieldGroups struct { - FieldGroupDisplayName string `json:"fieldGroupDisplayName,omitempty"` // Field group label/displayname for user - FieldGroupName string `json:"fieldGroupName,omitempty"` // Field group name - Fields *[]ResponseItemReportsGetListOfScheduledReportsViewFieldGroupsFields `json:"fields,omitempty"` // + FieldGroupDisplayName string `json:"fieldGroupDisplayName,omitempty"` // Field group label/displayname for user + + FieldGroupName string `json:"fieldGroupName,omitempty"` // Field group name + + Fields *[]ResponseItemReportsGetListOfScheduledReportsViewFieldGroupsFields `json:"fields,omitempty"` // } type ResponseItemReportsGetListOfScheduledReportsViewFieldGroupsFields struct { DisplayName string `json:"displayName,omitempty"` // field label/displayname - Name string `json:"name,omitempty"` // field name + + Name string `json:"name,omitempty"` // field name } type ResponseItemReportsGetListOfScheduledReportsViewFilters struct { - DisplayName string `json:"displayName,omitempty"` // filter label/displayname - Name string `json:"name,omitempty"` // filter name - Type string `json:"type,omitempty"` // filter type - Value *ResponseItemReportsGetListOfScheduledReportsViewFiltersValue `json:"value,omitempty"` // value of filter. data type is based on the filter type. + DisplayName string `json:"displayName,omitempty"` // filter label/displayname + + Name string `json:"name,omitempty"` // filter name + + Type string `json:"type,omitempty"` // filter type + + Value *ResponseItemReportsGetListOfScheduledReportsViewFiltersValue `json:"value,omitempty"` // value of filter. data type is based on the filter type. } type ResponseItemReportsGetListOfScheduledReportsViewFiltersValue interface{} type ResponseItemReportsGetListOfScheduledReportsViewFormat struct { FormatType string `json:"formatType,omitempty"` // format type of report - Name string `json:"name,omitempty"` // format name of report - Default *bool `json:"default,omitempty"` // true, if the format type is considered default + + Name string `json:"name,omitempty"` // format name of report + + Default *bool `json:"default,omitempty"` // true, if the format type is considered default } type ResponseReportsGetAScheduledReport struct { - Tags []string `json:"tags,omitempty"` // array of tags for report - DataCategory string `json:"dataCategory,omitempty"` // data category of the report - Deliveries *[]ResponseReportsGetAScheduledReportDeliveries `json:"deliveries,omitempty"` // Array of available delivery channels - ExecutionCount *int `json:"executionCount,omitempty"` // Total number of report executions - Executions *[]ResponseReportsGetAScheduledReportExecutions `json:"executions,omitempty"` // - Name string `json:"name,omitempty"` // report name - ReportID string `json:"reportId,omitempty"` // report Id - ReportWasExecuted *bool `json:"reportWasExecuted,omitempty"` // true if atleast one execution has started - Schedule *ResponseReportsGetAScheduledReportSchedule `json:"schedule,omitempty"` // - View *ResponseReportsGetAScheduledReportView `json:"view,omitempty"` // - ViewGroupID string `json:"viewGroupId,omitempty"` // viewGroupId of the viewgroup for the report - ViewGroupVersion string `json:"viewGroupVersion,omitempty"` // version of viewgroup for the report + Tags []string `json:"tags,omitempty"` // array of tags for report + + DataCategory string `json:"dataCategory,omitempty"` // data category of the report + + Deliveries *[]ResponseReportsGetAScheduledReportDeliveries `json:"deliveries,omitempty"` // Array of available delivery channels + + ExecutionCount *int `json:"executionCount,omitempty"` // Total number of report executions + + Executions *[]ResponseReportsGetAScheduledReportExecutions `json:"executions,omitempty"` // + + Name string `json:"name,omitempty"` // report name + + ReportID string `json:"reportId,omitempty"` // report Id + + ReportWasExecuted *bool `json:"reportWasExecuted,omitempty"` // true if atleast one execution has started + + Schedule *ResponseReportsGetAScheduledReportSchedule `json:"schedule,omitempty"` // + + View *ResponseReportsGetAScheduledReportView `json:"view,omitempty"` // + + ViewGroupID string `json:"viewGroupId,omitempty"` // viewGroupId of the viewgroup for the report + + ViewGroupVersion string `json:"viewGroupVersion,omitempty"` // version of viewgroup for the report } type ResponseReportsGetAScheduledReportDeliveries interface{} type ResponseReportsGetAScheduledReportExecutions struct { - EndTime *int `json:"endTime,omitempty"` // Report execution pipeline end time - Errors []string `json:"errors,omitempty"` // - ExecutionID string `json:"executionId,omitempty"` // Report execution Id. - ProcessStatus string `json:"processStatus,omitempty"` // Report execution status - RequestStatus string `json:"requestStatus,omitempty"` // Report execution acceptance status from scheduler - StartTime *int `json:"startTime,omitempty"` // Report execution pipeline start time - Warnings []string `json:"warnings,omitempty"` // + EndTime *int `json:"endTime,omitempty"` // Report execution pipeline end time + + Errors []string `json:"errors,omitempty"` // + + ExecutionID string `json:"executionId,omitempty"` // Report execution Id. + + ProcessStatus string `json:"processStatus,omitempty"` // Report execution status + + RequestStatus string `json:"requestStatus,omitempty"` // Report execution acceptance status from scheduler + + StartTime *int `json:"startTime,omitempty"` // Report execution pipeline start time + + Warnings []string `json:"warnings,omitempty"` // } type ResponseReportsGetAScheduledReportSchedule interface{} type ResponseReportsGetAScheduledReportView struct { FieldGroups *[]ResponseReportsGetAScheduledReportViewFieldGroups `json:"fieldGroups,omitempty"` // - Filters *[]ResponseReportsGetAScheduledReportViewFilters `json:"filters,omitempty"` // - Format *ResponseReportsGetAScheduledReportViewFormat `json:"format,omitempty"` // - Name string `json:"name,omitempty"` // view name - ViewID string `json:"viewId,omitempty"` // view Id - Description string `json:"description,omitempty"` // view description - ViewInfo string `json:"viewInfo,omitempty"` // view filters info + + Filters *[]ResponseReportsGetAScheduledReportViewFilters `json:"filters,omitempty"` // + + Format *ResponseReportsGetAScheduledReportViewFormat `json:"format,omitempty"` // + + Name string `json:"name,omitempty"` // view name + + ViewID string `json:"viewId,omitempty"` // view Id + + Description string `json:"description,omitempty"` // view description + + ViewInfo string `json:"viewInfo,omitempty"` // view filters info } type ResponseReportsGetAScheduledReportViewFieldGroups struct { - FieldGroupDisplayName string `json:"fieldGroupDisplayName,omitempty"` // Field group label/displayname for user - FieldGroupName string `json:"fieldGroupName,omitempty"` // Field group name - Fields *[]ResponseReportsGetAScheduledReportViewFieldGroupsFields `json:"fields,omitempty"` // + FieldGroupDisplayName string `json:"fieldGroupDisplayName,omitempty"` // Field group label/displayname for user + + FieldGroupName string `json:"fieldGroupName,omitempty"` // Field group name + + Fields *[]ResponseReportsGetAScheduledReportViewFieldGroupsFields `json:"fields,omitempty"` // } type ResponseReportsGetAScheduledReportViewFieldGroupsFields struct { DisplayName string `json:"displayName,omitempty"` // field label/displayname - Name string `json:"name,omitempty"` // field name + + Name string `json:"name,omitempty"` // field name } type ResponseReportsGetAScheduledReportViewFilters struct { - DisplayName string `json:"displayName,omitempty"` // filter label/displayname - Name string `json:"name,omitempty"` // filter name - Type string `json:"type,omitempty"` // filter type - Value *ResponseReportsGetAScheduledReportViewFiltersValue `json:"value,omitempty"` // value of filter. data type is based on the filter type. + DisplayName string `json:"displayName,omitempty"` // filter label/displayname + + Name string `json:"name,omitempty"` // filter name + + Type string `json:"type,omitempty"` // filter type + + Value *ResponseReportsGetAScheduledReportViewFiltersValue `json:"value,omitempty"` // value of filter. data type is based on the filter type. } type ResponseReportsGetAScheduledReportViewFiltersValue interface{} type ResponseReportsGetAScheduledReportViewFormat struct { FormatType string `json:"formatType,omitempty"` // format type of report - Name string `json:"name,omitempty"` // format name of report - Default *bool `json:"default,omitempty"` // true, if the format type is considered default + + Name string `json:"name,omitempty"` // format name of report + + Default *bool `json:"default,omitempty"` // true, if the format type is considered default } type ResponseReportsDeleteAScheduledReport struct { Message string `json:"message,omitempty"` // Response message - Status *int `json:"status,omitempty"` // Response Status + + Status *int `json:"status,omitempty"` // Response Status } type ResponseReportsGetAllExecutionDetailsForAGivenReport struct { - Tags []string `json:"tags,omitempty"` // array of tags for report - DataCategory string `json:"dataCategory,omitempty"` // data category of the report - Deliveries *[]ResponseReportsGetAllExecutionDetailsForAGivenReportDeliveries `json:"deliveries,omitempty"` // Array of available delivery channels - ExecutionCount *int `json:"executionCount,omitempty"` // Total number of report executions - Executions *[]ResponseReportsGetAllExecutionDetailsForAGivenReportExecutions `json:"executions,omitempty"` // - Name string `json:"name,omitempty"` // report dataset name - ReportID string `json:"reportId,omitempty"` // report Id - ReportWasExecuted *bool `json:"reportWasExecuted,omitempty"` // true if atleast one execution has started - Schedule *ResponseReportsGetAllExecutionDetailsForAGivenReportSchedule `json:"schedule,omitempty"` // - View *ResponseReportsGetAllExecutionDetailsForAGivenReportView `json:"view,omitempty"` // - ViewGroupID string `json:"viewGroupId,omitempty"` // viewGroupId of the viewgroup for the report - ViewGroupVersion string `json:"viewGroupVersion,omitempty"` // version of viewgroup for the report + Tags []string `json:"tags,omitempty"` // array of tags for report + + DataCategory string `json:"dataCategory,omitempty"` // data category of the report + + Deliveries *[]ResponseReportsGetAllExecutionDetailsForAGivenReportDeliveries `json:"deliveries,omitempty"` // Array of available delivery channels + + ExecutionCount *int `json:"executionCount,omitempty"` // Total number of report executions + + Executions *[]ResponseReportsGetAllExecutionDetailsForAGivenReportExecutions `json:"executions,omitempty"` // + + Name string `json:"name,omitempty"` // report dataset name + + ReportID string `json:"reportId,omitempty"` // report Id + + ReportWasExecuted *bool `json:"reportWasExecuted,omitempty"` // true if atleast one execution has started + + Schedule *ResponseReportsGetAllExecutionDetailsForAGivenReportSchedule `json:"schedule,omitempty"` // + + View *ResponseReportsGetAllExecutionDetailsForAGivenReportView `json:"view,omitempty"` // + + ViewGroupID string `json:"viewGroupId,omitempty"` // viewGroupId of the viewgroup for the report + + ViewGroupVersion string `json:"viewGroupVersion,omitempty"` // version of viewgroup for the report } type ResponseReportsGetAllExecutionDetailsForAGivenReportDeliveries interface{} type ResponseReportsGetAllExecutionDetailsForAGivenReportExecutions struct { - EndTime *int `json:"endTime,omitempty"` // Report execution pipeline end time - Errors []string `json:"errors,omitempty"` // - ExecutionID string `json:"executionId,omitempty"` // Report execution Id. - ProcessStatus string `json:"processStatus,omitempty"` // Report execution status - RequestStatus string `json:"requestStatus,omitempty"` // Report execution acceptance status from scheduler - StartTime *int `json:"startTime,omitempty"` // Report execution pipeline start time - Warnings []string `json:"warnings,omitempty"` // + EndTime *int `json:"endTime,omitempty"` // Report execution pipeline end time + + Errors []string `json:"errors,omitempty"` // + + ExecutionID string `json:"executionId,omitempty"` // Report execution Id. + + ProcessStatus string `json:"processStatus,omitempty"` // Report execution status + + RequestStatus string `json:"requestStatus,omitempty"` // Report execution acceptance status from scheduler + + StartTime *int `json:"startTime,omitempty"` // Report execution pipeline start time + + Warnings []string `json:"warnings,omitempty"` // } type ResponseReportsGetAllExecutionDetailsForAGivenReportSchedule interface{} type ResponseReportsGetAllExecutionDetailsForAGivenReportView struct { FieldGroups *[]ResponseReportsGetAllExecutionDetailsForAGivenReportViewFieldGroups `json:"fieldGroups,omitempty"` // - Filters *[]ResponseReportsGetAllExecutionDetailsForAGivenReportViewFilters `json:"filters,omitempty"` // - Format *ResponseReportsGetAllExecutionDetailsForAGivenReportViewFormat `json:"format,omitempty"` // - Name string `json:"name,omitempty"` // view name - ViewID string `json:"viewId,omitempty"` // view Id - Description string `json:"description,omitempty"` // view description - ViewInfo string `json:"viewInfo,omitempty"` // view filters info + + Filters *[]ResponseReportsGetAllExecutionDetailsForAGivenReportViewFilters `json:"filters,omitempty"` // + + Format *ResponseReportsGetAllExecutionDetailsForAGivenReportViewFormat `json:"format,omitempty"` // + + Name string `json:"name,omitempty"` // view name + + ViewID string `json:"viewId,omitempty"` // view Id + + Description string `json:"description,omitempty"` // view description + + ViewInfo string `json:"viewInfo,omitempty"` // view filters info } type ResponseReportsGetAllExecutionDetailsForAGivenReportViewFieldGroups interface{} type ResponseReportsGetAllExecutionDetailsForAGivenReportViewFilters interface{} type ResponseReportsGetAllExecutionDetailsForAGivenReportViewFormat interface{} // # Review unknown case type ResponseReportsGetAllViewGroups []ResponseItemReportsGetAllViewGroups // Array of ResponseReportsGetAllViewGroups type ResponseItemReportsGetAllViewGroups struct { - Category string `json:"category,omitempty"` // category of the view group + Category string `json:"category,omitempty"` // category of the view group + Description string `json:"description,omitempty"` // view group description - Name string `json:"name,omitempty"` // name of view group + + Name string `json:"name,omitempty"` // name of view group + ViewGroupID string `json:"viewGroupId,omitempty"` // id of viewgroup } type ResponseReportsGetViewsForAGivenViewGroup struct { - ViewGroupID string `json:"viewGroupId,omitempty"` // viewgroup Id - Views *[]ResponseReportsGetViewsForAGivenViewGroupViews `json:"views,omitempty"` // + ViewGroupID string `json:"viewGroupId,omitempty"` // viewgroup Id + + Views *[]ResponseReportsGetViewsForAGivenViewGroupViews `json:"views,omitempty"` // } type ResponseReportsGetViewsForAGivenViewGroupViews struct { Description string `json:"description,omitempty"` // - ViewID string `json:"viewId,omitempty"` // Unique id for a view within viewgroup - ViewName string `json:"viewName,omitempty"` // view name + + ViewID string `json:"viewId,omitempty"` // Unique id for a view within viewgroup + + ViewName string `json:"viewName,omitempty"` // view name } type ResponseReportsGetViewDetailsForAGivenViewGroupView struct { - Deliveries *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewDeliveries `json:"deliveries,omitempty"` // - Description string `json:"description,omitempty"` // view description + Deliveries *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewDeliveries `json:"deliveries,omitempty"` // + + Description string `json:"description,omitempty"` // view description + FieldGroups *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewFieldGroups `json:"fieldGroups,omitempty"` // - Filters *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewFilters `json:"filters,omitempty"` // - Formats *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewFormats `json:"formats,omitempty"` // - Schedules *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewSchedules `json:"schedules,omitempty"` // - ViewID string `json:"viewId,omitempty"` // Unique view Id - ViewInfo string `json:"viewInfo,omitempty"` // view filters info - ViewName string `json:"viewName,omitempty"` // view name + + Filters *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewFilters `json:"filters,omitempty"` // + + Formats *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewFormats `json:"formats,omitempty"` // + + Schedules *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewSchedules `json:"schedules,omitempty"` // + + ViewID string `json:"viewId,omitempty"` // Unique view Id + + ViewInfo string `json:"viewInfo,omitempty"` // view filters info + + ViewName string `json:"viewName,omitempty"` // view name } type ResponseReportsGetViewDetailsForAGivenViewGroupViewDeliveries struct { - Type string `json:"type,omitempty"` // delivery type - Default *bool `json:"default,omitempty"` // true, if the delivery type is considered default + Type string `json:"type,omitempty"` // delivery type + + Default *bool `json:"default,omitempty"` // true, if the delivery type is considered default } type ResponseReportsGetViewDetailsForAGivenViewGroupViewFieldGroups struct { - FieldGroupDisplayName string `json:"fieldGroupDisplayName,omitempty"` // Field group label/displayname for user - FieldGroupName string `json:"fieldGroupName,omitempty"` // Field group name - Fields *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewFieldGroupsFields `json:"fields,omitempty"` // - TableID string `json:"tableId,omitempty"` // Table Id of the corresponding table mapped to fieldgroup + FieldGroupDisplayName string `json:"fieldGroupDisplayName,omitempty"` // Field group label/displayname for user + + FieldGroupName string `json:"fieldGroupName,omitempty"` // Field group name + + Fields *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewFieldGroupsFields `json:"fields,omitempty"` // + + TableID string `json:"tableId,omitempty"` // Table Id of the corresponding table mapped to fieldgroup } type ResponseReportsGetViewDetailsForAGivenViewGroupViewFieldGroupsFields struct { DisplayName string `json:"displayName,omitempty"` // field label/displayname - Name string `json:"name,omitempty"` // field name + + Name string `json:"name,omitempty"` // field name } type ResponseReportsGetViewDetailsForAGivenViewGroupViewFilters struct { AdditionalInfo *ResponseReportsGetViewDetailsForAGivenViewGroupViewFiltersAdditionalInfo `json:"additionalInfo,omitempty"` // Additional info for managing filter options - CacheFilter *bool `json:"cacheFilter,omitempty"` // - DataType string `json:"dataType,omitempty"` // data type of filter value - DisplayName string `json:"displayName,omitempty"` // filter label/displayname - FilterSource *ResponseReportsGetViewDetailsForAGivenViewGroupViewFiltersFilterSource `json:"filterSource,omitempty"` // - Name string `json:"name,omitempty"` // filter name - Required *bool `json:"required,omitempty"` // true if the filter is required - TimeOptions *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewFiltersTimeOptions `json:"timeOptions,omitempty"` // - Type string `json:"type,omitempty"` // filter type. Used to handle filter value selection by the client for report configuration. + + CacheFilter *bool `json:"cacheFilter,omitempty"` // + + DataType string `json:"dataType,omitempty"` // data type of filter value + + DisplayName string `json:"displayName,omitempty"` // filter label/displayname + + FilterSource *ResponseReportsGetViewDetailsForAGivenViewGroupViewFiltersFilterSource `json:"filterSource,omitempty"` // + + Name string `json:"name,omitempty"` // filter name + + Required *bool `json:"required,omitempty"` // true if the filter is required + + TimeOptions *[]ResponseReportsGetViewDetailsForAGivenViewGroupViewFiltersTimeOptions `json:"timeOptions,omitempty"` // + + Type string `json:"type,omitempty"` // filter type. Used to handle filter value selection by the client for report configuration. } type ResponseReportsGetViewDetailsForAGivenViewGroupViewFiltersAdditionalInfo interface{} type ResponseReportsGetViewDetailsForAGivenViewGroupViewFiltersFilterSource struct { - DataSource *ResponseReportsGetViewDetailsForAGivenViewGroupViewFiltersFilterSourceDataSource `json:"dataSource,omitempty"` // - DisplayValuePath string `json:"displayValuePath,omitempty"` // JSONPath of the label of filter option from the filter option as root - RootPath string `json:"rootPath,omitempty"` // JSONPath of the filter options array in the API response - ValuePath string `json:"valuePath,omitempty"` // JSONPath of the value of filter option from the filter option as root + DataSource *ResponseReportsGetViewDetailsForAGivenViewGroupViewFiltersFilterSourceDataSource `json:"dataSource,omitempty"` // + + DisplayValuePath string `json:"displayValuePath,omitempty"` // JSONPath of the label of filter option from the filter option as root + + RootPath string `json:"rootPath,omitempty"` // JSONPath of the filter options array in the API response + + ValuePath string `json:"valuePath,omitempty"` // JSONPath of the value of filter option from the filter option as root } type ResponseReportsGetViewDetailsForAGivenViewGroupViewFiltersFilterSourceDataSource interface{} type ResponseReportsGetViewDetailsForAGivenViewGroupViewFiltersTimeOptions struct { - Info string `json:"info,omitempty"` // Time range option description - MaxValue *int `json:"maxValue,omitempty"` // Maximum number of hours allowed for the time range option. (Client Validation) - MinValue *int `json:"minValue,omitempty"` // Minimum number of hours allowed for the time range option. (Client Validation) - Name string `json:"name,omitempty"` // Time range option label - Value string `json:"value,omitempty"` // Time range option value + Info string `json:"info,omitempty"` // Time range option description + + MaxValue *int `json:"maxValue,omitempty"` // Maximum number of hours allowed for the time range option. (Client Validation) + + MinValue *int `json:"minValue,omitempty"` // Minimum number of hours allowed for the time range option. (Client Validation) + + Name string `json:"name,omitempty"` // Time range option label + + Value string `json:"value,omitempty"` // Time range option value } type ResponseReportsGetViewDetailsForAGivenViewGroupViewFormats struct { - Format string `json:"format,omitempty"` // format type - Name string `json:"name,omitempty"` // format name - Default *bool `json:"default,omitempty"` // true, if the format type is considered default + Format string `json:"format,omitempty"` // format type + + Name string `json:"name,omitempty"` // format name + + Default *bool `json:"default,omitempty"` // true, if the format type is considered default + Template *ResponseReportsGetViewDetailsForAGivenViewGroupViewFormatsTemplate `json:"template,omitempty"` // } type ResponseReportsGetViewDetailsForAGivenViewGroupViewFormatsTemplate struct { JsTemplateID string `json:"jsTemplateId,omitempty"` // TemplateId of template } type ResponseReportsGetViewDetailsForAGivenViewGroupViewSchedules struct { - Type string `json:"type,omitempty"` // schedule type - Default *bool `json:"default,omitempty"` // true, if the schedule type is default + Type string `json:"type,omitempty"` // schedule type + + Default *bool `json:"default,omitempty"` // true, if the schedule type is default } type RequestReportsUpdateScheduleOfFlexibleReport struct { Schedule *RequestReportsUpdateScheduleOfFlexibleReportSchedule `json:"schedule,omitempty"` // Schedule information } type RequestReportsUpdateScheduleOfFlexibleReportSchedule interface{} type RequestReportsCreateOrScheduleAReport struct { - Tags []string `json:"tags,omitempty"` // array of tags for report - Deliveries *[]RequestReportsCreateOrScheduleAReportDeliveries `json:"deliveries,omitempty"` // Array of available delivery channels - Name string `json:"name,omitempty"` // report name - Schedule *RequestReportsCreateOrScheduleAReportSchedule `json:"schedule,omitempty"` // - View *RequestReportsCreateOrScheduleAReportView `json:"view,omitempty"` // - ViewGroupID string `json:"viewGroupId,omitempty"` // viewGroupId of the viewgroup for the report - ViewGroupVersion string `json:"viewGroupVersion,omitempty"` // version of viewgroup for the report - DataCategory string `json:"dataCategory,omitempty"` // category of viewgroup for the report + Tags []string `json:"tags,omitempty"` // array of tags for report + + Deliveries *[]RequestReportsCreateOrScheduleAReportDeliveries `json:"deliveries,omitempty"` // Array of available delivery channels + + Name string `json:"name,omitempty"` // report name + + Schedule *RequestReportsCreateOrScheduleAReportSchedule `json:"schedule,omitempty"` // + + View *RequestReportsCreateOrScheduleAReportView `json:"view,omitempty"` // + + ViewGroupID string `json:"viewGroupId,omitempty"` // viewGroupId of the viewgroup for the report + + ViewGroupVersion string `json:"viewGroupVersion,omitempty"` // version of viewgroup for the report + + DataCategory string `json:"dataCategory,omitempty"` // category of viewgroup for the report } type RequestReportsCreateOrScheduleAReportDeliveries interface{} type RequestReportsCreateOrScheduleAReportSchedule interface{} type RequestReportsCreateOrScheduleAReportView struct { FieldGroups *[]RequestReportsCreateOrScheduleAReportViewFieldGroups `json:"fieldGroups,omitempty"` // - Filters *[]RequestReportsCreateOrScheduleAReportViewFilters `json:"filters,omitempty"` // - Format *RequestReportsCreateOrScheduleAReportViewFormat `json:"format,omitempty"` // - Name string `json:"name,omitempty"` // view name - ViewID string `json:"viewId,omitempty"` // view Id + + Filters *[]RequestReportsCreateOrScheduleAReportViewFilters `json:"filters,omitempty"` // + + Format *RequestReportsCreateOrScheduleAReportViewFormat `json:"format,omitempty"` // + + Name string `json:"name,omitempty"` // view name + + ViewID string `json:"viewId,omitempty"` // view Id } type RequestReportsCreateOrScheduleAReportViewFieldGroups struct { - FieldGroupDisplayName string `json:"fieldGroupDisplayName,omitempty"` // Field group label/displayname for user - FieldGroupName string `json:"fieldGroupName,omitempty"` // Field group name - Fields *[]RequestReportsCreateOrScheduleAReportViewFieldGroupsFields `json:"fields,omitempty"` // + FieldGroupDisplayName string `json:"fieldGroupDisplayName,omitempty"` // Field group label/displayname for user + + FieldGroupName string `json:"fieldGroupName,omitempty"` // Field group name + + Fields *[]RequestReportsCreateOrScheduleAReportViewFieldGroupsFields `json:"fields,omitempty"` // } type RequestReportsCreateOrScheduleAReportViewFieldGroupsFields struct { DisplayName string `json:"displayName,omitempty"` // field label/displayname - Name string `json:"name,omitempty"` // field name + + Name string `json:"name,omitempty"` // field name } type RequestReportsCreateOrScheduleAReportViewFilters struct { - DisplayName string `json:"displayName,omitempty"` // filter label/displayname - Name string `json:"name,omitempty"` // filter name - Type string `json:"type,omitempty"` // filter type - Value *RequestReportsCreateOrScheduleAReportViewFiltersValue `json:"value,omitempty"` // value of filter. data type is based on the filter type. Use the filter definitions from the view to fetch the options for a filter. + DisplayName string `json:"displayName,omitempty"` // filter label/displayname + + Name string `json:"name,omitempty"` // filter name + + Type string `json:"type,omitempty"` // filter type + + Value *RequestReportsCreateOrScheduleAReportViewFiltersValue `json:"value,omitempty"` // value of filter. data type is based on the filter type. Use the filter definitions from the view to fetch the options for a filter. } type RequestReportsCreateOrScheduleAReportViewFiltersValue interface{} type RequestReportsCreateOrScheduleAReportViewFormat struct { FormatType string `json:"formatType,omitempty"` // format type of report - Name string `json:"name,omitempty"` // format name of report + + Name string `json:"name,omitempty"` // format name of report } //DownloadFlexibleReport Download Flexible Report - a1bc-fba5-4c1b-849d @@ -397,7 +586,7 @@ type RequestReportsCreateOrScheduleAReportViewFormat struct { @param executionID executionId path parameter. Id of execution -Documentation Link: https://developer.cisco.com/docs/dna-center/#!download-flexible-report-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!download-flexible-report */ func (s *ReportsService) DownloadFlexibleReport(reportID string, executionID string) (*resty.Response, error) { path := "/dna/data/api/v1/flexible-report/report/content/{reportId}/{executionId}" @@ -433,7 +622,7 @@ func (s *ReportsService) DownloadFlexibleReport(reportID string, executionID str @param reportID reportId path parameter. Id of the report -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-execution-id-by-report-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-execution-id-by-report-id */ func (s *ReportsService) GetExecutionIDByReportID(reportID string) (*ResponseReportsGetExecutionIDByReportID, *resty.Response, error) { path := "/dna/data/api/v1/flexible-report/report/{reportId}/executions" @@ -470,7 +659,7 @@ func (s *ReportsService) GetExecutionIDByReportID(reportID string) (*ResponseRep @param reportID reportId path parameter. Id of the report -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-flexible-report-schedule-by-report-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-flexible-report-schedule-by-report-id */ func (s *ReportsService) GetFlexibleReportScheduleByReportID(reportID string) (*ResponseReportsGetFlexibleReportScheduleByReportID, *resty.Response, error) { path := "/dna/data/api/v1/flexible-report/schedule/{reportId}" @@ -505,7 +694,7 @@ func (s *ReportsService) GetFlexibleReportScheduleByReportID(reportID string) (* -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-flexible-report-schedules-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-flexible-report-schedules */ func (s *ReportsService) GetAllFlexibleReportSchedules() (*ResponseReportsGetAllFlexibleReportSchedules, *resty.Response, error) { path := "/dna/data/api/v1/flexible-report/schedules" @@ -540,7 +729,7 @@ func (s *ReportsService) GetAllFlexibleReportSchedules() (*ResponseReportsGetAll @param GetListOfScheduledReportsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-scheduled-reports-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-list-of-scheduled-reports */ func (s *ReportsService) GetListOfScheduledReports(GetListOfScheduledReportsQueryParams *GetListOfScheduledReportsQueryParams) (*ResponseReportsGetListOfScheduledReports, *resty.Response, error) { path := "/dna/intent/api/v1/data/reports" @@ -578,7 +767,7 @@ func (s *ReportsService) GetListOfScheduledReports(GetListOfScheduledReportsQuer @param reportID reportId path parameter. reportId of report -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-a-scheduled-report-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-a-scheduled-report */ func (s *ReportsService) GetAScheduledReport(reportID string) (*ResponseReportsGetAScheduledReport, *resty.Response, error) { path := "/dna/intent/api/v1/data/reports/{reportId}" @@ -615,7 +804,7 @@ func (s *ReportsService) GetAScheduledReport(reportID string) (*ResponseReportsG @param reportID reportId path parameter. reportId of report -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-execution-details-for-a-given-report-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-execution-details-for-a-given-report */ func (s *ReportsService) GetAllExecutionDetailsForAGivenReport(reportID string) (*ResponseReportsGetAllExecutionDetailsForAGivenReport, *resty.Response, error) { path := "/dna/intent/api/v1/data/reports/{reportId}/executions" @@ -654,7 +843,7 @@ func (s *ReportsService) GetAllExecutionDetailsForAGivenReport(reportID string) @param executionID executionId path parameter. executionId of report execution -Documentation Link: https://developer.cisco.com/docs/dna-center/#!download-report-content-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!download-report-content */ func (s *ReportsService) DownloadReportContent(reportID string, executionID string) (FileDownload, *resty.Response, error) { path := "/dna/intent/api/v1/data/reports/{reportId}/executions/{executionId}" @@ -693,7 +882,7 @@ func (s *ReportsService) DownloadReportContent(reportID string, executionID stri -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-view-groups-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-view-groups */ func (s *ReportsService) GetAllViewGroups() (*ResponseReportsGetAllViewGroups, *resty.Response, error) { path := "/dna/intent/api/v1/data/view-groups" @@ -729,7 +918,7 @@ func (s *ReportsService) GetAllViewGroups() (*ResponseReportsGetAllViewGroups, * @param viewGroupID viewGroupId path parameter. viewGroupId of viewgroup. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-views-for-a-given-view-group-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-views-for-a-given-view-group */ func (s *ReportsService) GetViewsForAGivenViewGroup(viewGroupID string) (*ResponseReportsGetViewsForAGivenViewGroup, *resty.Response, error) { path := "/dna/intent/api/v1/data/view-groups/{viewGroupId}" @@ -768,7 +957,7 @@ func (s *ReportsService) GetViewsForAGivenViewGroup(viewGroupID string) (*Respon @param viewID viewId path parameter. view id of view -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-view-details-for-a-given-view-group-view-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-view-details-for-a-given-view-group-view */ func (s *ReportsService) GetViewDetailsForAGivenViewGroupView(viewGroupID string, viewID string) (*ResponseReportsGetViewDetailsForAGivenViewGroupView, *resty.Response, error) { path := "/dna/intent/api/v1/data/view-groups/{viewGroupId}/views/{viewId}" @@ -806,7 +995,7 @@ func (s *ReportsService) GetViewDetailsForAGivenViewGroupView(viewGroupID string @param reportID reportId path parameter. Id of the Report -Documentation Link: https://developer.cisco.com/docs/dna-center/#!executing-the-flexible-report-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!executing-the-flexible-report */ func (s *ReportsService) ExecutingTheFlexibleReport(reportID string) (*ResponseReportsExecutingTheFlexibleReport, *resty.Response, error) { path := "/dna/data/api/v1/flexible-report/report/{reportId}/execute" @@ -843,7 +1032,7 @@ func (s *ReportsService) ExecutingTheFlexibleReport(reportID string) (*ResponseR -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-or-schedule-a-report-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-or-schedule-a-report */ func (s *ReportsService) CreateOrScheduleAReport(requestReportsCreateOrScheduleAReport *RequestReportsCreateOrScheduleAReport) (*ResponseReportsCreateOrScheduleAReport, *resty.Response, error) { path := "/dna/intent/api/v1/data/reports" @@ -918,7 +1107,7 @@ func (s *ReportsService) UpdateScheduleOfFlexibleReport(reportID string, request @param reportID reportId path parameter. reportId of report -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-a-scheduled-report-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-a-scheduled-report */ func (s *ReportsService) DeleteAScheduledReport(reportID string) (*ResponseReportsDeleteAScheduledReport, *resty.Response, error) { //reportID string diff --git a/sdk/sda.go b/sdk/sda.go index 8ce8c69..009cab8 100644 --- a/sdk/sda.go +++ b/sdk/sda.go @@ -11,6 +11,144 @@ import ( type SdaService service +type ReadListOfFabricSitesWithTheirHealthSummaryQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + SortBy string `url:"sortBy,omitempty"` //A field within the response to sort by. + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. + ID string `url:"id,omitempty"` //The list of entity Uuids. (Ex."6bef213c-19ca-4170-8375-b694e251101c") Examples: id=6bef213c-19ca-4170-8375-b694e251101c (single entity uuid requested) id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9&id=2541e9a7-b80d-4955-8aa2-79b233318ba0 (multiple entity uuid with '&' separator) + Attribute string `url:"attribute,omitempty"` //The list of FabricSite health attributes. Please refer to ```fabricSiteAttributes``` section in the Open API specification document mentioned in the description. + View string `url:"view,omitempty"` //The specific summary view being requested. A maximum of 3 views can be queried at a time per request. Please refer to ```fabricSiteViews``` section in the Open API specification document mentioned in the description. +} +type ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type ReadFabricSiteCountQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + ID string `url:"id,omitempty"` //The list of entity Uuids. (Ex."6bef213c-19ca-4170-8375-b694e251101c") Examples: id=6bef213c-19ca-4170-8375-b694e251101c (single entity uuid requested) id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9&id=2541e9a7-b80d-4955-8aa2-79b233318ba0 (multiple entity uuid with '&' separator) +} +type ReadFabricSiteCountHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type ReadFabricSitesWithHealthSummaryFromIDQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + Attribute string `url:"attribute,omitempty"` //The list of FabricSite health attributes. Please refer to ```fabricSiteAttributes``` section in the Open API specification document mentioned in the description. + View string `url:"view,omitempty"` //The specific summary view being requested. A maximum of 3 views can be queried at a time per request. Please refer to ```fabricSiteViews``` section in the Open API specification document mentioned in the description. +} +type ReadFabricSitesWithHealthSummaryFromIDHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + TrendInterval string `url:"trendInterval,omitempty"` //The time window to aggregate the metrics. Interval can be 5 minutes or 10 minutes or 1 hour or 1 day or 7 days + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. + Attribute string `url:"attribute,omitempty"` //The interested fields in the request. For valid attributes, verify the documentation. +} +type TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type ReadFabricEntitySummaryQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. +} +type ReadFabricEntitySummaryHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + SortBy string `url:"sortBy,omitempty"` //A field within the response to sort by. + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. + ID string `url:"id,omitempty"` //The list of transit entity ids. (Ex "1551156a-bc97-3c63-aeda-8a6d3765b5b9") Examples: id=1551156a-bc97-3c63-aeda-8a6d3765b5b9 (single entity uuid requested) id=1551156a-bc97-3c63-aeda-8a6d3765b5b9&id=4aa20652-237c-4625-b2b4-fd7e82b6a81e (multiple entity uuids with '&' separator) + Attribute string `url:"attribute,omitempty"` //The interested fields in the request. For valid attributes, verify the documentation. + View string `url:"view,omitempty"` //The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with sites. +} +type ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type ReadTransitNetworksCountQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + ID string `url:"id,omitempty"` //The list of transit entity ids. (Ex "1551156a-bc97-3c63-aeda-8a6d3765b5b9") Examples: id=1551156a-bc97-3c63-aeda-8a6d3765b5b9 (single entity uuid requested) id=1551156a-bc97-3c63-aeda-8a6d3765b5b9&id=4aa20652-237c-4625-b2b4-fd7e82b6a81e (multiple entity uuids with '&' separator) +} +type ReadTransitNetworksCountHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type ReadTransitNetworkWithItsHealthSummaryFromIDQueryParams struct { + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + Attribute string `url:"attribute,omitempty"` //The interested fields in the request. For valid attributes, verify the documentation. + View string `url:"view,omitempty"` //The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with sites. +} +type ReadTransitNetworkWithItsHealthSummaryFromIDHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + TrendInterval string `url:"trendInterval,omitempty"` //The time window to aggregate the metrics. Interval can be 5 minutes or 10 minutes or 1 hour or 1 day or 7 days + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. + Attribute string `url:"attribute,omitempty"` //The interested fields in the request. For valid attributes, verify the documentation. +} +type TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + SortBy string `url:"sortBy,omitempty"` //A field within the response to sort by. + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. + ID string `url:"id,omitempty"` //The list of entity Uuids. (Ex."6bef213c-19ca-4170-8375-b694e251101c") Examples: id=6bef213c-19ca-4170-8375-b694e251101c (single entity uuid requested) id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9&id=2541e9a7-b80d-4955-8aa2-79b233318ba0 (multiple entity uuid with '&' separator) + VnLayer string `url:"vnLayer,omitempty"` //VN Layer information covering Layer 3 or Layer 2 VNs. + Attribute string `url:"attribute,omitempty"` //The interested fields in the request. For valid attributes, verify the documentation. + View string `url:"view,omitempty"` //The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with virtual networks. +} +type ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type ReadVirtualNetworksCountQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + ID string `url:"id,omitempty"` //The list of entity Uuids. (Ex."6bef213c-19ca-4170-8375-b694e251101c") Examples: id=6bef213c-19ca-4170-8375-b694e251101c (single entity uuid requested) id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9&id=2541e9a7-b80d-4955-8aa2-79b233318ba0 (multiple entity uuid with '&' separator) + VnLayer string `url:"vnLayer,omitempty"` //VN Layer information covering Layer 3 or Layer 2 VNs. +} +type ReadVirtualNetworksCountHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type ReadVirtualNetworkWithItsHealthSummaryFromIDQueryParams struct { + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + Attribute string `url:"attribute,omitempty"` //The interested fields in the request. For valid attributes, verify the documentation. + View string `url:"view,omitempty"` //The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with virtual networks. +} +type ReadVirtualNetworkWithItsHealthSummaryFromIDHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + TrendInterval string `url:"trendInterval,omitempty"` //The time window to aggregate the metrics. Interval can be 5 minutes or 10 minutes or 1 hour or 1 day or 7 days + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. + Attribute string `url:"attribute,omitempty"` //The interested fields in the request. For valid attributes, verify the documentation. +} +type TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} type GetDefaultAuthenticationProfileFromSdaFabricQueryParams struct { SiteNameHierarchy string `url:"siteNameHierarchy,omitempty"` //siteNameHierarchy AuthenticateTemplateName string `url:"authenticateTemplateName,omitempty"` //authenticateTemplateName @@ -111,7 +249,7 @@ type GetAnycastGatewaysQueryParams struct { VLANName string `url:"vlanName,omitempty"` //VLAN name of the anycast gateways. VLANID float64 `url:"vlanId,omitempty"` //VLAN ID of the anycast gateways. The allowed range for vlanId is [2-4093] except for reserved VLANs [1002-1005], 2046, and 4094. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type GetAnycastGatewayCountQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric the anycast gateway is assigned to. @@ -121,10 +259,11 @@ type GetAnycastGatewayCountQueryParams struct { VLANID float64 `url:"vlanId,omitempty"` //VLAN ID of the anycast gateways. The allowed range for vlanId is [2-4093] except for reserved VLANs [1002-1005], 2046, and 4094. } type GetAuthenticationProfilesQueryParams struct { - FabricID string `url:"fabricId,omitempty"` //ID of the fabric the authentication profile is assigned to. - AuthenticationProfileName string `url:"authenticationProfileName,omitempty"` //Return only the authentication profiles with this specified name. Note that 'No Authentication' is not a valid option for this parameter. - Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + FabricID string `url:"fabricId,omitempty"` //ID of the fabric the authentication profile is assigned to. + AuthenticationProfileName string `url:"authenticationProfileName,omitempty"` //Return only the authentication profiles with this specified name. Note that 'No Authentication' is not a valid option for this parameter. + IsGlobalAuthenticationProfile bool `url:"isGlobalAuthenticationProfile,omitempty"` //Set to true to return only global authentication profiles, or set to false to hide them. isGlobalAuthenticationProfile must not be true when fabricId is provided. + Offset float64 `url:"offset,omitempty"` //Starting record for pagination. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type DeleteExtranetPoliciesQueryParams struct { ExtranetPolicyName string `url:"extranetPolicyName,omitempty"` //Name of the extranet policy. @@ -132,14 +271,14 @@ type DeleteExtranetPoliciesQueryParams struct { type GetExtranetPoliciesQueryParams struct { ExtranetPolicyName string `url:"extranetPolicyName,omitempty"` //Name of the extranet policy. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type GetFabricDevicesQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric this device belongs to. NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Network device ID of the fabric device. DeviceRoles string `url:"deviceRoles,omitempty"` //Device roles of the fabric device. Allowed values are [CONTROL_PLANE_NODE, EDGE_NODE, BORDER_NODE, WIRELESS_CONTROLLER_NODE, EXTENDED_NODE]. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type DeleteFabricDevicesQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric this device belongs to. @@ -159,7 +298,7 @@ type GetFabricDevicesLayer2HandoffsQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric this device belongs to. NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Network device ID of the fabric device. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type GetFabricDevicesLayer2HandoffsCountQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric this device belongs to. @@ -173,7 +312,7 @@ type GetFabricDevicesLayer3HandoffsWithIPTransitQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric this device belongs to. NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Network device ID of the fabric device. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type GetFabricDevicesLayer3HandoffsWithIPTransitCountQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric this device belongs to. @@ -183,7 +322,7 @@ type GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric this device belongs to. NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Network device ID of the fabric device. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type DeleteFabricDeviceLayer3HandoffsWithSdaTransitQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric this device belongs to. @@ -197,13 +336,13 @@ type GetFabricSitesQueryParams struct { ID string `url:"id,omitempty"` //ID of the fabric site. SiteID string `url:"siteId,omitempty"` //ID of the network hierarchy associated with the fabric site. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type GetFabricZonesQueryParams struct { ID string `url:"id,omitempty"` //ID of the fabric zone. SiteID string `url:"siteId,omitempty"` //ID of the network hierarchy associated with the fabric zone. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type DeleteLayer2VirtualNetworksQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric the layer 2 virtual network is assigned to. @@ -220,7 +359,7 @@ type GetLayer2VirtualNetworksQueryParams struct { TrafficType string `url:"trafficType,omitempty"` //The traffic type of the layer 2 virtual network. AssociatedLayer3VirtualNetworkName string `url:"associatedLayer3VirtualNetworkName,omitempty"` //Name of the associated layer 3 virtual network. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type GetLayer2VirtualNetworkCountQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric the layer 2 virtual network is assigned to. @@ -234,7 +373,7 @@ type GetLayer3VirtualNetworksQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric the layer 3 virtual network is assigned to. AnchoredSiteID string `url:"anchoredSiteId,omitempty"` //Fabric ID of the fabric site the layer 3 virtual network is anchored at. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type DeleteLayer3VirtualNetworksQueryParams struct { VirtualNetworkName string `url:"virtualNetworkName,omitempty"` //Name of the layer 3 virtual network. @@ -246,17 +385,22 @@ type GetLayer3VirtualNetworksCountQueryParams struct { type GetMulticastQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric site where multicast is configured. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type GetMulticastVirtualNetworksQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric site where multicast is configured. VirtualNetworkName string `url:"virtualNetworkName,omitempty"` //Name of the virtual network associated to the multicast configuration. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type GetMulticastVirtualNetworkCountQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric site the multicast configuration is associated with. } +type GetPendingFabricEventsQueryParams struct { + FabricID string `url:"fabricId,omitempty"` //ID of the fabric. + Offset float64 `url:"offset,omitempty"` //Starting record for pagination. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. +} type GetPortAssignmentsQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric the device is assigned to. NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Network device ID of the port assignment. @@ -264,7 +408,7 @@ type GetPortAssignmentsQueryParams struct { DataVLANName string `url:"dataVlanName,omitempty"` //Data VLAN name of the port assignment. VoiceVLANName string `url:"voiceVlanName,omitempty"` //Voice VLAN name of the port assignment. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type DeletePortAssignmentsQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric the device is assigned to. @@ -286,12 +430,13 @@ type GetPortChannelsQueryParams struct { PortChannelName string `url:"portChannelName,omitempty"` //Name of the port channel. ConnectedDeviceType string `url:"connectedDeviceType,omitempty"` //Connected device type of the port channel. The allowed values are [TRUNK, EXTENDED_NODE]. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type DeletePortChannelsQueryParams struct { FabricID string `url:"fabricId,omitempty"` //ID of the fabric the device is assigned to. NetworkDeviceID string `url:"networkDeviceId,omitempty"` //ID of the network device. PortChannelName string `url:"portChannelName,omitempty"` //Name of the port channel. + PortChannelIDs string `url:"portChannelIds,omitempty"` //IDs of the port channels to be selectively deleted(Maximum number of IDs this parameter could consume is 10). ConnectedDeviceType string `url:"connectedDeviceType,omitempty"` //Connected device type of the port channel. The allowed values are [TRUNK, EXTENDED_NODE]. } type GetPortChannelCountQueryParams struct { @@ -303,23 +448,27 @@ type GetPortChannelCountQueryParams struct { type DeleteProvisionedDevicesQueryParams struct { NetworkDeviceID string `url:"networkDeviceId,omitempty"` //ID of the network device. SiteID string `url:"siteId,omitempty"` //ID of the site hierarchy. + CleanUpConfig bool `url:"cleanUpConfig,omitempty"` //Enable/disable configuration cleanup for the device(s). Defaults to true. } type GetProvisionedDevicesQueryParams struct { ID string `url:"id,omitempty"` //ID of the provisioned device. NetworkDeviceID string `url:"networkDeviceId,omitempty"` //ID of the network device. SiteID string `url:"siteId,omitempty"` //ID of the site hierarchy. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of devices to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of devices to return. The maximum number of objects supported in a single request is 500. } type GetProvisionedDevicesCountQueryParams struct { SiteID string `url:"siteId,omitempty"` //ID of the site hierarchy. } +type DeleteProvisionedDeviceByIDQueryParams struct { + CleanUpConfig bool `url:"cleanUpConfig,omitempty"` //Enable/disable configuration cleanup for the particular device. Defaults to true. +} type GetTransitNetworksQueryParams struct { ID string `url:"id,omitempty"` //ID of the transit network. Name string `url:"name,omitempty"` //Name of the transit network. Type string `url:"type,omitempty"` //Type of the transit network. Allowed values are [IP_BASED_TRANSIT, SDA_LISP_PUB_SUB_TRANSIT, SDA_LISP_BGP_TRANSIT]. Offset float64 `url:"offset,omitempty"` //Starting record for pagination. - Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. The maximum number of objects supported in a single request is 500. } type GetTransitNetworksCountQueryParams struct { Type string `url:"type,omitempty"` //Type of the transit network. Allowed values are [IP_BASED_TRANSIT, SDA_LISP_PUB_SUB_TRANSIT, SDA_LISP_BGP_TRANSIT]. @@ -331,1848 +480,4449 @@ type GetVirtualNetworkWithScalableGroupsQueryParams struct { VirtualNetworkName string `url:"virtualNetworkName,omitempty"` //virtualNetworkName } -type ResponseSdaGetDefaultAuthenticationProfileFromSdaFabric struct { - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site - AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate Template Name - AuthenticationOrder string `json:"authenticationOrder,omitempty"` // Authentication Order - Dot1XToMabFallbackTimeout string `json:"dot1xToMabFallbackTimeout,omitempty"` // Dot1x To Mab Fallback Timeout - WakeOnLan *bool `json:"wakeOnLan,omitempty"` // Wake On Lan - NumberOfHosts string `json:"numberOfHosts,omitempty"` // Number Of Hosts - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Authenticate Template info reterieved successfully in sda fabric site - ExecutionID string `json:"executionId,omitempty"` // Execution Id -} -type ResponseSdaAddDefaultAuthenticationTemplateInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API - ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status -} -type ResponseSdaUpdateDefaultAuthenticationProfileInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API - ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status -} -type ResponseSdaDeleteDefaultAuthenticationProfileFromSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API - ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status -} -type ResponseSdaAddBorderDeviceInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API - ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status -} -type ResponseSdaGetBorderDeviceDetailFromSdaFabric struct { - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Description - Payload *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayload `json:"payload,omitempty"` // +type ResponseSdaReadListOfFabricSitesWithTheirHealthSummary struct { + Response *[]ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryResponse `json:"response,omitempty"` // } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayload struct { - ID string `json:"id,omitempty"` // Id - InstanceID *int `json:"instanceId,omitempty"` // Instance Id - AuthEntityID *int `json:"authEntityId,omitempty"` // Auth Entity Id - DisplayName string `json:"displayName,omitempty"` // Display Name - AuthEntityClass *int `json:"authEntityClass,omitempty"` // Auth Entity Class - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id - DeployPending string `json:"deployPending,omitempty"` // Deploy Pending - InstanceVersion *int `json:"instanceVersion,omitempty"` // Instance Version - CreateTime *int `json:"createTime,omitempty"` // Create Time - Deployed *bool `json:"deployed,omitempty"` // Deployed - IsSeeded *bool `json:"isSeeded,omitempty"` // Is Seeded - IsStale *bool `json:"isStale,omitempty"` // Is Stale - LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last Update Time - Name string `json:"name,omitempty"` // Name - Namespace string `json:"namespace,omitempty"` // Namespace - ProvisioningState string `json:"provisioningState,omitempty"` // Provisioning State - ResourceVersion *int `json:"resourceVersion,omitempty"` // Resource Version - TargetIDList *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadTargetIDList `json:"targetIdList,omitempty"` // Target Id List - Type string `json:"type,omitempty"` // Type - CfsChangeInfo *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadCfsChangeInfo `json:"cfsChangeInfo,omitempty"` // Cfs Change Info - CustomProvisions *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadCustomProvisions `json:"customProvisions,omitempty"` // Custom Provisions - Configs *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadConfigs `json:"configs,omitempty"` // Configs - ManagedSites *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadManagedSites `json:"managedSites,omitempty"` // Managed Sites - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id - Roles []string `json:"roles,omitempty"` // Roles - SaveWanConnectivityDetailsOnly *bool `json:"saveWanConnectivityDetailsOnly,omitempty"` // Save Wan Connectivity Details Only - SiteID string `json:"siteId,omitempty"` // Site Id - AkcSettingsCfs *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadAkcSettingsCfs `json:"akcSettingsCfs,omitempty"` // Akc Settings Cfs - DeviceInterfaceInfo *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceInterfaceInfo `json:"deviceInterfaceInfo,omitempty"` // Device Interface Info - DeviceSettings *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettings `json:"deviceSettings,omitempty"` // - NetworkWidesettings *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettings `json:"networkWideSettings,omitempty"` // - OtherDevice *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadOtherDevice `json:"otherDevice,omitempty"` // Other Device - TransitNetworks *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadTransitNetworks `json:"transitNetworks,omitempty"` // - VirtualNetwork *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadVirtualNetwork `json:"virtualNetwork,omitempty"` // Virtual Network - WLAN *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadWLAN `json:"wlan,omitempty"` // Wlan +type ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryResponse struct { + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + GoodHealthPercentage *int `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + + TotalDeviceCount *int `json:"totalDeviceCount,omitempty"` // Total Device Count + + PoorHealthDeviceCount *int `json:"poorHealthDeviceCount,omitempty"` // Poor Health Device Count + + FairHealthDeviceCount *int `json:"fairHealthDeviceCount,omitempty"` // Fair Health Device Count + + AssociatedL2VnCount *int `json:"associatedL2VnCount,omitempty"` // Associated L2 Vn Count + + AssociatedL3VnCount *int `json:"associatedL3VnCount,omitempty"` // Associated L3 Vn Count + + NetworkProtocol string `json:"networkProtocol,omitempty"` // Network Protocol + + ConnectivityGoodHealthPercentage *int `json:"connectivityGoodHealthPercentage,omitempty"` // Connectivity Good Health Percentage + + ConnectivityTotalHealthDeviceCount *int `json:"connectivityTotalHealthDeviceCount,omitempty"` // Connectivity Total Health Device Count + + ConnectivityGoodHealthDeviceCount *int `json:"connectivityGoodHealthDeviceCount,omitempty"` // Connectivity Good Health Device Count + + ConnectivityPoorHealthDeviceCount *int `json:"connectivityPoorHealthDeviceCount,omitempty"` // Connectivity Poor Health Device Count + + ConnectivityFairHealthDeviceCount *int `json:"connectivityFairHealthDeviceCount,omitempty"` // Connectivity Fair Health Device Count + + InfraGoodHealthPercentage *int `json:"infraGoodHealthPercentage,omitempty"` // Infra Good Health Percentage + + InfraTotalHealthDeviceCount *int `json:"infraTotalHealthDeviceCount,omitempty"` // Infra Total Health Device Count + + InfraGoodHealthDeviceCount *int `json:"infraGoodHealthDeviceCount,omitempty"` // Infra Good Health Device Count + + InfraFairHealthDeviceCount *float64 `json:"infraFairHealthDeviceCount,omitempty"` // Infra Fair Health Device Count + + InfraPoorHealthDeviceCount *float64 `json:"infraPoorHealthDeviceCount,omitempty"` // Infra Poor Health Device Count + + ControlPlaneGoodHealthPercentage *int `json:"controlPlaneGoodHealthPercentage,omitempty"` // Control Plane Good Health Percentage + + ControlPlaneTotalHealthDeviceCount *int `json:"controlPlaneTotalHealthDeviceCount,omitempty"` // Control Plane Total Health Device Count + + ControlPlaneGoodHealthDeviceCount *int `json:"controlPlaneGoodHealthDeviceCount,omitempty"` // Control Plane Good Health Device Count + + ControlPlanePoorHealthDeviceCount *float64 `json:"controlPlanePoorHealthDeviceCount,omitempty"` // Control Plane Poor Health Device Count + + ControlPlaneFairHealthDeviceCount *int `json:"controlPlaneFairHealthDeviceCount,omitempty"` // Control Plane Fair Health Device Count + + PubsubInfraVnGoodHealthPercentage *int `json:"pubsubInfraVnGoodHealthPercentage,omitempty"` // Pubsub Infra Vn Good Health Percentage + + PubsubInfraVnTotalHealthDeviceCount *int `json:"pubsubInfraVnTotalHealthDeviceCount,omitempty"` // Pubsub Infra Vn Total Health Device Count + + PubsubInfraVnGoodHealthDeviceCount *int `json:"pubsubInfraVnGoodHealthDeviceCount,omitempty"` // Pubsub Infra Vn Good Health Device Count + + PubsubInfraVnPoorHealthDeviceCount *int `json:"pubsubInfraVnPoorHealthDeviceCount,omitempty"` // Pubsub Infra Vn Poor Health Device Count + + PubsubInfraVnFairHealthDeviceCount *int `json:"pubsubInfraVnFairHealthDeviceCount,omitempty"` // Pubsub Infra Vn Fair Health Device Count + + BgpEvpnGoodHealthPercentage *ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryResponseBgpEvpnGoodHealthPercentage `json:"bgpEvpnGoodHealthPercentage,omitempty"` // Bgp Evpn Good Health Percentage + + BgpEvpnTotalHealthDeviceCount *float64 `json:"bgpEvpnTotalHealthDeviceCount,omitempty"` // Bgp Evpn Total Health Device Count + + BgpEvpnGoodHealthDeviceCount *float64 `json:"bgpEvpnGoodHealthDeviceCount,omitempty"` // Bgp Evpn Good Health Device Count + + BgpEvpnpoorHealthDeviceCount *float64 `json:"bgpEvpnPoorHealthDeviceCount,omitempty"` // Bgp Evpn Poor Health Device Count + + BgpEvpnFairHealthDeviceCount *float64 `json:"bgpEvpnFairHealthDeviceCount,omitempty"` // Bgp Evpn Fair Health Device Count + + CtsEnvDataDownloadGoodHealthPercentage *int `json:"ctsEnvDataDownloadGoodHealthPercentage,omitempty"` // Cts Env Data Download Good Health Percentage + + CtsEnvDataDownloadTotalHealthDeviceCount *int `json:"ctsEnvDataDownloadTotalHealthDeviceCount,omitempty"` // Cts Env Data Download Total Health Device Count + + CtsEnvDataDownloadGoodHealthDeviceCount *int `json:"ctsEnvDataDownloadGoodHealthDeviceCount,omitempty"` // Cts Env Data Download Good Health Device Count + + CtsEnvDataDownloadPoorHealthDeviceCount *int `json:"ctsEnvDataDownloadPoorHealthDeviceCount,omitempty"` // Cts Env Data Download Poor Health Device Count + + CtsEnvDataDownloadFairHealthDeviceCount *float64 `json:"ctsEnvDataDownloadFairHealthDeviceCount,omitempty"` // Cts Env Data Download Fair Health Device Count + + AAAStatusGoodHealthPercentage *int `json:"aaaStatusGoodHealthPercentage,omitempty"` // Aaa Status Good Health Percentage + + AAAStatusTotalHealthDeviceCount *int `json:"aaaStatusTotalHealthDeviceCount,omitempty"` // Aaa Status Total Health Device Count + + AAAStatusGoodHealthDeviceCount *int `json:"aaaStatusGoodHealthDeviceCount,omitempty"` // Aaa Status Good Health Device Count + + AAAStatusPoorHealthDeviceCount *int `json:"aaaStatusPoorHealthDeviceCount,omitempty"` // Aaa Status Poor Health Device Count + + AAAStatusFairHealthDeviceCount *int `json:"aaaStatusFairHealthDeviceCount,omitempty"` // Aaa Status Fair Health Device Count + + PortChannelGoodHealthPercentage *int `json:"portChannelGoodHealthPercentage,omitempty"` // Port Channel Good Health Percentage + + PortChannelTotalHealthDeviceCount *int `json:"portChannelTotalHealthDeviceCount,omitempty"` // Port Channel Total Health Device Count + + PortChannelGoodHealthDeviceCount *int `json:"portChannelGoodHealthDeviceCount,omitempty"` // Port Channel Good Health Device Count + + PortChannelPoorHealthDeviceCount *int `json:"portChannelPoorHealthDeviceCount,omitempty"` // Port Channel Poor Health Device Count + + PortChannelFairHealthDeviceCount *int `json:"portChannelFairHealthDeviceCount,omitempty"` // Port Channel Fair Health Device Count + + PeerScoreGoodHealthPercentage *ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryResponsePeerScoreGoodHealthPercentage `json:"peerScoreGoodHealthPercentage,omitempty"` // Peer Score Good Health Percentage + + PeerScoreTotalHealthDeviceCount *float64 `json:"peerScoreTotalHealthDeviceCount,omitempty"` // Peer Score Total Health Device Count + + PeerScoreGoodHealthDeviceCount *float64 `json:"peerScoreGoodHealthDeviceCount,omitempty"` // Peer Score Good Health Device Count + + PeerScorePoorHealthDeviceCount *float64 `json:"peerScorePoorHealthDeviceCount,omitempty"` // Peer Score Poor Health Device Count + + PeerScoreFairHealthDeviceCount *float64 `json:"peerScoreFairHealthDeviceCount,omitempty"` // Peer Score Fair Health Device Count + + LispSessionGoodHealthPercentage *int `json:"lispSessionGoodHealthPercentage,omitempty"` // Lisp Session Good Health Percentage + + LispSessionTotalHealthDeviceCount *int `json:"lispSessionTotalHealthDeviceCount,omitempty"` // Lisp Session Total Health Device Count + + LispSessionGoodHealthDeviceCount *int `json:"lispSessionGoodHealthDeviceCount,omitempty"` // Lisp Session Good Health Device Count + + LispSessionPoorHealthDeviceCount *int `json:"lispSessionPoorHealthDeviceCount,omitempty"` // Lisp Session Poor Health Device Count + + LispSessionFairHealthDeviceCount *float64 `json:"lispSessionFairHealthDeviceCount,omitempty"` // Lisp Session Fair Health Device Count + + BorderToControlPlaneGoodHealthPercentage *int `json:"borderToControlPlaneGoodHealthPercentage,omitempty"` // Border To Control Plane Good Health Percentage + + BorderToControlPlaneTotalHealthDeviceCount *int `json:"borderToControlPlaneTotalHealthDeviceCount,omitempty"` // Border To Control Plane Total Health Device Count + + BorderToControlPlaneGoodHealthDeviceCount *int `json:"borderToControlPlaneGoodHealthDeviceCount,omitempty"` // Border To Control Plane Good Health Device Count + + BorderToControlPlanePoorHealthDeviceCount *float64 `json:"borderToControlPlanePoorHealthDeviceCount,omitempty"` // Border To Control Plane Poor Health Device Count + + BorderToControlPlaneFairHealthDeviceCount *int `json:"borderToControlPlaneFairHealthDeviceCount,omitempty"` // Border To Control Plane Fair Health Device Count + + BgpBgpSiteGoodHealthPercentage *int `json:"bgpBgpSiteGoodHealthPercentage,omitempty"` // Bgp Bgp Site Good Health Percentage + + BgpBgpSiteTotalHealthDeviceCount *int `json:"bgpBgpSiteTotalHealthDeviceCount,omitempty"` // Bgp Bgp Site Total Health Device Count + + BgpBgpSiteGoodHealthDeviceCount *int `json:"bgpBgpSiteGoodHealthDeviceCount,omitempty"` // Bgp Bgp Site Good Health Device Count + + BgpBgpSitePoorHealthDeviceCount *float64 `json:"bgpBgpSitePoorHealthDeviceCount,omitempty"` // Bgp Bgp Site Poor Health Device Count + + BgpBgpSiteFairHealthDeviceCount *int `json:"bgpBgpSiteFairHealthDeviceCount,omitempty"` // Bgp Bgp Site Fair Health Device Count + + BgpPubsubSiteGoodHealthPercentage *int `json:"bgpPubsubSiteGoodHealthPercentage,omitempty"` // Bgp Pubsub Site Good Health Percentage + + BgpPubsubSiteTotalHealthDeviceCount *int `json:"bgpPubsubSiteTotalHealthDeviceCount,omitempty"` // Bgp Pubsub Site Total Health Device Count + + BgpPubsubSiteGoodHealthDeviceCount *int `json:"bgpPubsubSiteGoodHealthDeviceCount,omitempty"` // Bgp Pubsub Site Good Health Device Count + + BgpPubsubSitePoorHealthDeviceCount *float64 `json:"bgpPubsubSitePoorHealthDeviceCount,omitempty"` // Bgp Pubsub Site Poor Health Device Count + + BgpPubsubSiteFairHealthDeviceCount *int `json:"bgpPubsubSiteFairHealthDeviceCount,omitempty"` // Bgp Pubsub Site Fair Health Device Count + + BgpPeerInfraVnScoreGoodHealthPercentage *int `json:"bgpPeerInfraVnScoreGoodHealthPercentage,omitempty"` // Bgp Peer Infra Vn Score Good Health Percentage + + BgpPeerInfraVnTotalHealthDeviceCount *int `json:"bgpPeerInfraVnTotalHealthDeviceCount,omitempty"` // Bgp Peer Infra Vn Total Health Device Count + + BgpPeerInfraVnGoodHealthDeviceCount *int `json:"bgpPeerInfraVnGoodHealthDeviceCount,omitempty"` // Bgp Peer Infra Vn Good Health Device Count + + BgpPeerInfraVnPoorHealthDeviceCount *int `json:"bgpPeerInfraVnPoorHealthDeviceCount,omitempty"` // Bgp Peer Infra Vn Poor Health Device Count + + BgpPeerInfraVnFairHealthDeviceCount *float64 `json:"bgpPeerInfraVnFairHealthDeviceCount,omitempty"` // Bgp Peer Infra Vn Fair Health Device Count } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadTargetIDList interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadCfsChangeInfo interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadCustomProvisions interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadConfigs interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadManagedSites interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadAkcSettingsCfs interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceInterfaceInfo interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettings struct { - ID string `json:"id,omitempty"` // Id - InstanceID *int `json:"instanceId,omitempty"` // Instance Id - DisplayName string `json:"displayName,omitempty"` // Display Name - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id - DeployPending string `json:"deployPending,omitempty"` // Deploy Pending - InstanceVersion *int `json:"instanceVersion,omitempty"` // Instance Version - ConnectedTo *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsConnectedTo `json:"connectedTo,omitempty"` // Connected To - CPU *float64 `json:"cpu,omitempty"` // Cpu - DhcpEnabled *bool `json:"dhcpEnabled,omitempty"` // Dhcp Enabled - ExternalConnectivityIPPool string `json:"externalConnectivityIpPool,omitempty"` // External Connectivity Ip Pool - ExternalDomainRoutingProtocol string `json:"externalDomainRoutingProtocol,omitempty"` // External Domain Routing Protocol - InternalDomainProtocolNumber string `json:"internalDomainProtocolNumber,omitempty"` // Internal Domain Protocol Number - Memory *float64 `json:"memory,omitempty"` // Memory - NodeType []string `json:"nodeType,omitempty"` // Node Type - Storage *float64 `json:"storage,omitempty"` // Storage - ExtConnectivitySettings *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettings `json:"extConnectivitySettings,omitempty"` // +type ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryResponseBgpEvpnGoodHealthPercentage interface{} +type ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryResponsePeerScoreGoodHealthPercentage interface{} +type ResponseSdaReadFabricSiteCount struct { + Response *ResponseSdaReadFabricSiteCountResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsConnectedTo interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettings struct { - ID string `json:"id,omitempty"` // Id - InstanceID *int `json:"instanceId,omitempty"` // Instance Id - DisplayName string `json:"displayName,omitempty"` // Display Name - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id - DeployPending string `json:"deployPending,omitempty"` // Deploy Pending - InstanceVersion *int `json:"instanceVersion,omitempty"` // Instance Version - ExternalDomainProtocolNumber string `json:"externalDomainProtocolNumber,omitempty"` // External Domain Protocol Number - InterfaceUUID string `json:"interfaceUuid,omitempty"` // Interface Uuid - PolicyPropagationEnabled *bool `json:"policyPropagationEnabled,omitempty"` // Policy Propagation Enabled - PolicySgtTag *float64 `json:"policySgtTag,omitempty"` // Policy Sgt Tag - L2Handoff *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL2Handoff `json:"l2Handoff,omitempty"` // L2 Handoff - L3Handoff *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL3Handoff `json:"l3Handoff,omitempty"` // +type ResponseSdaReadFabricSiteCountResponse struct { + Count *int `json:"count,omitempty"` // Count } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL2Handoff interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL3Handoff struct { - ID string `json:"id,omitempty"` // Id - InstanceID *int `json:"instanceId,omitempty"` // Instance Id - DisplayName string `json:"displayName,omitempty"` // Display Name - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id - DeployPending string `json:"deployPending,omitempty"` // Deploy Pending - InstanceVersion *float64 `json:"instanceVersion,omitempty"` // Instance Version - LocalIPAddress string `json:"localIpAddress,omitempty"` // Local Ip Address - RemoteIPAddress string `json:"remoteIpAddress,omitempty"` // Remote Ip Address - VLANID *int `json:"vlanId,omitempty"` // Vlan Id - VirtualNetwork *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL3HandoffVirtualNetwork `json:"virtualNetwork,omitempty"` // +type ResponseSdaReadFabricSitesWithHealthSummaryFromID struct { + Response *ResponseSdaReadFabricSitesWithHealthSummaryFromIDResponse `json:"response,omitempty"` // } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL3HandoffVirtualNetwork struct { - IDRef string `json:"idRef,omitempty"` // Id Ref +type ResponseSdaReadFabricSitesWithHealthSummaryFromIDResponse struct { + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + GoodHealthPercentage *int `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + + TotalDeviceCount *int `json:"totalDeviceCount,omitempty"` // Total Device Count + + PoorHealthDeviceCount *int `json:"poorHealthDeviceCount,omitempty"` // Poor Health Device Count + + FairHealthDeviceCount *int `json:"fairHealthDeviceCount,omitempty"` // Fair Health Device Count + + AssociatedL2VnCount *int `json:"associatedL2VnCount,omitempty"` // Associated L2 Vn Count + + AssociatedL3VnCount *int `json:"associatedL3VnCount,omitempty"` // Associated L3 Vn Count + + NetworkProtocol string `json:"networkProtocol,omitempty"` // Network Protocol + + ConnectivityGoodHealthPercentage *int `json:"connectivityGoodHealthPercentage,omitempty"` // Connectivity Good Health Percentage + + ConnectivityTotalHealthDeviceCount *int `json:"connectivityTotalHealthDeviceCount,omitempty"` // Connectivity Total Health Device Count + + ConnectivityGoodHealthDeviceCount *int `json:"connectivityGoodHealthDeviceCount,omitempty"` // Connectivity Good Health Device Count + + ConnectivityPoorHealthDeviceCount *int `json:"connectivityPoorHealthDeviceCount,omitempty"` // Connectivity Poor Health Device Count + + ConnectivityFairHealthDeviceCount *int `json:"connectivityFairHealthDeviceCount,omitempty"` // Connectivity Fair Health Device Count + + InfraGoodHealthPercentage *int `json:"infraGoodHealthPercentage,omitempty"` // Infra Good Health Percentage + + InfraTotalHealthDeviceCount *int `json:"infraTotalHealthDeviceCount,omitempty"` // Infra Total Health Device Count + + InfraGoodHealthDeviceCount *int `json:"infraGoodHealthDeviceCount,omitempty"` // Infra Good Health Device Count + + InfraFairHealthDeviceCount *float64 `json:"infraFairHealthDeviceCount,omitempty"` // Infra Fair Health Device Count + + InfraPoorHealthDeviceCount *float64 `json:"infraPoorHealthDeviceCount,omitempty"` // Infra Poor Health Device Count + + ControlPlaneGoodHealthPercentage *int `json:"controlPlaneGoodHealthPercentage,omitempty"` // Control Plane Good Health Percentage + + ControlPlaneTotalHealthDeviceCount *int `json:"controlPlaneTotalHealthDeviceCount,omitempty"` // Control Plane Total Health Device Count + + ControlPlaneGoodHealthDeviceCount *int `json:"controlPlaneGoodHealthDeviceCount,omitempty"` // Control Plane Good Health Device Count + + ControlPlanePoorHealthDeviceCount *float64 `json:"controlPlanePoorHealthDeviceCount,omitempty"` // Control Plane Poor Health Device Count + + ControlPlaneFairHealthDeviceCount *int `json:"controlPlaneFairHealthDeviceCount,omitempty"` // Control Plane Fair Health Device Count + + PubsubInfraVnGoodHealthPercentage *int `json:"pubsubInfraVnGoodHealthPercentage,omitempty"` // Pubsub Infra Vn Good Health Percentage + + PubsubInfraVnTotalHealthDeviceCount *int `json:"pubsubInfraVnTotalHealthDeviceCount,omitempty"` // Pubsub Infra Vn Total Health Device Count + + PubsubInfraVnGoodHealthDeviceCount *int `json:"pubsubInfraVnGoodHealthDeviceCount,omitempty"` // Pubsub Infra Vn Good Health Device Count + + PubsubInfraVnPoorHealthDeviceCount *int `json:"pubsubInfraVnPoorHealthDeviceCount,omitempty"` // Pubsub Infra Vn Poor Health Device Count + + PubsubInfraVnFairHealthDeviceCount *int `json:"pubsubInfraVnFairHealthDeviceCount,omitempty"` // Pubsub Infra Vn Fair Health Device Count + + BgpEvpnGoodHealthPercentage *ResponseSdaReadFabricSitesWithHealthSummaryFromIDResponseBgpEvpnGoodHealthPercentage `json:"bgpEvpnGoodHealthPercentage,omitempty"` // Bgp Evpn Good Health Percentage + + BgpEvpnTotalHealthDeviceCount *float64 `json:"bgpEvpnTotalHealthDeviceCount,omitempty"` // Bgp Evpn Total Health Device Count + + BgpEvpnGoodHealthDeviceCount *float64 `json:"bgpEvpnGoodHealthDeviceCount,omitempty"` // Bgp Evpn Good Health Device Count + + BgpEvpnpoorHealthDeviceCount *float64 `json:"bgpEvpnPoorHealthDeviceCount,omitempty"` // Bgp Evpn Poor Health Device Count + + BgpEvpnFairHealthDeviceCount *float64 `json:"bgpEvpnFairHealthDeviceCount,omitempty"` // Bgp Evpn Fair Health Device Count + + CtsEnvDataDownloadGoodHealthPercentage *int `json:"ctsEnvDataDownloadGoodHealthPercentage,omitempty"` // Cts Env Data Download Good Health Percentage + + CtsEnvDataDownloadTotalHealthDeviceCount *int `json:"ctsEnvDataDownloadTotalHealthDeviceCount,omitempty"` // Cts Env Data Download Total Health Device Count + + CtsEnvDataDownloadGoodHealthDeviceCount *int `json:"ctsEnvDataDownloadGoodHealthDeviceCount,omitempty"` // Cts Env Data Download Good Health Device Count + + CtsEnvDataDownloadPoorHealthDeviceCount *int `json:"ctsEnvDataDownloadPoorHealthDeviceCount,omitempty"` // Cts Env Data Download Poor Health Device Count + + CtsEnvDataDownloadFairHealthDeviceCount *float64 `json:"ctsEnvDataDownloadFairHealthDeviceCount,omitempty"` // Cts Env Data Download Fair Health Device Count + + AAAStatusGoodHealthPercentage *int `json:"aaaStatusGoodHealthPercentage,omitempty"` // Aaa Status Good Health Percentage + + AAAStatusTotalHealthDeviceCount *int `json:"aaaStatusTotalHealthDeviceCount,omitempty"` // Aaa Status Total Health Device Count + + AAAStatusGoodHealthDeviceCount *int `json:"aaaStatusGoodHealthDeviceCount,omitempty"` // Aaa Status Good Health Device Count + + AAAStatusPoorHealthDeviceCount *int `json:"aaaStatusPoorHealthDeviceCount,omitempty"` // Aaa Status Poor Health Device Count + + AAAStatusFairHealthDeviceCount *int `json:"aaaStatusFairHealthDeviceCount,omitempty"` // Aaa Status Fair Health Device Count + + PortChannelGoodHealthPercentage *int `json:"portChannelGoodHealthPercentage,omitempty"` // Port Channel Good Health Percentage + + PortChannelTotalHealthDeviceCount *int `json:"portChannelTotalHealthDeviceCount,omitempty"` // Port Channel Total Health Device Count + + PortChannelGoodHealthDeviceCount *int `json:"portChannelGoodHealthDeviceCount,omitempty"` // Port Channel Good Health Device Count + + PortChannelPoorHealthDeviceCount *int `json:"portChannelPoorHealthDeviceCount,omitempty"` // Port Channel Poor Health Device Count + + PortChannelFairHealthDeviceCount *int `json:"portChannelFairHealthDeviceCount,omitempty"` // Port Channel Fair Health Device Count + + PeerScoreGoodHealthPercentage *ResponseSdaReadFabricSitesWithHealthSummaryFromIDResponsePeerScoreGoodHealthPercentage `json:"peerScoreGoodHealthPercentage,omitempty"` // Peer Score Good Health Percentage + + PeerScoreTotalHealthDeviceCount *float64 `json:"peerScoreTotalHealthDeviceCount,omitempty"` // Peer Score Total Health Device Count + + PeerScoreGoodHealthDeviceCount *float64 `json:"peerScoreGoodHealthDeviceCount,omitempty"` // Peer Score Good Health Device Count + + PeerScorePoorHealthDeviceCount *float64 `json:"peerScorePoorHealthDeviceCount,omitempty"` // Peer Score Poor Health Device Count + + PeerScoreFairHealthDeviceCount *float64 `json:"peerScoreFairHealthDeviceCount,omitempty"` // Peer Score Fair Health Device Count + + LispSessionGoodHealthPercentage *int `json:"lispSessionGoodHealthPercentage,omitempty"` // Lisp Session Good Health Percentage + + LispSessionTotalHealthDeviceCount *int `json:"lispSessionTotalHealthDeviceCount,omitempty"` // Lisp Session Total Health Device Count + + LispSessionGoodHealthDeviceCount *int `json:"lispSessionGoodHealthDeviceCount,omitempty"` // Lisp Session Good Health Device Count + + LispSessionPoorHealthDeviceCount *int `json:"lispSessionPoorHealthDeviceCount,omitempty"` // Lisp Session Poor Health Device Count + + LispSessionFairHealthDeviceCount *float64 `json:"lispSessionFairHealthDeviceCount,omitempty"` // Lisp Session Fair Health Device Count + + BorderToControlPlaneGoodHealthPercentage *int `json:"borderToControlPlaneGoodHealthPercentage,omitempty"` // Border To Control Plane Good Health Percentage + + BorderToControlPlaneTotalHealthDeviceCount *int `json:"borderToControlPlaneTotalHealthDeviceCount,omitempty"` // Border To Control Plane Total Health Device Count + + BorderToControlPlaneGoodHealthDeviceCount *int `json:"borderToControlPlaneGoodHealthDeviceCount,omitempty"` // Border To Control Plane Good Health Device Count + + BorderToControlPlanePoorHealthDeviceCount *float64 `json:"borderToControlPlanePoorHealthDeviceCount,omitempty"` // Border To Control Plane Poor Health Device Count + + BorderToControlPlaneFairHealthDeviceCount *int `json:"borderToControlPlaneFairHealthDeviceCount,omitempty"` // Border To Control Plane Fair Health Device Count + + BgpBgpSiteGoodHealthPercentage *int `json:"bgpBgpSiteGoodHealthPercentage,omitempty"` // Bgp Bgp Site Good Health Percentage + + BgpBgpSiteTotalHealthDeviceCount *int `json:"bgpBgpSiteTotalHealthDeviceCount,omitempty"` // Bgp Bgp Site Total Health Device Count + + BgpBgpSiteGoodHealthDeviceCount *int `json:"bgpBgpSiteGoodHealthDeviceCount,omitempty"` // Bgp Bgp Site Good Health Device Count + + BgpBgpSitePoorHealthDeviceCount *float64 `json:"bgpBgpSitePoorHealthDeviceCount,omitempty"` // Bgp Bgp Site Poor Health Device Count + + BgpBgpSiteFairHealthDeviceCount *int `json:"bgpBgpSiteFairHealthDeviceCount,omitempty"` // Bgp Bgp Site Fair Health Device Count + + BgpPubsubSiteGoodHealthPercentage *int `json:"bgpPubsubSiteGoodHealthPercentage,omitempty"` // Bgp Pubsub Site Good Health Percentage + + BgpPubsubSiteTotalHealthDeviceCount *int `json:"bgpPubsubSiteTotalHealthDeviceCount,omitempty"` // Bgp Pubsub Site Total Health Device Count + + BgpPubsubSiteGoodHealthDeviceCount *int `json:"bgpPubsubSiteGoodHealthDeviceCount,omitempty"` // Bgp Pubsub Site Good Health Device Count + + BgpPubsubSitePoorHealthDeviceCount *float64 `json:"bgpPubsubSitePoorHealthDeviceCount,omitempty"` // Bgp Pubsub Site Poor Health Device Count + + BgpPubsubSiteFairHealthDeviceCount *int `json:"bgpPubsubSiteFairHealthDeviceCount,omitempty"` // Bgp Pubsub Site Fair Health Device Count + + BgpPeerInfraVnScoreGoodHealthPercentage *int `json:"bgpPeerInfraVnScoreGoodHealthPercentage,omitempty"` // Bgp Peer Infra Vn Score Good Health Percentage + + BgpPeerInfraVnTotalHealthDeviceCount *int `json:"bgpPeerInfraVnTotalHealthDeviceCount,omitempty"` // Bgp Peer Infra Vn Total Health Device Count + + BgpPeerInfraVnGoodHealthDeviceCount *int `json:"bgpPeerInfraVnGoodHealthDeviceCount,omitempty"` // Bgp Peer Infra Vn Good Health Device Count + + BgpPeerInfraVnPoorHealthDeviceCount *int `json:"bgpPeerInfraVnPoorHealthDeviceCount,omitempty"` // Bgp Peer Infra Vn Poor Health Device Count + + BgpPeerInfraVnFairHealthDeviceCount *float64 `json:"bgpPeerInfraVnFairHealthDeviceCount,omitempty"` // Bgp Peer Infra Vn Fair Health Device Count } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettings struct { - ID string `json:"id,omitempty"` // Id - InstanceID *int `json:"instanceId,omitempty"` // Instance Id - DisplayName string `json:"displayName,omitempty"` // Display Name - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id - DeployPending string `json:"deployPending,omitempty"` // Deploy Pending - InstanceVersion *int `json:"instanceVersion,omitempty"` // Instance Version - AAA *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsAAA `json:"aaa,omitempty"` // Aaa - Cmx *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsCmx `json:"cmx,omitempty"` // Cmx - Dhcp *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDhcp `json:"dhcp,omitempty"` // - DNS *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDNS `json:"dns,omitempty"` // - Ldap *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsLdap `json:"ldap,omitempty"` // Ldap - NativeVLAN *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNativeVLAN `json:"nativeVlan,omitempty"` // Native Vlan - Netflow *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNetflow `json:"netflow,omitempty"` // Netflow - Ntp *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNtp `json:"ntp,omitempty"` // Ntp - SNMP *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsSNMP `json:"snmp,omitempty"` // Snmp - Syslogs *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsSyslogs `json:"syslogs,omitempty"` // Syslogs +type ResponseSdaReadFabricSitesWithHealthSummaryFromIDResponseBgpEvpnGoodHealthPercentage interface{} +type ResponseSdaReadFabricSitesWithHealthSummaryFromIDResponsePeerScoreGoodHealthPercentage interface{} +type ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange struct { + Response *[]ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeResponse `json:"response,omitempty"` // + + Page *ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangePage `json:"page,omitempty"` // + + Version *int `json:"version,omitempty"` // Version } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsAAA interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsCmx interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDhcp struct { - ID string `json:"id,omitempty"` // Id - IPAddress *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDhcpIPAddress `json:"ipAddress,omitempty"` // +type ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + Attributes *[]ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeResponseAttributes `json:"attributes,omitempty"` // } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDhcpIPAddress struct { - ID string `json:"id,omitempty"` // Id - PaddedAddress string `json:"paddedAddress,omitempty"` // Padded Address - AddressType string `json:"addressType,omitempty"` // Address Type - Address string `json:"address,omitempty"` // Address +type ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value *int `json:"value,omitempty"` // Value } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDNS struct { - ID string `json:"id,omitempty"` // Id - DomainName string `json:"domainName,omitempty"` // Domain Name - IP *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDNSIP `json:"ip,omitempty"` // +type ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *float64 `json:"offset,omitempty"` // Offset + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDNSIP struct { - ID string `json:"id,omitempty"` // Id - PaddedAddress string `json:"paddedAddress,omitempty"` // Padded Address - AddressType string `json:"addressType,omitempty"` // Address Type - Address string `json:"address,omitempty"` // Address +type ResponseSdaReadFabricEntitySummary struct { + Response *ResponseSdaReadFabricEntitySummaryResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsLdap interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNativeVLAN interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNetflow interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNtp interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsSNMP interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsSyslogs interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadOtherDevice interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadTransitNetworks struct { - IDRef string `json:"idRef,omitempty"` // Id Ref +type ResponseSdaReadFabricEntitySummaryResponse struct { + ProtocolSummaries *[]ResponseSdaReadFabricEntitySummaryResponseProtocolSummaries `json:"protocolSummaries,omitempty"` // } -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadVirtualNetwork interface{} -type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadWLAN interface{} -type ResponseSdaDeleteBorderDeviceFromSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API - ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status +type ResponseSdaReadFabricEntitySummaryResponseProtocolSummaries struct { + FabricSiteGoodHealthCount *int `json:"fabricSiteGoodHealthCount,omitempty"` // Fabric Site Good Health Count + + FabricSiteCount *int `json:"fabricSiteCount,omitempty"` // Fabric Site Count + + FabricSiteGoodHealthPercentage *int `json:"fabricSiteGoodHealthPercentage,omitempty"` // Fabric Site Good Health Percentage + + FabricSiteNoHealthCount *int `json:"fabricSiteNoHealthCount,omitempty"` // Fabric Site No Health Count + + FabricSitePoorHealthCount *int `json:"fabricSitePoorHealthCount,omitempty"` // Fabric Site Poor Health Count + + FabricSiteFairHealthCount *float64 `json:"fabricSiteFairHealthCount,omitempty"` // Fabric Site Fair Health Count + + L3VnGoodHealthCount *int `json:"l3VnGoodHealthCount,omitempty"` // L3 Vn Good Health Count + + L3VnCount *int `json:"l3VnCount,omitempty"` // L3 Vn Count + + L3VnGoodHealthPercentage *int `json:"l3VnGoodHealthPercentage,omitempty"` // L3 Vn Good Health Percentage + + L3VnNoHealthCount *int `json:"l3VnNoHealthCount,omitempty"` // L3 Vn No Health Count + + L3VnFairHealthCount *float64 `json:"l3VnFairHealthCount,omitempty"` // L3 Vn Fair Health Count + + L3VnPoorHealthCount *int `json:"l3VnPoorHealthCount,omitempty"` // L3 Vn Poor Health Count + + L2VnGoodHealthCount *int `json:"l2VnGoodHealthCount,omitempty"` // L2 Vn Good Health Count + + L2VnCount *int `json:"l2VnCount,omitempty"` // L2 Vn Count + + L2VnGoodHealthPercentage *int `json:"l2VnGoodHealthPercentage,omitempty"` // L2 Vn Good Health Percentage + + L2VnNoHealthCount *int `json:"l2VnNoHealthCount,omitempty"` // L2 Vn No Health Count + + L2VnPoorHealthCount *int `json:"l2VnPoorHealthCount,omitempty"` // L2 Vn Poor Health Count + + L2VnFairHealthCount *float64 `json:"l2VnFairHealthCount,omitempty"` // L2 Vn Fair Health Count + + TransitNetworkGoodHealthCount *int `json:"transitNetworkGoodHealthCount,omitempty"` // Transit Network Good Health Count + + TransitNetworkCount *int `json:"transitNetworkCount,omitempty"` // Transit Network Count + + TransitNetworkGoodHealthPercentage *int `json:"transitNetworkGoodHealthPercentage,omitempty"` // Transit Network Good Health Percentage + + TransitNetworkNoHealthCount *int `json:"transitNetworkNoHealthCount,omitempty"` // Transit Network No Health Count + + TransitNetworkPoorHealthCount *int `json:"transitNetworkPoorHealthCount,omitempty"` // Transit Network Poor Health Count + + TransitNetworkFairHealthCount *float64 `json:"transitNetworkFairHealthCount,omitempty"` // Transit Network Fair Health Count + + IPTransitNetworkCount *int `json:"ipTransitNetworkCount,omitempty"` // Ip Transit Network Count + + FabricDeviceCount *int `json:"fabricDeviceCount,omitempty"` // Fabric Device Count + + P1IssueCount *int `json:"p1IssueCount,omitempty"` // P1 Issue Count + + P2IssueCount *int `json:"p2IssueCount,omitempty"` // P2 Issue Count + + P3IssueCount *int `json:"p3IssueCount,omitempty"` // P3 Issue Count + + NetworkSegmentProtocol string `json:"networkSegmentProtocol,omitempty"` // Network Segment Protocol } -type ResponseSdaDeleteControlPlaneDeviceInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API - ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status +type ResponseSdaReadListOfTransitNetworksWithTheirHealthSummary struct { + Response *[]ResponseSdaReadListOfTransitNetworksWithTheirHealthSummaryResponse `json:"response,omitempty"` // } -type ResponseSdaGetControlPlaneDeviceFromSdaFabric struct { +type ResponseSdaReadListOfTransitNetworksWithTheirHealthSummaryResponse struct { + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + ControlPlaneCount *int `json:"controlPlaneCount,omitempty"` // Control Plane Count + + TransitType string `json:"transitType,omitempty"` // Transit Type + + FabricSitesCount *int `json:"fabricSitesCount,omitempty"` // Fabric Sites Count + + GoodHealthPercentage *int `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + + TotalDeviceCount *int `json:"totalDeviceCount,omitempty"` // Total Device Count + + PoorHealthDeviceCount *int `json:"poorHealthDeviceCount,omitempty"` // Poor Health Device Count + + FairHealthDeviceCount *int `json:"fairHealthDeviceCount,omitempty"` // Fair Health Device Count + + TransitControlPlaneHealthPercentage *int `json:"transitControlPlaneHealthPercentage,omitempty"` // Transit Control Plane Health Percentage + + TransitControlPlaneTotalDeviceCount *int `json:"transitControlPlaneTotalDeviceCount,omitempty"` // Transit Control Plane Total Device Count + + TransitControlPlaneGoodHealthDeviceCount *int `json:"transitControlPlaneGoodHealthDeviceCount,omitempty"` // Transit Control Plane Good Health Device Count + + TransitControlPlanePoorHealthDeviceCount *int `json:"transitControlPlanePoorHealthDeviceCount,omitempty"` // Transit Control Plane Poor Health Device Count + + TransitControlPlaneFairHealthDeviceCount *int `json:"transitControlPlaneFairHealthDeviceCount,omitempty"` // Transit Control Plane Fair Health Device Count + + TransitServicesHealthPercentage *int `json:"transitServicesHealthPercentage,omitempty"` // Transit Services Health Percentage + + TransitServicesTotalDeviceCount *int `json:"transitServicesTotalDeviceCount,omitempty"` // Transit Services Total Device Count + + TransitServicesGoodHealthDeviceCount *int `json:"transitServicesGoodHealthDeviceCount,omitempty"` // Transit Services Good Health Device Count + + TransitServicesPoorHealthDeviceCount *float64 `json:"transitServicesPoorHealthDeviceCount,omitempty"` // Transit Services Poor Health Device Count + + TransitServicesFairHealthDeviceCount *int `json:"transitServicesFairHealthDeviceCount,omitempty"` // Transit Services Fair Health Device Count + + PubsubTransitHealthPercentage *int `json:"pubsubTransitHealthPercentage,omitempty"` // Pubsub Transit Health Percentage + + PubsubTransitTotalDeviceCount *int `json:"pubsubTransitTotalDeviceCount,omitempty"` // Pubsub Transit Total Device Count + + PubsubTransitGoodHealthDeviceCount *int `json:"pubsubTransitGoodHealthDeviceCount,omitempty"` // Pubsub Transit Good Health Device Count + + PubsubTransitPoorHealthDeviceCount *int `json:"pubsubTransitPoorHealthDeviceCount,omitempty"` // Pubsub Transit Poor Health Device Count + + PubsubTransitFairHealthDeviceCount *int `json:"pubsubTransitFairHealthDeviceCount,omitempty"` // Pubsub Transit Fair Health Device Count + + LispTransitHealthPercentage *int `json:"lispTransitHealthPercentage,omitempty"` // Lisp Transit Health Percentage + + LispTransitTotalDeviceCount *int `json:"lispTransitTotalDeviceCount,omitempty"` // Lisp Transit Total Device Count + + LispTransitGoodHealthDeviceCount *int `json:"lispTransitGoodHealthDeviceCount,omitempty"` // Lisp Transit Good Health Device Count + + LispTransitPoorHealthDeviceCount *float64 `json:"lispTransitPoorHealthDeviceCount,omitempty"` // Lisp Transit Poor Health Device Count + + LispTransitFairHealthDeviceCount *int `json:"lispTransitFairHealthDeviceCount,omitempty"` // Lisp Transit Fair Health Device Count + + InternetAvailTransitHealthPercentage *int `json:"internetAvailTransitHealthPercentage,omitempty"` // Internet Avail Transit Health Percentage + + InternetAvailTransitTotalDeviceCount *int `json:"internetAvailTransitTotalDeviceCount,omitempty"` // Internet Avail Transit Total Device Count + + InternetAvailTransitGoodHealthDeviceCount *int `json:"internetAvailTransitGoodHealthDeviceCount,omitempty"` // Internet Avail Transit Good Health Device Count + + InternetAvailTransitPoorHealthDeviceCount *int `json:"internetAvailTransitPoorHealthDeviceCount,omitempty"` // Internet Avail Transit Poor Health Device Count + + InternetAvailTransitFairHealthDeviceCount *int `json:"internetAvailTransitFairHealthDeviceCount,omitempty"` // Internet Avail Transit Fair Health Device Count + + BgpTCPHealthPercentage *int `json:"bgpTcpHealthPercentage,omitempty"` // Bgp Tcp Health Percentage + + BgpTCPTotalDeviceCount *int `json:"bgpTcpTotalDeviceCount,omitempty"` // Bgp Tcp Total Device Count + + BgpTCPGoodHealthDeviceCount *int `json:"bgpTcpGoodHealthDeviceCount,omitempty"` // Bgp Tcp Good Health Device Count + + BgpTCPPoorHealthDeviceCount *int `json:"bgpTcpPoorHealthDeviceCount,omitempty"` // Bgp Tcp Poor Health Device Count + + BgpTCPFairHealthDeviceCount *int `json:"bgpTcpFairHealthDeviceCount,omitempty"` // Bgp Tcp Fair Health Device Count +} +type ResponseSdaReadTransitNetworksCount struct { + Response *[]ResponseSdaReadTransitNetworksCountResponse `json:"response,omitempty"` // +} +type ResponseSdaReadTransitNetworksCountResponse struct { + ErrorCode *int `json:"errorCode,omitempty"` // Error Code + + Message string `json:"message,omitempty"` // Message + + Detail string `json:"detail,omitempty"` // Detail +} +type ResponseSdaReadTransitNetworkWithItsHealthSummaryFromID struct { + Response *ResponseSdaReadTransitNetworkWithItsHealthSummaryFromIDResponse `json:"response,omitempty"` // +} +type ResponseSdaReadTransitNetworkWithItsHealthSummaryFromIDResponse struct { + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + ControlPlaneCount *int `json:"controlPlaneCount,omitempty"` // Control Plane Count + + TransitType string `json:"transitType,omitempty"` // Transit Type + + FabricSitesCount *int `json:"fabricSitesCount,omitempty"` // Fabric Sites Count + + GoodHealthPercentage *int `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + + TotalDeviceCount *int `json:"totalDeviceCount,omitempty"` // Total Device Count + + PoorHealthDeviceCount *int `json:"poorHealthDeviceCount,omitempty"` // Poor Health Device Count + + FairHealthDeviceCount *int `json:"fairHealthDeviceCount,omitempty"` // Fair Health Device Count + + TransitControlPlaneHealthPercentage *int `json:"transitControlPlaneHealthPercentage,omitempty"` // Transit Control Plane Health Percentage + + TransitControlPlaneTotalDeviceCount *int `json:"transitControlPlaneTotalDeviceCount,omitempty"` // Transit Control Plane Total Device Count + + TransitControlPlaneGoodHealthDeviceCount *int `json:"transitControlPlaneGoodHealthDeviceCount,omitempty"` // Transit Control Plane Good Health Device Count + + TransitControlPlanePoorHealthDeviceCount *int `json:"transitControlPlanePoorHealthDeviceCount,omitempty"` // Transit Control Plane Poor Health Device Count + + TransitControlPlaneFairHealthDeviceCount *int `json:"transitControlPlaneFairHealthDeviceCount,omitempty"` // Transit Control Plane Fair Health Device Count + + TransitServicesHealthPercentage *int `json:"transitServicesHealthPercentage,omitempty"` // Transit Services Health Percentage + + TransitServicesTotalDeviceCount *int `json:"transitServicesTotalDeviceCount,omitempty"` // Transit Services Total Device Count + + TransitServicesGoodHealthDeviceCount *int `json:"transitServicesGoodHealthDeviceCount,omitempty"` // Transit Services Good Health Device Count + + TransitServicesPoorHealthDeviceCount *float64 `json:"transitServicesPoorHealthDeviceCount,omitempty"` // Transit Services Poor Health Device Count + + TransitServicesFairHealthDeviceCount *int `json:"transitServicesFairHealthDeviceCount,omitempty"` // Transit Services Fair Health Device Count + + PubsubTransitHealthPercentage *int `json:"pubsubTransitHealthPercentage,omitempty"` // Pubsub Transit Health Percentage + + PubsubTransitTotalDeviceCount *int `json:"pubsubTransitTotalDeviceCount,omitempty"` // Pubsub Transit Total Device Count + + PubsubTransitGoodHealthDeviceCount *int `json:"pubsubTransitGoodHealthDeviceCount,omitempty"` // Pubsub Transit Good Health Device Count + + PubsubTransitPoorHealthDeviceCount *int `json:"pubsubTransitPoorHealthDeviceCount,omitempty"` // Pubsub Transit Poor Health Device Count + + PubsubTransitFairHealthDeviceCount *int `json:"pubsubTransitFairHealthDeviceCount,omitempty"` // Pubsub Transit Fair Health Device Count + + LispTransitHealthPercentage *int `json:"lispTransitHealthPercentage,omitempty"` // Lisp Transit Health Percentage + + LispTransitTotalDeviceCount *int `json:"lispTransitTotalDeviceCount,omitempty"` // Lisp Transit Total Device Count + + LispTransitGoodHealthDeviceCount *int `json:"lispTransitGoodHealthDeviceCount,omitempty"` // Lisp Transit Good Health Device Count + + LispTransitPoorHealthDeviceCount *float64 `json:"lispTransitPoorHealthDeviceCount,omitempty"` // Lisp Transit Poor Health Device Count + + LispTransitFairHealthDeviceCount *int `json:"lispTransitFairHealthDeviceCount,omitempty"` // Lisp Transit Fair Health Device Count + + InternetAvailTransitHealthPercentage *int `json:"internetAvailTransitHealthPercentage,omitempty"` // Internet Avail Transit Health Percentage + + InternetAvailTransitTotalDeviceCount *int `json:"internetAvailTransitTotalDeviceCount,omitempty"` // Internet Avail Transit Total Device Count + + InternetAvailTransitGoodHealthDeviceCount *int `json:"internetAvailTransitGoodHealthDeviceCount,omitempty"` // Internet Avail Transit Good Health Device Count + + InternetAvailTransitPoorHealthDeviceCount *int `json:"internetAvailTransitPoorHealthDeviceCount,omitempty"` // Internet Avail Transit Poor Health Device Count + + InternetAvailTransitFairHealthDeviceCount *int `json:"internetAvailTransitFairHealthDeviceCount,omitempty"` // Internet Avail Transit Fair Health Device Count + + BgpTCPHealthPercentage *int `json:"bgpTcpHealthPercentage,omitempty"` // Bgp Tcp Health Percentage + + BgpTCPTotalDeviceCount *int `json:"bgpTcpTotalDeviceCount,omitempty"` // Bgp Tcp Total Device Count + + BgpTCPGoodHealthDeviceCount *int `json:"bgpTcpGoodHealthDeviceCount,omitempty"` // Bgp Tcp Good Health Device Count + + BgpTCPPoorHealthDeviceCount *int `json:"bgpTcpPoorHealthDeviceCount,omitempty"` // Bgp Tcp Poor Health Device Count + + BgpTCPFairHealthDeviceCount *int `json:"bgpTcpFairHealthDeviceCount,omitempty"` // Bgp Tcp Fair Health Device Count +} +type ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange struct { + Response *[]ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeResponse `json:"response,omitempty"` // + + Page *ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangePage `json:"page,omitempty"` // + + Version *int `json:"version,omitempty"` // Version +} +type ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + Attributes *[]ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeResponseAttributes `json:"attributes,omitempty"` // +} +type ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value *int `json:"value,omitempty"` // Value +} +type ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *float64 `json:"offset,omitempty"` // Offset + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order +} +type ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummary struct { + Response *[]ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponse `json:"response,omitempty"` // +} +type ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponse struct { + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + NetworkProtocol string `json:"networkProtocol,omitempty"` // Network Protocol + + VLAN *ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseVLAN `json:"vlan,omitempty"` // Vlan + + Vnid *int `json:"vnid,omitempty"` // Vnid + + Layer *ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseLayer `json:"layer,omitempty"` // Layer + + TotalFabricSites *int `json:"totalFabricSites,omitempty"` // Total Fabric Sites + + AssociatedL3Vn *ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseAssociatedL3Vn `json:"associatedL3Vn,omitempty"` // Associated L3 Vn + + TotalEndpoints *float64 `json:"totalEndpoints,omitempty"` // Total Endpoints + + GoodHealthPercentage *int `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + + TotalDeviceCount *int `json:"totalDeviceCount,omitempty"` // Total Device Count + + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + + FairHealthDeviceCount *int `json:"fairHealthDeviceCount,omitempty"` // Fair Health Device Count + + PoorHealthDeviceCount *int `json:"poorHealthDeviceCount,omitempty"` // Poor Health Device Count + + NoHealthDeviceCount *int `json:"noHealthDeviceCount,omitempty"` // No Health Device Count + + VnFabricControlPlaneGoodHealthPercentage *int `json:"vnFabricControlPlaneGoodHealthPercentage,omitempty"` // Vn Fabric Control Plane Good Health Percentage + + VnFabricControlPlaneTotalDeviceCount *int `json:"vnFabricControlPlaneTotalDeviceCount,omitempty"` // Vn Fabric Control Plane Total Device Count + + VnFabricControlPlaneGoodHealthDeviceCount *int `json:"vnFabricControlPlaneGoodHealthDeviceCount,omitempty"` // Vn Fabric Control Plane Good Health Device Count + + VnFabricControlPlanePoorHealthDeviceCount *int `json:"vnFabricControlPlanePoorHealthDeviceCount,omitempty"` // Vn Fabric Control Plane Poor Health Device Count + + VnFabricControlPlaneFairHealthDeviceCount *float64 `json:"vnFabricControlPlaneFairHealthDeviceCount,omitempty"` // Vn Fabric Control Plane Fair Health Device Count + + VnFabricControlPlaneNoHealthDeviceCount *float64 `json:"vnFabricControlPlaneNoHealthDeviceCount,omitempty"` // Vn Fabric Control Plane No Health Device Count + + VnServicesHealthPercentage *int `json:"vnServicesHealthPercentage,omitempty"` // Vn Services Health Percentage + + VnServicesTotalDeviceCount *int `json:"vnServicesTotalDeviceCount,omitempty"` // Vn Services Total Device Count + + VnServicesGoodHealthDeviceCount *int `json:"vnServicesGoodHealthDeviceCount,omitempty"` // Vn Services Good Health Device Count + + VnServicesPoorHealthDeviceCount *int `json:"vnServicesPoorHealthDeviceCount,omitempty"` // Vn Services Poor Health Device Count + + VnServicesFairHealthDeviceCount *float64 `json:"vnServicesFairHealthDeviceCount,omitempty"` // Vn Services Fair Health Device Count + + VnServicesNoHealthDeviceCount *float64 `json:"vnServicesNoHealthDeviceCount,omitempty"` // Vn Services No Health Device Count + + VnExitHealthPercentage *int `json:"vnExitHealthPercentage,omitempty"` // Vn Exit Health Percentage + + VnExitTotalDeviceCount *int `json:"vnExitTotalDeviceCount,omitempty"` // Vn Exit Total Device Count + + VnExitGoodHealthDeviceCount *int `json:"vnExitGoodHealthDeviceCount,omitempty"` // Vn Exit Good Health Device Count + + VnExitPoorHealthDeviceCount *int `json:"vnExitPoorHealthDeviceCount,omitempty"` // Vn Exit Poor Health Device Count + + VnExitFairHealthDeviceCount *float64 `json:"vnExitFairHealthDeviceCount,omitempty"` // Vn Exit Fair Health Device Count + + VnExitNoHealthDeviceCount *float64 `json:"vnExitNoHealthDeviceCount,omitempty"` // Vn Exit No Health Device Count + + VnStatusHealthPercentage *ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseVnStatusHealthPercentage `json:"vnStatusHealthPercentage,omitempty"` // Vn Status Health Percentage + + VnStatusTotalDeviceCount *float64 `json:"vnStatusTotalDeviceCount,omitempty"` // Vn Status Total Device Count + + VnStatusGoodHealthDeviceCount *float64 `json:"vnStatusGoodHealthDeviceCount,omitempty"` // Vn Status Good Health Device Count + + VnStatusPoorHealthDeviceCount *float64 `json:"vnStatusPoorHealthDeviceCount,omitempty"` // Vn Status Poor Health Device Count + + VnStatusFairHealthDeviceCount *float64 `json:"vnStatusFairHealthDeviceCount,omitempty"` // Vn Status Fair Health Device Count + + VnStatusNoHealthDeviceCount *float64 `json:"vnStatusNoHealthDeviceCount,omitempty"` // Vn Status No Health Device Count + + PubsubSessionGoodHealthPercentage *int `json:"pubsubSessionGoodHealthPercentage,omitempty"` // Pubsub Session Good Health Percentage + + PubsubSessionTotalDeviceCount *int `json:"pubsubSessionTotalDeviceCount,omitempty"` // Pubsub Session Total Device Count + + PubsubSessionGoodHealthDeviceCount *int `json:"pubsubSessionGoodHealthDeviceCount,omitempty"` // Pubsub Session Good Health Device Count + + PubsubSessionPoorHealthDeviceCount *int `json:"pubsubSessionPoorHealthDeviceCount,omitempty"` // Pubsub Session Poor Health Device Count + + PubsubSessionFairHealthDeviceCount *float64 `json:"pubsubSessionFairHealthDeviceCount,omitempty"` // Pubsub Session Fair Health Device Count + + PubsubSessionNoHealthDeviceCount *float64 `json:"pubsubSessionNoHealthDeviceCount,omitempty"` // Pubsub Session No Health Device Count + + MultiCastGoodHealthPercentage *ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseMultiCastGoodHealthPercentage `json:"multiCastGoodHealthPercentage,omitempty"` // Multi Cast Good Health Percentage + + MultiCastTotalDeviceCount *float64 `json:"multiCastTotalDeviceCount,omitempty"` // Multi Cast Total Device Count + + MultiCastGoodHealthDeviceCount *float64 `json:"multiCastGoodHealthDeviceCount,omitempty"` // Multi Cast Good Health Device Count + + MultiCastPoorHealthDeviceCount *float64 `json:"multiCastPoorHealthDeviceCount,omitempty"` // Multi Cast Poor Health Device Count + + MultiCastFairHealthDeviceCount *float64 `json:"multiCastFairHealthDeviceCount,omitempty"` // Multi Cast Fair Health Device Count + + MultiCastNoHealthDeviceCount *float64 `json:"multiCastNoHealthDeviceCount,omitempty"` // Multi Cast No Health Device Count + + InternetAvailGoodHealthPercentage *int `json:"internetAvailGoodHealthPercentage,omitempty"` // Internet Avail Good Health Percentage + + InternetAvailTotalDeviceCount *int `json:"internetAvailTotalDeviceCount,omitempty"` // Internet Avail Total Device Count + + InternetAvailGoodHealthDeviceCount *int `json:"internetAvailGoodHealthDeviceCount,omitempty"` // Internet Avail Good Health Device Count + + InternetAvailPoorHealthDeviceCount *int `json:"internetAvailPoorHealthDeviceCount,omitempty"` // Internet Avail Poor Health Device Count + + InternetAvailFairHealthDeviceCount *int `json:"internetAvailFairHealthDeviceCount,omitempty"` // Internet Avail Fair Health Device Count + + InternetAvailNoHealthDeviceCount *int `json:"internetAvailNoHealthDeviceCount,omitempty"` // Internet Avail No Health Device Count + + BgpPeerGoodHealthPercentage *int `json:"bgpPeerGoodHealthPercentage,omitempty"` // Bgp Peer Good Health Percentage + + BgpPeerTotalDeviceCount *int `json:"bgpPeerTotalDeviceCount,omitempty"` // Bgp Peer Total Device Count + + BgpPeerGoodHealthDeviceCount *int `json:"bgpPeerGoodHealthDeviceCount,omitempty"` // Bgp Peer Good Health Device Count + + BgpPeerPoorHealthDeviceCount *int `json:"bgpPeerPoorHealthDeviceCount,omitempty"` // Bgp Peer Poor Health Device Count + + BgpPeerFairHealthDeviceCount *float64 `json:"bgpPeerFairHealthDeviceCount,omitempty"` // Bgp Peer Fair Health Device Count + + BgpPeerNoHealthDeviceCount *float64 `json:"bgpPeerNoHealthDeviceCount,omitempty"` // Bgp Peer No Health Device Count + + VniGoodHealthPercentage *ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseVniGoodHealthPercentage `json:"vniGoodHealthPercentage,omitempty"` // Vni Good Health Percentage + + VniTotalDeviceCount *float64 `json:"vniTotalDeviceCount,omitempty"` // Vni Total Device Count + + VniGoodHealthDeviceCount *float64 `json:"vniGoodHealthDeviceCount,omitempty"` // Vni Good Health Device Count + + VniPoorHealthDeviceCount *float64 `json:"vniPoorHealthDeviceCount,omitempty"` // Vni Poor Health Device Count + + VniFairHealthDeviceCount *float64 `json:"vniFairHealthDeviceCount,omitempty"` // Vni Fair Health Device Count + + VniNoHealthDeviceCount *float64 `json:"vniNoHealthDeviceCount,omitempty"` // Vni No Health Device Count +} +type ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseVLAN interface{} +type ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseLayer interface{} +type ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseAssociatedL3Vn interface{} +type ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseVnStatusHealthPercentage interface{} +type ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseMultiCastGoodHealthPercentage interface{} +type ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponseVniGoodHealthPercentage interface{} +type ResponseSdaReadVirtualNetworksCount struct { + Response *ResponseSdaReadVirtualNetworksCountResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSdaReadVirtualNetworksCountResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromID struct { + Response *ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponse `json:"response,omitempty"` // +} +type ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponse struct { + ID string `json:"id,omitempty"` // Id + + Name string `json:"name,omitempty"` // Name + + NetworkProtocol string `json:"networkProtocol,omitempty"` // Network Protocol + + VLAN *ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseVLAN `json:"vlan,omitempty"` // Vlan + + Vnid *int `json:"vnid,omitempty"` // Vnid + + Layer *ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseLayer `json:"layer,omitempty"` // Layer + + TotalFabricSites *int `json:"totalFabricSites,omitempty"` // Total Fabric Sites + + AssociatedL3Vn *ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseAssociatedL3Vn `json:"associatedL3Vn,omitempty"` // Associated L3 Vn + + TotalEndpoints *float64 `json:"totalEndpoints,omitempty"` // Total Endpoints + + GoodHealthPercentage *int `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + + TotalDeviceCount *int `json:"totalDeviceCount,omitempty"` // Total Device Count + + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + + FairHealthDeviceCount *int `json:"fairHealthDeviceCount,omitempty"` // Fair Health Device Count + + PoorHealthDeviceCount *int `json:"poorHealthDeviceCount,omitempty"` // Poor Health Device Count + + NoHealthDeviceCount *int `json:"noHealthDeviceCount,omitempty"` // No Health Device Count + + VnFabricControlPlaneGoodHealthPercentage *int `json:"vnFabricControlPlaneGoodHealthPercentage,omitempty"` // Vn Fabric Control Plane Good Health Percentage + + VnFabricControlPlaneTotalDeviceCount *int `json:"vnFabricControlPlaneTotalDeviceCount,omitempty"` // Vn Fabric Control Plane Total Device Count + + VnFabricControlPlaneGoodHealthDeviceCount *int `json:"vnFabricControlPlaneGoodHealthDeviceCount,omitempty"` // Vn Fabric Control Plane Good Health Device Count + + VnFabricControlPlanePoorHealthDeviceCount *int `json:"vnFabricControlPlanePoorHealthDeviceCount,omitempty"` // Vn Fabric Control Plane Poor Health Device Count + + VnFabricControlPlaneFairHealthDeviceCount *float64 `json:"vnFabricControlPlaneFairHealthDeviceCount,omitempty"` // Vn Fabric Control Plane Fair Health Device Count + + VnFabricControlPlaneNoHealthDeviceCount *float64 `json:"vnFabricControlPlaneNoHealthDeviceCount,omitempty"` // Vn Fabric Control Plane No Health Device Count + + VnServicesHealthPercentage *int `json:"vnServicesHealthPercentage,omitempty"` // Vn Services Health Percentage + + VnServicesTotalDeviceCount *int `json:"vnServicesTotalDeviceCount,omitempty"` // Vn Services Total Device Count + + VnServicesGoodHealthDeviceCount *int `json:"vnServicesGoodHealthDeviceCount,omitempty"` // Vn Services Good Health Device Count + + VnServicesPoorHealthDeviceCount *int `json:"vnServicesPoorHealthDeviceCount,omitempty"` // Vn Services Poor Health Device Count + + VnServicesFairHealthDeviceCount *float64 `json:"vnServicesFairHealthDeviceCount,omitempty"` // Vn Services Fair Health Device Count + + VnServicesNoHealthDeviceCount *float64 `json:"vnServicesNoHealthDeviceCount,omitempty"` // Vn Services No Health Device Count + + VnExitHealthPercentage *int `json:"vnExitHealthPercentage,omitempty"` // Vn Exit Health Percentage + + VnExitTotalDeviceCount *int `json:"vnExitTotalDeviceCount,omitempty"` // Vn Exit Total Device Count + + VnExitGoodHealthDeviceCount *int `json:"vnExitGoodHealthDeviceCount,omitempty"` // Vn Exit Good Health Device Count + + VnExitPoorHealthDeviceCount *int `json:"vnExitPoorHealthDeviceCount,omitempty"` // Vn Exit Poor Health Device Count + + VnExitFairHealthDeviceCount *float64 `json:"vnExitFairHealthDeviceCount,omitempty"` // Vn Exit Fair Health Device Count + + VnExitNoHealthDeviceCount *float64 `json:"vnExitNoHealthDeviceCount,omitempty"` // Vn Exit No Health Device Count + + VnStatusHealthPercentage *ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseVnStatusHealthPercentage `json:"vnStatusHealthPercentage,omitempty"` // Vn Status Health Percentage + + VnStatusTotalDeviceCount *float64 `json:"vnStatusTotalDeviceCount,omitempty"` // Vn Status Total Device Count + + VnStatusGoodHealthDeviceCount *float64 `json:"vnStatusGoodHealthDeviceCount,omitempty"` // Vn Status Good Health Device Count + + VnStatusPoorHealthDeviceCount *float64 `json:"vnStatusPoorHealthDeviceCount,omitempty"` // Vn Status Poor Health Device Count + + VnStatusFairHealthDeviceCount *float64 `json:"vnStatusFairHealthDeviceCount,omitempty"` // Vn Status Fair Health Device Count + + VnStatusNoHealthDeviceCount *float64 `json:"vnStatusNoHealthDeviceCount,omitempty"` // Vn Status No Health Device Count + + PubsubSessionGoodHealthPercentage *int `json:"pubsubSessionGoodHealthPercentage,omitempty"` // Pubsub Session Good Health Percentage + + PubsubSessionTotalDeviceCount *int `json:"pubsubSessionTotalDeviceCount,omitempty"` // Pubsub Session Total Device Count + + PubsubSessionGoodHealthDeviceCount *int `json:"pubsubSessionGoodHealthDeviceCount,omitempty"` // Pubsub Session Good Health Device Count + + PubsubSessionPoorHealthDeviceCount *int `json:"pubsubSessionPoorHealthDeviceCount,omitempty"` // Pubsub Session Poor Health Device Count + + PubsubSessionFairHealthDeviceCount *float64 `json:"pubsubSessionFairHealthDeviceCount,omitempty"` // Pubsub Session Fair Health Device Count + + PubsubSessionNoHealthDeviceCount *float64 `json:"pubsubSessionNoHealthDeviceCount,omitempty"` // Pubsub Session No Health Device Count + + MultiCastGoodHealthPercentage *ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseMultiCastGoodHealthPercentage `json:"multiCastGoodHealthPercentage,omitempty"` // Multi Cast Good Health Percentage + + MultiCastTotalDeviceCount *float64 `json:"multiCastTotalDeviceCount,omitempty"` // Multi Cast Total Device Count + + MultiCastGoodHealthDeviceCount *float64 `json:"multiCastGoodHealthDeviceCount,omitempty"` // Multi Cast Good Health Device Count + + MultiCastPoorHealthDeviceCount *float64 `json:"multiCastPoorHealthDeviceCount,omitempty"` // Multi Cast Poor Health Device Count + + MultiCastFairHealthDeviceCount *float64 `json:"multiCastFairHealthDeviceCount,omitempty"` // Multi Cast Fair Health Device Count + + MultiCastNoHealthDeviceCount *float64 `json:"multiCastNoHealthDeviceCount,omitempty"` // Multi Cast No Health Device Count + + InternetAvailGoodHealthPercentage *int `json:"internetAvailGoodHealthPercentage,omitempty"` // Internet Availability Good Health Percentage + + InternetAvailTotalDeviceCount *int `json:"internetAvailTotalDeviceCount,omitempty"` // Internet Availability Total Device Count + + InternetAvailGoodHealthDeviceCount *int `json:"internetAvailGoodHealthDeviceCount,omitempty"` // Internet Availability Good Health Device Count + + InternetAvailPoorHealthDeviceCount *int `json:"internetAvailPoorHealthDeviceCount,omitempty"` // Internet Availability Poor Health Device Count + + InternetAvailFairHealthDeviceCount *int `json:"internetAvailFairHealthDeviceCount,omitempty"` // Internet Availability Fair Health Device Count + + InternetAvailNoHealthDeviceCount *int `json:"internetAvailNoHealthDeviceCount,omitempty"` // Internet Availability No Health Device Count + + BgpPeerGoodHealthPercentage *int `json:"bgpPeerGoodHealthPercentage,omitempty"` // Bgp Peer Good Health Percentage + + BgpPeerTotalDeviceCount *int `json:"bgpPeerTotalDeviceCount,omitempty"` // Bgp Peer Total Device Count + + BgpPeerGoodHealthDeviceCount *int `json:"bgpPeerGoodHealthDeviceCount,omitempty"` // Bgp Peer Good Health Device Count + + BgpPeerPoorHealthDeviceCount *int `json:"bgpPeerPoorHealthDeviceCount,omitempty"` // Bgp Peer Poor Health Device Count + + BgpPeerFairHealthDeviceCount *float64 `json:"bgpPeerFairHealthDeviceCount,omitempty"` // Bgp Peer Fair Health Device Count + + BgpPeerNoHealthDeviceCount *float64 `json:"bgpPeerNoHealthDeviceCount,omitempty"` // Bgp Peer No Health Device Count + + VniGoodHealthPercentage *ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseVniGoodHealthPercentage `json:"vniGoodHealthPercentage,omitempty"` // Vni Good Health Percentage + + VniTotalDeviceCount *float64 `json:"vniTotalDeviceCount,omitempty"` // Vni Total Device Count + + VniGoodHealthDeviceCount *float64 `json:"vniGoodHealthDeviceCount,omitempty"` // Vni Good Health Device Count + + VniPoorHealthDeviceCount *float64 `json:"vniPoorHealthDeviceCount,omitempty"` // Vni Poor Health Device Count + + VniFairHealthDeviceCount *float64 `json:"vniFairHealthDeviceCount,omitempty"` // Vni Fair Health Device Count + + VniNoHealthDeviceCount *float64 `json:"vniNoHealthDeviceCount,omitempty"` // Vni No Health Device Count +} +type ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseVLAN interface{} +type ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseLayer interface{} +type ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseAssociatedL3Vn interface{} +type ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseVnStatusHealthPercentage interface{} +type ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseMultiCastGoodHealthPercentage interface{} +type ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponseVniGoodHealthPercentage interface{} +type ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange struct { + Response *[]ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeResponse `json:"response,omitempty"` // + + Page *ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangePage `json:"page,omitempty"` // + + Version *int `json:"version,omitempty"` // Version +} +type ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + Attributes *[]ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeResponseAttributes `json:"attributes,omitempty"` // +} +type ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value *int `json:"value,omitempty"` // Value +} +type ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *float64 `json:"offset,omitempty"` // Offset + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order +} +type ResponseSdaGetDefaultAuthenticationProfileFromSdaFabric struct { + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site + + AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate Template Name + + AuthenticationOrder string `json:"authenticationOrder,omitempty"` // Authentication Order + + Dot1XToMabFallbackTimeout string `json:"dot1xToMabFallbackTimeout,omitempty"` // Dot1x To Mab Fallback Timeout + + WakeOnLan *bool `json:"wakeOnLan,omitempty"` // Wake On Lan + + NumberOfHosts string `json:"numberOfHosts,omitempty"` // Number Of Hosts + + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Authenticate Template info reterieved successfully in sda fabric site + + ExecutionID string `json:"executionId,omitempty"` // Execution Id +} +type ResponseSdaAddDefaultAuthenticationTemplateInSdaFabric struct { + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status +} +type ResponseSdaUpdateDefaultAuthenticationProfileInSdaFabric struct { + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status +} +type ResponseSdaDeleteDefaultAuthenticationProfileFromSdaFabric struct { + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status +} +type ResponseSdaAddBorderDeviceInSdaFabric struct { + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabric struct { + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Description + + Payload *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayload `json:"payload,omitempty"` // +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayload struct { + ID string `json:"id,omitempty"` // Id + + InstanceID *int `json:"instanceId,omitempty"` // Instance Id + + AuthEntityID *int `json:"authEntityId,omitempty"` // Auth Entity Id + + DisplayName string `json:"displayName,omitempty"` // Display Name + + AuthEntityClass *int `json:"authEntityClass,omitempty"` // Auth Entity Class + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id + + DeployPending string `json:"deployPending,omitempty"` // Deploy Pending + + InstanceVersion *int `json:"instanceVersion,omitempty"` // Instance Version + + CreateTime *int `json:"createTime,omitempty"` // Create Time + + Deployed *bool `json:"deployed,omitempty"` // Deployed + + IsSeeded *bool `json:"isSeeded,omitempty"` // Is Seeded + + IsStale *bool `json:"isStale,omitempty"` // Is Stale + + LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last Update Time + + Name string `json:"name,omitempty"` // Name + + Namespace string `json:"namespace,omitempty"` // Namespace + + ProvisioningState string `json:"provisioningState,omitempty"` // Provisioning State + + ResourceVersion *int `json:"resourceVersion,omitempty"` // Resource Version + + TargetIDList *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadTargetIDList `json:"targetIdList,omitempty"` // Target Id List + + Type string `json:"type,omitempty"` // Type + + CfsChangeInfo *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadCfsChangeInfo `json:"cfsChangeInfo,omitempty"` // Cfs Change Info + + CustomProvisions *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadCustomProvisions `json:"customProvisions,omitempty"` // Custom Provisions + + Configs *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadConfigs `json:"configs,omitempty"` // Configs + + ManagedSites *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadManagedSites `json:"managedSites,omitempty"` // Managed Sites + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id + + Roles []string `json:"roles,omitempty"` // Roles + + SaveWanConnectivityDetailsOnly *bool `json:"saveWanConnectivityDetailsOnly,omitempty"` // Save Wan Connectivity Details Only + + SiteID string `json:"siteId,omitempty"` // Site Id + + AkcSettingsCfs *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadAkcSettingsCfs `json:"akcSettingsCfs,omitempty"` // Akc Settings Cfs + + DeviceInterfaceInfo *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceInterfaceInfo `json:"deviceInterfaceInfo,omitempty"` // Device Interface Info + + DeviceSettings *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettings `json:"deviceSettings,omitempty"` // + + NetworkWidesettings *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettings `json:"networkWideSettings,omitempty"` // + + OtherDevice *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadOtherDevice `json:"otherDevice,omitempty"` // Other Device + + TransitNetworks *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadTransitNetworks `json:"transitNetworks,omitempty"` // + + VirtualNetwork *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadVirtualNetwork `json:"virtualNetwork,omitempty"` // Virtual Network + + WLAN *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadWLAN `json:"wlan,omitempty"` // Wlan +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadTargetIDList interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadCfsChangeInfo interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadCustomProvisions interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadConfigs interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadManagedSites interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadAkcSettingsCfs interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceInterfaceInfo interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettings struct { + ID string `json:"id,omitempty"` // Id + + InstanceID *int `json:"instanceId,omitempty"` // Instance Id + + DisplayName string `json:"displayName,omitempty"` // Display Name + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id + + DeployPending string `json:"deployPending,omitempty"` // Deploy Pending + + InstanceVersion *int `json:"instanceVersion,omitempty"` // Instance Version + + ConnectedTo *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsConnectedTo `json:"connectedTo,omitempty"` // Connected To + + CPU *float64 `json:"cpu,omitempty"` // Cpu + + DhcpEnabled *bool `json:"dhcpEnabled,omitempty"` // Dhcp Enabled + + ExternalConnectivityIPPool string `json:"externalConnectivityIpPool,omitempty"` // External Connectivity Ip Pool + + ExternalDomainRoutingProtocol string `json:"externalDomainRoutingProtocol,omitempty"` // External Domain Routing Protocol + + InternalDomainProtocolNumber string `json:"internalDomainProtocolNumber,omitempty"` // Internal Domain Protocol Number + + Memory *float64 `json:"memory,omitempty"` // Memory + + NodeType []string `json:"nodeType,omitempty"` // Node Type + + Storage *float64 `json:"storage,omitempty"` // Storage + + ExtConnectivitySettings *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettings `json:"extConnectivitySettings,omitempty"` // +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsConnectedTo interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettings struct { + ID string `json:"id,omitempty"` // Id + + InstanceID *int `json:"instanceId,omitempty"` // Instance Id + + DisplayName string `json:"displayName,omitempty"` // Display Name + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id + + DeployPending string `json:"deployPending,omitempty"` // Deploy Pending + + InstanceVersion *int `json:"instanceVersion,omitempty"` // Instance Version + + ExternalDomainProtocolNumber string `json:"externalDomainProtocolNumber,omitempty"` // External Domain Protocol Number + + InterfaceUUID string `json:"interfaceUuid,omitempty"` // Interface Uuid + + PolicyPropagationEnabled *bool `json:"policyPropagationEnabled,omitempty"` // Policy Propagation Enabled + + PolicySgtTag *float64 `json:"policySgtTag,omitempty"` // Policy Sgt Tag + + L2Handoff *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL2Handoff `json:"l2Handoff,omitempty"` // L2 Handoff + + L3Handoff *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL3Handoff `json:"l3Handoff,omitempty"` // +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL2Handoff interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL3Handoff struct { + ID string `json:"id,omitempty"` // Id + + InstanceID *int `json:"instanceId,omitempty"` // Instance Id + + DisplayName string `json:"displayName,omitempty"` // Display Name + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id + + DeployPending string `json:"deployPending,omitempty"` // Deploy Pending + + InstanceVersion *float64 `json:"instanceVersion,omitempty"` // Instance Version + + LocalIPAddress string `json:"localIpAddress,omitempty"` // Local Ip Address + + RemoteIPAddress string `json:"remoteIpAddress,omitempty"` // Remote Ip Address + + VLANID *int `json:"vlanId,omitempty"` // Vlan Id + + VirtualNetwork *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL3HandoffVirtualNetwork `json:"virtualNetwork,omitempty"` // +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadDeviceSettingsExtConnectivitySettingsL3HandoffVirtualNetwork struct { + IDRef string `json:"idRef,omitempty"` // Id Ref +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettings struct { + ID string `json:"id,omitempty"` // Id + + InstanceID *int `json:"instanceId,omitempty"` // Instance Id + + DisplayName string `json:"displayName,omitempty"` // Display Name + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id + + DeployPending string `json:"deployPending,omitempty"` // Deploy Pending + + InstanceVersion *int `json:"instanceVersion,omitempty"` // Instance Version + + AAA *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsAAA `json:"aaa,omitempty"` // Aaa + + Cmx *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsCmx `json:"cmx,omitempty"` // Cmx + + Dhcp *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDhcp `json:"dhcp,omitempty"` // + + DNS *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDNS `json:"dns,omitempty"` // + + Ldap *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsLdap `json:"ldap,omitempty"` // Ldap + + NativeVLAN *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNativeVLAN `json:"nativeVlan,omitempty"` // Native Vlan + + Netflow *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNetflow `json:"netflow,omitempty"` // Netflow + + Ntp *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNtp `json:"ntp,omitempty"` // Ntp + + SNMP *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsSNMP `json:"snmp,omitempty"` // Snmp + + Syslogs *[]ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsSyslogs `json:"syslogs,omitempty"` // Syslogs +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsAAA interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsCmx interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDhcp struct { + ID string `json:"id,omitempty"` // Id + + IPAddress *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDhcpIPAddress `json:"ipAddress,omitempty"` // +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDhcpIPAddress struct { + ID string `json:"id,omitempty"` // Id + + PaddedAddress string `json:"paddedAddress,omitempty"` // Padded Address + + AddressType string `json:"addressType,omitempty"` // Address Type + + Address string `json:"address,omitempty"` // Address +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDNS struct { + ID string `json:"id,omitempty"` // Id + + DomainName string `json:"domainName,omitempty"` // Domain Name + + IP *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDNSIP `json:"ip,omitempty"` // +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDNSIP struct { + ID string `json:"id,omitempty"` // Id + + PaddedAddress string `json:"paddedAddress,omitempty"` // Padded Address + + AddressType string `json:"addressType,omitempty"` // Address Type + + Address string `json:"address,omitempty"` // Address +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsLdap interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNativeVLAN interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNetflow interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNtp interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsSNMP interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsSyslogs interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadOtherDevice interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadTransitNetworks struct { + IDRef string `json:"idRef,omitempty"` // Id Ref +} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadVirtualNetwork interface{} +type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadWLAN interface{} +type ResponseSdaDeleteBorderDeviceFromSdaFabric struct { + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status +} +type ResponseSdaDeleteControlPlaneDeviceInSdaFabric struct { + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status +} +type ResponseSdaGetControlPlaneDeviceFromSdaFabric struct { DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the Device which is provisioned successfully - DeviceName string `json:"deviceName,omitempty"` // Device Name - Roles string `json:"roles,omitempty"` // Assigned roles - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + + DeviceName string `json:"deviceName,omitempty"` // Device Name + + Roles string `json:"roles,omitempty"` // Assigned roles + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + RouteDistributionProtocol string `json:"routeDistributionProtocol,omitempty"` // routeDistributionProtocol - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Control plane device info retrieved successfully in sda fabric + + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Control plane device info retrieved successfully in sda fabric } type ResponseSdaAddControlPlaneDeviceInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaGetDeviceInfoFromSdaFabric struct { - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Description - Name string `json:"name,omitempty"` // Name - Roles []string `json:"roles,omitempty"` // Roles - DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Device Management Ip Address - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Description + + Name string `json:"name,omitempty"` // Name + + Roles []string `json:"roles,omitempty"` // Roles + + DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Device Management Ip Address + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy } type ResponseSdaGetDeviceRoleInSdaFabric struct { - Roles []string `json:"roles,omitempty"` // Assigned device roles. Possible roles are [Edge Node, Control Plane, Border Node, Extended Node, Wireless Controller, Transit Control Plane] - Status string `json:"status,omitempty"` // Status indicates if API failed or passed. - Description string `json:"description,omitempty"` // Device role successfully retrieved from sda fabric. + Roles []string `json:"roles,omitempty"` // Assigned device roles. Possible roles are [Edge Node, Control Plane, Border Node, Extended Node, Wireless Controller, Transit Control Plane] + + Status string `json:"status,omitempty"` // Status indicates if API failed or passed. + + Description string `json:"description,omitempty"` // Device role successfully retrieved from sda fabric. } type ResponseSdaAddEdgeDeviceInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaDeleteEdgeDeviceFromSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaGetEdgeDeviceFromSdaFabric struct { DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the Device which is provisioned successfully - DeviceName string `json:"deviceName,omitempty"` // Device Name - Roles string `json:"roles,omitempty"` // Assigned roles - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy - FabricSiteNameHierarchy string `json:"fabricSiteNameHierarchy,omitempty"` // Fabric Site Name Hierarchy - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Edge device info retrieved successfully in sda fabric + + DeviceName string `json:"deviceName,omitempty"` // Device Name + + Roles string `json:"roles,omitempty"` // Assigned roles + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + + FabricSiteNameHierarchy string `json:"fabricSiteNameHierarchy,omitempty"` // Fabric Site Name Hierarchy + + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Edge device info retrieved successfully in sda fabric } type ResponseSdaGetSiteFromSdaFabric struct { SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy - FabricName string `json:"fabricName,omitempty"` // Fabric Name - FabricType string `json:"fabricType,omitempty"` // Fabric Type - FabricDomainType string `json:"fabricDomainType,omitempty"` // Fabric Domain Type - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Fabric Site info successfully retrieved from sda fabric + + FabricName string `json:"fabricName,omitempty"` // Fabric Name + + FabricType string `json:"fabricType,omitempty"` // Fabric Type + + FabricDomainType string `json:"fabricDomainType,omitempty"` // Fabric Domain Type + + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Fabric Site info successfully retrieved from sda fabric } type ResponseSdaDeleteSiteFromSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaAddSiteInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaAddPortAssignmentForAccessPointInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaDeletePortAssignmentForAccessPointInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaGetPortAssignmentForAccessPointInSdaFabric struct { - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Description - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Description + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Device Management Ip Address - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - DataIPAddressPoolName string `json:"dataIpAddressPoolName,omitempty"` // Data Ip Address Pool Name - VoiceIPAddressPoolName string `json:"voiceIpAddressPoolName,omitempty"` // Voice Ip Address Pool Name - ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable Group Name - AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate Template Name + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + DataIPAddressPoolName string `json:"dataIpAddressPoolName,omitempty"` // Data Ip Address Pool Name + + VoiceIPAddressPoolName string `json:"voiceIpAddressPoolName,omitempty"` // Voice Ip Address Pool Name + + ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable Group Name + + AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate Template Name } type ResponseSdaDeletePortAssignmentForUserDeviceInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaAddPortAssignmentForUserDeviceInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaGetPortAssignmentForUserDeviceInSdaFabric struct { - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Description - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Description + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Device Management Ip Address - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - DataIPAddressPoolName string `json:"dataIpAddressPoolName,omitempty"` // Data Ip Address Pool Name - VoiceIPAddressPoolName string `json:"voiceIpAddressPoolName,omitempty"` // Voice Ip Address Pool Name - ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable Group Name - AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate Template Name + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + DataIPAddressPoolName string `json:"dataIpAddressPoolName,omitempty"` // Data Ip Address Pool Name + + VoiceIPAddressPoolName string `json:"voiceIpAddressPoolName,omitempty"` // Voice Ip Address Pool Name + + ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable Group Name + + AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate Template Name } type ResponseSdaAddMulticastInSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaGetMulticastDetailsFromSdaFabric struct { - MulticastMethod string `json:"multicastMethod,omitempty"` // Multicast Method - MulticastType string `json:"multicastType,omitempty"` // Multicast Type + MulticastMethod string `json:"multicastMethod,omitempty"` // Multicast Method + + MulticastType string `json:"multicastType,omitempty"` // Multicast Type + MulticastVnInfo *[]ResponseSdaGetMulticastDetailsFromSdaFabricMulticastVnInfo `json:"multicastVnInfo,omitempty"` // - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // multicast configuration info retrieved successfully from sda fabric + + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // multicast configuration info retrieved successfully from sda fabric } type ResponseSdaGetMulticastDetailsFromSdaFabricMulticastVnInfo struct { - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name, that is associated to Fabric Site - IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name, that is reserved to Fabric Site - InternalRpIPAddress []string `json:"internalRpIpAddress,omitempty"` // InternalRpIpAddress - ExternalRpIPAddress string `json:"externalRpIpAddress,omitempty"` // ExternalRpIpAddress - SsmInfo *[]ResponseSdaGetMulticastDetailsFromSdaFabricMulticastVnInfoSsmInfo `json:"ssmInfo,omitempty"` // + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name, that is associated to Fabric Site + + IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name, that is reserved to Fabric Site + + InternalRpIPAddress []string `json:"internalRpIpAddress,omitempty"` // InternalRpIpAddress + + ExternalRpIPAddress string `json:"externalRpIpAddress,omitempty"` // ExternalRpIpAddress + + SsmInfo *[]ResponseSdaGetMulticastDetailsFromSdaFabricMulticastVnInfoSsmInfo `json:"ssmInfo,omitempty"` // } type ResponseSdaGetMulticastDetailsFromSdaFabricMulticastVnInfoSsmInfo struct { - SsmGroupRange string `json:"ssmGroupRange,omitempty"` // SSM group range + SsmGroupRange string `json:"ssmGroupRange,omitempty"` // SSM group range + SsmWildcardMask string `json:"ssmWildcardMask,omitempty"` // SSM Wildcard Mask } type ResponseSdaDeleteMulticastFromSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaDeleteProvisionedWiredDevice struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaReProvisionWiredDevice struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaProvisionWiredDevice struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaGetProvisionedWiredDevice struct { DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the device to be provisioned - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy for device location(only building / floor level) - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Wired Provisioned device detail retrieved successfully + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy for device location(only building / floor level) + + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Wired Provisioned device detail retrieved successfully } type ResponseSdaDeleteTransitPeerNetwork struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaGetTransitPeerNetworkInfo struct { - TransitPeerNetworkName string `json:"transitPeerNetworkName,omitempty"` // Transit Peer Network Name - TransitPeerNetworkType string `json:"transitPeerNetworkType,omitempty"` // Transit Peer Network Type - IPTransitSettings *ResponseSdaGetTransitPeerNetworkInfoIPTransitSettings `json:"ipTransitSettings,omitempty"` // - SdaTransitSettings *ResponseSdaGetTransitPeerNetworkInfoSdaTransitSettings `json:"sdaTransitSettings,omitempty"` // - Status string `json:"status,omitempty"` // status - Description string `json:"description,omitempty"` // Transit Peer network info retrieved successfully - TransitPeerNetworkID string `json:"transitPeerNetworkId,omitempty"` // Transit Peer Network Id + TransitPeerNetworkName string `json:"transitPeerNetworkName,omitempty"` // Transit Peer Network Name + + TransitPeerNetworkType string `json:"transitPeerNetworkType,omitempty"` // Transit Peer Network Type + + IPTransitSettings *ResponseSdaGetTransitPeerNetworkInfoIPTransitSettings `json:"ipTransitSettings,omitempty"` // + + SdaTransitSettings *ResponseSdaGetTransitPeerNetworkInfoSdaTransitSettings `json:"sdaTransitSettings,omitempty"` // + + Status string `json:"status,omitempty"` // status + + Description string `json:"description,omitempty"` // Transit Peer network info retrieved successfully + + TransitPeerNetworkID string `json:"transitPeerNetworkId,omitempty"` // Transit Peer Network Id } type ResponseSdaGetTransitPeerNetworkInfoIPTransitSettings struct { - RoutingProtocolName string `json:"routingProtocolName,omitempty"` // Routing Protocol Name + RoutingProtocolName string `json:"routingProtocolName,omitempty"` // Routing Protocol Name + AutonomousSystemNumber string `json:"autonomousSystemNumber,omitempty"` // Autonomous System Number } type ResponseSdaGetTransitPeerNetworkInfoSdaTransitSettings struct { TransitControlPlaneSettings *[]ResponseSdaGetTransitPeerNetworkInfoSdaTransitSettingsTransitControlPlaneSettings `json:"transitControlPlaneSettings,omitempty"` // } type ResponseSdaGetTransitPeerNetworkInfoSdaTransitSettingsTransitControlPlaneSettings struct { - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Device Management Ip Address } type ResponseSdaAddTransitPeerNetwork struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaDeleteVnFromSdaFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaGetVnFromSdaFabric struct { - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name - FabricName string `json:"fabricName,omitempty"` // Fabric Name - IsInfraVn *bool `json:"isInfraVN,omitempty"` // Infra VN - IsDefaultVn *bool `json:"isDefaultVN,omitempty"` // Default VN + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name + + FabricName string `json:"fabricName,omitempty"` // Fabric Name + + IsInfraVn *bool `json:"isInfraVN,omitempty"` // Infra VN + + IsDefaultVn *bool `json:"isDefaultVN,omitempty"` // Default VN + VirtualNetworkContextID string `json:"virtualNetworkContextId,omitempty"` // Virtual Network Context Id - VirtualNetworkID string `json:"virtualNetworkId,omitempty"` // Virtual Network Id - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Virtual Network info retrieved successfully from SDA Fabric - ExecutionID string `json:"executionId,omitempty"` // Execution Id + + VirtualNetworkID string `json:"virtualNetworkId,omitempty"` // Virtual Network Id + + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Virtual Network info retrieved successfully from SDA Fabric + + ExecutionID string `json:"executionId,omitempty"` // Execution Id } type ResponseSdaAddVnInFabric struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaGetVirtualNetworkSummary struct { - VirtualNetworkCount *int `json:"virtualNetworkCount,omitempty"` // Virtual Networks Count + VirtualNetworkCount *int `json:"virtualNetworkCount,omitempty"` // Virtual Networks Count + VirtualNetworkSummary *[]ResponseSdaGetVirtualNetworkSummaryVirtualNetworkSummary `json:"virtualNetworkSummary,omitempty"` // - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Virtual Network summary retrieved successfully from SDA Fabric - ExecutionID string `json:"executionId,omitempty"` // Execution Id + + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Virtual Network summary retrieved successfully from SDA Fabric + + ExecutionID string `json:"executionId,omitempty"` // Execution Id } type ResponseSdaGetVirtualNetworkSummaryVirtualNetworkSummary struct { VirtualNetworkContextID string `json:"virtualNetworkContextId,omitempty"` // Virtual Network Context Id - VirtualNetworkID string `json:"virtualNetworkId,omitempty"` // Virtual Network Id - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name - Layer3Instance *int `json:"layer3Instance,omitempty"` // layer3 Instance - VirtualNetworkStatus string `json:"virtualNetworkStatus,omitempty"` // Virtual Network Status + + VirtualNetworkID string `json:"virtualNetworkId,omitempty"` // Virtual Network Id + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name + + Layer3Instance *int `json:"layer3Instance,omitempty"` // layer3 Instance + + VirtualNetworkStatus string `json:"virtualNetworkStatus,omitempty"` // Virtual Network Status } type ResponseSdaGetIPPoolFromSdaVirtualNetwork struct { - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Description - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name - IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Description + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name + + IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name + AuthenticationPolicyName string `json:"authenticationPolicyName,omitempty"` // Authentication Policy Name - TrafficType string `json:"trafficType,omitempty"` // Traffic Type - ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable Group Name - IsL2FloodingEnabled *bool `json:"isL2FloodingEnabled,omitempty"` // Is L2 Flooding Enabled - IsThisCriticalPool *bool `json:"isThisCriticalPool,omitempty"` // Is This Critical Pool + + TrafficType string `json:"trafficType,omitempty"` // Traffic Type + + ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable Group Name + + IsL2FloodingEnabled *bool `json:"isL2FloodingEnabled,omitempty"` // Is L2 Flooding Enabled + + IsThisCriticalPool *bool `json:"isThisCriticalPool,omitempty"` // Is This Critical Pool } type ResponseSdaDeleteIPPoolFromSdaVirtualNetwork struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaAddIPPoolInSdaVirtualNetwork struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaUpdateAnycastGateways struct { Response *ResponseSdaUpdateAnycastGatewaysResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaUpdateAnycastGatewaysResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaAddAnycastGateways struct { Response *ResponseSdaAddAnycastGatewaysResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaAddAnycastGatewaysResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetAnycastGateways struct { Response *[]ResponseSdaGetAnycastGatewaysResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetAnycastGatewaysResponse struct { - ID string `json:"id,omitempty"` // ID of the anycast gateway. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this anycast gateway is assigned to. - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network associated with the anycast gateway. - IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP pool associated with the anycast gateway. - TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size adjustment. - VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the anycast gateway. - VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the anycast gateway. - TrafficType string `json:"trafficType,omitempty"` // The type of traffic the anycast gateway serves. - PoolType string `json:"poolType,omitempty"` // The pool type of the anycast gateway (applicable only to INFRA_VN). - SecurityGroupName string `json:"securityGroupName,omitempty"` // Name of the associated Security Group (not applicable to INFRA_VN). - IsCriticalPool *bool `json:"isCriticalPool,omitempty"` // Enable/disable critical VLAN (not applicable to INFRA_VN). - IsLayer2FloodingEnabled *bool `json:"isLayer2FloodingEnabled,omitempty"` // Enable/disable layer 2 flooding (not applicable to INFRA_VN). - IsWirelessPool *bool `json:"isWirelessPool,omitempty"` // Enable/disable fabric-enabled wireless (not applicable to INFRA_VN). - IsIPDirectedBroadcast *bool `json:"isIpDirectedBroadcast,omitempty"` // Enable/disable IP-directed broadcast (not applicable to INFRA_VN). - IsIntraSubnetRoutingEnabled *bool `json:"isIntraSubnetRoutingEnabled,omitempty"` // Enable/disable Intra-Subnet Routing (not applicable to INFRA_VN). - IsMultipleIPToMacAddresses *bool `json:"isMultipleIpToMacAddresses,omitempty"` // Enable/disable multiple IP-to-MAC Addresses (Wireless Bridged-Network Virtual Machine; not applicable to INFRA_VN). - IsSupplicantBasedExtendedNodeOnboarding *bool `json:"isSupplicantBasedExtendedNodeOnboarding,omitempty"` // Enable/disable Supplicant-Based Extended Node Onboarding (applicable only to INFRA_VN). - IsGroupBasedPolicyEnforcementEnabled *bool `json:"isGroupBasedPolicyEnforcementEnabled,omitempty"` // Enable/disable Group-Based Policy Enforcement (applicable only to INFRA_VN). + ID string `json:"id,omitempty"` // ID of the anycast gateway. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this anycast gateway is assigned to. + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network associated with the anycast gateway. + + IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP pool associated with the anycast gateway. + + TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size adjustment. + + VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the anycast gateway. + + VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the anycast gateway. + + TrafficType string `json:"trafficType,omitempty"` // The type of traffic the anycast gateway serves. + + PoolType string `json:"poolType,omitempty"` // The pool type of the anycast gateway (applicable only to INFRA_VN). + + SecurityGroupName string `json:"securityGroupName,omitempty"` // Name of the associated Security Group (not applicable to INFRA_VN). + + IsCriticalPool *bool `json:"isCriticalPool,omitempty"` // Enable/disable critical VLAN (not applicable to INFRA_VN). + + IsLayer2FloodingEnabled *bool `json:"isLayer2FloodingEnabled,omitempty"` // Enable/disable layer 2 flooding (not applicable to INFRA_VN). + + IsWirelessPool *bool `json:"isWirelessPool,omitempty"` // Enable/disable fabric-enabled wireless (not applicable to INFRA_VN). + + IsIPDirectedBroadcast *bool `json:"isIpDirectedBroadcast,omitempty"` // Enable/disable IP-directed broadcast (not applicable to INFRA_VN). + + IsIntraSubnetRoutingEnabled *bool `json:"isIntraSubnetRoutingEnabled,omitempty"` // Enable/disable Intra-Subnet Routing (not applicable to INFRA_VN). + + IsMultipleIPToMacAddresses *bool `json:"isMultipleIpToMacAddresses,omitempty"` // Enable/disable multiple IP-to-MAC Addresses (Wireless Bridged-Network Virtual Machine; not applicable to INFRA_VN). + + IsSupplicantBasedExtendedNodeOnboarding *bool `json:"isSupplicantBasedExtendedNodeOnboarding,omitempty"` // Enable/disable Supplicant-Based Extended Node Onboarding (applicable only to INFRA_VN). + + IsGroupBasedPolicyEnforcementEnabled *bool `json:"isGroupBasedPolicyEnforcementEnabled,omitempty"` // Enable/disable Group-Based Policy Enforcement (applicable only to INFRA_VN). } type ResponseSdaGetAnycastGatewayCount struct { Response *ResponseSdaGetAnycastGatewayCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetAnycastGatewayCountResponse struct { Count *int `json:"count,omitempty"` // The number of anycast gateways. } type ResponseSdaDeleteAnycastGatewayByID struct { Response *ResponseSdaDeleteAnycastGatewayByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteAnycastGatewayByIDResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetAuthenticationProfiles struct { Response *[]ResponseSdaGetAuthenticationProfilesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetAuthenticationProfilesResponse struct { - ID string `json:"id,omitempty"` // ID of the authentication profile. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this authentication profile is assigned to. + ID string `json:"id,omitempty"` // ID of the authentication profile. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this authentication profile is assigned to. (This property is not applicable to global authentication profiles and will not be present in such cases.) + AuthenticationProfileName string `json:"authenticationProfileName,omitempty"` // The default host authentication template. - AuthenticationOrder string `json:"authenticationOrder,omitempty"` // First authentication method. - Dot1XToMabFallbackTimeout *int `json:"dot1xToMabFallbackTimeout,omitempty"` // 802.1x Timeout. - WakeOnLan *bool `json:"wakeOnLan,omitempty"` // Wake on LAN. - NumberOfHosts string `json:"numberOfHosts,omitempty"` // Number of Hosts. - IsBpduGuardEnabled *bool `json:"isBpduGuardEnabled,omitempty"` // Enable/disable BPDU Guard. Only applicable when authenticationProfileName is set to "Closed Authentication". + + AuthenticationOrder string `json:"authenticationOrder,omitempty"` // First authentication method. + + Dot1XToMabFallbackTimeout *int `json:"dot1xToMabFallbackTimeout,omitempty"` // 802.1x Timeout. + + WakeOnLan *bool `json:"wakeOnLan,omitempty"` // Wake on LAN. + + NumberOfHosts string `json:"numberOfHosts,omitempty"` // Number of Hosts. + + IsBpduGuardEnabled *bool `json:"isBpduGuardEnabled,omitempty"` // Enable/disable BPDU Guard. Only applicable when authenticationProfileName is set to "Closed Authentication". + + PreAuthACL *ResponseSdaGetAuthenticationProfilesResponsePreAuthACL `json:"preAuthAcl,omitempty"` // +} +type ResponseSdaGetAuthenticationProfilesResponsePreAuthACL struct { + Enabled *bool `json:"enabled,omitempty"` // Enable/disable Pre-Authentication ACL. + + ImplicitAction string `json:"implicitAction,omitempty"` // Implicit behaviour unless overridden. + + Description string `json:"description,omitempty"` // Description of this Pre-Authentication ACL. + + AccessContracts *[]ResponseSdaGetAuthenticationProfilesResponsePreAuthACLAccessContracts `json:"accessContracts,omitempty"` // +} +type ResponseSdaGetAuthenticationProfilesResponsePreAuthACLAccessContracts struct { + Action string `json:"action,omitempty"` // Contract behaviour. + + Protocol string `json:"protocol,omitempty"` // Protocol for the access contract. + + Port string `json:"port,omitempty"` // Port for the access contract. } type ResponseSdaUpdateAuthenticationProfile struct { Response *ResponseSdaUpdateAuthenticationProfileResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaUpdateAuthenticationProfileResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaDeleteExtranetPolicies struct { Response *ResponseSdaDeleteExtranetPoliciesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteExtranetPoliciesResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaUpdateExtranetPolicy struct { Response *ResponseSdaUpdateExtranetPolicyResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaUpdateExtranetPolicyResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaAddExtranetPolicy struct { Response *ResponseSdaAddExtranetPolicyResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaAddExtranetPolicyResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetExtranetPolicies struct { Response *[]ResponseSdaGetExtranetPoliciesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetExtranetPoliciesResponse struct { - ID string `json:"id,omitempty"` // ID of the extranet policy. - ExtranetPolicyName string `json:"extranetPolicyName,omitempty"` // Name of the extranet policy. - FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabric sites associated with this extranet policy. - ProviderVirtualNetworkName string `json:"providerVirtualNetworkName,omitempty"` // Name of the provider virtual network. + ID string `json:"id,omitempty"` // ID of the extranet policy. + + ExtranetPolicyName string `json:"extranetPolicyName,omitempty"` // Name of the extranet policy. + + FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabric sites associated with this extranet policy. + + ProviderVirtualNetworkName string `json:"providerVirtualNetworkName,omitempty"` // Name of the provider virtual network. + SubscriberVirtualNetworkNames []string `json:"subscriberVirtualNetworkNames,omitempty"` // Name of the subscriber virtual network names. } type ResponseSdaGetExtranetPolicyCount struct { Response *ResponseSdaGetExtranetPolicyCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetExtranetPolicyCountResponse struct { Count *int `json:"count,omitempty"` // Number of extranet policies. } type ResponseSdaDeleteExtranetPolicyByID struct { Response *ResponseSdaDeleteExtranetPolicyByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteExtranetPolicyByIDResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetFabricDevices struct { Response *[]ResponseSdaGetFabricDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricDevicesResponse struct { - ID string `json:"id,omitempty"` // ID of the fabric device. - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric of this fabric device. - DeviceRoles []string `json:"deviceRoles,omitempty"` // List of the roles of the fabric device. Allowed values are [CONTROL_PLANE_NODE, EDGE_NODE, BORDER_NODE, WIRELESS_CONTROLLER_NODE, EXTENDED_NODE]. + ID string `json:"id,omitempty"` // ID of the fabric device. + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric of this fabric device. + + DeviceRoles []string `json:"deviceRoles,omitempty"` // List of the roles of the fabric device. Allowed values are [CONTROL_PLANE_NODE, EDGE_NODE, BORDER_NODE, WIRELESS_CONTROLLER_NODE, EXTENDED_NODE]. + BorderDeviceSettings *ResponseSdaGetFabricDevicesResponseBorderDeviceSettings `json:"borderDeviceSettings,omitempty"` // } type ResponseSdaGetFabricDevicesResponseBorderDeviceSettings struct { - BorderTypes []string `json:"borderTypes,omitempty"` // List of the border types of the fabric device. Allowed values are [LAYER_2, LAYER_3]. + BorderTypes []string `json:"borderTypes,omitempty"` // List of the border types of the fabric device. Allowed values are [LAYER_2, LAYER_3]. + Layer3Settings *ResponseSdaGetFabricDevicesResponseBorderDeviceSettingsLayer3Settings `json:"layer3Settings,omitempty"` // } type ResponseSdaGetFabricDevicesResponseBorderDeviceSettingsLayer3Settings struct { - LocalAutonomousSystemNumber string `json:"localAutonomousSystemNumber,omitempty"` // BGP Local autonomous system number of the fabric border device. - IsDefaultExit *bool `json:"isDefaultExit,omitempty"` // Is default exit value of the fabric border device. - ImportExternalRoutes *bool `json:"importExternalRoutes,omitempty"` // Import external routes value of the fabric border device. - BorderPriority *int `json:"borderPriority,omitempty"` // Border priority of the fabric border device. A lower value indicates higher priority. E.g., a priority of 1 takes precedence over 5. - PrependAutonomousSystemCount *int `json:"prependAutonomousSystemCount,omitempty"` // Prepend autonomous system count of the fabric border device. + LocalAutonomousSystemNumber string `json:"localAutonomousSystemNumber,omitempty"` // BGP Local autonomous system number of the fabric border device. + + IsDefaultExit *bool `json:"isDefaultExit,omitempty"` // Is default exit value of the fabric border device. + + ImportExternalRoutes *bool `json:"importExternalRoutes,omitempty"` // Import external routes value of the fabric border device. + + BorderPriority *int `json:"borderPriority,omitempty"` // Border priority of the fabric border device. A lower value indicates higher priority. E.g., a priority of 1 takes precedence over 5. + + PrependAutonomousSystemCount *int `json:"prependAutonomousSystemCount,omitempty"` // Prepend autonomous system count of the fabric border device. } type ResponseSdaUpdateFabricDevices struct { Response *ResponseSdaUpdateFabricDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaUpdateFabricDevicesResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaDeleteFabricDevices struct { Response *ResponseSdaDeleteFabricDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaDeleteFabricDevicesResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaAddFabricDevices struct { Response *ResponseSdaAddFabricDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaAddFabricDevicesResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaGetFabricDevicesCount struct { Response *ResponseSdaGetFabricDevicesCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricDevicesCountResponse struct { Count *int `json:"count,omitempty"` // Number of fabric devices. } type ResponseSdaDeleteFabricDeviceLayer2Handoffs struct { Response *ResponseSdaDeleteFabricDeviceLayer2HandoffsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaDeleteFabricDeviceLayer2HandoffsResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaGetFabricDevicesLayer2Handoffs struct { Response *[]ResponseSdaGetFabricDevicesLayer2HandoffsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricDevicesLayer2HandoffsResponse struct { - ID string `json:"id,omitempty"` // ID of the layer 2 handoff of a fabric device. + ID string `json:"id,omitempty"` // ID of the layer 2 handoff of a fabric device. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. - InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 2 handoff. - InternalVLANID *int `json:"internalVlanId,omitempty"` // VLAN number associated with this fabric. - ExternalVLANID *int `json:"externalVlanId,omitempty"` // External VLAN number into which the fabric is extended. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. + + InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 2 handoff. + + InternalVLANID *int `json:"internalVlanId,omitempty"` // VLAN number associated with this fabric. + + ExternalVLANID *int `json:"externalVlanId,omitempty"` // External VLAN number into which the fabric is extended. } type ResponseSdaAddFabricDevicesLayer2Handoffs struct { Response *ResponseSdaAddFabricDevicesLayer2HandoffsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaAddFabricDevicesLayer2HandoffsResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaGetFabricDevicesLayer2HandoffsCount struct { Response *ResponseSdaGetFabricDevicesLayer2HandoffsCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricDevicesLayer2HandoffsCountResponse struct { Count *int `json:"count,omitempty"` // Number of fabric device layer 2 handoffs. } type ResponseSdaDeleteFabricDeviceLayer2HandoffByID struct { Response *ResponseSdaDeleteFabricDeviceLayer2HandoffByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaDeleteFabricDeviceLayer2HandoffByIDResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaAddFabricDevicesLayer3HandoffsWithIPTransit struct { Response *ResponseSdaAddFabricDevicesLayer3HandoffsWithIPTransitResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaAddFabricDevicesLayer3HandoffsWithIPTransitResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaUpdateFabricDevicesLayer3HandoffsWithIPTransit struct { Response *ResponseSdaUpdateFabricDevicesLayer3HandoffsWithIPTransitResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaUpdateFabricDevicesLayer3HandoffsWithIPTransitResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaDeleteFabricDeviceLayer3HandoffsWithIPTransit struct { Response *ResponseSdaDeleteFabricDeviceLayer3HandoffsWithIPTransitResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaDeleteFabricDeviceLayer3HandoffsWithIPTransitResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransit struct { Response *[]ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitResponse struct { - ID string `json:"id,omitempty"` // ID of the fabric device layer 3 handoff ip transit. - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. - TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff ip transit. - InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 3 handoff ip transit. + ID string `json:"id,omitempty"` // ID of the fabric device layer 3 handoff ip transit. + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. + + TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff ip transit. + + InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 3 handoff ip transit. + ExternalConnectivityIPPoolName string `json:"externalConnectivityIpPoolName,omitempty"` // External connectivity ip pool is used by Catalyst Center to allocate IP address for the connection between the border node and peer. - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with this fabric site. - VLANID *int `json:"vlanId,omitempty"` // VLAN number for the Switch Virtual Interface (SVI) used to establish BGP peering with the external domain for the virtual network. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094). - TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size (mss) value for the layer 3 handoff. Allowed range is [500-1440]. TCP MSS Adjustment value is applicable for the TCP sessions over both IPv4 and IPv6. - LocalIPAddress string `json:"localIpAddress,omitempty"` // Local ipv4 address for the selected virtual network. IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if an external connectivity ip pool name is present. - RemoteIPAddress string `json:"remoteIpAddress,omitempty"` // Remote ipv4 address for the selected virtual network. IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if an external connectivity ip pool name is present. - LocalIPv6Address string `json:"localIpv6Address,omitempty"` // Local ipv6 address for the selected virtual network. IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if an external connectivity ip pool name is present. - RemoteIPv6Address string `json:"remoteIpv6Address,omitempty"` // Remote ipv6 address for the selected virtual network. IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if an external connectivity ip pool name is present. + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with this fabric site. + + VLANID *int `json:"vlanId,omitempty"` // VLAN number for the Switch Virtual Interface (SVI) used to establish BGP peering with the external domain for the virtual network. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094). + + TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size (mss) value for the layer 3 handoff. Allowed range is [500-1440]. TCP MSS Adjustment value is applicable for the TCP sessions over both IPv4 and IPv6. + + LocalIPAddress string `json:"localIpAddress,omitempty"` // Local ipv4 address for the selected virtual network. IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if an external connectivity ip pool name is present. + + RemoteIPAddress string `json:"remoteIpAddress,omitempty"` // Remote ipv4 address for the selected virtual network. IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if an external connectivity ip pool name is present. + + LocalIPv6Address string `json:"localIpv6Address,omitempty"` // Local ipv6 address for the selected virtual network. IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if an external connectivity ip pool name is present. + + RemoteIPv6Address string `json:"remoteIpv6Address,omitempty"` // Remote ipv6 address for the selected virtual network. IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if an external connectivity ip pool name is present. } type ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitCount struct { Response *ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitCountResponse struct { Count *int `json:"count,omitempty"` // Number of fabric device layer 3 handoffs with IP transit. } type ResponseSdaDeleteFabricDeviceLayer3HandoffWithIPTransitByID struct { Response *ResponseSdaDeleteFabricDeviceLayer3HandoffWithIPTransitByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaDeleteFabricDeviceLayer3HandoffWithIPTransitByIDResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaUpdateFabricDevicesLayer3HandoffsWithSdaTransit struct { Response *ResponseSdaUpdateFabricDevicesLayer3HandoffsWithSdaTransitResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaUpdateFabricDevicesLayer3HandoffsWithSdaTransitResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransit struct { Response *[]ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitResponse struct { - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. - TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff sda transit. - AffinityIDPrime *int `json:"affinityIdPrime,omitempty"` // Affinity id prime value of the border node. It supersedes the border priority to determine border node preference. Allowed range is [0-2147483647]. The lower the relative value of affinity id prime, the higher the preference for a destination border node. - AffinityIDDecider *int `json:"affinityIdDecider,omitempty"` // Affinity id decider value of the border node. When the affinity id prime value is the same on multiple devices, the affinity id decider value is used as a tiebreaker. Allowed range is [0-2147483647]. The lower the relative value of affinity id decider, the higher the preference for a destination border node. - ConnectedToInternet *bool `json:"connectedToInternet,omitempty"` // True value for this allows associated site to provide internet access to other sites through sd-access. - IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // True value for this configures native multicast over multiple sites that are connected to an sd-access transit. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. + + TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff sda transit. + + AffinityIDPrime *int `json:"affinityIdPrime,omitempty"` // Affinity id prime value of the border node. It supersedes the border priority to determine border node preference. Allowed range is [0-2147483647]. The lower the relative value of affinity id prime, the higher the preference for a destination border node. + + AffinityIDDecider *int `json:"affinityIdDecider,omitempty"` // Affinity id decider value of the border node. When the affinity id prime value is the same on multiple devices, the affinity id decider value is used as a tiebreaker. Allowed range is [0-2147483647]. The lower the relative value of affinity id decider, the higher the preference for a destination border node. + + ConnectedToInternet *bool `json:"connectedToInternet,omitempty"` // True value for this allows associated site to provide internet access to other sites through sd-access. + + IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // True value for this configures native multicast over multiple sites that are connected to an sd-access transit. } type ResponseSdaDeleteFabricDeviceLayer3HandoffsWithSdaTransit struct { Response *ResponseSdaDeleteFabricDeviceLayer3HandoffsWithSdaTransitResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaDeleteFabricDeviceLayer3HandoffsWithSdaTransitResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaAddFabricDevicesLayer3HandoffsWithSdaTransit struct { Response *ResponseSdaAddFabricDevicesLayer3HandoffsWithSdaTransitResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaAddFabricDevicesLayer3HandoffsWithSdaTransitResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitCount struct { Response *ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitCountResponse struct { Count *int `json:"count,omitempty"` // Number of fabric device layer 3 handoffs with sda transit. } type ResponseSdaDeleteFabricDeviceByID struct { Response *ResponseSdaDeleteFabricDeviceByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaDeleteFabricDeviceByIDResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaGetFabricSites struct { Response *[]ResponseSdaGetFabricSitesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricSitesResponse struct { - ID string `json:"id,omitempty"` // ID of the fabric site. - SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy. + ID string `json:"id,omitempty"` // ID of the fabric site. + + SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy. + AuthenticationProfileName string `json:"authenticationProfileName,omitempty"` // Authentication profile used for this fabric. - IsPubSubEnabled *bool `json:"isPubSubEnabled,omitempty"` // Specifies whether this fabric site will use pub/sub for control nodes. + + IsPubSubEnabled *bool `json:"isPubSubEnabled,omitempty"` // Specifies whether this fabric site will use pub/sub for control nodes. } type ResponseSdaAddFabricSite struct { Response *ResponseSdaAddFabricSiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaAddFabricSiteResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaUpdateFabricSite struct { Response *ResponseSdaUpdateFabricSiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaUpdateFabricSiteResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetFabricSiteCount struct { Response *ResponseSdaGetFabricSiteCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricSiteCountResponse struct { Count *int `json:"count,omitempty"` // The number of fabric sites. } type ResponseSdaDeleteFabricSiteByID struct { Response *ResponseSdaDeleteFabricSiteByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteFabricSiteByIDResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetFabricZones struct { Response *[]ResponseSdaGetFabricZonesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricZonesResponse struct { - ID string `json:"id,omitempty"` // ID of the fabric zone. - SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy. + ID string `json:"id,omitempty"` // ID of the fabric zone. + + SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy. + AuthenticationProfileName string `json:"authenticationProfileName,omitempty"` // Authentication profile used for this fabric. } type ResponseSdaUpdateFabricZone struct { Response *ResponseSdaUpdateFabricZoneResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaUpdateFabricZoneResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaAddFabricZone struct { Response *ResponseSdaAddFabricZoneResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaAddFabricZoneResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetFabricZoneCount struct { Response *ResponseSdaGetFabricZoneCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetFabricZoneCountResponse struct { Count *int `json:"count,omitempty"` // The number of fabric zones. } type ResponseSdaDeleteFabricZoneByID struct { Response *ResponseSdaDeleteFabricZoneByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteFabricZoneByIDResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaAddLayer2VirtualNetworks struct { Response *ResponseSdaAddLayer2VirtualNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaAddLayer2VirtualNetworksResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaDeleteLayer2VirtualNetworks struct { Response *ResponseSdaDeleteLayer2VirtualNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteLayer2VirtualNetworksResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetLayer2VirtualNetworks struct { Response *[]ResponseSdaGetLayer2VirtualNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetLayer2VirtualNetworksResponse struct { - ID string `json:"id,omitempty"` // ID of the layer 2 virtual network. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this layer 2 virtual network is assigned to. - VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the layer 2 virtual network. - VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the layer 2 virtual network. - TrafficType string `json:"trafficType,omitempty"` // The type of traffic that is served. - IsFabricEnabledWireless *bool `json:"isFabricEnabledWireless,omitempty"` // Set to true to enable wireless. + ID string `json:"id,omitempty"` // ID of the layer 2 virtual network. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this layer 2 virtual network is assigned to. + + VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the layer 2 virtual network. + + VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the layer 2 virtual network. + + TrafficType string `json:"trafficType,omitempty"` // The type of traffic that is served. + + IsFabricEnabledWireless *bool `json:"isFabricEnabledWireless,omitempty"` // Set to true to enable wireless. + + IsMultipleIPToMacAddresses *bool `json:"isMultipleIpToMacAddresses,omitempty"` // Set to true to enable multiple IP-to-MAC Addresses (Wireless Bridged-Network Virtual Machine). This field will only be present on layer 2 virtual networks associated with a layer 3 virtual network. + AssociatedLayer3VirtualNetworkName string `json:"associatedLayer3VirtualNetworkName,omitempty"` // Name of the layer 3 virtual network associated with the layer 2 virtual network. This field is provided to support requests related to virtual network anchoring. } type ResponseSdaUpdateLayer2VirtualNetworks struct { Response *ResponseSdaUpdateLayer2VirtualNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaUpdateLayer2VirtualNetworksResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetLayer2VirtualNetworkCount struct { Response *ResponseSdaGetLayer2VirtualNetworkCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetLayer2VirtualNetworkCountResponse struct { Count *int `json:"count,omitempty"` // The number of layer 2 virtual networks } type ResponseSdaDeleteLayer2VirtualNetworkByID struct { Response *ResponseSdaDeleteLayer2VirtualNetworkByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteLayer2VirtualNetworkByIDResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaAddLayer3VirtualNetworks struct { Response *ResponseSdaAddLayer3VirtualNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaAddLayer3VirtualNetworksResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetLayer3VirtualNetworks struct { Response *[]ResponseSdaGetLayer3VirtualNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetLayer3VirtualNetworksResponse struct { - ID string `json:"id,omitempty"` // ID of the layer 3 virtual network. - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network. - FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabrics this layer 3 virtual network is assigned to. - AnchoredSiteID string `json:"anchoredSiteId,omitempty"` // Fabric ID of the fabric site this layer 3 virtual network is anchored at. + ID string `json:"id,omitempty"` // ID of the layer 3 virtual network. + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network. + + FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabrics this layer 3 virtual network is assigned to. + + AnchoredSiteID string `json:"anchoredSiteId,omitempty"` // Fabric ID of the fabric site this layer 3 virtual network is anchored at. } type ResponseSdaDeleteLayer3VirtualNetworks struct { Response *ResponseSdaDeleteLayer3VirtualNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteLayer3VirtualNetworksResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaUpdateLayer3VirtualNetworks struct { Response *ResponseSdaUpdateLayer3VirtualNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaUpdateLayer3VirtualNetworksResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetLayer3VirtualNetworksCount struct { Response *ResponseSdaGetLayer3VirtualNetworksCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetLayer3VirtualNetworksCountResponse struct { Count *int `json:"count,omitempty"` // Number of layer 3 virtual networks. } type ResponseSdaDeleteLayer3VirtualNetworkByID struct { Response *ResponseSdaDeleteLayer3VirtualNetworkByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteLayer3VirtualNetworkByIDResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaUpdateMulticast struct { Response *ResponseSdaUpdateMulticastResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaUpdateMulticastResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetMulticast struct { Response *[]ResponseSdaGetMulticastResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetMulticastResponse struct { - FabricID string `json:"fabricId,omitempty"` // ID of the fabric site. + FabricID string `json:"fabricId,omitempty"` // ID of the fabric site. + ReplicationMode string `json:"replicationMode,omitempty"` // Replication Mode deployed in the fabric site. } type ResponseSdaAddMulticastVirtualNetworks struct { Response *ResponseSdaAddMulticastVirtualNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaAddMulticastVirtualNetworksResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetMulticastVirtualNetworks struct { Response *[]ResponseSdaGetMulticastVirtualNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetMulticastVirtualNetworksResponse struct { - ID string `json:"id,omitempty"` // ID of the multicast configuration. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric site. - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network. - IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP Pool. - IPv4SsmRanges []string `json:"ipv4SsmRanges,omitempty"` // IPv4 Source Specific Multicast (SSM) ranges. Allowed ranges are from 225.0.0.0/8 to 239.0.0.0/8. SSM ranges should not conflict with ranges provided for ASM multicast. - MulticastRPs *[]ResponseSdaGetMulticastVirtualNetworksResponseMulticastRPs `json:"multicastRPs,omitempty"` // + ID string `json:"id,omitempty"` // ID of the multicast configuration. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric site. + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network. + + IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP Pool. + + IPv4SsmRanges []string `json:"ipv4SsmRanges,omitempty"` // IPv4 Source Specific Multicast (SSM) ranges. Allowed ranges are from 225.0.0.0/8 to 239.0.0.0/8. SSM ranges should not conflict with ranges provided for ASM multicast. + + MulticastRPs *[]ResponseSdaGetMulticastVirtualNetworksResponseMulticastRPs `json:"multicastRPs,omitempty"` // } type ResponseSdaGetMulticastVirtualNetworksResponseMulticastRPs struct { - RpDeviceLocation string `json:"rpDeviceLocation,omitempty"` // Device location of the RP. - IPv4Address string `json:"ipv4Address,omitempty"` // IPv4 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. - IPv6Address string `json:"ipv6Address,omitempty"` // IPv6 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. ipv6Address can only be provided for virtual networks with dual stack (IPv4 + IPv6) multicast pool. - IsDefaultV4RP *bool `json:"isDefaultV4RP,omitempty"` // Specifies whether it is a default IPv4 RP. - IsDefaultV6RP *bool `json:"isDefaultV6RP,omitempty"` // Specifies whether it is a default IPv6 RP. + RpDeviceLocation string `json:"rpDeviceLocation,omitempty"` // Device location of the RP. + + IPv4Address string `json:"ipv4Address,omitempty"` // IPv4 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. + + IPv6Address string `json:"ipv6Address,omitempty"` // IPv6 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. ipv6Address can only be provided for virtual networks with dual stack (IPv4 + IPv6) multicast pool. + + IsDefaultV4RP *bool `json:"isDefaultV4RP,omitempty"` // Specifies whether it is a default IPv4 RP. + + IsDefaultV6RP *bool `json:"isDefaultV6RP,omitempty"` // Specifies whether it is a default IPv6 RP. + NetworkDeviceIDs []string `json:"networkDeviceIds,omitempty"` // IDs of the network devices. This is a required field for fabric RPs. There can be maximum of two fabric RPs for a fabric site and these are shared across all multicast virtual networks. For configuring two fabric RPs in a fabric site both devices must have border roles. Only one RP can be configured in scenarios where a fabric edge device is used as RP or a dual stack multicast pool is used. - IPv4AsmRanges []string `json:"ipv4AsmRanges,omitempty"` // IPv4 Any Source Multicast ranges. Comma seperated list of IPv4 multicast group ranges that will be served by a given Multicast RP. Only IPv4 ranges can be provided. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. - IPv6AsmRanges []string `json:"ipv6AsmRanges,omitempty"` // IPv6 Any Source Multicast ranges. Comma seperated list of IPv6 multicast group ranges that will be served by a given Multicast RP. Only IPv6 ranges can be provided. IPv6 ranges can only be provided for dual stack multicast pool. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. + + IPv4AsmRanges []string `json:"ipv4AsmRanges,omitempty"` // IPv4 Any Source Multicast ranges. Comma seperated list of IPv4 multicast group ranges that will be served by a given Multicast RP. Only IPv4 ranges can be provided. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. + + IPv6AsmRanges []string `json:"ipv6AsmRanges,omitempty"` // IPv6 Any Source Multicast ranges. Comma seperated list of IPv6 multicast group ranges that will be served by a given Multicast RP. Only IPv6 ranges can be provided. IPv6 ranges can only be provided for dual stack multicast pool. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. } type ResponseSdaUpdateMulticastVirtualNetworks struct { Response *ResponseSdaUpdateMulticastVirtualNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaUpdateMulticastVirtualNetworksResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetMulticastVirtualNetworkCount struct { Response *ResponseSdaGetMulticastVirtualNetworkCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetMulticastVirtualNetworkCountResponse struct { Count *int `json:"count,omitempty"` // Number of multicast configurations. } type ResponseSdaDeleteMulticastVirtualNetworkByID struct { Response *ResponseSdaDeleteMulticastVirtualNetworkByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteMulticastVirtualNetworkByIDResponse struct { + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. +} +type ResponseSdaGetPendingFabricEvents struct { + Response *[]ResponseSdaGetPendingFabricEventsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version number. +} +type ResponseSdaGetPendingFabricEventsResponse struct { + ID string `json:"id,omitempty"` // ID of the pending fabric event. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric. + + Detail string `json:"detail,omitempty"` // Detail of the pending fabric event. +} +type ResponseSdaApplyPendingFabricEvents struct { + Response *ResponseSdaApplyPendingFabricEventsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version number. +} +type ResponseSdaApplyPendingFabricEventsResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaAddPortAssignments struct { Response *ResponseSdaAddPortAssignmentsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaAddPortAssignmentsResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetPortAssignments struct { Response *[]ResponseSdaGetPortAssignmentsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetPortAssignmentsResponse struct { - ID string `json:"id,omitempty"` // ID of the port assignment. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to. - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the port assignment. - InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the port assignment. - ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port assignment. - DataVLANName string `json:"dataVlanName,omitempty"` // Data VLAN name of the port assignment. - VoiceVLANName string `json:"voiceVlanName,omitempty"` // Voice VLAN name of the port assignment. + ID string `json:"id,omitempty"` // ID of the port assignment. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to. + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the port assignment. + + InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the port assignment. + + ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port assignment. + + DataVLANName string `json:"dataVlanName,omitempty"` // Data VLAN name of the port assignment. + + VoiceVLANName string `json:"voiceVlanName,omitempty"` // Voice VLAN name of the port assignment. + AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate template name of the port assignment. - SecurityGroupName string `json:"securityGroupName,omitempty"` // Security group name of the port assignment. - InterfaceDescription string `json:"interfaceDescription,omitempty"` // Interface description of the port assignment. + + SecurityGroupName string `json:"securityGroupName,omitempty"` // Security group name of the port assignment. + + InterfaceDescription string `json:"interfaceDescription,omitempty"` // Interface description of the port assignment. } type ResponseSdaUpdatePortAssignments struct { Response *ResponseSdaUpdatePortAssignmentsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaUpdatePortAssignmentsResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaDeletePortAssignments struct { Response *ResponseSdaDeletePortAssignmentsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeletePortAssignmentsResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetPortAssignmentCount struct { Response *ResponseSdaGetPortAssignmentCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetPortAssignmentCountResponse struct { Count *int `json:"count,omitempty"` // Number of port assignments. } type ResponseSdaDeletePortAssignmentByID struct { Response *ResponseSdaDeletePortAssignmentByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeletePortAssignmentByIDResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetPortChannels struct { Response *[]ResponseSdaGetPortChannelsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetPortChannelsResponse struct { - ID string `json:"id,omitempty"` // ID of the port channel. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to. - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // ID of the network device. - PortChannelName string `json:"portChannelName,omitempty"` // Name of the port channel. - InterfaceNames []string `json:"interfaceNames,omitempty"` // Interface names of this port channel. - ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port channel. - Protocol string `json:"protocol,omitempty"` // Protocol of the port channel. - Description string `json:"description,omitempty"` // Description of the port channel. + ID string `json:"id,omitempty"` // ID of the port channel. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to. + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // ID of the network device. + + PortChannelName string `json:"portChannelName,omitempty"` // Name of the port channel. + + InterfaceNames []string `json:"interfaceNames,omitempty"` // Interface names of this port channel. + + ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port channel. + + Protocol string `json:"protocol,omitempty"` // Protocol of the port channel. + + Description string `json:"description,omitempty"` // Description of the port channel. } type ResponseSdaAddPortChannels struct { Response *ResponseSdaAddPortChannelsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaAddPortChannelsResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaUpdatePortChannels struct { Response *ResponseSdaUpdatePortChannelsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaUpdatePortChannelsResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaDeletePortChannels struct { Response *ResponseSdaDeletePortChannelsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeletePortChannelsResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetPortChannelCount struct { Response *ResponseSdaGetPortChannelCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetPortChannelCountResponse struct { Count *int `json:"count,omitempty"` // Number of port channels. } type ResponseSdaDeletePortChannelByID struct { Response *ResponseSdaDeletePortChannelByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeletePortChannelByIDResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaDeleteProvisionedDevices struct { Response *ResponseSdaDeleteProvisionedDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteProvisionedDevicesResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaProvisionDevices struct { Response *ResponseSdaProvisionDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaProvisionDevicesResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetProvisionedDevices struct { Response *[]ResponseSdaGetProvisionedDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetProvisionedDevicesResponse struct { - ID string `json:"id,omitempty"` // ID of the provisioned device. - SiteID string `json:"siteId,omitempty"` // ID of the site this device is provisioned to. + ID string `json:"id,omitempty"` // ID of the provisioned device. + + SiteID string `json:"siteId,omitempty"` // ID of the site this device is provisioned to. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // ID of the network device. } type ResponseSdaReProvisionDevices struct { Response *ResponseSdaReProvisionDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaReProvisionDevicesResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaGetProvisionedDevicesCount struct { Response *ResponseSdaGetProvisionedDevicesCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetProvisionedDevicesCountResponse struct { Count *int `json:"count,omitempty"` // Number of provisioned devices. } type ResponseSdaDeleteProvisionedDeviceByID struct { Response *ResponseSdaDeleteProvisionedDeviceByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // version number. } type ResponseSdaDeleteProvisionedDeviceByIDResponse struct { - TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + TaskID string `json:"taskId,omitempty"` // id of the submitted task. + + URL string `json:"url,omitempty"` // url for querying the task's status. } type ResponseSdaUpdateTransitNetworks struct { Response *ResponseSdaUpdateTransitNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaUpdateTransitNetworksResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaGetTransitNetworks struct { Response *[]ResponseSdaGetTransitNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetTransitNetworksResponse struct { - ID string `json:"id,omitempty"` // ID of the transit network. - Name string `json:"name,omitempty"` // Name of the transit network. - Type string `json:"type,omitempty"` // Type of the transit network. - IPTransitSettings *ResponseSdaGetTransitNetworksResponseIPTransitSettings `json:"ipTransitSettings,omitempty"` // + ID string `json:"id,omitempty"` // ID of the transit network. + + Name string `json:"name,omitempty"` // Name of the transit network. + + Type string `json:"type,omitempty"` // Type of the transit network. + + IPTransitSettings *ResponseSdaGetTransitNetworksResponseIPTransitSettings `json:"ipTransitSettings,omitempty"` // + SdaTransitSettings *ResponseSdaGetTransitNetworksResponseSdaTransitSettings `json:"sdaTransitSettings,omitempty"` // } type ResponseSdaGetTransitNetworksResponseIPTransitSettings struct { - RoutingProtocolName string `json:"routingProtocolName,omitempty"` // Routing Protocol Name of the IP transit network. + RoutingProtocolName string `json:"routingProtocolName,omitempty"` // Routing Protocol Name of the IP transit network. + AutonomousSystemNumber string `json:"autonomousSystemNumber,omitempty"` // Autonomous System Number of the IP transit network. Allowed range is [1 to 4294967295]. } type ResponseSdaGetTransitNetworksResponseSdaTransitSettings struct { - IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // This indicates that multicast is enabled over SD-Access Transit. This supports Native Multicast over SD-Access Transit. This is only applicable for transit of type SDA_LISP_PUB_SUB_TRANSIT. - ControlPlaneNetworkDeviceIDs []string `json:"controlPlaneNetworkDeviceIds,omitempty"` // List of network device IDs that are used as control plane nodes. + IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // This indicates that multicast is enabled over SD-Access Transit. This supports Native Multicast over SD-Access Transit. This is only applicable for transit of type SDA_LISP_PUB_SUB_TRANSIT. + + ControlPlaneNetworkDeviceIDs []string `json:"controlPlaneNetworkDeviceIds,omitempty"` // List of network device IDs that are used as control plane nodes. } type ResponseSdaAddTransitNetworks struct { Response *ResponseSdaAddTransitNetworksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaAddTransitNetworksResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaGetTransitNetworksCount struct { Response *ResponseSdaGetTransitNetworksCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetTransitNetworksCountResponse struct { Count *int `json:"count,omitempty"` // Number of transit networks. } type ResponseSdaDeleteTransitNetworkByID struct { Response *ResponseSdaDeleteTransitNetworkByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version number. + + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaDeleteTransitNetworkByIDResponse struct { TaskID string `json:"taskId,omitempty"` // ID of the task. - URL string `json:"url,omitempty"` // Task status lookup url. + + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaAddVirtualNetworkWithScalableGroups struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaDeleteVirtualNetworkWithScalableGroups struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type ResponseSdaGetVirtualNetworkWithScalableGroups struct { - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name to be assigned at global level - IsGuestVirtualNetwork *bool `json:"isGuestVirtualNetwork,omitempty"` // Guest Virtual Network - ScalableGroupNames []string `json:"scalableGroupNames,omitempty"` // Scalable Group Names - VManageVpnID string `json:"vManageVpnId,omitempty"` // vManage vpn id for SD-WAN - VirtualNetworkContextID string `json:"virtualNetworkContextId,omitempty"` // Virtual Network Context Id for Global Virtual Network - Status string `json:"status,omitempty"` // Status - Description string `json:"description,omitempty"` // Virtual network info retrieved successfully - ExecutionID string `json:"executionId,omitempty"` // Execution Id + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name to be assigned at global level + + IsGuestVirtualNetwork *bool `json:"isGuestVirtualNetwork,omitempty"` // Guest Virtual Network + + ScalableGroupNames []string `json:"scalableGroupNames,omitempty"` // Scalable Group Names + + VManageVpnID string `json:"vManageVpnId,omitempty"` // vManage vpn id for SD-WAN + + VirtualNetworkContextID string `json:"virtualNetworkContextId,omitempty"` // Virtual Network Context Id for Global Virtual Network + + Status string `json:"status,omitempty"` // Status + + Description string `json:"description,omitempty"` // Virtual network info retrieved successfully + + ExecutionID string `json:"executionId,omitempty"` // Execution Id } type ResponseSdaUpdateVirtualNetworkWithScalableGroups struct { - Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. - Description string `json:"description,omitempty"` // provides detailed information for API success or failure. - TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available - TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + Status string `json:"status,omitempty"` // represents return status of API. status=success when API completed successfully, status=failed when API failed and has not completed the user request, status=pending when API execution is still in progression and user needs to track its further progress via taskId field. + + Description string `json:"description,omitempty"` // provides detailed information for API success or failure. + + TaskID string `json:"taskId,omitempty"` // Catalyst Center taskId that carried out the API execution. It will be provided if task was generated by API. For failed status, taskId may not be available + + TaskStatusURL string `json:"taskStatusUrl,omitempty"` // /dna/intent/api/v1/task/ , allows API progression via taskId for async API + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // /dna/intent/api/v1/dnacaap/management/execution-status/ - ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status + + ExecutionID string `json:"executionId,omitempty"` // uuid for API execution status } type RequestSdaAddDefaultAuthenticationTemplateInSdaFabric []RequestItemSdaAddDefaultAuthenticationTemplateInSdaFabric // Array of RequestSdaAddDefaultAuthenticationTemplateInSDAFabric type RequestItemSdaAddDefaultAuthenticationTemplateInSdaFabric struct { - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site + AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate Template Name } type RequestSdaUpdateDefaultAuthenticationProfileInSdaFabric []RequestItemSdaUpdateDefaultAuthenticationProfileInSdaFabric // Array of RequestSdaUpdateDefaultAuthenticationProfileInSDAFabric type RequestItemSdaUpdateDefaultAuthenticationProfileInSdaFabric struct { - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site - AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate Template Name - AuthenticationOrder string `json:"authenticationOrder,omitempty"` // Authentication Order + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site + + AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate Template Name + + AuthenticationOrder string `json:"authenticationOrder,omitempty"` // Authentication Order + Dot1XToMabFallbackTimeout string `json:"dot1xToMabFallbackTimeout,omitempty"` // Dot1x To MabFallback Timeout( Allowed range is [3-120]) - WakeOnLan *bool `json:"wakeOnLan,omitempty"` // Wake On Lan - NumberOfHosts string `json:"numberOfHosts,omitempty"` // Number Of Hosts + + WakeOnLan *bool `json:"wakeOnLan,omitempty"` // Wake On Lan + + NumberOfHosts string `json:"numberOfHosts,omitempty"` // Number Of Hosts } type RequestSdaAddBorderDeviceInSdaFabric []RequestItemSdaAddBorderDeviceInSdaFabric // Array of RequestSdaAddBorderDeviceInSDAFabric type RequestItemSdaAddBorderDeviceInSdaFabric struct { - DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the provisioned Device - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy of provisioned Device(site should be part of Fabric Site) - DeviceRole []string `json:"deviceRole,omitempty"` // Supported Device Roles in SD-Access fabric. Allowed roles are "Border_Node","Control_Plane_Node","Edge_Node". E.g. ["Border_Node"] or ["Border_Node", "Control_Plane_Node"] or ["Border_Node", "Control_Plane_Node","Edge_Node"] - RouteDistributionProtocol string `json:"routeDistributionProtocol,omitempty"` // Route Distribution Protocol for Control Plane Device. Allowed values are "LISP_BGP" or "LISP_PUB_SUB". Default value is "LISP_BGP" - ExternalDomainRoutingProtocolName string `json:"externalDomainRoutingProtocolName,omitempty"` // External Domain Routing Protocol Name - ExternalConnectivityIPPoolName string `json:"externalConnectivityIpPoolName,omitempty"` // External Connectivity IpPool Name - InternalAutonomouSystemNumber string `json:"internalAutonomouSystemNumber,omitempty"` // Internal Autonomous System Number - BorderPriority string `json:"borderPriority,omitempty"` // Border priority associated with a given device. Allowed range for Border Priority is [1-9]. A lower value indicates higher priority. E.g., a priority of 1 takes precedence over 5. Default priority would be set to 10. - BorderSessionType string `json:"borderSessionType,omitempty"` // Border Session Type - ConnectedToInternet *bool `json:"connectedToInternet,omitempty"` // Connected to Internet - SdaTransitNetworkName string `json:"sdaTransitNetworkName,omitempty"` // SD-Access Transit Network Name - BorderWithExternalConnectivity *bool `json:"borderWithExternalConnectivity,omitempty"` // Border With External Connectivity (Note: True for transit and False for non-transit border) - ExternalConnectivitySettings *[]RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettings `json:"externalConnectivitySettings,omitempty"` // + DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the provisioned Device + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy of provisioned Device(site should be part of Fabric Site) + + DeviceRole []string `json:"deviceRole,omitempty"` // Supported Device Roles in SD-Access fabric. Allowed roles are "Border_Node","Control_Plane_Node","Edge_Node". E.g. ["Border_Node"] or ["Border_Node", "Control_Plane_Node"] or ["Border_Node", "Control_Plane_Node","Edge_Node"] + + RouteDistributionProtocol string `json:"routeDistributionProtocol,omitempty"` // Route Distribution Protocol for Control Plane Device. Allowed values are "LISP_BGP" or "LISP_PUB_SUB". Default value is "LISP_BGP" + + ExternalDomainRoutingProtocolName string `json:"externalDomainRoutingProtocolName,omitempty"` // External Domain Routing Protocol Name + + ExternalConnectivityIPPoolName string `json:"externalConnectivityIpPoolName,omitempty"` // External Connectivity IpPool Name + + InternalAutonomouSystemNumber string `json:"internalAutonomouSystemNumber,omitempty"` // Internal Autonomous System Number + + BorderPriority string `json:"borderPriority,omitempty"` // Border priority associated with a given device. Allowed range for Border Priority is [1-9]. A lower value indicates higher priority. E.g., a priority of 1 takes precedence over 5. Default priority would be set to 10. + + BorderSessionType string `json:"borderSessionType,omitempty"` // Border Session Type + + ConnectedToInternet *bool `json:"connectedToInternet,omitempty"` // Connected to Internet + + SdaTransitNetworkName string `json:"sdaTransitNetworkName,omitempty"` // SD-Access Transit Network Name + + BorderWithExternalConnectivity *bool `json:"borderWithExternalConnectivity,omitempty"` // Border With External Connectivity (Note: True for transit and False for non-transit border) + + ExternalConnectivitySettings *[]RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettings `json:"externalConnectivitySettings,omitempty"` // } type RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettings struct { - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - InterfaceDescription string `json:"interfaceDescription,omitempty"` // Interface Description - ExternalAutonomouSystemNumber string `json:"externalAutonomouSystemNumber,omitempty"` // External Autonomous System Number peer (e.g.,1-65535) - L3Handoff *[]RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL3Handoff `json:"l3Handoff,omitempty"` // - L2Handoff *[]RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL2Handoff `json:"l2Handoff,omitempty"` // + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + InterfaceDescription string `json:"interfaceDescription,omitempty"` // Interface Description + + ExternalAutonomouSystemNumber string `json:"externalAutonomouSystemNumber,omitempty"` // External Autonomous System Number peer (e.g.,1-65535) + + L3Handoff *[]RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL3Handoff `json:"l3Handoff,omitempty"` // + + L2Handoff *[]RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL2Handoff `json:"l2Handoff,omitempty"` // } type RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL3Handoff struct { VirtualNetwork *RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL3HandoffVirtualNetwork `json:"virtualNetwork,omitempty"` // } type RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL3HandoffVirtualNetwork struct { VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name, that is associated to Fabric Site - VLANID string `json:"vlanId,omitempty"` // Vlan Id (e.g.,2-4096 except for reserved VLANs (1002-1005, 2046, 4095)) + + VLANID string `json:"vlanId,omitempty"` // Vlan Id (e.g.,2-4096 except for reserved VLANs (1002-1005, 2046, 4095)) } type RequestItemSdaAddBorderDeviceInSdaFabricExternalConnectivitySettingsL2Handoff struct { VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name, that is associated to Fabric Site - VLANName string `json:"vlanName,omitempty"` // Vlan Name of L2 Handoff + + VLANName string `json:"vlanName,omitempty"` // Vlan Name of L2 Handoff } type RequestSdaAddControlPlaneDeviceInSdaFabric struct { DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the Device which is provisioned successfully - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // siteNameHierarchy of the Provisioned Device(site should be part of Fabric Site) + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // siteNameHierarchy of the Provisioned Device(site should be part of Fabric Site) + RouteDistributionProtocol string `json:"routeDistributionProtocol,omitempty"` // Route Distribution Protocol for Control Plane Device. Allowed values are "LISP_BGP" or "LISP_PUB_SUB". Default value is "LISP_BGP" } type RequestSdaAddEdgeDeviceInSdaFabric struct { DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the Device which is provisioned successfully - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // siteNameHierarchy of the Provisioned Device(site should be part of Fabric Site) + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // siteNameHierarchy of the Provisioned Device(site should be part of Fabric Site) } type RequestSdaAddSiteInSdaFabric struct { - FabricName string `json:"fabricName,omitempty"` // Warning - Starting DNA Center 2.2.3.5 release, this field has been deprecated. SD-Access Fabric does not need it anymore. It will be removed in future DNA Center releases. + FabricName string `json:"fabricName,omitempty"` // Warning - Starting DNA Center 2.2.3.5 release, this field has been deprecated. SD-Access Fabric does not need it anymore. It will be removed in future DNA Center releases. + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Existing site name hierarchy available at global level. For Example "Global/Chicago/Building21/Floor1" - FabricType string `json:"fabricType,omitempty"` // Type of SD-Access Fabric. Allowed values are "FABRIC_SITE" or "FABRIC_ZONE". Default value is "FABRIC_SITE". + + FabricType string `json:"fabricType,omitempty"` // Type of SD-Access Fabric. Allowed values are "FABRIC_SITE" or "FABRIC_ZONE". Default value is "FABRIC_SITE". } type RequestSdaAddPortAssignmentForAccessPointInSdaFabric struct { - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site + DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the edge device - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name of the edge device - DataIPAddressPoolName string `json:"dataIpAddressPoolName,omitempty"` // Ip Pool Name, that is assigned to INFRA_VN - AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate TemplateName associated to Fabric Site - InterfaceDescription string `json:"interfaceDescription,omitempty"` // Details or note of interface port assignment + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name of the edge device + + DataIPAddressPoolName string `json:"dataIpAddressPoolName,omitempty"` // Ip Pool Name, that is assigned to INFRA_VN + + AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate TemplateName associated to Fabric Site + + InterfaceDescription string `json:"interfaceDescription,omitempty"` // Details or note of interface port assignment } type RequestSdaAddPortAssignmentForUserDeviceInSdaFabric struct { - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Complete Path of SD-Access Fabric Site. - DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the Edge Node Device. - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name on the Edge Node Device. - InterfaceNames []string `json:"interfaceNames,omitempty"` // List of Interface Names on the Edge Node Device. E.g.["GigabitEthernet1/0/3","GigabitEthernet1/0/4"] - DataIPAddressPoolName string `json:"dataIpAddressPoolName,omitempty"` // Ip Pool Name, that is assigned to virtual network with traffic type as DATA(can't be empty if voiceIpAddressPoolName is empty) - VoiceIPAddressPoolName string `json:"voiceIpAddressPoolName,omitempty"` // Ip Pool Name, that is assigned to virtual network with traffic type as VOICE(can't be empty if dataIpAddressPoolName is empty) - AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate TemplateName associated with siteNameHierarchy - ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable Group name associated with VN - InterfaceDescription string `json:"interfaceDescription,omitempty"` // User defined text message for port assignment + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Complete Path of SD-Access Fabric Site. + + DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the Edge Node Device. + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name on the Edge Node Device. + + InterfaceNames []string `json:"interfaceNames,omitempty"` // List of Interface Names on the Edge Node Device. E.g.["GigabitEthernet1/0/3","GigabitEthernet1/0/4"] + + DataIPAddressPoolName string `json:"dataIpAddressPoolName,omitempty"` // Ip Pool Name, that is assigned to virtual network with traffic type as DATA(can't be empty if voiceIpAddressPoolName is empty) + + VoiceIPAddressPoolName string `json:"voiceIpAddressPoolName,omitempty"` // Ip Pool Name, that is assigned to virtual network with traffic type as VOICE(can't be empty if dataIpAddressPoolName is empty) + + AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate TemplateName associated with siteNameHierarchy + + ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable Group name associated with VN + + InterfaceDescription string `json:"interfaceDescription,omitempty"` // User defined text message for port assignment } type RequestSdaAddMulticastInSdaFabric struct { - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Full path of sda Fabric Site - MulticastMethod string `json:"multicastMethod,omitempty"` // Multicast Method - MulticastType string `json:"multicastType,omitempty"` // Multicast Type - MulticastVnInfo *[]RequestSdaAddMulticastInSdaFabricMulticastVnInfo `json:"multicastVnInfo,omitempty"` // + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Full path of sda Fabric Site + + MulticastMethod string `json:"multicastMethod,omitempty"` // Multicast Method + + MulticastType string `json:"multicastType,omitempty"` // Multicast Type + + MulticastVnInfo *[]RequestSdaAddMulticastInSdaFabricMulticastVnInfo `json:"multicastVnInfo,omitempty"` // } type RequestSdaAddMulticastInSdaFabricMulticastVnInfo struct { - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name, that is associated to Fabric Site - IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name, that is reserved to Fabric Site - InternalRpIPAddress []string `json:"internalRpIpAddress,omitempty"` // InternalRpIpAddress, required if multicastType is asm_with_internal_rp - ExternalRpIPAddress string `json:"externalRpIpAddress,omitempty"` // ExternalRpIpAddress, required if multicastType is asm_with_external_rp - SsmInfo *[]RequestSdaAddMulticastInSdaFabricMulticastVnInfoSsmInfo `json:"ssmInfo,omitempty"` // + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name, that is associated to Fabric Site + + IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name, that is reserved to Fabric Site + + InternalRpIPAddress []string `json:"internalRpIpAddress,omitempty"` // InternalRpIpAddress, required if multicastType is asm_with_internal_rp + + ExternalRpIPAddress string `json:"externalRpIpAddress,omitempty"` // ExternalRpIpAddress, required if multicastType is asm_with_external_rp + + SsmInfo *[]RequestSdaAddMulticastInSdaFabricMulticastVnInfoSsmInfo `json:"ssmInfo,omitempty"` // } type RequestSdaAddMulticastInSdaFabricMulticastVnInfoSsmInfo struct { - SsmGroupRange string `json:"ssmGroupRange,omitempty"` // Valid SSM group range ip address(e.g., 230.0.0.0) + SsmGroupRange string `json:"ssmGroupRange,omitempty"` // Valid SSM group range ip address(e.g., 230.0.0.0) + SsmWildcardMask string `json:"ssmWildcardMask,omitempty"` // Valid SSM Wildcard Mask ip address(e.g.,0.255.255.255) } type RequestSdaReProvisionWiredDevice struct { DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the device to be re-provisioned - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // siteNameHierarchy of the provisioned device + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // siteNameHierarchy of the provisioned device } type RequestSdaProvisionWiredDevice struct { DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Management Ip Address of the device to be provisioned - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy for device location(only building / floor level) + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy for device location(only building / floor level) } type RequestSdaAddTransitPeerNetwork struct { - TransitPeerNetworkName string `json:"transitPeerNetworkName,omitempty"` // Transit Peer Network Name - TransitPeerNetworkType string `json:"transitPeerNetworkType,omitempty"` // Transit Peer Network Type - IPTransitSettings *RequestSdaAddTransitPeerNetworkIPTransitSettings `json:"ipTransitSettings,omitempty"` // - SdaTransitSettings *RequestSdaAddTransitPeerNetworkSdaTransitSettings `json:"sdaTransitSettings,omitempty"` // + TransitPeerNetworkName string `json:"transitPeerNetworkName,omitempty"` // Transit Peer Network Name + + TransitPeerNetworkType string `json:"transitPeerNetworkType,omitempty"` // Transit Peer Network Type + + IPTransitSettings *RequestSdaAddTransitPeerNetworkIPTransitSettings `json:"ipTransitSettings,omitempty"` // + + SdaTransitSettings *RequestSdaAddTransitPeerNetworkSdaTransitSettings `json:"sdaTransitSettings,omitempty"` // } type RequestSdaAddTransitPeerNetworkIPTransitSettings struct { - RoutingProtocolName string `json:"routingProtocolName,omitempty"` // Routing Protocol Name + RoutingProtocolName string `json:"routingProtocolName,omitempty"` // Routing Protocol Name + AutonomousSystemNumber string `json:"autonomousSystemNumber,omitempty"` // Autonomous System Number } type RequestSdaAddTransitPeerNetworkSdaTransitSettings struct { TransitControlPlaneSettings *[]RequestSdaAddTransitPeerNetworkSdaTransitSettingsTransitControlPlaneSettings `json:"transitControlPlaneSettings,omitempty"` // } type RequestSdaAddTransitPeerNetworkSdaTransitSettingsTransitControlPlaneSettings struct { - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy where device is provisioned + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy where device is provisioned + DeviceManagementIPAddress string `json:"deviceManagementIpAddress,omitempty"` // Device Management Ip Address of provisioned device } type RequestSdaAddVnInFabric struct { VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name, that is created at Global level - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site } type RequestSdaAddIPPoolInSdaVirtualNetwork struct { - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name, that is associated to Fabric Site - IsLayer2Only *bool `json:"isLayer2Only,omitempty"` // Layer2 Only enablement flag and default value is False - IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name, that is reserved to Fabric Site (Required for L3 and INFRA_VN) - VLANID string `json:"vlanId,omitempty"` // vlan Id(applicable for L3 , L2 and INFRA_VN) - VLANName string `json:"vlanName,omitempty"` // Vlan name represent the segment name, if empty, vlanName would be auto generated by API - AutoGenerateVLANName *bool `json:"autoGenerateVlanName,omitempty"` // It will auto generate vlanName, if vlanName is empty(applicable for L3 and INFRA_VN) - TrafficType string `json:"trafficType,omitempty"` // Traffic type(applicable for L3 and L2) - ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable Group Name(applicable for L3) - IsL2FloodingEnabled *bool `json:"isL2FloodingEnabled,omitempty"` // Layer2 flooding enablement flag(applicable for L3 , L2 and always true for L2 and default value is False ) - IsThisCriticalPool *bool `json:"isThisCriticalPool,omitempty"` // Critical pool enablement flag(applicable for L3 and default value is False ) - IsWirelessPool *bool `json:"isWirelessPool,omitempty"` // Wireless Pool enablement flag(applicable for L3 and L2 and default value is False ) - IsIPDirectedBroadcast *bool `json:"isIpDirectedBroadcast,omitempty"` // Ip Directed Broadcast enablement flag(applicable for L3 and default value is False ) - IsCommonPool *bool `json:"isCommonPool,omitempty"` // Common Pool enablement flag(applicable for L3 and L2 and default value is False ) - IsBridgeModeVm *bool `json:"isBridgeModeVm,omitempty"` // Bridge Mode Vm enablement flag (applicable for L3 and L2 and default value is False ) - PoolType string `json:"poolType,omitempty"` // Pool Type (applicable for INFRA_VN) + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Path of sda Fabric Site + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name, that is associated to Fabric Site + + IsLayer2Only *bool `json:"isLayer2Only,omitempty"` // Layer2 Only enablement flag and default value is False + + IPPoolName string `json:"ipPoolName,omitempty"` // Ip Pool Name, that is reserved to Fabric Site (Required for L3 and INFRA_VN) + + VLANID string `json:"vlanId,omitempty"` // vlan Id(applicable for L3 , L2 and INFRA_VN) + + VLANName string `json:"vlanName,omitempty"` // Vlan name represent the segment name, if empty, vlanName would be auto generated by API + + AutoGenerateVLANName *bool `json:"autoGenerateVlanName,omitempty"` // It will auto generate vlanName, if vlanName is empty(applicable for L3 and INFRA_VN) + + TrafficType string `json:"trafficType,omitempty"` // Traffic type(applicable for L3 and L2) + + ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable Group Name(applicable for L3) + + IsL2FloodingEnabled *bool `json:"isL2FloodingEnabled,omitempty"` // Layer2 flooding enablement flag(applicable for L3 , L2 and always true for L2 and default value is False ) + + IsThisCriticalPool *bool `json:"isThisCriticalPool,omitempty"` // Critical pool enablement flag(applicable for L3 and default value is False ) + + IsWirelessPool *bool `json:"isWirelessPool,omitempty"` // Wireless Pool enablement flag(applicable for L3 and L2 and default value is False ) + + IsIPDirectedBroadcast *bool `json:"isIpDirectedBroadcast,omitempty"` // Ip Directed Broadcast enablement flag(applicable for L3 and default value is False ) + + IsCommonPool *bool `json:"isCommonPool,omitempty"` // Common Pool enablement flag(applicable for L3 and L2 and default value is False ) + + IsBridgeModeVm *bool `json:"isBridgeModeVm,omitempty"` // Bridge Mode Vm enablement flag (applicable for L3 and L2 and default value is False ) + + PoolType string `json:"poolType,omitempty"` // Pool Type (applicable for INFRA_VN) } type RequestSdaUpdateAnycastGateways []RequestItemSdaUpdateAnycastGateways // Array of RequestSdaUpdateAnycastGateways type RequestItemSdaUpdateAnycastGateways struct { - ID string `json:"id,omitempty"` // ID of the anycast gateway (updating this field is not allowed). - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this anycast gateway is assigned to. Updating anycast gateways on fabric zones is not allowed--instead, update the corresponding anycast gateway on the fabric site and the updates will be applied on all applicable fabric zones (updating this field is not allowed). - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network associated with the anycast gateway (updating this field is not allowed). - IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP pool associated with the anycast gateway (updating this field is not allowed). - TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size adjustment. - VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the anycast gateway (updating this field is not allowed). - VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the anycast gateway (updating this field is not allowed). - TrafficType string `json:"trafficType,omitempty"` // The type of traffic the anycast gateway serves. - PoolType string `json:"poolType,omitempty"` // The pool type of the anycast gateway (required for & applicable only to INFRA_VN; updating this field is not allowed). - SecurityGroupName string `json:"securityGroupName,omitempty"` // Name of the associated Security Group (not applicable to INFRA_VN). - IsCriticalPool *bool `json:"isCriticalPool,omitempty"` // Enable/disable critical VLAN (not applicable to INFRA_VN; updating this field is not allowed). - IsLayer2FloodingEnabled *bool `json:"isLayer2FloodingEnabled,omitempty"` // Enable/disable layer 2 flooding (not applicable to INFRA_VN). - IsWirelessPool *bool `json:"isWirelessPool,omitempty"` // Enable/disable fabric-enabled wireless (not applicable to INFRA_VN). - IsIPDirectedBroadcast *bool `json:"isIpDirectedBroadcast,omitempty"` // Enable/disable IP-directed broadcast (not applicable to INFRA_VN). - IsIntraSubnetRoutingEnabled *bool `json:"isIntraSubnetRoutingEnabled,omitempty"` // Enable/disable Intra-Subnet Routing (not applicable to INFRA_VN; updating this field is not allowed). - IsMultipleIPToMacAddresses *bool `json:"isMultipleIpToMacAddresses,omitempty"` // Enable/disable multiple IP-to-MAC Addresses (Wireless Bridged-Network Virtual Machine; not applicable to INFRA_VN). - IsSupplicantBasedExtendedNodeOnboarding *bool `json:"isSupplicantBasedExtendedNodeOnboarding,omitempty"` // Enable/disable Supplicant-Based Extended Node Onboarding (applicable only to INFRA_VN requests; must not be null when poolType is EXTENDED_NODE). - IsGroupBasedPolicyEnforcementEnabled *bool `json:"isGroupBasedPolicyEnforcementEnabled,omitempty"` // Enable/disable Group-Based Policy Enforcement (applicable only to INFRA_VN; defaults to false). + ID string `json:"id,omitempty"` // ID of the anycast gateway (updating this field is not allowed). + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this anycast gateway is assigned to. Updating anycast gateways on fabric zones is not allowed--instead, update the corresponding anycast gateway on the fabric site and the updates will be applied on all applicable fabric zones (updating this field is not allowed). + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network associated with the anycast gateway (updating this field is not allowed). + + IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP pool associated with the anycast gateway (updating this field is not allowed). + + TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size adjustment. + + VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the anycast gateway (updating this field is not allowed). + + VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the anycast gateway (updating this field is not allowed). + + TrafficType string `json:"trafficType,omitempty"` // The type of traffic the anycast gateway serves. + + PoolType string `json:"poolType,omitempty"` // The pool type of the anycast gateway (required for & applicable only to INFRA_VN; updating this field is not allowed). + + SecurityGroupName string `json:"securityGroupName,omitempty"` // Name of the associated Security Group (not applicable to INFRA_VN). + + IsCriticalPool *bool `json:"isCriticalPool,omitempty"` // Enable/disable critical VLAN (not applicable to INFRA_VN; updating this field is not allowed). + + IsLayer2FloodingEnabled *bool `json:"isLayer2FloodingEnabled,omitempty"` // Enable/disable layer 2 flooding (not applicable to INFRA_VN). + + IsWirelessPool *bool `json:"isWirelessPool,omitempty"` // Enable/disable fabric-enabled wireless (not applicable to INFRA_VN). + + IsIPDirectedBroadcast *bool `json:"isIpDirectedBroadcast,omitempty"` // Enable/disable IP-directed broadcast (not applicable to INFRA_VN). + + IsIntraSubnetRoutingEnabled *bool `json:"isIntraSubnetRoutingEnabled,omitempty"` // Enable/disable Intra-Subnet Routing (not applicable to INFRA_VN; updating this field is not allowed). + + IsMultipleIPToMacAddresses *bool `json:"isMultipleIpToMacAddresses,omitempty"` // Enable/disable multiple IP-to-MAC Addresses (Wireless Bridged-Network Virtual Machine; not applicable to INFRA_VN). + + IsSupplicantBasedExtendedNodeOnboarding *bool `json:"isSupplicantBasedExtendedNodeOnboarding,omitempty"` // Enable/disable Supplicant-Based Extended Node Onboarding (applicable only to INFRA_VN requests; must not be null when poolType is EXTENDED_NODE). + + IsGroupBasedPolicyEnforcementEnabled *bool `json:"isGroupBasedPolicyEnforcementEnabled,omitempty"` // Enable/disable Group-Based Policy Enforcement (applicable only to INFRA_VN; defaults to false). } type RequestSdaAddAnycastGateways []RequestItemSdaAddAnycastGateways // Array of RequestSdaAddAnycastGateways type RequestItemSdaAddAnycastGateways struct { - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this anycast gateway is to be assigned to. - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network associated with the anycast gateway. the virtual network must have already been added to the site before creating an anycast gateway with it. - IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP pool associated with the anycast gateway. - TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size adjustment. - VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the anycast gateway. - VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the anycast gateway. allowed VLAN range is 2-4093 except for reserved VLANs 1002-1005, 2046, and 4094. if deploying an anycast gateway on a fabric zone, this vlanId must match the vlanId of the corresponding anycast gateway on the fabric site. - TrafficType string `json:"trafficType,omitempty"` // The type of traffic the anycast gateway serves. - PoolType string `json:"poolType,omitempty"` // The pool type of the anycast gateway (required for & applicable only to INFRA_VN). - SecurityGroupName string `json:"securityGroupName,omitempty"` // Name of the associated Security Group (not applicable to INFRA_VN). - IsCriticalPool *bool `json:"isCriticalPool,omitempty"` // Enable/disable critical VLAN. if true, autoGenerateVlanName must also be true. (isCriticalPool is not applicable to INFRA_VN). - IsLayer2FloodingEnabled *bool `json:"isLayer2FloodingEnabled,omitempty"` // Enable/disable layer 2 flooding (not applicable to INFRA_VN). - IsWirelessPool *bool `json:"isWirelessPool,omitempty"` // Enable/disable fabric-enabled wireless (not applicable to INFRA_VN). - IsIPDirectedBroadcast *bool `json:"isIpDirectedBroadcast,omitempty"` // Enable/disable IP-directed broadcast (not applicable to INFRA_VN). - IsIntraSubnetRoutingEnabled *bool `json:"isIntraSubnetRoutingEnabled,omitempty"` // Enable/disable Intra-Subnet Routing (not applicable to INFRA_VN). - IsMultipleIPToMacAddresses *bool `json:"isMultipleIpToMacAddresses,omitempty"` // Enable/disable multiple IP-to-MAC Addresses (Wireless Bridged-Network Virtual Machine; not applicable to INFRA_VN). - IsSupplicantBasedExtendedNodeOnboarding *bool `json:"isSupplicantBasedExtendedNodeOnboarding,omitempty"` // Enable/disable Supplicant-Based Extended Node Onboarding (applicable only to INFRA_VN). - IsGroupBasedPolicyEnforcementEnabled *bool `json:"isGroupBasedPolicyEnforcementEnabled,omitempty"` // Enable/disable Group-Based Policy Enforcement (applicable only to INFRA_VN; defaults to false). - AutoGenerateVLANName *bool `json:"autoGenerateVlanName,omitempty"` // This field cannot be true when vlanName is provided. the vlanName will be generated as "{ipPoolGroupV4Cidr}-{virtualNetworkName}" for non-critical VLANs. for critical VLANs with DATA trafficType, vlanName will be "CRITICAL_VLAN". for critical VLANs with VOICE trafficType, vlanName will be "VOICE_VLAN". + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this anycast gateway is to be assigned to. + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network associated with the anycast gateway. the virtual network must have already been added to the site before creating an anycast gateway with it. + + IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP pool associated with the anycast gateway. + + TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size adjustment. + + VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the anycast gateway. + + VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the anycast gateway. allowed VLAN range is 2-4093 except for reserved VLANs 1002-1005, 2046, and 4094. if deploying an anycast gateway on a fabric zone, this vlanId must match the vlanId of the corresponding anycast gateway on the fabric site. + + TrafficType string `json:"trafficType,omitempty"` // The type of traffic the anycast gateway serves. + + PoolType string `json:"poolType,omitempty"` // The pool type of the anycast gateway (required for & applicable only to INFRA_VN). + + SecurityGroupName string `json:"securityGroupName,omitempty"` // Name of the associated Security Group (not applicable to INFRA_VN). + + IsCriticalPool *bool `json:"isCriticalPool,omitempty"` // Enable/disable critical VLAN. if true, autoGenerateVlanName must also be true. (isCriticalPool is not applicable to INFRA_VN). + + IsLayer2FloodingEnabled *bool `json:"isLayer2FloodingEnabled,omitempty"` // Enable/disable layer 2 flooding (not applicable to INFRA_VN). + + IsWirelessPool *bool `json:"isWirelessPool,omitempty"` // Enable/disable fabric-enabled wireless (not applicable to INFRA_VN). + + IsIPDirectedBroadcast *bool `json:"isIpDirectedBroadcast,omitempty"` // Enable/disable IP-directed broadcast (not applicable to INFRA_VN). + + IsIntraSubnetRoutingEnabled *bool `json:"isIntraSubnetRoutingEnabled,omitempty"` // Enable/disable Intra-Subnet Routing (not applicable to INFRA_VN). + + IsMultipleIPToMacAddresses *bool `json:"isMultipleIpToMacAddresses,omitempty"` // Enable/disable multiple IP-to-MAC Addresses (Wireless Bridged-Network Virtual Machine; not applicable to INFRA_VN). + + IsSupplicantBasedExtendedNodeOnboarding *bool `json:"isSupplicantBasedExtendedNodeOnboarding,omitempty"` // Enable/disable Supplicant-Based Extended Node Onboarding (applicable only to INFRA_VN). + + IsGroupBasedPolicyEnforcementEnabled *bool `json:"isGroupBasedPolicyEnforcementEnabled,omitempty"` // Enable/disable Group-Based Policy Enforcement (applicable only to INFRA_VN; defaults to false). + + AutoGenerateVLANName *bool `json:"autoGenerateVlanName,omitempty"` // This field cannot be true when vlanName is provided. the vlanName will be generated as "{ipPoolGroupV4Cidr}-{virtualNetworkName}" for non-critical VLANs. for critical VLANs with DATA trafficType, vlanName will be "CRITICAL_VLAN". for critical VLANs with VOICE trafficType, vlanName will be "VOICE_VLAN". } type RequestSdaUpdateAuthenticationProfile []RequestItemSdaUpdateAuthenticationProfile // Array of RequestSdaUpdateAuthenticationProfile type RequestItemSdaUpdateAuthenticationProfile struct { - ID string `json:"id,omitempty"` // ID of the authentication profile (updating this field is not allowed). - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this authentication profile is assigned to (updating this field is not allowed). + ID string `json:"id,omitempty"` // ID of the authentication profile (updating this field is not allowed). + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this authentication profile is assigned to (updating this field is not allowed). To update a global authentication profile, either remove this property or set its value to null. + AuthenticationProfileName string `json:"authenticationProfileName,omitempty"` // The default host authentication template (updating this field is not allowed). - AuthenticationOrder string `json:"authenticationOrder,omitempty"` // First authentication method. - Dot1XToMabFallbackTimeout *int `json:"dot1xToMabFallbackTimeout,omitempty"` // 802.1x Timeout. - WakeOnLan *bool `json:"wakeOnLan,omitempty"` // Wake on LAN. - NumberOfHosts string `json:"numberOfHosts,omitempty"` // Number of Hosts. - IsBpduGuardEnabled *bool `json:"isBpduGuardEnabled,omitempty"` // Enable/disable BPDU Guard. Only applicable when authenticationProfileName is set to "Closed Authentication" (defaults to true). + + AuthenticationOrder string `json:"authenticationOrder,omitempty"` // First authentication method. + + Dot1XToMabFallbackTimeout *int `json:"dot1xToMabFallbackTimeout,omitempty"` // 802.1x Timeout. + + WakeOnLan *bool `json:"wakeOnLan,omitempty"` // Wake on LAN. + + NumberOfHosts string `json:"numberOfHosts,omitempty"` // Number of Hosts. + + IsBpduGuardEnabled *bool `json:"isBpduGuardEnabled,omitempty"` // Enable/disable BPDU Guard. Only applicable when authenticationProfileName is set to "Closed Authentication" (defaults to true). + + PreAuthACL *RequestItemSdaUpdateAuthenticationProfilePreAuthACL `json:"preAuthAcl,omitempty"` // +} +type RequestItemSdaUpdateAuthenticationProfilePreAuthACL struct { + Enabled *bool `json:"enabled,omitempty"` // Enable/disable Pre-Authentication ACL. + + ImplicitAction string `json:"implicitAction,omitempty"` // Implicit behaviour unless overridden (defaults to "DENY"). + + Description string `json:"description,omitempty"` // Description of this Pre-Authentication ACL. + + AccessContracts *[]RequestItemSdaUpdateAuthenticationProfilePreAuthACLAccessContracts `json:"accessContracts,omitempty"` // +} +type RequestItemSdaUpdateAuthenticationProfilePreAuthACLAccessContracts struct { + Action string `json:"action,omitempty"` // Contract behaviour. + + Protocol string `json:"protocol,omitempty"` // Protocol for the access contract. "TCP" and "TCP_UDP" are only allowed when the contract port is "domain". + + Port string `json:"port,omitempty"` // Port for the access contract. The port can only be used once in the Access Contract list. } type RequestSdaUpdateExtranetPolicy []RequestItemSdaUpdateExtranetPolicy // Array of RequestSdaUpdateExtranetPolicy type RequestItemSdaUpdateExtranetPolicy struct { - ID string `json:"id,omitempty"` // ID of the existing extranet policy (updating this field is not allowed). - ExtranetPolicyName string `json:"extranetPolicyName,omitempty"` // Name of the existing extranet policy (updating this field is not allowed). - FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabric sites associated with this extranet policy. - ProviderVirtualNetworkName string `json:"providerVirtualNetworkName,omitempty"` // Name of the existing provider virtual network (updating this field is not allowed). + ID string `json:"id,omitempty"` // ID of the existing extranet policy (updating this field is not allowed). + + ExtranetPolicyName string `json:"extranetPolicyName,omitempty"` // Name of the existing extranet policy (updating this field is not allowed). + + FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabric sites associated with this extranet policy. + + ProviderVirtualNetworkName string `json:"providerVirtualNetworkName,omitempty"` // Name of the existing provider virtual network (updating this field is not allowed). + SubscriberVirtualNetworkNames []string `json:"subscriberVirtualNetworkNames,omitempty"` // Name of the subscriber virtual networks. } type RequestSdaAddExtranetPolicy []RequestItemSdaAddExtranetPolicy // Array of RequestSdaAddExtranetPolicy type RequestItemSdaAddExtranetPolicy struct { - ExtranetPolicyName string `json:"extranetPolicyName,omitempty"` // Name of the extranet policy to be created. - FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabric sites to be associated with this extranet policy. - ProviderVirtualNetworkName string `json:"providerVirtualNetworkName,omitempty"` // Name of the existing provider virtual network. + ExtranetPolicyName string `json:"extranetPolicyName,omitempty"` // Name of the extranet policy to be created. + + FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabric sites to be associated with this extranet policy. + + ProviderVirtualNetworkName string `json:"providerVirtualNetworkName,omitempty"` // Name of the existing provider virtual network. + SubscriberVirtualNetworkNames []string `json:"subscriberVirtualNetworkNames,omitempty"` // Name of the subscriber virtual networks. } type RequestSdaUpdateFabricDevices []RequestItemSdaUpdateFabricDevices // Array of RequestSdaUpdateFabricDevices type RequestItemSdaUpdateFabricDevices struct { - ID string `json:"id,omitempty"` // ID of the fabric device. (updating this field is not allowed). - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. (updating this field is not allowed). - FabricID string `json:"fabricId,omitempty"` // ID of the fabric of this fabric device. (updating this field is not allowed). - DeviceRoles []string `json:"deviceRoles,omitempty"` // List of the roles of the fabric device. Allowed values are [CONTROL_PLANE_NODE, EDGE_NODE, BORDER_NODE, WIRELESS_CONTROLLER_NODE]. (updating this field is not allowed). + ID string `json:"id,omitempty"` // ID of the fabric device. (updating this field is not allowed). + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. (updating this field is not allowed). + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric of this fabric device. (updating this field is not allowed). + + DeviceRoles []string `json:"deviceRoles,omitempty"` // List of the roles of the fabric device. Allowed values are [CONTROL_PLANE_NODE, EDGE_NODE, BORDER_NODE, WIRELESS_CONTROLLER_NODE]. (updating this field is not allowed). + BorderDeviceSettings *RequestItemSdaUpdateFabricDevicesBorderDeviceSettings `json:"borderDeviceSettings,omitempty"` // } type RequestItemSdaUpdateFabricDevicesBorderDeviceSettings struct { - BorderTypes []string `json:"borderTypes,omitempty"` // List of the border types of the fabric device. Allowed values are [LAYER_2, LAYER_3]. + BorderTypes []string `json:"borderTypes,omitempty"` // List of the border types of the fabric device. Allowed values are [LAYER_2, LAYER_3]. + Layer3Settings *RequestItemSdaUpdateFabricDevicesBorderDeviceSettingsLayer3Settings `json:"layer3Settings,omitempty"` // } type RequestItemSdaUpdateFabricDevicesBorderDeviceSettingsLayer3Settings struct { - LocalAutonomousSystemNumber string `json:"localAutonomousSystemNumber,omitempty"` // BGP Local autonomous system number of the fabric border device. Allowed range is [1 to 4294967295]. (updating this field is not allowed). - IsDefaultExit *bool `json:"isDefaultExit,omitempty"` // Set this to make the fabric border device the gateway of last resort for this site. Any unknown traffic will be sent to this fabric border device from edge nodes. (updating this field is not allowed). - ImportExternalRoutes *bool `json:"importExternalRoutes,omitempty"` // Set this to import external routes from other routing protocols (such as BGP) to the fabric control plane. (updating this field is not allowed). - BorderPriority *int `json:"borderPriority,omitempty"` // Border priority of the fabric border device. Allowed range is [1-9]. A lower value indicates higher priority. E.g., a priority of 1 takes precedence over 5. Default priority would be set to 10. - PrependAutonomousSystemCount *int `json:"prependAutonomousSystemCount,omitempty"` // Prepend autonomous system count of the fabric border device. Allowed range is [1 to 10]. + LocalAutonomousSystemNumber string `json:"localAutonomousSystemNumber,omitempty"` // BGP Local autonomous system number of the fabric border device. Allowed range is [1 to 4294967295]. (updating this field is not allowed). + + IsDefaultExit *bool `json:"isDefaultExit,omitempty"` // Set this to make the fabric border device the gateway of last resort for this site. Any unknown traffic will be sent to this fabric border device from edge nodes. (updating this field is not allowed). + + ImportExternalRoutes *bool `json:"importExternalRoutes,omitempty"` // Set this to import external routes from other routing protocols (such as BGP) to the fabric control plane. (updating this field is not allowed). + + BorderPriority *int `json:"borderPriority,omitempty"` // Border priority of the fabric border device. Allowed range is [1-9]. A lower value indicates higher priority. E.g., a priority of 1 takes precedence over 5. Default priority would be set to 10. + + PrependAutonomousSystemCount *int `json:"prependAutonomousSystemCount,omitempty"` // Prepend autonomous system count of the fabric border device. Allowed range is [1 to 10]. } type RequestSdaAddFabricDevices []RequestItemSdaAddFabricDevices // Array of RequestSdaAddFabricDevices type RequestItemSdaAddFabricDevices struct { - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric of this fabric device. - DeviceRoles []string `json:"deviceRoles,omitempty"` // List of the roles of the fabric device. Allowed values are [CONTROL_PLANE_NODE, EDGE_NODE, BORDER_NODE, WIRELESS_CONTROLLER_NODE]. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric of this fabric device. + + DeviceRoles []string `json:"deviceRoles,omitempty"` // List of the roles of the fabric device. Allowed values are [CONTROL_PLANE_NODE, EDGE_NODE, BORDER_NODE, WIRELESS_CONTROLLER_NODE]. + BorderDeviceSettings *RequestItemSdaAddFabricDevicesBorderDeviceSettings `json:"borderDeviceSettings,omitempty"` // } type RequestItemSdaAddFabricDevicesBorderDeviceSettings struct { - BorderTypes []string `json:"borderTypes,omitempty"` // List of the border types of the fabric device. Allowed values are [LAYER_2, LAYER_3]. + BorderTypes []string `json:"borderTypes,omitempty"` // List of the border types of the fabric device. Allowed values are [LAYER_2, LAYER_3]. + Layer3Settings *RequestItemSdaAddFabricDevicesBorderDeviceSettingsLayer3Settings `json:"layer3Settings,omitempty"` // } type RequestItemSdaAddFabricDevicesBorderDeviceSettingsLayer3Settings struct { - LocalAutonomousSystemNumber string `json:"localAutonomousSystemNumber,omitempty"` // BGP Local autonomous system number of the fabric border device. Allowed range is [1 to 4294967295]. - IsDefaultExit *bool `json:"isDefaultExit,omitempty"` // Set this to make the fabric border device the gateway of last resort for this site. Any unknown traffic will be sent to this fabric border device from edge nodes. - ImportExternalRoutes *bool `json:"importExternalRoutes,omitempty"` // Set this to import external routes from other routing protocols (such as BGP) to the fabric control plane. - BorderPriority *int `json:"borderPriority,omitempty"` // Border priority of the fabric border device. Allowed range is [1-9]. A lower value indicates higher priority. E.g., a priority of 1 takes precedence over 5. Default priority would be set to 10. - PrependAutonomousSystemCount *int `json:"prependAutonomousSystemCount,omitempty"` // Prepend autonomous system count of the fabric border device. Allowed range is [1 to 10]. + LocalAutonomousSystemNumber string `json:"localAutonomousSystemNumber,omitempty"` // BGP Local autonomous system number of the fabric border device. Allowed range is [1 to 4294967295]. + + IsDefaultExit *bool `json:"isDefaultExit,omitempty"` // Set this to make the fabric border device the gateway of last resort for this site. Any unknown traffic will be sent to this fabric border device from edge nodes. + + ImportExternalRoutes *bool `json:"importExternalRoutes,omitempty"` // Set this to import external routes from other routing protocols (such as BGP) to the fabric control plane. + + BorderPriority *int `json:"borderPriority,omitempty"` // Border priority of the fabric border device. Allowed range is [1-9]. A lower value indicates higher priority. E.g., a priority of 1 takes precedence over 5. Default priority would be set to 10. + + PrependAutonomousSystemCount *int `json:"prependAutonomousSystemCount,omitempty"` // Prepend autonomous system count of the fabric border device. Allowed range is [1 to 10]. } type RequestSdaAddFabricDevicesLayer2Handoffs []RequestItemSdaAddFabricDevicesLayer2Handoffs // Array of RequestSdaAddFabricDevicesLayer2Handoffs type RequestItemSdaAddFabricDevicesLayer2Handoffs struct { NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. - InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 2 handoff. E.g., GigabitEthernet1/0/4 - InternalVLANID *int `json:"internalVlanId,omitempty"` // VLAN number associated with this fabric. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094). - ExternalVLANID *int `json:"externalVlanId,omitempty"` // External VLAN number into which the fabric must be extended. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094). + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. + + InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 2 handoff. E.g., GigabitEthernet1/0/4 + + InternalVLANID *int `json:"internalVlanId,omitempty"` // VLAN number associated with this fabric. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094). + + ExternalVLANID *int `json:"externalVlanId,omitempty"` // External VLAN number into which the fabric must be extended. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094). } type RequestSdaAddFabricDevicesLayer3HandoffsWithIPTransit []RequestItemSdaAddFabricDevicesLayer3HandoffsWithIPTransit // Array of RequestSdaAddFabricDevicesLayer3HandoffsWithIpTransit type RequestItemSdaAddFabricDevicesLayer3HandoffsWithIPTransit struct { - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. - TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff ip transit. - InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 3 handoff ip transit. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. + + TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff ip transit. + + InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 3 handoff ip transit. + ExternalConnectivityIPPoolName string `json:"externalConnectivityIpPoolName,omitempty"` // External connectivity ip pool will be used by Catalyst Center to allocate IP address for the connection between the border node and peer. - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with this fabric site. - VLANID *int `json:"vlanId,omitempty"` // VLAN number for the Switch Virtual Interface (SVI) used to establish BGP peering with the external domain for the virtual network. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094). - TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size (mss) value for the layer 3 handoff. Allowed range is [500-1440]. TCP MSS Adjustment value is applicable for the TCP sessions over both IPv4 and IPv6. - LocalIPAddress string `json:"localIpAddress,omitempty"` // Local ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name. - RemoteIPAddress string `json:"remoteIpAddress,omitempty"` // Remote ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name. - LocalIPv6Address string `json:"localIpv6Address,omitempty"` // Local ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name. - RemoteIPv6Address string `json:"remoteIpv6Address,omitempty"` // Remote ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name. + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with this fabric site. + + VLANID *int `json:"vlanId,omitempty"` // VLAN number for the Switch Virtual Interface (SVI) used to establish BGP peering with the external domain for the virtual network. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094). + + TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size (mss) value for the layer 3 handoff. Allowed range is [500-1440]. TCP MSS Adjustment value is applicable for the TCP sessions over both IPv4 and IPv6. + + LocalIPAddress string `json:"localIpAddress,omitempty"` // Local ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name. + + RemoteIPAddress string `json:"remoteIpAddress,omitempty"` // Remote ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name. + + LocalIPv6Address string `json:"localIpv6Address,omitempty"` // Local ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name. + + RemoteIPv6Address string `json:"remoteIpv6Address,omitempty"` // Remote ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). Not applicable if you have already provided an external connectivity ip pool name. } type RequestSdaUpdateFabricDevicesLayer3HandoffsWithIPTransit []RequestItemSdaUpdateFabricDevicesLayer3HandoffsWithIPTransit // Array of RequestSdaUpdateFabricDevicesLayer3HandoffsWithIpTransit type RequestItemSdaUpdateFabricDevicesLayer3HandoffsWithIPTransit struct { - ID string `json:"id,omitempty"` // ID of the fabric device layer 3 handoff ip transit. (updating this field is not allowed). - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. (updating this field is not allowed). - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. (updating this field is not allowed). - TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff ip transit. (updating this field is not allowed). - InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 3 handoff ip transit. (updating this field is not allowed). + ID string `json:"id,omitempty"` // ID of the fabric device layer 3 handoff ip transit. (updating this field is not allowed). + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. (updating this field is not allowed). + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. (updating this field is not allowed). + + TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff ip transit. (updating this field is not allowed). + + InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 3 handoff ip transit. (updating this field is not allowed). + ExternalConnectivityIPPoolName string `json:"externalConnectivityIpPoolName,omitempty"` // External connectivity ip pool will be used by Catalyst Center to allocate IP address for the connection between the border node and peer. (updating this field is not allowed). - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with this fabric site. (updating this field is not allowed). - VLANID *int `json:"vlanId,omitempty"` // VLAN number for the Switch Virtual Interface (SVI) used to establish BGP peering with the external domain for the virtual network. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094). (updating this field is not allowed). - TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size (mss) value for the layer 3 handoff. Allowed range is [500-1440]. TCP MSS Adjustment value is applicable for the TCP sessions over both IPv4 and IPv6. - LocalIPAddress string `json:"localIpAddress,omitempty"` // Local ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). (updating this field is not allowed). - RemoteIPAddress string `json:"remoteIpAddress,omitempty"` // Remote ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). (updating this field is not allowed). - LocalIPv6Address string `json:"localIpv6Address,omitempty"` // Local ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). If the value has already been set, it cannot be updated. - RemoteIPv6Address string `json:"remoteIpv6Address,omitempty"` // Remote ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). If the value has already been set, it cannot be updated. + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with this fabric site. (updating this field is not allowed). + + VLANID *int `json:"vlanId,omitempty"` // VLAN number for the Switch Virtual Interface (SVI) used to establish BGP peering with the external domain for the virtual network. Allowed VLAN range is 2-4094 except for reserved vlans (1, 1002-1005, 2046, 4094). (updating this field is not allowed). + + TCPMssAdjustment *int `json:"tcpMssAdjustment,omitempty"` // TCP maximum segment size (mss) value for the layer 3 handoff. Allowed range is [500-1440]. TCP MSS Adjustment value is applicable for the TCP sessions over both IPv4 and IPv6. + + LocalIPAddress string `json:"localIpAddress,omitempty"` // Local ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). (updating this field is not allowed). + + RemoteIPAddress string `json:"remoteIpAddress,omitempty"` // Remote ipv4 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). (updating this field is not allowed). + + LocalIPv6Address string `json:"localIpv6Address,omitempty"` // Local ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). If the value has already been set, it cannot be updated. + + RemoteIPv6Address string `json:"remoteIpv6Address,omitempty"` // Remote ipv6 address for the selected virtual network. Enter the IP addresses and subnet mask in the CIDR notation (IP address/prefix-length). If the value has already been set, it cannot be updated. } type RequestSdaUpdateFabricDevicesLayer3HandoffsWithSdaTransit []RequestItemSdaUpdateFabricDevicesLayer3HandoffsWithSdaTransit // Array of RequestSdaUpdateFabricDevicesLayer3HandoffsWithSdaTransit type RequestItemSdaUpdateFabricDevicesLayer3HandoffsWithSdaTransit struct { - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. (updating this field is not allowed). - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. (updating this field is not allowed). - TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff sda transit. (updating this field is not allowed). - AffinityIDPrime *int `json:"affinityIdPrime,omitempty"` // Affinity id prime value of the border node. It supersedes the border priority to determine border node preference. Allowed range is [0-2147483647]. The lower the relative value of affinity id prime, the higher the preference for a destination border node. - AffinityIDDecider *int `json:"affinityIdDecider,omitempty"` // Affinity id decider value of the border node. When the affinity id prime value is the same on multiple devices, the affinity id decider value is used as a tiebreaker. Allowed range is [0-2147483647]. The lower the relative value of affinity id decider, the higher the preference for a destination border node. - ConnectedToInternet *bool `json:"connectedToInternet,omitempty"` // Set this true to allow associated site to provide internet access to other sites through sd-access. - IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // Set this true to configure native multicast over multiple sites that are connected to an sd-access transit. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. (updating this field is not allowed). + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. (updating this field is not allowed). + + TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff sda transit. (updating this field is not allowed). + + AffinityIDPrime *int `json:"affinityIdPrime,omitempty"` // Affinity id prime value of the border node. It supersedes the border priority to determine border node preference. Allowed range is [0-2147483647]. The lower the relative value of affinity id prime, the higher the preference for a destination border node. + + AffinityIDDecider *int `json:"affinityIdDecider,omitempty"` // Affinity id decider value of the border node. When the affinity id prime value is the same on multiple devices, the affinity id decider value is used as a tiebreaker. Allowed range is [0-2147483647]. The lower the relative value of affinity id decider, the higher the preference for a destination border node. + + ConnectedToInternet *bool `json:"connectedToInternet,omitempty"` // Set this true to allow associated site to provide internet access to other sites through sd-access. + + IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // Set this true to configure native multicast over multiple sites that are connected to an sd-access transit. } type RequestSdaAddFabricDevicesLayer3HandoffsWithSdaTransit []RequestItemSdaAddFabricDevicesLayer3HandoffsWithSdaTransit // Array of RequestSdaAddFabricDevicesLayer3HandoffsWithSdaTransit type RequestItemSdaAddFabricDevicesLayer3HandoffsWithSdaTransit struct { - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. - TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff sda transit. - AffinityIDPrime *int `json:"affinityIdPrime,omitempty"` // Affinity id prime value of the border node. It supersedes the border priority to determine border node preference. Allowed range is [0-2147483647]. The lower the relative value of affinity id prime, the higher the preference for a destination border node. - AffinityIDDecider *int `json:"affinityIdDecider,omitempty"` // Affinity id decider value of the border node. When the affinity id prime value is the same on multiple devices, the affinity id decider value is used as a tiebreaker. Allowed range is [0-2147483647]. The lower the relative value of affinity id decider, the higher the preference for a destination border node. - ConnectedToInternet *bool `json:"connectedToInternet,omitempty"` // Set this true to allow associated site to provide internet access to other sites through sd-access. - IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // Set this true to configure native multicast over multiple sites that are connected to an sd-access transit. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the fabric device. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. + + TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff sda transit. + + AffinityIDPrime *int `json:"affinityIdPrime,omitempty"` // Affinity id prime value of the border node. It supersedes the border priority to determine border node preference. Allowed range is [0-2147483647]. The lower the relative value of affinity id prime, the higher the preference for a destination border node. + + AffinityIDDecider *int `json:"affinityIdDecider,omitempty"` // Affinity id decider value of the border node. When the affinity id prime value is the same on multiple devices, the affinity id decider value is used as a tiebreaker. Allowed range is [0-2147483647]. The lower the relative value of affinity id decider, the higher the preference for a destination border node. + + ConnectedToInternet *bool `json:"connectedToInternet,omitempty"` // Set this true to allow associated site to provide internet access to other sites through sd-access. + + IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // Set this true to configure native multicast over multiple sites that are connected to an sd-access transit. } type RequestSdaAddFabricSite []RequestItemSdaAddFabricSite // Array of RequestSdaAddFabricSite type RequestItemSdaAddFabricSite struct { - SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy. + SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy. + AuthenticationProfileName string `json:"authenticationProfileName,omitempty"` // Authentication profile used for this fabric. - IsPubSubEnabled *bool `json:"isPubSubEnabled,omitempty"` // Specifies whether this fabric site will use pub/sub for control nodes. + + IsPubSubEnabled *bool `json:"isPubSubEnabled,omitempty"` // Specifies whether this fabric site will use pub/sub for control nodes. } type RequestSdaUpdateFabricSite []RequestItemSdaUpdateFabricSite // Array of RequestSdaUpdateFabricSite type RequestItemSdaUpdateFabricSite struct { - ID string `json:"id,omitempty"` // ID of the fabric site (updating this field is not allowed). - SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy (updating this field is not allowed). + ID string `json:"id,omitempty"` // ID of the fabric site (updating this field is not allowed). + + SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy (updating this field is not allowed). + AuthenticationProfileName string `json:"authenticationProfileName,omitempty"` // Authentication profile used for this fabric. - IsPubSubEnabled *bool `json:"isPubSubEnabled,omitempty"` // Specifies whether this fabric site will use pub/sub for control nodes. + + IsPubSubEnabled *bool `json:"isPubSubEnabled,omitempty"` // Specifies whether this fabric site will use pub/sub for control nodes. } type RequestSdaUpdateFabricZone []RequestItemSdaUpdateFabricZone // Array of RequestSdaUpdateFabricZone type RequestItemSdaUpdateFabricZone struct { - ID string `json:"id,omitempty"` // ID of the fabric zone (updating this field is not allowed). - SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy (updating this field is not allowed). + ID string `json:"id,omitempty"` // ID of the fabric zone (updating this field is not allowed). + + SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy (updating this field is not allowed). + AuthenticationProfileName string `json:"authenticationProfileName,omitempty"` // Authentication profile used for this fabric. } type RequestSdaAddFabricZone []RequestItemSdaAddFabricZone // Array of RequestSdaAddFabricZone type RequestItemSdaAddFabricZone struct { - SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy. + SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy. + AuthenticationProfileName string `json:"authenticationProfileName,omitempty"` // Authentication profile used for this fabric. } type RequestSdaAddLayer2VirtualNetworks []RequestItemSdaAddLayer2VirtualNetworks // Array of RequestSdaAddLayer2VirtualNetworks type RequestItemSdaAddLayer2VirtualNetworks struct { - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this layer 2 virtual network is to be assigned to. - VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the layer 2 virtual network. Must contain only alphanumeric characters, underscores, and hyphens. - VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the layer 2 virtual network. Allowed VLAN range is 2-4093 except for reserved VLANs 1002-1005, and 2046. If deploying on a fabric zone, this vlanId must match the vlanId of the corresponding layer 2 virtual network on the fabric site. - TrafficType string `json:"trafficType,omitempty"` // The type of traffic that is served. - IsFabricEnabledWireless *bool `json:"isFabricEnabledWireless,omitempty"` // Set to true to enable wireless. Default is false. + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this layer 2 virtual network is to be assigned to. + + VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the layer 2 virtual network. Must contain only alphanumeric characters, underscores, and hyphens. + + VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the layer 2 virtual network. Allowed VLAN range is 2-4093 except for reserved VLANs 1002-1005, and 2046. If deploying on a fabric zone, this vlanId must match the vlanId of the corresponding layer 2 virtual network on the fabric site. + + TrafficType string `json:"trafficType,omitempty"` // The type of traffic that is served. + + IsFabricEnabledWireless *bool `json:"isFabricEnabledWireless,omitempty"` // Set to true to enable wireless. Default is false. + + IsMultipleIPToMacAddresses *bool `json:"isMultipleIpToMacAddresses,omitempty"` // Set to true to enable multiple IP-to-MAC addresses (Wireless Bridged-Network Virtual Machine). This field defaults to false when associated with a layer 3 virtual network and cannot be used when not associated with a layer 3 virtual network. + AssociatedLayer3VirtualNetworkName string `json:"associatedLayer3VirtualNetworkName,omitempty"` // Name of the layer 3 virtual network associated with the layer 2 virtual network. This field is provided to support requests related to virtual network anchoring. The layer 3 virtual network must have already been added to the fabric before association. This field must either be present in all payload elements or none. } type RequestSdaUpdateLayer2VirtualNetworks []RequestItemSdaUpdateLayer2VirtualNetworks // Array of RequestSdaUpdateLayer2VirtualNetworks type RequestItemSdaUpdateLayer2VirtualNetworks struct { - ID string `json:"id,omitempty"` // ID of the layer 2 virtual network (updating this field is not allowed). - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this layer 2 virtual network is assigned to (updating this field is not allowed). - VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the layer 2 virtual network. Must contain only alphanumeric characters, underscores, and hyphens (updating this field is not allowed). - VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the layer 2 virtual network (updating this field is not allowed). - TrafficType string `json:"trafficType,omitempty"` // The type of traffic that is served. - IsFabricEnabledWireless *bool `json:"isFabricEnabledWireless,omitempty"` // Set to true to enable wireless. + ID string `json:"id,omitempty"` // ID of the layer 2 virtual network (updating this field is not allowed). + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric this layer 2 virtual network is assigned to (updating this field is not allowed). + + VLANName string `json:"vlanName,omitempty"` // Name of the VLAN of the layer 2 virtual network. Must contain only alphanumeric characters, underscores, and hyphens (updating this field is not allowed). + + VLANID *int `json:"vlanId,omitempty"` // ID of the VLAN of the layer 2 virtual network (updating this field is not allowed). + + TrafficType string `json:"trafficType,omitempty"` // The type of traffic that is served. + + IsFabricEnabledWireless *bool `json:"isFabricEnabledWireless,omitempty"` // Set to true to enable wireless. + + IsMultipleIPToMacAddresses *bool `json:"isMultipleIpToMacAddresses,omitempty"` // Set to true to enable multiple IP-to-MAC addresses (Wireless Bridged-Network Virtual Machine). This field defaults to false when associated with a layer 3 virtual network and cannot be used when not associated with a layer 3 virtual network. + AssociatedLayer3VirtualNetworkName string `json:"associatedLayer3VirtualNetworkName,omitempty"` // Name of the layer 3 virtual network associated with the layer 2 virtual network. This field is provided to support requests related to virtual network anchoring. This field must either be present in all payload elements or none (updating this field is not allowed). } type RequestSdaAddLayer3VirtualNetworks []RequestItemSdaAddLayer3VirtualNetworks // Array of RequestSdaAddLayer3VirtualNetworks type RequestItemSdaAddLayer3VirtualNetworks struct { - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network. - FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabrics this layer 3 virtual network is to be assigned to. - AnchoredSiteID string `json:"anchoredSiteId,omitempty"` // Fabric ID of the fabric site this layer 3 virtual network is to be anchored at. + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network. + + FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabrics this layer 3 virtual network is to be assigned to. + + AnchoredSiteID string `json:"anchoredSiteId,omitempty"` // Fabric ID of the fabric site this layer 3 virtual network is to be anchored at. } type RequestSdaUpdateLayer3VirtualNetworks []RequestItemSdaUpdateLayer3VirtualNetworks // Array of RequestSdaUpdateLayer3VirtualNetworks type RequestItemSdaUpdateLayer3VirtualNetworks struct { - ID string `json:"id,omitempty"` // ID of the layer 3 virtual network (updating this field is not allowed). - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network (updating this field is not allowed). - FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabrics this layer 3 virtual network is assigned to. - AnchoredSiteID string `json:"anchoredSiteId,omitempty"` // Fabric ID of the fabric site this layer 3 virtual network is anchored at. + ID string `json:"id,omitempty"` // ID of the layer 3 virtual network (updating this field is not allowed). + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the layer 3 virtual network (updating this field is not allowed). + + FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabrics this layer 3 virtual network is assigned to. + + AnchoredSiteID string `json:"anchoredSiteId,omitempty"` // Fabric ID of the fabric site this layer 3 virtual network is anchored at. } type RequestSdaUpdateMulticast []RequestItemSdaUpdateMulticast // Array of RequestSdaUpdateMulticast type RequestItemSdaUpdateMulticast struct { - FabricID string `json:"fabricId,omitempty"` // ID of the fabric site (updating this field is not allowed). + FabricID string `json:"fabricId,omitempty"` // ID of the fabric site (updating this field is not allowed). + ReplicationMode string `json:"replicationMode,omitempty"` // Replication Mode deployed in the fabric site. } type RequestSdaAddMulticastVirtualNetworks []RequestItemSdaAddMulticastVirtualNetworks // Array of RequestSdaAddMulticastVirtualNetworks type RequestItemSdaAddMulticastVirtualNetworks struct { - FabricID string `json:"fabricId,omitempty"` // ID of the fabric site this multicast configuration is associated with. - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with the fabric site. - IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP Pool associated with the fabric site. - IPv4SsmRanges []string `json:"ipv4SsmRanges,omitempty"` // IPv4 Source Specific Multicast (SSM) ranges. Allowed ranges are from 225.0.0.0/8 to 239.0.0.0/8. SSM ranges should not conflict with ranges provided for ASM multicast. - MulticastRPs *[]RequestItemSdaAddMulticastVirtualNetworksMulticastRPs `json:"multicastRPs,omitempty"` // + FabricID string `json:"fabricId,omitempty"` // ID of the fabric site this multicast configuration is associated with. + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with the fabric site. + + IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP Pool associated with the fabric site. + + IPv4SsmRanges []string `json:"ipv4SsmRanges,omitempty"` // IPv4 Source Specific Multicast (SSM) ranges. Allowed ranges are from 225.0.0.0/8 to 239.0.0.0/8. SSM ranges should not conflict with ranges provided for ASM multicast. + + MulticastRPs *[]RequestItemSdaAddMulticastVirtualNetworksMulticastRPs `json:"multicastRPs,omitempty"` // } type RequestItemSdaAddMulticastVirtualNetworksMulticastRPs struct { - RpDeviceLocation string `json:"rpDeviceLocation,omitempty"` // Device location of the RP. - IPv4Address string `json:"ipv4Address,omitempty"` // IPv4 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. - IPv6Address string `json:"ipv6Address,omitempty"` // IPv6 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. ipv6Address can only be provided for virtual networks with dual stack (IPv4 + IPv6) multicast pool. - IsDefaultV4RP *bool `json:"isDefaultV4RP,omitempty"` // Specifies whether it is a default IPv4 RP. - IsDefaultV6RP *bool `json:"isDefaultV6RP,omitempty"` // Specifies whether it is a default IPv6 RP. + RpDeviceLocation string `json:"rpDeviceLocation,omitempty"` // Device location of the RP. + + IPv4Address string `json:"ipv4Address,omitempty"` // IPv4 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. + + IPv6Address string `json:"ipv6Address,omitempty"` // IPv6 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. ipv6Address can only be provided for virtual networks with dual stack (IPv4 + IPv6) multicast pool. + + IsDefaultV4RP *bool `json:"isDefaultV4RP,omitempty"` // Specifies whether it is a default IPv4 RP. + + IsDefaultV6RP *bool `json:"isDefaultV6RP,omitempty"` // Specifies whether it is a default IPv6 RP. + NetworkDeviceIDs []string `json:"networkDeviceIds,omitempty"` // IDs of the network devices. This is a required field for fabric RPs. There can be maximum of two fabric RPs for a fabric site and these are shared across all multicast virtual networks. For configuring two fabric RPs in a fabric site both devices must have border roles. Only one RP can be configured in scenarios where a fabric edge device is used as RP or a dual stack multicast pool is used. - IPv4AsmRanges []string `json:"ipv4AsmRanges,omitempty"` // IPv4 Any Source Multicast ranges. Comma seperated list of IPv4 multicast group ranges that will be served by a given Multicast RP. Only IPv4 ranges can be provided. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. - IPv6AsmRanges []string `json:"ipv6AsmRanges,omitempty"` // IPv6 Any Source Multicast ranges. Comma seperated list of IPv6 multicast group ranges that will be served by a given Multicast RP. Only IPv6 ranges can be provided. IPv6 ranges can only be provided for dual stack multicast pool. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. + + IPv4AsmRanges []string `json:"ipv4AsmRanges,omitempty"` // IPv4 Any Source Multicast ranges. Comma seperated list of IPv4 multicast group ranges that will be served by a given Multicast RP. Only IPv4 ranges can be provided. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. + + IPv6AsmRanges []string `json:"ipv6AsmRanges,omitempty"` // IPv6 Any Source Multicast ranges. Comma seperated list of IPv6 multicast group ranges that will be served by a given Multicast RP. Only IPv6 ranges can be provided. IPv6 ranges can only be provided for dual stack multicast pool. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. } type RequestSdaUpdateMulticastVirtualNetworks []RequestItemSdaUpdateMulticastVirtualNetworks // Array of RequestSdaUpdateMulticastVirtualNetworks type RequestItemSdaUpdateMulticastVirtualNetworks struct { - ID string `json:"id,omitempty"` // ID of the multicast configuration (updating this field is not allowed). - FabricID string `json:"fabricId,omitempty"` // ID of the fabric site this multicast configuration is associated with (updating this field is not allowed). - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with the fabric site (updating this field is not allowed). - IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP Pool associated with the fabric site (updating this field is not allowed). - IPv4SsmRanges []string `json:"ipv4SsmRanges,omitempty"` // IPv4 Source Specific Multicast (SSM) ranges. Allowed ranges are from 225.0.0.0/8 to 239.0.0.0/8. SSM ranges should not conflict with ranges provided for ASM multicast. - MulticastRPs *[]RequestItemSdaUpdateMulticastVirtualNetworksMulticastRPs `json:"multicastRPs,omitempty"` // + ID string `json:"id,omitempty"` // ID of the multicast configuration (updating this field is not allowed). + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric site this multicast configuration is associated with (updating this field is not allowed). + + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with the fabric site (updating this field is not allowed). + + IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP Pool associated with the fabric site (updating this field is not allowed). + + IPv4SsmRanges []string `json:"ipv4SsmRanges,omitempty"` // IPv4 Source Specific Multicast (SSM) ranges. Allowed ranges are from 225.0.0.0/8 to 239.0.0.0/8. SSM ranges should not conflict with ranges provided for ASM multicast. + + MulticastRPs *[]RequestItemSdaUpdateMulticastVirtualNetworksMulticastRPs `json:"multicastRPs,omitempty"` // } type RequestItemSdaUpdateMulticastVirtualNetworksMulticastRPs struct { - RpDeviceLocation string `json:"rpDeviceLocation,omitempty"` // Device location of the RP. - IPv4Address string `json:"ipv4Address,omitempty"` // IPv4 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. - IPv6Address string `json:"ipv6Address,omitempty"` // IPv6 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. ipv6Address can only be provided for virtual networks with dual stack (IPv4 + IPv6) multicast pool. - IsDefaultV4RP *bool `json:"isDefaultV4RP,omitempty"` // Specifies whether it is a default IPv4 RP. - IsDefaultV6RP *bool `json:"isDefaultV6RP,omitempty"` // Specifies whether it is a default IPv6 RP. + RpDeviceLocation string `json:"rpDeviceLocation,omitempty"` // Device location of the RP. + + IPv4Address string `json:"ipv4Address,omitempty"` // IPv4 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. + + IPv6Address string `json:"ipv6Address,omitempty"` // IPv6 address of the RP. For external RP configuration, exactly one of ipv4Address or ipv6Address must be provided. For fabric RP, this address is allocated by SDA and should not be provided during RP creation request and SDA allocated address should be retained in subsequent requests. ipv6Address can only be provided for virtual networks with dual stack (IPv4 + IPv6) multicast pool. + + IsDefaultV4RP *bool `json:"isDefaultV4RP,omitempty"` // Specifies whether it is a default IPv4 RP. + + IsDefaultV6RP *bool `json:"isDefaultV6RP,omitempty"` // Specifies whether it is a default IPv6 RP. + NetworkDeviceIDs []string `json:"networkDeviceIds,omitempty"` // IDs of the network devices. This is a required field for fabric RPs. There can be maximum of two fabric RPs for a fabric site and these are shared across all multicast virtual networks. For configuring two fabric RPs in a fabric site both devices must have border roles. Only one RP can be configured in scenarios where a fabric edge device is used as RP or a dual stack multicast pool is used. - IPv4AsmRanges []string `json:"ipv4AsmRanges,omitempty"` // IPv4 Any Source Multicast ranges. Comma seperated list of IPv4 multicast group ranges that will be served by a given Multicast RP. Only IPv4 ranges can be provided. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. - IPv6AsmRanges []string `json:"ipv6AsmRanges,omitempty"` // IPv6 Any Source Multicast ranges. Comma seperated list of IPv6 multicast group ranges that will be served by a given Multicast RP. Only IPv6 ranges can be provided. IPv6 ranges can only be provided for dual stack multicast pool. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. + + IPv4AsmRanges []string `json:"ipv4AsmRanges,omitempty"` // IPv4 Any Source Multicast ranges. Comma seperated list of IPv4 multicast group ranges that will be served by a given Multicast RP. Only IPv4 ranges can be provided. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. + + IPv6AsmRanges []string `json:"ipv6AsmRanges,omitempty"` // IPv6 Any Source Multicast ranges. Comma seperated list of IPv6 multicast group ranges that will be served by a given Multicast RP. Only IPv6 ranges can be provided. IPv6 ranges can only be provided for dual stack multicast pool. For fabric RP, both IPv4 and IPv6 ranges can be provided together. For external RP, IPv4 ranges should be provided for IPv4 external RP and IPv6 ranges should be provided for IPv6 external RP. +} +type RequestSdaApplyPendingFabricEvents []RequestItemSdaApplyPendingFabricEvents // Array of RequestSdaApplyPendingFabricEvents +type RequestItemSdaApplyPendingFabricEvents struct { + ID string `json:"id,omitempty"` // ID of the pending fabric event to be applied. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric. } type RequestSdaAddPortAssignments []RequestItemSdaAddPortAssignments // Array of RequestSdaAddPortAssignments type RequestItemSdaAddPortAssignments struct { - FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to. - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the port assignment. - InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the port assignment. - ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port assignment. - DataVLANName string `json:"dataVlanName,omitempty"` // Data VLAN name of the port assignment. - VoiceVLANName string `json:"voiceVlanName,omitempty"` // Voice VLAN name of the port assignment. + FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to. + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the port assignment. + + InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the port assignment. + + ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port assignment. + + DataVLANName string `json:"dataVlanName,omitempty"` // Data VLAN name of the port assignment. + + VoiceVLANName string `json:"voiceVlanName,omitempty"` // Voice VLAN name of the port assignment. + AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate template name of the port assignment. - SecurityGroupName string `json:"securityGroupName,omitempty"` // Security group name of the port assignment. - InterfaceDescription string `json:"interfaceDescription,omitempty"` // Interface description of the port assignment. + + SecurityGroupName string `json:"securityGroupName,omitempty"` // Security group name of the port assignment. + + InterfaceDescription string `json:"interfaceDescription,omitempty"` // Interface description of the port assignment. } type RequestSdaUpdatePortAssignments []RequestItemSdaUpdatePortAssignments // Array of RequestSdaUpdatePortAssignments type RequestItemSdaUpdatePortAssignments struct { - ID string `json:"id,omitempty"` // ID of the port assignment. - FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to (updating this filed is not allowed). - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the port assignment (updating this field is not allowed). - InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the port assignment (updating this field is not allowed). - ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port assignment (updating this field is not allowed). - DataVLANName string `json:"dataVlanName,omitempty"` // Data VLAN name of the port assignment. - VoiceVLANName string `json:"voiceVlanName,omitempty"` // Voice VLAN name of the port assignment. + ID string `json:"id,omitempty"` // ID of the port assignment. + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to (updating this filed is not allowed). + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the port assignment (updating this field is not allowed). + + InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the port assignment (updating this field is not allowed). + + ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port assignment (updating this field is not allowed). + + DataVLANName string `json:"dataVlanName,omitempty"` // Data VLAN name of the port assignment. + + VoiceVLANName string `json:"voiceVlanName,omitempty"` // Voice VLAN name of the port assignment. + AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate template name of the port assignment. - ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable group name of the port assignment. - InterfaceDescription string `json:"interfaceDescription,omitempty"` // Interface description of the port assignment. + + ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable group name of the port assignment. + + InterfaceDescription string `json:"interfaceDescription,omitempty"` // Interface description of the port assignment. } type RequestSdaAddPortChannels []RequestItemSdaAddPortChannels // Array of RequestSdaAddPortChannels type RequestItemSdaAddPortChannels struct { - FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to. - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // ID of the network device. - InterfaceNames []string `json:"interfaceNames,omitempty"` // Interface names for this port channel (Maximum 16 ports for LACP protocol, Maximum 8 ports for PAGP and ON protocol). - ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port channel. - Protocol string `json:"protocol,omitempty"` // Protocol of the port channel (only PAGP is allowed if connectedDeviceType is EXTENDED_NODE). - Description string `json:"description,omitempty"` // Description of the port channel. + FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to. + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // ID of the network device. + + InterfaceNames []string `json:"interfaceNames,omitempty"` // Interface names for this port channel (Maximum 16 ports for LACP protocol, Maximum 8 ports for PAGP and ON protocol). + + ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port channel. + + Protocol string `json:"protocol,omitempty"` // Protocol of the port channel (only PAGP is allowed if connectedDeviceType is EXTENDED_NODE). + + Description string `json:"description,omitempty"` // Description of the port channel. } type RequestSdaUpdatePortChannels []RequestItemSdaUpdatePortChannels // Array of RequestSdaUpdatePortChannels type RequestItemSdaUpdatePortChannels struct { - ID string `json:"id,omitempty"` // ID of the port channel (updating this field is not allowed). - FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to (updating this field is not allowed). - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // ID of the network device (updating this field is not allowed). - PortChannelName string `json:"portChannelName,omitempty"` // Name of the port channel (updating this field is not allowed). - InterfaceNames []string `json:"interfaceNames,omitempty"` // Interface names for this port channel (Maximum 16 ports for LACP protocol, Maximum 8 ports for PAGP and ON protocol). - ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port channel. - Protocol string `json:"protocol,omitempty"` // Protocol of the port channel (updating this field is not allowed). - Description string `json:"description,omitempty"` // Description of the port channel. + ID string `json:"id,omitempty"` // ID of the port channel (updating this field is not allowed). + + FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to (updating this field is not allowed). + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // ID of the network device (updating this field is not allowed). + + PortChannelName string `json:"portChannelName,omitempty"` // Name of the port channel (updating this field is not allowed). + + InterfaceNames []string `json:"interfaceNames,omitempty"` // Interface names for this port channel (Maximum 16 ports for LACP protocol, Maximum 8 ports for PAGP and ON protocol). + + ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port channel. + + Protocol string `json:"protocol,omitempty"` // Protocol of the port channel (updating this field is not allowed). + + Description string `json:"description,omitempty"` // Description of the port channel. } type RequestSdaProvisionDevices []RequestItemSdaProvisionDevices // Array of RequestSdaProvisionDevices type RequestItemSdaProvisionDevices struct { - SiteID string `json:"siteId,omitempty"` // ID of the site this network device needs to be provisioned. + SiteID string `json:"siteId,omitempty"` // ID of the site this network device needs to be provisioned. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // ID of network device to be provisioned. } type RequestSdaReProvisionDevices []RequestItemSdaReProvisionDevices // Array of RequestSdaReProvisionDevices type RequestItemSdaReProvisionDevices struct { - ID string `json:"id,omitempty"` // ID of the provisioned device. - SiteID string `json:"siteId,omitempty"` // ID of the site this device is already provisioned to. (updating this field is not allowed). + ID string `json:"id,omitempty"` // ID of the provisioned device. + + SiteID string `json:"siteId,omitempty"` // ID of the site this device is already provisioned to. (updating this field is not allowed). + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // ID of the network device to be re-provisioned. (updating this field is not allowed). } type RequestSdaUpdateTransitNetworks []RequestItemSdaUpdateTransitNetworks // Array of RequestSdaUpdateTransitNetworks type RequestItemSdaUpdateTransitNetworks struct { - ID string `json:"id,omitempty"` // ID of the transit network (updating this field is not allowed). - Name string `json:"name,omitempty"` // Name of the transit network (updating this field is not allowed). - Type string `json:"type,omitempty"` // Type of the transit network (updating this field is not allowed). - IPTransitSettings *RequestItemSdaUpdateTransitNetworksIPTransitSettings `json:"ipTransitSettings,omitempty"` // + ID string `json:"id,omitempty"` // ID of the transit network (updating this field is not allowed). + + Name string `json:"name,omitempty"` // Name of the transit network (updating this field is not allowed). + + Type string `json:"type,omitempty"` // Type of the transit network (updating this field is not allowed). + + IPTransitSettings *RequestItemSdaUpdateTransitNetworksIPTransitSettings `json:"ipTransitSettings,omitempty"` // + SdaTransitSettings *RequestItemSdaUpdateTransitNetworksSdaTransitSettings `json:"sdaTransitSettings,omitempty"` // } type RequestItemSdaUpdateTransitNetworksIPTransitSettings struct { - RoutingProtocolName string `json:"routingProtocolName,omitempty"` // Routing Protocol Name of the IP transit network (updating this field is not allowed). + RoutingProtocolName string `json:"routingProtocolName,omitempty"` // Routing Protocol Name of the IP transit network (updating this field is not allowed). + AutonomousSystemNumber string `json:"autonomousSystemNumber,omitempty"` // Autonomous System Number of the IP transit network. Allowed range is [1 to 4294967295] (updating this field is not allowed). } -type RequestItemSdaUpdateTransitNetworksSdaTransitSettings struct { - IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // Set this to true to enable multicast over SD-Access transit. This supports Native Multicast over SD-Access Transit. This is only applicable for transit of type SDA_LISP_PUB_SUB_TRANSIT. - ControlPlaneNetworkDeviceIDs []string `json:"controlPlaneNetworkDeviceIds,omitempty"` // List of network device IDs that will be used as control plane nodes. Maximum 2 network device IDs can be provided for transit of type SDA_LISP_BGP_TRANSIT and maximum 4 network device IDs can be provided for transit of type SDA_LISP_PUB_SUB_TRANSIT. +type RequestItemSdaUpdateTransitNetworksSdaTransitSettings struct { + IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // Set this to true to enable multicast over SD-Access transit. This supports Native Multicast over SD-Access Transit. This is only applicable for transit of type SDA_LISP_PUB_SUB_TRANSIT. + + ControlPlaneNetworkDeviceIDs []string `json:"controlPlaneNetworkDeviceIds,omitempty"` // List of network device IDs that will be used as control plane nodes. Maximum 2 network device IDs can be provided for transit of type SDA_LISP_BGP_TRANSIT and maximum 4 network device IDs can be provided for transit of type SDA_LISP_PUB_SUB_TRANSIT. +} +type RequestSdaAddTransitNetworks []RequestItemSdaAddTransitNetworks // Array of RequestSdaAddTransitNetworks +type RequestItemSdaAddTransitNetworks struct { + Name string `json:"name,omitempty"` // Name of the transit network. + + Type string `json:"type,omitempty"` // Type of the transit network. + + IPTransitSettings *RequestItemSdaAddTransitNetworksIPTransitSettings `json:"ipTransitSettings,omitempty"` // + + SdaTransitSettings *RequestItemSdaAddTransitNetworksSdaTransitSettings `json:"sdaTransitSettings,omitempty"` // +} +type RequestItemSdaAddTransitNetworksIPTransitSettings struct { + RoutingProtocolName string `json:"routingProtocolName,omitempty"` // Routing protocol name of the IP transit network. + + AutonomousSystemNumber string `json:"autonomousSystemNumber,omitempty"` // Autonomous system number of the IP transit network. Allowed range is [1 to 4294967295]. +} +type RequestItemSdaAddTransitNetworksSdaTransitSettings struct { + IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // Set this to true to enable multicast over SD-Access transit. This supports Native Multicast over SD-Access Transit. This is only applicable for transit of type SDA_LISP_PUB_SUB_TRANSIT. + + ControlPlaneNetworkDeviceIDs []string `json:"controlPlaneNetworkDeviceIds,omitempty"` // List of network device IDs that will be used as control plane nodes. Maximum 2 network device IDs can be provided for transit of type SDA_LISP_BGP_TRANSIT and maximum 4 network device IDs can be provided for transit of type SDA_LISP_PUB_SUB_TRANSIT. +} +type RequestSdaAddVirtualNetworkWithScalableGroups struct { + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name to be assigned at global level + + IsGuestVirtualNetwork *bool `json:"isGuestVirtualNetwork,omitempty"` // Guest Virtual Network enablement flag, default value is False. + + ScalableGroupNames []string `json:"scalableGroupNames,omitempty"` // Scalable Group to be associated to virtual network + + VManageVpnID string `json:"vManageVpnId,omitempty"` // vManage vpn id for SD-WAN +} +type RequestSdaUpdateVirtualNetworkWithScalableGroups struct { + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name to be assigned global level + + IsGuestVirtualNetwork *bool `json:"isGuestVirtualNetwork,omitempty"` // Indicates whether to set this as guest virtual network or not, default value is False. + + ScalableGroupNames []string `json:"scalableGroupNames,omitempty"` // Scalable Group Name to be associated to virtual network + + VManageVpnID string `json:"vManageVpnId,omitempty"` // vManage vpn id for SD-WAN +} + +//ReadListOfFabricSitesWithTheirHealthSummary Read list of Fabric Sites with their health summary - 1c9a-8a15-4848-aa79 +/* Get a paginated list of Fabric sites Networks with health summary. +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-fabricSiteHealthSummaries-1.0.1-resolved.yaml + + +@param ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams Custom header parameters +@param ReadListOfFabricSitesWithTheirHealthSummaryQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-list-of-fabric-sites-with-their-health-summary +*/ +func (s *SdaService) ReadListOfFabricSitesWithTheirHealthSummary(ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams *ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams, ReadListOfFabricSitesWithTheirHealthSummaryQueryParams *ReadListOfFabricSitesWithTheirHealthSummaryQueryParams) (*ResponseSdaReadListOfFabricSitesWithTheirHealthSummary, *resty.Response, error) { + path := "/dna/data/api/v1/fabricSiteHealthSummaries" + + queryString, _ := query.Values(ReadListOfFabricSitesWithTheirHealthSummaryQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams != nil { + + if ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadListOfFabricSitesWithTheirHealthSummary{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadListOfFabricSitesWithTheirHealthSummary(ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams, ReadListOfFabricSitesWithTheirHealthSummaryQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadListOfFabricSitesWithTheirHealthSummary") + } + + result := response.Result().(*ResponseSdaReadListOfFabricSitesWithTheirHealthSummary) + return result, response, err + +} + +//ReadFabricSiteCount Read fabric site count - b99f-5a81-44fb-b518 +/* Get a count of Fabric sites. Use available query parameters to get the count of a subset of fabric sites. +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-fabricSiteHealthSummaries-1.0.1-resolved.yaml + + +@param ReadFabricSiteCountHeaderParams Custom header parameters +@param ReadFabricSiteCountQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-fabric-site-count +*/ +func (s *SdaService) ReadFabricSiteCount(ReadFabricSiteCountHeaderParams *ReadFabricSiteCountHeaderParams, ReadFabricSiteCountQueryParams *ReadFabricSiteCountQueryParams) (*ResponseSdaReadFabricSiteCount, *resty.Response, error) { + path := "/dna/data/api/v1/fabricSiteHealthSummaries/count" + + queryString, _ := query.Values(ReadFabricSiteCountQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadFabricSiteCountHeaderParams != nil { + + if ReadFabricSiteCountHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadFabricSiteCountHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadFabricSiteCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadFabricSiteCount(ReadFabricSiteCountHeaderParams, ReadFabricSiteCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadFabricSiteCount") + } + + result := response.Result().(*ResponseSdaReadFabricSiteCount) + return result, response, err + +} + +//ReadFabricSitesWithHealthSummaryFromID Read Fabric Sites with health summary from id - f196-7bdb-4fcb-8bf5 +/* Get Fabric site health summary for a specific fabric site by providing the unique fabric site id in the url path. +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-fabricSiteHealthSummaries-1.0.1-resolved.yaml + + +@param id id path parameter. unique fabric site id + +@param ReadFabricSitesWithHealthSummaryFromIdHeaderParams Custom header parameters +@param ReadFabricSitesWithHealthSummaryFromIdQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-fabric-sites-with-health-summary-from-id +*/ +func (s *SdaService) ReadFabricSitesWithHealthSummaryFromID(id string, ReadFabricSitesWithHealthSummaryFromIdHeaderParams *ReadFabricSitesWithHealthSummaryFromIDHeaderParams, ReadFabricSitesWithHealthSummaryFromIdQueryParams *ReadFabricSitesWithHealthSummaryFromIDQueryParams) (*ResponseSdaReadFabricSitesWithHealthSummaryFromID, *resty.Response, error) { + path := "/dna/data/api/v1/fabricSiteHealthSummaries/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(ReadFabricSitesWithHealthSummaryFromIdQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadFabricSitesWithHealthSummaryFromIdHeaderParams != nil { + + if ReadFabricSitesWithHealthSummaryFromIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadFabricSitesWithHealthSummaryFromIdHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadFabricSitesWithHealthSummaryFromID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadFabricSitesWithHealthSummaryFromID(id, ReadFabricSitesWithHealthSummaryFromIdHeaderParams, ReadFabricSitesWithHealthSummaryFromIdQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadFabricSitesWithHealthSummaryFromId") + } + + result := response.Result().(*ResponseSdaReadFabricSitesWithHealthSummaryFromID) + return result, response, err + +} + +//TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange The Trend analytics data for a fabric site in the specified time range - 798b-bbc6-4839-85ff +/* Get health time series for a specific Fabric Site by providing the unique Fabric site id in the url path. The data will be grouped based on the specified trend time interval. If startTime and endTime are not provided, the API defaults to the last 24 hours. +By default: the number of records returned will be 500. the records will be sorted in time ascending (`asc`) order +ex: id:93a25378-7740-4e20-8d90-0060ad9a1be0 +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-fabricSiteHealthSummaries-1.0.1-resolved.yaml + + +@param id id path parameter. unique fabric site id + +@param TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams Custom header parameters +@param TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-trend-analytics-data-for-a-fabric-site-in-the-specified-time-range +*/ +func (s *SdaService) TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange(id string, TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams *TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams *TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams) (*ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange, *resty.Response, error) { + path := "/dna/data/api/v1/fabricSiteHealthSummaries/{id}/trendAnalytics" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams != nil { + + if TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange(id, TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams) + } + return nil, response, fmt.Errorf("error with operation TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange") + } + + result := response.Result().(*ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange) + return result, response, err + +} + +//ReadFabricEntitySummary Read Fabric entity summary - c9b6-8967-4feb-8337 +/* Read Fabric summary for overall deployment. Get an aggregated summary of all fabric entities in a deployment including the entity health. +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-fabricSummary-1.0.1-oas3-resolved.yaml + + +@param ReadFabricEntitySummaryHeaderParams Custom header parameters +@param ReadFabricEntitySummaryQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-fabric-entity-summary +*/ +func (s *SdaService) ReadFabricEntitySummary(ReadFabricEntitySummaryHeaderParams *ReadFabricEntitySummaryHeaderParams, ReadFabricEntitySummaryQueryParams *ReadFabricEntitySummaryQueryParams) (*ResponseSdaReadFabricEntitySummary, *resty.Response, error) { + path := "/dna/data/api/v1/fabricSummary" + + queryString, _ := query.Values(ReadFabricEntitySummaryQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadFabricEntitySummaryHeaderParams != nil { + + if ReadFabricEntitySummaryHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadFabricEntitySummaryHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadFabricEntitySummary{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadFabricEntitySummary(ReadFabricEntitySummaryHeaderParams, ReadFabricEntitySummaryQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadFabricEntitySummary") + } + + result := response.Result().(*ResponseSdaReadFabricEntitySummary) + return result, response, err + +} + +//ReadListOfTransitNetworksWithTheirHealthSummary Read list of Transit Networks with their health summary - 4b91-1aae-43f8-9ba8 +/* Get a paginated list of Transit Networks with health summary. +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-transitNetworkHealthSummaries-1.0.1-resolved.yaml + + +@param ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams Custom header parameters +@param ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-list-of-transit-networks-with-their-health-summary +*/ +func (s *SdaService) ReadListOfTransitNetworksWithTheirHealthSummary(ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams *ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams, ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams *ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams) (*ResponseSdaReadListOfTransitNetworksWithTheirHealthSummary, *resty.Response, error) { + path := "/dna/data/api/v1/transitNetworkHealthSummaries" + + queryString, _ := query.Values(ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams != nil { + + if ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadListOfTransitNetworksWithTheirHealthSummary{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadListOfTransitNetworksWithTheirHealthSummary(ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams, ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadListOfTransitNetworksWithTheirHealthSummary") + } + + result := response.Result().(*ResponseSdaReadListOfTransitNetworksWithTheirHealthSummary) + return result, response, err + +} + +//ReadTransitNetworksCount Read Transit Networks count - 63ac-f8e3-4a28-aee6 +/* Get a count of transit networks. Use available query parameters to get the count of a subset of transit networks. +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-transitNetworkHealthSummaries-1.0.1-resolved.yaml + + +@param ReadTransitNetworksCountHeaderParams Custom header parameters +@param ReadTransitNetworksCountQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-transit-networks-count +*/ +func (s *SdaService) ReadTransitNetworksCount(ReadTransitNetworksCountHeaderParams *ReadTransitNetworksCountHeaderParams, ReadTransitNetworksCountQueryParams *ReadTransitNetworksCountQueryParams) (*ResponseSdaReadTransitNetworksCount, *resty.Response, error) { + path := "/dna/data/api/v1/transitNetworkHealthSummaries/count" + + queryString, _ := query.Values(ReadTransitNetworksCountQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadTransitNetworksCountHeaderParams != nil { + + if ReadTransitNetworksCountHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadTransitNetworksCountHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadTransitNetworksCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadTransitNetworksCount(ReadTransitNetworksCountHeaderParams, ReadTransitNetworksCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadTransitNetworksCount") + } + + result := response.Result().(*ResponseSdaReadTransitNetworksCount) + return result, response, err + +} + +//ReadTransitNetworkWithItsHealthSummaryFromID Read transit network with its health summary from id - 278c-0877-4ba9-919b +/* Get health summary for a specific transit Network by providing the unique transit networks id in the url path. +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-transitNetworkHealthSummaries-1.0.1-resolved.yaml + + +@param id id path parameter. The unique transit network id, Ex “1551156a-bc97-3c63-aeda-8a6d3765b5b9" + +@param ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams Custom header parameters +@param ReadTransitNetworkWithItsHealthSummaryFromIdQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-transit-network-with-its-health-summary-from-id +*/ +func (s *SdaService) ReadTransitNetworkWithItsHealthSummaryFromID(id string, ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams *ReadTransitNetworkWithItsHealthSummaryFromIDHeaderParams, ReadTransitNetworkWithItsHealthSummaryFromIdQueryParams *ReadTransitNetworkWithItsHealthSummaryFromIDQueryParams) (*ResponseSdaReadTransitNetworkWithItsHealthSummaryFromID, *resty.Response, error) { + path := "/dna/data/api/v1/transitNetworkHealthSummaries/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(ReadTransitNetworkWithItsHealthSummaryFromIdQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams != nil { + + if ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadTransitNetworkWithItsHealthSummaryFromID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadTransitNetworkWithItsHealthSummaryFromID(id, ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams, ReadTransitNetworkWithItsHealthSummaryFromIdQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadTransitNetworkWithItsHealthSummaryFromId") + } + + result := response.Result().(*ResponseSdaReadTransitNetworkWithItsHealthSummaryFromID) + return result, response, err + } -type RequestSdaAddTransitNetworks []RequestItemSdaAddTransitNetworks // Array of RequestSdaAddTransitNetworks -type RequestItemSdaAddTransitNetworks struct { - Name string `json:"name,omitempty"` // Name of the transit network. - Type string `json:"type,omitempty"` // Type of the transit network. - IPTransitSettings *RequestItemSdaAddTransitNetworksIPTransitSettings `json:"ipTransitSettings,omitempty"` // - SdaTransitSettings *RequestItemSdaAddTransitNetworksSdaTransitSettings `json:"sdaTransitSettings,omitempty"` // + +//TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange The Trend analytics data for a transit network in the specified time range - 10a2-0bed-4cda-8fd3 +/* Get health time series for a specific Transit Network by providing the unique Transit Network id in the url path. The data will be grouped based on the specified trend time interval. If startTime and endTime are not provided, the API defaults to the last 24 hours. +By default: the number of records returned will be 500. the records will be sorted in time ascending (`asc`) order +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-transitNetworkHealthSummaries-1.0.1-resolved.yaml + + +@param id id path parameter. The unique transit network id, Ex “1551156a-bc97-3c63-aeda-8a6d3765b5b9" + +@param TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams Custom header parameters +@param TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-trend-analytics-data-for-a-transit-network-in-the-specified-time-range +*/ +func (s *SdaService) TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange(id string, TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams *TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeQueryParams *TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeQueryParams) (*ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange, *resty.Response, error) { + path := "/dna/data/api/v1/transitNetworkHealthSummaries/{id}/trendAnalytics" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams != nil { + + if TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange(id, TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeQueryParams) + } + return nil, response, fmt.Errorf("error with operation TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange") + } + + result := response.Result().(*ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange) + return result, response, err + } -type RequestItemSdaAddTransitNetworksIPTransitSettings struct { - RoutingProtocolName string `json:"routingProtocolName,omitempty"` // Routing protocol name of the IP transit network. - AutonomousSystemNumber string `json:"autonomousSystemNumber,omitempty"` // Autonomous system number of the IP transit network. Allowed range is [1 to 4294967295]. + +//ReadListOfVirtualNetworksWithTheirHealthSummary Read list of Virtual Networks with their health summary - 95a0-580c-422a-bd8b +/* Get a paginated list of Virtual Networks with health summary. Layer 2 Virtual Networks are only included in health reporting for EVPN protocol deployments. The special Layer 3 VN called ‘INFRA_VN’ is also not included for user access through Assurance virtualNetworkHealthSummaries APIS. Please find INFRA_VN related health metrics under /data/api/v1/fabricSiteHealthSummaries (Ex: attributes ‘pubsubInfraVnGoodHealthPercentage’ and ‘bgpPeerInfraVnScoreGoodHealthPercentage’). +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-virtualNetworkHealthSummaries-1.0.1-resolved.yaml + + +@param ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams Custom header parameters +@param ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-list-of-virtual-networks-with-their-health-summary +*/ +func (s *SdaService) ReadListOfVirtualNetworksWithTheirHealthSummary(ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams *ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams, ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams *ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams) (*ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummary, *resty.Response, error) { + path := "/dna/data/api/v1/virtualNetworkHealthSummaries" + + queryString, _ := query.Values(ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams != nil { + + if ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummary{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadListOfVirtualNetworksWithTheirHealthSummary(ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams, ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadListOfVirtualNetworksWithTheirHealthSummary") + } + + result := response.Result().(*ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummary) + return result, response, err + } -type RequestItemSdaAddTransitNetworksSdaTransitSettings struct { - IsMulticastOverTransitEnabled *bool `json:"isMulticastOverTransitEnabled,omitempty"` // Set this to true to enable multicast over SD-Access transit. This supports Native Multicast over SD-Access Transit. This is only applicable for transit of type SDA_LISP_PUB_SUB_TRANSIT. - ControlPlaneNetworkDeviceIDs []string `json:"controlPlaneNetworkDeviceIds,omitempty"` // List of network device IDs that will be used as control plane nodes. Maximum 2 network device IDs can be provided for transit of type SDA_LISP_BGP_TRANSIT and maximum 4 network device IDs can be provided for transit of type SDA_LISP_PUB_SUB_TRANSIT. + +//ReadVirtualNetworksCount Read Virtual Networks count - a892-d9f5-4669-8725 +/* Get a count of virtual networks. Use available query parameters to get the count of a subset of virtual networks. Layer 2 Virtual Networks are only included for EVPN protocol deployments. The special Layer 3 VN called ‘INFRA_VN’ is also not included. +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-virtualNetworkHealthSummaries-1.0.1-resolved.yaml + + +@param ReadVirtualNetworksCountHeaderParams Custom header parameters +@param ReadVirtualNetworksCountQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-virtual-networks-count +*/ +func (s *SdaService) ReadVirtualNetworksCount(ReadVirtualNetworksCountHeaderParams *ReadVirtualNetworksCountHeaderParams, ReadVirtualNetworksCountQueryParams *ReadVirtualNetworksCountQueryParams) (*ResponseSdaReadVirtualNetworksCount, *resty.Response, error) { + path := "/dna/data/api/v1/virtualNetworkHealthSummaries/count" + + queryString, _ := query.Values(ReadVirtualNetworksCountQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadVirtualNetworksCountHeaderParams != nil { + + if ReadVirtualNetworksCountHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadVirtualNetworksCountHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadVirtualNetworksCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadVirtualNetworksCount(ReadVirtualNetworksCountHeaderParams, ReadVirtualNetworksCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadVirtualNetworksCount") + } + + result := response.Result().(*ResponseSdaReadVirtualNetworksCount) + return result, response, err + } -type RequestSdaAddVirtualNetworkWithScalableGroups struct { - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name to be assigned at global level - IsGuestVirtualNetwork *bool `json:"isGuestVirtualNetwork,omitempty"` // Guest Virtual Network enablement flag, default value is False. - ScalableGroupNames []string `json:"scalableGroupNames,omitempty"` // Scalable Group to be associated to virtual network - VManageVpnID string `json:"vManageVpnId,omitempty"` // vManage vpn id for SD-WAN + +//ReadVirtualNetworkWithItsHealthSummaryFromID Read virtual network with its health summary from id - 3883-1b45-4be9-9fef +/* Get health summary for a specific Virtual Network by providing the unique virtual networks id in the url path. L2 Virtual Networks are only included in health reporting for EVPN protocol deployments. The special Layer 3 VN called ‘INFRA_VN’ is also not included for user access through Assurance virtualNetworkHealthSummaries APIS. Please find INFRA_VN related health metrics under /data/api/v1/fabricSiteHealthSummaries (Ex: attributes ‘pubsubInfraVnGoodHealthPercentage’ and ‘bgpPeerInfraVnScoreGoodHealthPercentage’). +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-virtualNetworkHealthSummaries-1.0.1-resolved.yaml + + +@param id id path parameter. unique virtual networks id + +@param ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams Custom header parameters +@param ReadVirtualNetworkWithItsHealthSummaryFromIdQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-virtual-network-with-its-health-summary-from-id +*/ +func (s *SdaService) ReadVirtualNetworkWithItsHealthSummaryFromID(id string, ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams *ReadVirtualNetworkWithItsHealthSummaryFromIDHeaderParams, ReadVirtualNetworkWithItsHealthSummaryFromIdQueryParams *ReadVirtualNetworkWithItsHealthSummaryFromIDQueryParams) (*ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromID, *resty.Response, error) { + path := "/dna/data/api/v1/virtualNetworkHealthSummaries/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(ReadVirtualNetworkWithItsHealthSummaryFromIdQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams != nil { + + if ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadVirtualNetworkWithItsHealthSummaryFromID(id, ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams, ReadVirtualNetworkWithItsHealthSummaryFromIdQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadVirtualNetworkWithItsHealthSummaryFromId") + } + + result := response.Result().(*ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromID) + return result, response, err + } -type RequestSdaUpdateVirtualNetworkWithScalableGroups struct { - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Virtual Network Name to be assigned global level - IsGuestVirtualNetwork *bool `json:"isGuestVirtualNetwork,omitempty"` // Indicates whether to set this as guest virtual network or not, default value is False. - ScalableGroupNames []string `json:"scalableGroupNames,omitempty"` // Scalable Group Name to be associated to virtual network - VManageVpnID string `json:"vManageVpnId,omitempty"` // vManage vpn id for SD-WAN + +//TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange The Trend analytics data for a virtual network in the specified time range - b0a9-69dd-4eda-bb56 +/* Get health time series for a specific Virtual Network by providing the unique Virtual Network id in the url path. Layer 2 Virtual Networks are only included in health reporting for EVPN protocol deployments. The special Layer 3 VN called ‘INFRA_VN’ is also not included for user access through Assurance virtualNetworkHealthSummaries APIS. +The data will be grouped based on the specified trend time interval. If startTime and endTime are not provided, the API defaults to the last 24 hours. +By default: the number of records returned will be 500. the records will be sorted in time ascending (`asc`) order +For EVPN , {id} is a combination of VN:FabrisiteId. ex: L2VN1:93a25378-7740-4e20-8d90-0060ad9a1be0 +This API provides the latest health data until the given `endTime`. If data is not ready for the provided endTime, the request will fail with error code `400 Bad Request`, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. +For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-virtualNetworkHealthSummaries-1.0.1-resolved.yaml + + +@param id id path parameter. unique virtual network id + +@param TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams Custom header parameters +@param TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-trend-analytics-data-for-a-virtual-network-in-the-specified-time-range +*/ +func (s *SdaService) TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange(id string, TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams *TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams *TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams) (*ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange, *resty.Response, error) { + path := "/dna/data/api/v1/virtualNetworkHealthSummaries/{id}/trendAnalytics" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams != nil { + + if TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange(id, TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams) + } + return nil, response, fmt.Errorf("error with operation TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange") + } + + result := response.Result().(*ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange) + return result, response, err + } //GetDefaultAuthenticationProfileFromSdaFabric Get default authentication profile from SDA Fabric - 8b90-8a4e-4c5a-9a23 @@ -2181,7 +4931,7 @@ type RequestSdaUpdateVirtualNetworkWithScalableGroups struct { @param GetDefaultAuthenticationProfileFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-default-authentication-profile-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-default-authentication-profile-from-sda-fabric */ func (s *SdaService) GetDefaultAuthenticationProfileFromSdaFabric(GetDefaultAuthenticationProfileFromSDAFabricQueryParams *GetDefaultAuthenticationProfileFromSdaFabricQueryParams) (*ResponseSdaGetDefaultAuthenticationProfileFromSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/authentication-profile" @@ -2218,7 +4968,7 @@ func (s *SdaService) GetDefaultAuthenticationProfileFromSdaFabric(GetDefaultAuth @param GetBorderDeviceDetailFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-border-device-detail-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-border-device-detail-from-sda-fabric */ func (s *SdaService) GetBorderDeviceDetailFromSdaFabric(GetBorderDeviceDetailFromSDAFabricQueryParams *GetBorderDeviceDetailFromSdaFabricQueryParams) (*ResponseSdaGetBorderDeviceDetailFromSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/border-device" @@ -2255,7 +5005,7 @@ func (s *SdaService) GetBorderDeviceDetailFromSdaFabric(GetBorderDeviceDetailFro @param GetControlPlaneDeviceFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-control-plane-device-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-control-plane-device-from-sda-fabric */ func (s *SdaService) GetControlPlaneDeviceFromSdaFabric(GetControlPlaneDeviceFromSDAFabricQueryParams *GetControlPlaneDeviceFromSdaFabricQueryParams) (*ResponseSdaGetControlPlaneDeviceFromSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/control-plane-device" @@ -2292,7 +5042,7 @@ func (s *SdaService) GetControlPlaneDeviceFromSdaFabric(GetControlPlaneDeviceFro @param GetDeviceInfoFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-info-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-info-from-sda-fabric */ func (s *SdaService) GetDeviceInfoFromSdaFabric(GetDeviceInfoFromSDAFabricQueryParams *GetDeviceInfoFromSdaFabricQueryParams) (*ResponseSdaGetDeviceInfoFromSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/device" @@ -2329,7 +5079,7 @@ func (s *SdaService) GetDeviceInfoFromSdaFabric(GetDeviceInfoFromSDAFabricQueryP @param GetDeviceRoleInSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-role-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-role-in-sda-fabric */ func (s *SdaService) GetDeviceRoleInSdaFabric(GetDeviceRoleInSDAFabricQueryParams *GetDeviceRoleInSdaFabricQueryParams) (*ResponseSdaGetDeviceRoleInSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/device/role" @@ -2366,7 +5116,7 @@ func (s *SdaService) GetDeviceRoleInSdaFabric(GetDeviceRoleInSDAFabricQueryParam @param GetEdgeDeviceFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-edge-device-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-edge-device-from-sda-fabric */ func (s *SdaService) GetEdgeDeviceFromSdaFabric(GetEdgeDeviceFromSDAFabricQueryParams *GetEdgeDeviceFromSdaFabricQueryParams) (*ResponseSdaGetEdgeDeviceFromSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/edge-device" @@ -2403,7 +5153,7 @@ func (s *SdaService) GetEdgeDeviceFromSdaFabric(GetEdgeDeviceFromSDAFabricQueryP @param GetSiteFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-from-sda-fabric */ func (s *SdaService) GetSiteFromSdaFabric(GetSiteFromSDAFabricQueryParams *GetSiteFromSdaFabricQueryParams) (*ResponseSdaGetSiteFromSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/fabric-site" @@ -2440,7 +5190,7 @@ func (s *SdaService) GetSiteFromSdaFabric(GetSiteFromSDAFabricQueryParams *GetSi @param GetPortAssignmentForAccessPointInSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignment-for-access-point-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignment-for-access-point-in-sda-fabric */ func (s *SdaService) GetPortAssignmentForAccessPointInSdaFabric(GetPortAssignmentForAccessPointInSDAFabricQueryParams *GetPortAssignmentForAccessPointInSdaFabricQueryParams) (*ResponseSdaGetPortAssignmentForAccessPointInSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/hostonboarding/access-point" @@ -2477,7 +5227,7 @@ func (s *SdaService) GetPortAssignmentForAccessPointInSdaFabric(GetPortAssignmen @param GetPortAssignmentForUserDeviceInSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignment-for-user-device-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignment-for-user-device-in-sda-fabric */ func (s *SdaService) GetPortAssignmentForUserDeviceInSdaFabric(GetPortAssignmentForUserDeviceInSDAFabricQueryParams *GetPortAssignmentForUserDeviceInSdaFabricQueryParams) (*ResponseSdaGetPortAssignmentForUserDeviceInSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/hostonboarding/user-device" @@ -2514,7 +5264,7 @@ func (s *SdaService) GetPortAssignmentForUserDeviceInSdaFabric(GetPortAssignment @param GetMulticastDetailsFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-details-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-details-from-sda-fabric */ func (s *SdaService) GetMulticastDetailsFromSdaFabric(GetMulticastDetailsFromSDAFabricQueryParams *GetMulticastDetailsFromSdaFabricQueryParams) (*ResponseSdaGetMulticastDetailsFromSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/multicast" @@ -2551,7 +5301,7 @@ func (s *SdaService) GetMulticastDetailsFromSdaFabric(GetMulticastDetailsFromSDA @param GetProvisionedWiredDeviceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-wired-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-wired-device */ func (s *SdaService) GetProvisionedWiredDevice(GetProvisionedWiredDeviceQueryParams *GetProvisionedWiredDeviceQueryParams) (*ResponseSdaGetProvisionedWiredDevice, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/provision-device" @@ -2588,7 +5338,7 @@ func (s *SdaService) GetProvisionedWiredDevice(GetProvisionedWiredDeviceQueryPar @param GetTransitPeerNetworkInfoQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-transit-peer-network-info-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-transit-peer-network-info */ func (s *SdaService) GetTransitPeerNetworkInfo(GetTransitPeerNetworkInfoQueryParams *GetTransitPeerNetworkInfoQueryParams) (*ResponseSdaGetTransitPeerNetworkInfo, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/transit-peer-network" @@ -2625,7 +5375,7 @@ func (s *SdaService) GetTransitPeerNetworkInfo(GetTransitPeerNetworkInfoQueryPar @param GetVNFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-vn-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-vn-from-sda-fabric */ func (s *SdaService) GetVnFromSdaFabric(GetVNFromSDAFabricQueryParams *GetVnFromSdaFabricQueryParams) (*ResponseSdaGetVnFromSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/virtual-network" @@ -2662,7 +5412,7 @@ func (s *SdaService) GetVnFromSdaFabric(GetVNFromSDAFabricQueryParams *GetVnFrom @param GetVirtualNetworkSummaryQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-virtual-network-summary-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-virtual-network-summary */ func (s *SdaService) GetVirtualNetworkSummary(GetVirtualNetworkSummaryQueryParams *GetVirtualNetworkSummaryQueryParams) (*ResponseSdaGetVirtualNetworkSummary, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/virtual-network/summary" @@ -2699,7 +5449,7 @@ func (s *SdaService) GetVirtualNetworkSummary(GetVirtualNetworkSummaryQueryParam @param GetIPPoolFromSDAVirtualNetworkQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ip-pool-from-sda-virtual-network-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ip-pool-from-sda-virtual-network */ func (s *SdaService) GetIPPoolFromSdaVirtualNetwork(GetIPPoolFromSDAVirtualNetworkQueryParams *GetIPPoolFromSdaVirtualNetworkQueryParams) (*ResponseSdaGetIPPoolFromSdaVirtualNetwork, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/virtualnetwork/ippool" @@ -2736,7 +5486,7 @@ func (s *SdaService) GetIPPoolFromSdaVirtualNetwork(GetIPPoolFromSDAVirtualNetwo @param GetAnycastGatewaysQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anycast-gateways-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anycast-gateways */ func (s *SdaService) GetAnycastGateways(GetAnycastGatewaysQueryParams *GetAnycastGatewaysQueryParams) (*ResponseSdaGetAnycastGateways, *resty.Response, error) { path := "/dna/intent/api/v1/sda/anycastGateways" @@ -2773,7 +5523,7 @@ func (s *SdaService) GetAnycastGateways(GetAnycastGatewaysQueryParams *GetAnycas @param GetAnycastGatewayCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anycast-gateway-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anycast-gateway-count */ func (s *SdaService) GetAnycastGatewayCount(GetAnycastGatewayCountQueryParams *GetAnycastGatewayCountQueryParams) (*ResponseSdaGetAnycastGatewayCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/anycastGateways/count" @@ -2810,7 +5560,7 @@ func (s *SdaService) GetAnycastGatewayCount(GetAnycastGatewayCountQueryParams *G @param GetAuthenticationProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-authentication-profiles-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-authentication-profiles */ func (s *SdaService) GetAuthenticationProfiles(GetAuthenticationProfilesQueryParams *GetAuthenticationProfilesQueryParams) (*ResponseSdaGetAuthenticationProfiles, *resty.Response, error) { path := "/dna/intent/api/v1/sda/authenticationProfiles" @@ -2847,7 +5597,7 @@ func (s *SdaService) GetAuthenticationProfiles(GetAuthenticationProfilesQueryPar @param GetExtranetPoliciesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-extranet-policies-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-extranet-policies */ func (s *SdaService) GetExtranetPolicies(GetExtranetPoliciesQueryParams *GetExtranetPoliciesQueryParams) (*ResponseSdaGetExtranetPolicies, *resty.Response, error) { path := "/dna/intent/api/v1/sda/extranetPolicies" @@ -2883,7 +5633,7 @@ func (s *SdaService) GetExtranetPolicies(GetExtranetPoliciesQueryParams *GetExtr -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-extranet-policy-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-extranet-policy-count */ func (s *SdaService) GetExtranetPolicyCount() (*ResponseSdaGetExtranetPolicyCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/extranetPolicies/count" @@ -2918,7 +5668,7 @@ func (s *SdaService) GetExtranetPolicyCount() (*ResponseSdaGetExtranetPolicyCoun @param GetFabricDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices */ func (s *SdaService) GetFabricDevices(GetFabricDevicesQueryParams *GetFabricDevicesQueryParams) (*ResponseSdaGetFabricDevices, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices" @@ -2955,7 +5705,7 @@ func (s *SdaService) GetFabricDevices(GetFabricDevicesQueryParams *GetFabricDevi @param GetFabricDevicesCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-count */ func (s *SdaService) GetFabricDevicesCount(GetFabricDevicesCountQueryParams *GetFabricDevicesCountQueryParams) (*ResponseSdaGetFabricDevicesCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices/count" @@ -2992,7 +5742,7 @@ func (s *SdaService) GetFabricDevicesCount(GetFabricDevicesCountQueryParams *Get @param GetFabricDevicesLayer2HandoffsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer2-handoffs-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer2-handoffs */ func (s *SdaService) GetFabricDevicesLayer2Handoffs(GetFabricDevicesLayer2HandoffsQueryParams *GetFabricDevicesLayer2HandoffsQueryParams) (*ResponseSdaGetFabricDevicesLayer2Handoffs, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices/layer2Handoffs" @@ -3029,7 +5779,7 @@ func (s *SdaService) GetFabricDevicesLayer2Handoffs(GetFabricDevicesLayer2Handof @param GetFabricDevicesLayer2HandoffsCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer2-handoffs-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer2-handoffs-count */ func (s *SdaService) GetFabricDevicesLayer2HandoffsCount(GetFabricDevicesLayer2HandoffsCountQueryParams *GetFabricDevicesLayer2HandoffsCountQueryParams) (*ResponseSdaGetFabricDevicesLayer2HandoffsCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices/layer2Handoffs/count" @@ -3066,7 +5816,7 @@ func (s *SdaService) GetFabricDevicesLayer2HandoffsCount(GetFabricDevicesLayer2H @param GetFabricDevicesLayer3HandoffsWithIpTransitQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-ip-transit-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-ip-transit */ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithIPTransit(GetFabricDevicesLayer3HandoffsWithIpTransitQueryParams *GetFabricDevicesLayer3HandoffsWithIPTransitQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransit, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/ipTransits" @@ -3103,7 +5853,7 @@ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithIPTransit(GetFabricDevice @param GetFabricDevicesLayer3HandoffsWithIpTransitCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-ip-transit-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-ip-transit-count */ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithIPTransitCount(GetFabricDevicesLayer3HandoffsWithIpTransitCountQueryParams *GetFabricDevicesLayer3HandoffsWithIPTransitCountQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/ipTransits/count" @@ -3140,7 +5890,7 @@ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithIPTransitCount(GetFabricD @param GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-sda-transit-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-sda-transit */ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithSdaTransit(GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams *GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransit, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/sdaTransits" @@ -3177,7 +5927,7 @@ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithSdaTransit(GetFabricDevic @param GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-sda-transit-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-sda-transit-count */ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithSdaTransitCount(GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams *GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/sdaTransits/count" @@ -3214,7 +5964,7 @@ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithSdaTransitCount(GetFabric @param GetFabricSitesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-sites-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-sites */ func (s *SdaService) GetFabricSites(GetFabricSitesQueryParams *GetFabricSitesQueryParams) (*ResponseSdaGetFabricSites, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricSites" @@ -3250,7 +6000,7 @@ func (s *SdaService) GetFabricSites(GetFabricSitesQueryParams *GetFabricSitesQue -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-site-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-site-count */ func (s *SdaService) GetFabricSiteCount() (*ResponseSdaGetFabricSiteCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricSites/count" @@ -3285,7 +6035,7 @@ func (s *SdaService) GetFabricSiteCount() (*ResponseSdaGetFabricSiteCount, *rest @param GetFabricZonesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-zones-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-zones */ func (s *SdaService) GetFabricZones(GetFabricZonesQueryParams *GetFabricZonesQueryParams) (*ResponseSdaGetFabricZones, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricZones" @@ -3321,7 +6071,7 @@ func (s *SdaService) GetFabricZones(GetFabricZonesQueryParams *GetFabricZonesQue -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-zone-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-zone-count */ func (s *SdaService) GetFabricZoneCount() (*ResponseSdaGetFabricZoneCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricZones/count" @@ -3356,7 +6106,7 @@ func (s *SdaService) GetFabricZoneCount() (*ResponseSdaGetFabricZoneCount, *rest @param GetLayer2VirtualNetworksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer2-virtual-networks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer2-virtual-networks */ func (s *SdaService) GetLayer2VirtualNetworks(GetLayer2VirtualNetworksQueryParams *GetLayer2VirtualNetworksQueryParams) (*ResponseSdaGetLayer2VirtualNetworks, *resty.Response, error) { path := "/dna/intent/api/v1/sda/layer2VirtualNetworks" @@ -3393,7 +6143,7 @@ func (s *SdaService) GetLayer2VirtualNetworks(GetLayer2VirtualNetworksQueryParam @param GetLayer2VirtualNetworkCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer2-virtual-network-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer2-virtual-network-count */ func (s *SdaService) GetLayer2VirtualNetworkCount(GetLayer2VirtualNetworkCountQueryParams *GetLayer2VirtualNetworkCountQueryParams) (*ResponseSdaGetLayer2VirtualNetworkCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/layer2VirtualNetworks/count" @@ -3430,7 +6180,7 @@ func (s *SdaService) GetLayer2VirtualNetworkCount(GetLayer2VirtualNetworkCountQu @param GetLayer3VirtualNetworksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer3-virtual-networks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer3-virtual-networks */ func (s *SdaService) GetLayer3VirtualNetworks(GetLayer3VirtualNetworksQueryParams *GetLayer3VirtualNetworksQueryParams) (*ResponseSdaGetLayer3VirtualNetworks, *resty.Response, error) { path := "/dna/intent/api/v1/sda/layer3VirtualNetworks" @@ -3467,7 +6217,7 @@ func (s *SdaService) GetLayer3VirtualNetworks(GetLayer3VirtualNetworksQueryParam @param GetLayer3VirtualNetworksCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer3-virtual-networks-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer3-virtual-networks-count */ func (s *SdaService) GetLayer3VirtualNetworksCount(GetLayer3VirtualNetworksCountQueryParams *GetLayer3VirtualNetworksCountQueryParams) (*ResponseSdaGetLayer3VirtualNetworksCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/layer3VirtualNetworks/count" @@ -3504,7 +6254,7 @@ func (s *SdaService) GetLayer3VirtualNetworksCount(GetLayer3VirtualNetworksCount @param GetMulticastQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast */ func (s *SdaService) GetMulticast(GetMulticastQueryParams *GetMulticastQueryParams) (*ResponseSdaGetMulticast, *resty.Response, error) { path := "/dna/intent/api/v1/sda/multicast" @@ -3541,7 +6291,7 @@ func (s *SdaService) GetMulticast(GetMulticastQueryParams *GetMulticastQueryPara @param GetMulticastVirtualNetworksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-virtual-networks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-virtual-networks */ func (s *SdaService) GetMulticastVirtualNetworks(GetMulticastVirtualNetworksQueryParams *GetMulticastVirtualNetworksQueryParams) (*ResponseSdaGetMulticastVirtualNetworks, *resty.Response, error) { path := "/dna/intent/api/v1/sda/multicast/virtualNetworks" @@ -3578,7 +6328,7 @@ func (s *SdaService) GetMulticastVirtualNetworks(GetMulticastVirtualNetworksQuer @param GetMulticastVirtualNetworkCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-virtual-network-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-virtual-network-count */ func (s *SdaService) GetMulticastVirtualNetworkCount(GetMulticastVirtualNetworkCountQueryParams *GetMulticastVirtualNetworkCountQueryParams) (*ResponseSdaGetMulticastVirtualNetworkCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/multicast/virtualNetworks/count" @@ -3609,13 +6359,50 @@ func (s *SdaService) GetMulticastVirtualNetworkCount(GetMulticastVirtualNetworkC } +//GetPendingFabricEvents Get pending fabric events - 46aa-996a-4eda-a8fc +/* Returns a list of pending fabric events that match the provided query parameters. + + +@param GetPendingFabricEventsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-pending-fabric-events +*/ +func (s *SdaService) GetPendingFabricEvents(GetPendingFabricEventsQueryParams *GetPendingFabricEventsQueryParams) (*ResponseSdaGetPendingFabricEvents, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/pendingFabricEvents" + + queryString, _ := query.Values(GetPendingFabricEventsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPendingFabricEvents{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetPendingFabricEvents(GetPendingFabricEventsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetPendingFabricEvents") + } + + result := response.Result().(*ResponseSdaGetPendingFabricEvents) + return result, response, err + +} + //GetPortAssignments Get port assignments - c199-09a2-4619-a140 /* Returns a list of port assignments that match the provided query parameters. @param GetPortAssignmentsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignments-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignments */ func (s *SdaService) GetPortAssignments(GetPortAssignmentsQueryParams *GetPortAssignmentsQueryParams) (*ResponseSdaGetPortAssignments, *resty.Response, error) { path := "/dna/intent/api/v1/sda/portAssignments" @@ -3652,7 +6439,7 @@ func (s *SdaService) GetPortAssignments(GetPortAssignmentsQueryParams *GetPortAs @param GetPortAssignmentCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignment-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignment-count */ func (s *SdaService) GetPortAssignmentCount(GetPortAssignmentCountQueryParams *GetPortAssignmentCountQueryParams) (*ResponseSdaGetPortAssignmentCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/portAssignments/count" @@ -3689,7 +6476,7 @@ func (s *SdaService) GetPortAssignmentCount(GetPortAssignmentCountQueryParams *G @param GetPortChannelsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-channels-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-channels */ func (s *SdaService) GetPortChannels(GetPortChannelsQueryParams *GetPortChannelsQueryParams) (*ResponseSdaGetPortChannels, *resty.Response, error) { path := "/dna/intent/api/v1/sda/portChannels" @@ -3726,7 +6513,7 @@ func (s *SdaService) GetPortChannels(GetPortChannelsQueryParams *GetPortChannels @param GetPortChannelCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-channel-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-channel-count */ func (s *SdaService) GetPortChannelCount(GetPortChannelCountQueryParams *GetPortChannelCountQueryParams) (*ResponseSdaGetPortChannelCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/portChannels/count" @@ -3763,7 +6550,7 @@ func (s *SdaService) GetPortChannelCount(GetPortChannelCountQueryParams *GetPort @param GetProvisionedDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-devices */ func (s *SdaService) GetProvisionedDevices(GetProvisionedDevicesQueryParams *GetProvisionedDevicesQueryParams) (*ResponseSdaGetProvisionedDevices, *resty.Response, error) { path := "/dna/intent/api/v1/sda/provisionDevices" @@ -3800,7 +6587,7 @@ func (s *SdaService) GetProvisionedDevices(GetProvisionedDevicesQueryParams *Get @param GetProvisionedDevicesCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-devices-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-devices-count */ func (s *SdaService) GetProvisionedDevicesCount(GetProvisionedDevicesCountQueryParams *GetProvisionedDevicesCountQueryParams) (*ResponseSdaGetProvisionedDevicesCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/provisionDevices/count" @@ -3837,7 +6624,7 @@ func (s *SdaService) GetProvisionedDevicesCount(GetProvisionedDevicesCountQueryP @param GetTransitNetworksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-transit-networks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-transit-networks */ func (s *SdaService) GetTransitNetworks(GetTransitNetworksQueryParams *GetTransitNetworksQueryParams) (*ResponseSdaGetTransitNetworks, *resty.Response, error) { path := "/dna/intent/api/v1/sda/transitNetworks" @@ -3874,7 +6661,7 @@ func (s *SdaService) GetTransitNetworks(GetTransitNetworksQueryParams *GetTransi @param GetTransitNetworksCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-transit-networks-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-transit-networks-count */ func (s *SdaService) GetTransitNetworksCount(GetTransitNetworksCountQueryParams *GetTransitNetworksCountQueryParams) (*ResponseSdaGetTransitNetworksCount, *resty.Response, error) { path := "/dna/intent/api/v1/sda/transitNetworks/count" @@ -3911,7 +6698,7 @@ func (s *SdaService) GetTransitNetworksCount(GetTransitNetworksCountQueryParams @param GetVirtualNetworkWithScalableGroupsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-virtual-network-with-scalable-groups-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-virtual-network-with-scalable-groups */ func (s *SdaService) GetVirtualNetworkWithScalableGroups(GetVirtualNetworkWithScalableGroupsQueryParams *GetVirtualNetworkWithScalableGroupsQueryParams) (*ResponseSdaGetVirtualNetworkWithScalableGroups, *resty.Response, error) { path := "/dna/intent/api/v1/virtual-network" @@ -3947,7 +6734,7 @@ func (s *SdaService) GetVirtualNetworkWithScalableGroups(GetVirtualNetworkWithSc -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-default-authentication-template-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-default-authentication-template-in-sda-fabric */ func (s *SdaService) AddDefaultAuthenticationTemplateInSdaFabric(requestSdaAddDefaultAuthenticationTemplateInSDAFabric *RequestSdaAddDefaultAuthenticationTemplateInSdaFabric) (*ResponseSdaAddDefaultAuthenticationTemplateInSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/authentication-profile" @@ -3984,7 +6771,7 @@ func (s *SdaService) AddDefaultAuthenticationTemplateInSdaFabric(requestSdaAddDe -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-border-device-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-border-device-in-sda-fabric */ func (s *SdaService) AddBorderDeviceInSdaFabric(requestSdaAddBorderDeviceInSDAFabric *RequestSdaAddBorderDeviceInSdaFabric) (*ResponseSdaAddBorderDeviceInSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/border-device" @@ -4021,7 +6808,7 @@ func (s *SdaService) AddBorderDeviceInSdaFabric(requestSdaAddBorderDeviceInSDAFa -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-control-plane-device-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-control-plane-device-in-sda-fabric */ func (s *SdaService) AddControlPlaneDeviceInSdaFabric(requestSdaAddControlPlaneDeviceInSDAFabric *RequestSdaAddControlPlaneDeviceInSdaFabric) (*ResponseSdaAddControlPlaneDeviceInSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/control-plane-device" @@ -4058,7 +6845,7 @@ func (s *SdaService) AddControlPlaneDeviceInSdaFabric(requestSdaAddControlPlaneD -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-edge-device-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-edge-device-in-sda-fabric */ func (s *SdaService) AddEdgeDeviceInSdaFabric(requestSdaAddEdgeDeviceInSDAFabric *RequestSdaAddEdgeDeviceInSdaFabric) (*ResponseSdaAddEdgeDeviceInSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/edge-device" @@ -4095,7 +6882,7 @@ func (s *SdaService) AddEdgeDeviceInSdaFabric(requestSdaAddEdgeDeviceInSDAFabric -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-site-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-site-in-sda-fabric */ func (s *SdaService) AddSiteInSdaFabric(requestSdaAddSiteInSDAFabric *RequestSdaAddSiteInSdaFabric) (*ResponseSdaAddSiteInSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/fabric-site" @@ -4132,7 +6919,7 @@ func (s *SdaService) AddSiteInSdaFabric(requestSdaAddSiteInSDAFabric *RequestSda -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-port-assignment-for-access-point-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-port-assignment-for-access-point-in-sda-fabric */ func (s *SdaService) AddPortAssignmentForAccessPointInSdaFabric(requestSdaAddPortAssignmentForAccessPointInSDAFabric *RequestSdaAddPortAssignmentForAccessPointInSdaFabric) (*ResponseSdaAddPortAssignmentForAccessPointInSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/hostonboarding/access-point" @@ -4169,7 +6956,7 @@ func (s *SdaService) AddPortAssignmentForAccessPointInSdaFabric(requestSdaAddPor -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-port-assignment-for-user-device-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-port-assignment-for-user-device-in-sda-fabric */ func (s *SdaService) AddPortAssignmentForUserDeviceInSdaFabric(requestSdaAddPortAssignmentForUserDeviceInSDAFabric *RequestSdaAddPortAssignmentForUserDeviceInSdaFabric) (*ResponseSdaAddPortAssignmentForUserDeviceInSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/hostonboarding/user-device" @@ -4206,7 +6993,7 @@ func (s *SdaService) AddPortAssignmentForUserDeviceInSdaFabric(requestSdaAddPort -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-multicast-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-multicast-in-sda-fabric */ func (s *SdaService) AddMulticastInSdaFabric(requestSdaAddMulticastInSDAFabric *RequestSdaAddMulticastInSdaFabric) (*ResponseSdaAddMulticastInSdaFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/multicast" @@ -4243,7 +7030,7 @@ func (s *SdaService) AddMulticastInSdaFabric(requestSdaAddMulticastInSDAFabric * -Documentation Link: https://developer.cisco.com/docs/dna-center/#!provision-wired-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!provision-wired-device */ func (s *SdaService) ProvisionWiredDevice(requestSdaProvisionWiredDevice *RequestSdaProvisionWiredDevice) (*ResponseSdaProvisionWiredDevice, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/provision-device" @@ -4280,7 +7067,7 @@ func (s *SdaService) ProvisionWiredDevice(requestSdaProvisionWiredDevice *Reques -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-transit-peer-network-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-transit-peer-network */ func (s *SdaService) AddTransitPeerNetwork(requestSdaAddTransitPeerNetwork *RequestSdaAddTransitPeerNetwork) (*ResponseSdaAddTransitPeerNetwork, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/transit-peer-network" @@ -4317,7 +7104,7 @@ func (s *SdaService) AddTransitPeerNetwork(requestSdaAddTransitPeerNetwork *Requ -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-vn-in-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-vn-in-fabric */ func (s *SdaService) AddVnInFabric(requestSdaAddVNInFabric *RequestSdaAddVnInFabric) (*ResponseSdaAddVnInFabric, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/virtual-network" @@ -4354,7 +7141,7 @@ func (s *SdaService) AddVnInFabric(requestSdaAddVNInFabric *RequestSdaAddVnInFab -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-ip-pool-in-sda-virtual-network-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-ip-pool-in-sda-virtual-network */ func (s *SdaService) AddIPPoolInSdaVirtualNetwork(requestSdaAddIPPoolInSDAVirtualNetwork *RequestSdaAddIPPoolInSdaVirtualNetwork) (*ResponseSdaAddIPPoolInSdaVirtualNetwork, *resty.Response, error) { path := "/dna/intent/api/v1/business/sda/virtualnetwork/ippool" @@ -4391,7 +7178,7 @@ func (s *SdaService) AddIPPoolInSdaVirtualNetwork(requestSdaAddIPPoolInSDAVirtua -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-anycast-gateways-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-anycast-gateways */ func (s *SdaService) AddAnycastGateways(requestSdaAddAnycastGateways *RequestSdaAddAnycastGateways) (*ResponseSdaAddAnycastGateways, *resty.Response, error) { path := "/dna/intent/api/v1/sda/anycastGateways" @@ -4428,7 +7215,7 @@ func (s *SdaService) AddAnycastGateways(requestSdaAddAnycastGateways *RequestSda -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-extranet-policy-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-extranet-policy */ func (s *SdaService) AddExtranetPolicy(requestSdaAddExtranetPolicy *RequestSdaAddExtranetPolicy) (*ResponseSdaAddExtranetPolicy, *resty.Response, error) { path := "/dna/intent/api/v1/sda/extranetPolicies" @@ -4465,7 +7252,7 @@ func (s *SdaService) AddExtranetPolicy(requestSdaAddExtranetPolicy *RequestSdaAd -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-devices */ func (s *SdaService) AddFabricDevices(requestSdaAddFabricDevices *RequestSdaAddFabricDevices) (*ResponseSdaAddFabricDevices, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices" @@ -4502,7 +7289,7 @@ func (s *SdaService) AddFabricDevices(requestSdaAddFabricDevices *RequestSdaAddF -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-devices-layer2-handoffs-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-devices-layer2-handoffs */ func (s *SdaService) AddFabricDevicesLayer2Handoffs(requestSdaAddFabricDevicesLayer2Handoffs *RequestSdaAddFabricDevicesLayer2Handoffs) (*ResponseSdaAddFabricDevicesLayer2Handoffs, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices/layer2Handoffs" @@ -4539,7 +7326,7 @@ func (s *SdaService) AddFabricDevicesLayer2Handoffs(requestSdaAddFabricDevicesLa -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-devices-layer3-handoffs-with-ip-transit-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-devices-layer3-handoffs-with-ip-transit */ func (s *SdaService) AddFabricDevicesLayer3HandoffsWithIPTransit(requestSdaAddFabricDevicesLayer3HandoffsWithIpTransit *RequestSdaAddFabricDevicesLayer3HandoffsWithIPTransit) (*ResponseSdaAddFabricDevicesLayer3HandoffsWithIPTransit, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/ipTransits" @@ -4576,7 +7363,7 @@ func (s *SdaService) AddFabricDevicesLayer3HandoffsWithIPTransit(requestSdaAddFa -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-devices-layer3-handoffs-with-sda-transit-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-devices-layer3-handoffs-with-sda-transit */ func (s *SdaService) AddFabricDevicesLayer3HandoffsWithSdaTransit(requestSdaAddFabricDevicesLayer3HandoffsWithSdaTransit *RequestSdaAddFabricDevicesLayer3HandoffsWithSdaTransit) (*ResponseSdaAddFabricDevicesLayer3HandoffsWithSdaTransit, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/sdaTransits" @@ -4613,7 +7400,7 @@ func (s *SdaService) AddFabricDevicesLayer3HandoffsWithSdaTransit(requestSdaAddF -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-site */ func (s *SdaService) AddFabricSite(requestSdaAddFabricSite *RequestSdaAddFabricSite) (*ResponseSdaAddFabricSite, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricSites" @@ -4650,7 +7437,7 @@ func (s *SdaService) AddFabricSite(requestSdaAddFabricSite *RequestSdaAddFabricS -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-zone-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-fabric-zone */ func (s *SdaService) AddFabricZone(requestSdaAddFabricZone *RequestSdaAddFabricZone) (*ResponseSdaAddFabricZone, *resty.Response, error) { path := "/dna/intent/api/v1/sda/fabricZones" @@ -4687,7 +7474,7 @@ func (s *SdaService) AddFabricZone(requestSdaAddFabricZone *RequestSdaAddFabricZ -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-layer2-virtual-networks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-layer2-virtual-networks */ func (s *SdaService) AddLayer2VirtualNetworks(requestSdaAddLayer2VirtualNetworks *RequestSdaAddLayer2VirtualNetworks) (*ResponseSdaAddLayer2VirtualNetworks, *resty.Response, error) { path := "/dna/intent/api/v1/sda/layer2VirtualNetworks" @@ -4724,7 +7511,7 @@ func (s *SdaService) AddLayer2VirtualNetworks(requestSdaAddLayer2VirtualNetworks -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-layer3-virtual-networks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-layer3-virtual-networks */ func (s *SdaService) AddLayer3VirtualNetworks(requestSdaAddLayer3VirtualNetworks *RequestSdaAddLayer3VirtualNetworks) (*ResponseSdaAddLayer3VirtualNetworks, *resty.Response, error) { path := "/dna/intent/api/v1/sda/layer3VirtualNetworks" @@ -4761,7 +7548,7 @@ func (s *SdaService) AddLayer3VirtualNetworks(requestSdaAddLayer3VirtualNetworks -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-multicast-virtual-networks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-multicast-virtual-networks */ func (s *SdaService) AddMulticastVirtualNetworks(requestSdaAddMulticastVirtualNetworks *RequestSdaAddMulticastVirtualNetworks) (*ResponseSdaAddMulticastVirtualNetworks, *resty.Response, error) { path := "/dna/intent/api/v1/sda/multicast/virtualNetworks" @@ -4793,12 +7580,49 @@ func (s *SdaService) AddMulticastVirtualNetworks(requestSdaAddMulticastVirtualNe } +//ApplyPendingFabricEvents Apply pending fabric events - 7b9b-1887-4688-abc7 +/* Applies pending fabric events based on user input. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!apply-pending-fabric-events +*/ +func (s *SdaService) ApplyPendingFabricEvents(requestSdaApplyPendingFabricEvents *RequestSdaApplyPendingFabricEvents) (*ResponseSdaApplyPendingFabricEvents, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/pendingFabricEvents/apply" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSdaApplyPendingFabricEvents). + SetResult(&ResponseSdaApplyPendingFabricEvents{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.ApplyPendingFabricEvents(requestSdaApplyPendingFabricEvents) + } + + return nil, response, fmt.Errorf("error with operation ApplyPendingFabricEvents") + } + + result := response.Result().(*ResponseSdaApplyPendingFabricEvents) + return result, response, err + +} + //AddPortAssignments Add port assignments - d8bb-0923-498a-9f63 /* Adds port assignments based on user input. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-port-assignments-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-port-assignments */ func (s *SdaService) AddPortAssignments(requestSdaAddPortAssignments *RequestSdaAddPortAssignments) (*ResponseSdaAddPortAssignments, *resty.Response, error) { path := "/dna/intent/api/v1/sda/portAssignments" @@ -4835,7 +7659,7 @@ func (s *SdaService) AddPortAssignments(requestSdaAddPortAssignments *RequestSda -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-port-channels-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-port-channels */ func (s *SdaService) AddPortChannels(requestSdaAddPortChannels *RequestSdaAddPortChannels) (*ResponseSdaAddPortChannels, *resty.Response, error) { path := "/dna/intent/api/v1/sda/portChannels" @@ -4872,7 +7696,7 @@ func (s *SdaService) AddPortChannels(requestSdaAddPortChannels *RequestSdaAddPor -Documentation Link: https://developer.cisco.com/docs/dna-center/#!provision-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!provision-devices */ func (s *SdaService) ProvisionDevices(requestSdaProvisionDevices *RequestSdaProvisionDevices) (*ResponseSdaProvisionDevices, *resty.Response, error) { path := "/dna/intent/api/v1/sda/provisionDevices" @@ -4909,7 +7733,7 @@ func (s *SdaService) ProvisionDevices(requestSdaProvisionDevices *RequestSdaProv -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-transit-networks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-transit-networks */ func (s *SdaService) AddTransitNetworks(requestSdaAddTransitNetworks *RequestSdaAddTransitNetworks) (*ResponseSdaAddTransitNetworks, *resty.Response, error) { path := "/dna/intent/api/v1/sda/transitNetworks" @@ -4946,7 +7770,7 @@ func (s *SdaService) AddTransitNetworks(requestSdaAddTransitNetworks *RequestSda -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-virtual-network-with-scalable-groups-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-virtual-network-with-scalable-groups */ func (s *SdaService) AddVirtualNetworkWithScalableGroups(requestSdaAddVirtualNetworkWithScalableGroups *RequestSdaAddVirtualNetworkWithScalableGroups) (*ResponseSdaAddVirtualNetworkWithScalableGroups, *resty.Response, error) { path := "/dna/intent/api/v1/virtual-network" @@ -5611,7 +8435,7 @@ func (s *SdaService) UpdateVirtualNetworkWithScalableGroups(requestSdaUpdateVirt @param DeleteDefaultAuthenticationProfileFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-default-authentication-profile-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-default-authentication-profile-from-sda-fabric */ func (s *SdaService) DeleteDefaultAuthenticationProfileFromSdaFabric(DeleteDefaultAuthenticationProfileFromSDAFabricQueryParams *DeleteDefaultAuthenticationProfileFromSdaFabricQueryParams) (*ResponseSdaDeleteDefaultAuthenticationProfileFromSdaFabric, *resty.Response, error) { //DeleteDefaultAuthenticationProfileFromSDAFabricQueryParams *DeleteDefaultAuthenticationProfileFromSdaFabricQueryParams @@ -5649,7 +8473,7 @@ func (s *SdaService) DeleteDefaultAuthenticationProfileFromSdaFabric(DeleteDefau @param DeleteBorderDeviceFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-border-device-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-border-device-from-sda-fabric */ func (s *SdaService) DeleteBorderDeviceFromSdaFabric(DeleteBorderDeviceFromSDAFabricQueryParams *DeleteBorderDeviceFromSdaFabricQueryParams) (*ResponseSdaDeleteBorderDeviceFromSdaFabric, *resty.Response, error) { //DeleteBorderDeviceFromSDAFabricQueryParams *DeleteBorderDeviceFromSdaFabricQueryParams @@ -5687,7 +8511,7 @@ func (s *SdaService) DeleteBorderDeviceFromSdaFabric(DeleteBorderDeviceFromSDAFa @param DeleteControlPlaneDeviceInSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-control-plane-device-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-control-plane-device-in-sda-fabric */ func (s *SdaService) DeleteControlPlaneDeviceInSdaFabric(DeleteControlPlaneDeviceInSDAFabricQueryParams *DeleteControlPlaneDeviceInSdaFabricQueryParams) (*ResponseSdaDeleteControlPlaneDeviceInSdaFabric, *resty.Response, error) { //DeleteControlPlaneDeviceInSDAFabricQueryParams *DeleteControlPlaneDeviceInSdaFabricQueryParams @@ -5725,7 +8549,7 @@ func (s *SdaService) DeleteControlPlaneDeviceInSdaFabric(DeleteControlPlaneDevic @param DeleteEdgeDeviceFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-edge-device-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-edge-device-from-sda-fabric */ func (s *SdaService) DeleteEdgeDeviceFromSdaFabric(DeleteEdgeDeviceFromSDAFabricQueryParams *DeleteEdgeDeviceFromSdaFabricQueryParams) (*ResponseSdaDeleteEdgeDeviceFromSdaFabric, *resty.Response, error) { //DeleteEdgeDeviceFromSDAFabricQueryParams *DeleteEdgeDeviceFromSdaFabricQueryParams @@ -5763,7 +8587,7 @@ func (s *SdaService) DeleteEdgeDeviceFromSdaFabric(DeleteEdgeDeviceFromSDAFabric @param DeleteSiteFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-site-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-site-from-sda-fabric */ func (s *SdaService) DeleteSiteFromSdaFabric(DeleteSiteFromSDAFabricQueryParams *DeleteSiteFromSdaFabricQueryParams) (*ResponseSdaDeleteSiteFromSdaFabric, *resty.Response, error) { //DeleteSiteFromSDAFabricQueryParams *DeleteSiteFromSdaFabricQueryParams @@ -5801,7 +8625,7 @@ func (s *SdaService) DeleteSiteFromSdaFabric(DeleteSiteFromSDAFabricQueryParams @param DeletePortAssignmentForAccessPointInSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-assignment-for-access-point-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-assignment-for-access-point-in-sda-fabric */ func (s *SdaService) DeletePortAssignmentForAccessPointInSdaFabric(DeletePortAssignmentForAccessPointInSDAFabricQueryParams *DeletePortAssignmentForAccessPointInSdaFabricQueryParams) (*ResponseSdaDeletePortAssignmentForAccessPointInSdaFabric, *resty.Response, error) { //DeletePortAssignmentForAccessPointInSDAFabricQueryParams *DeletePortAssignmentForAccessPointInSdaFabricQueryParams @@ -5839,7 +8663,7 @@ func (s *SdaService) DeletePortAssignmentForAccessPointInSdaFabric(DeletePortAss @param DeletePortAssignmentForUserDeviceInSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-assignment-for-user-device-in-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-assignment-for-user-device-in-sda-fabric */ func (s *SdaService) DeletePortAssignmentForUserDeviceInSdaFabric(DeletePortAssignmentForUserDeviceInSDAFabricQueryParams *DeletePortAssignmentForUserDeviceInSdaFabricQueryParams) (*ResponseSdaDeletePortAssignmentForUserDeviceInSdaFabric, *resty.Response, error) { //DeletePortAssignmentForUserDeviceInSDAFabricQueryParams *DeletePortAssignmentForUserDeviceInSdaFabricQueryParams @@ -5877,7 +8701,7 @@ func (s *SdaService) DeletePortAssignmentForUserDeviceInSdaFabric(DeletePortAssi @param DeleteMulticastFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-multicast-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-multicast-from-sda-fabric */ func (s *SdaService) DeleteMulticastFromSdaFabric(DeleteMulticastFromSDAFabricQueryParams *DeleteMulticastFromSdaFabricQueryParams) (*ResponseSdaDeleteMulticastFromSdaFabric, *resty.Response, error) { //DeleteMulticastFromSDAFabricQueryParams *DeleteMulticastFromSdaFabricQueryParams @@ -5915,7 +8739,7 @@ func (s *SdaService) DeleteMulticastFromSdaFabric(DeleteMulticastFromSDAFabricQu @param DeleteProvisionedWiredDeviceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-provisioned-wired-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-provisioned-wired-device */ func (s *SdaService) DeleteProvisionedWiredDevice(DeleteProvisionedWiredDeviceQueryParams *DeleteProvisionedWiredDeviceQueryParams) (*ResponseSdaDeleteProvisionedWiredDevice, *resty.Response, error) { //DeleteProvisionedWiredDeviceQueryParams *DeleteProvisionedWiredDeviceQueryParams @@ -5953,7 +8777,7 @@ func (s *SdaService) DeleteProvisionedWiredDevice(DeleteProvisionedWiredDeviceQu @param DeleteTransitPeerNetworkQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-transit-peer-network-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-transit-peer-network */ func (s *SdaService) DeleteTransitPeerNetwork(DeleteTransitPeerNetworkQueryParams *DeleteTransitPeerNetworkQueryParams) (*ResponseSdaDeleteTransitPeerNetwork, *resty.Response, error) { //DeleteTransitPeerNetworkQueryParams *DeleteTransitPeerNetworkQueryParams @@ -5991,7 +8815,7 @@ func (s *SdaService) DeleteTransitPeerNetwork(DeleteTransitPeerNetworkQueryParam @param DeleteVNFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-vn-from-sda-fabric-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-vn-from-sda-fabric */ func (s *SdaService) DeleteVnFromSdaFabric(DeleteVNFromSDAFabricQueryParams *DeleteVnFromSdaFabricQueryParams) (*ResponseSdaDeleteVnFromSdaFabric, *resty.Response, error) { //DeleteVNFromSDAFabricQueryParams *DeleteVnFromSdaFabricQueryParams @@ -6029,7 +8853,7 @@ func (s *SdaService) DeleteVnFromSdaFabric(DeleteVNFromSDAFabricQueryParams *Del @param DeleteIPPoolFromSDAVirtualNetworkQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-ip-pool-from-sda-virtual-network-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-ip-pool-from-sda-virtual-network */ func (s *SdaService) DeleteIPPoolFromSdaVirtualNetwork(DeleteIPPoolFromSDAVirtualNetworkQueryParams *DeleteIPPoolFromSdaVirtualNetworkQueryParams) (*ResponseSdaDeleteIPPoolFromSdaVirtualNetwork, *resty.Response, error) { //DeleteIPPoolFromSDAVirtualNetworkQueryParams *DeleteIPPoolFromSdaVirtualNetworkQueryParams @@ -6068,7 +8892,7 @@ func (s *SdaService) DeleteIPPoolFromSdaVirtualNetwork(DeleteIPPoolFromSDAVirtua @param id id path parameter. ID of the anycast gateway. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-anycast-gateway-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-anycast-gateway-by-id */ func (s *SdaService) DeleteAnycastGatewayByID(id string) (*ResponseSdaDeleteAnycastGatewayByID, *resty.Response, error) { //id string @@ -6105,7 +8929,7 @@ func (s *SdaService) DeleteAnycastGatewayByID(id string) (*ResponseSdaDeleteAnyc @param DeleteExtranetPoliciesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-extranet-policies-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-extranet-policies */ func (s *SdaService) DeleteExtranetPolicies(DeleteExtranetPoliciesQueryParams *DeleteExtranetPoliciesQueryParams) (*ResponseSdaDeleteExtranetPolicies, *resty.Response, error) { //DeleteExtranetPoliciesQueryParams *DeleteExtranetPoliciesQueryParams @@ -6144,7 +8968,7 @@ func (s *SdaService) DeleteExtranetPolicies(DeleteExtranetPoliciesQueryParams *D @param id id path parameter. ID of the extranet policy. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-extranet-policy-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-extranet-policy-by-id */ func (s *SdaService) DeleteExtranetPolicyByID(id string) (*ResponseSdaDeleteExtranetPolicyByID, *resty.Response, error) { //id string @@ -6181,7 +9005,7 @@ func (s *SdaService) DeleteExtranetPolicyByID(id string) (*ResponseSdaDeleteExtr @param DeleteFabricDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-devices */ func (s *SdaService) DeleteFabricDevices(DeleteFabricDevicesQueryParams *DeleteFabricDevicesQueryParams) (*ResponseSdaDeleteFabricDevices, *resty.Response, error) { //DeleteFabricDevicesQueryParams *DeleteFabricDevicesQueryParams @@ -6219,7 +9043,7 @@ func (s *SdaService) DeleteFabricDevices(DeleteFabricDevicesQueryParams *DeleteF @param DeleteFabricDeviceLayer2HandoffsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-layer2-handoffs-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-layer2-handoffs */ func (s *SdaService) DeleteFabricDeviceLayer2Handoffs(DeleteFabricDeviceLayer2HandoffsQueryParams *DeleteFabricDeviceLayer2HandoffsQueryParams) (*ResponseSdaDeleteFabricDeviceLayer2Handoffs, *resty.Response, error) { //DeleteFabricDeviceLayer2HandoffsQueryParams *DeleteFabricDeviceLayer2HandoffsQueryParams @@ -6258,7 +9082,7 @@ func (s *SdaService) DeleteFabricDeviceLayer2Handoffs(DeleteFabricDeviceLayer2Ha @param id id path parameter. ID of the layer 2 handoff of a fabric device. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-layer2-handoff-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-layer2-handoff-by-id */ func (s *SdaService) DeleteFabricDeviceLayer2HandoffByID(id string) (*ResponseSdaDeleteFabricDeviceLayer2HandoffByID, *resty.Response, error) { //id string @@ -6295,7 +9119,7 @@ func (s *SdaService) DeleteFabricDeviceLayer2HandoffByID(id string) (*ResponseSd @param DeleteFabricDeviceLayer3HandoffsWithIpTransitQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-layer3-handoffs-with-ip-transit-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-layer3-handoffs-with-ip-transit */ func (s *SdaService) DeleteFabricDeviceLayer3HandoffsWithIPTransit(DeleteFabricDeviceLayer3HandoffsWithIpTransitQueryParams *DeleteFabricDeviceLayer3HandoffsWithIPTransitQueryParams) (*ResponseSdaDeleteFabricDeviceLayer3HandoffsWithIPTransit, *resty.Response, error) { //DeleteFabricDeviceLayer3HandoffsWithIpTransitQueryParams *DeleteFabricDeviceLayer3HandoffsWithIPTransitQueryParams @@ -6334,7 +9158,7 @@ func (s *SdaService) DeleteFabricDeviceLayer3HandoffsWithIPTransit(DeleteFabricD @param id id path parameter. ID of the layer 3 handoff with ip transit of a fabric device. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-layer3-handoff-with-ip-transit-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-layer3-handoff-with-ip-transit-by-id */ func (s *SdaService) DeleteFabricDeviceLayer3HandoffWithIPTransitByID(id string) (*ResponseSdaDeleteFabricDeviceLayer3HandoffWithIPTransitByID, *resty.Response, error) { //id string @@ -6371,7 +9195,7 @@ func (s *SdaService) DeleteFabricDeviceLayer3HandoffWithIPTransitByID(id string) @param DeleteFabricDeviceLayer3HandoffsWithSdaTransitQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-layer3-handoffs-with-sda-transit-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-layer3-handoffs-with-sda-transit */ func (s *SdaService) DeleteFabricDeviceLayer3HandoffsWithSdaTransit(DeleteFabricDeviceLayer3HandoffsWithSdaTransitQueryParams *DeleteFabricDeviceLayer3HandoffsWithSdaTransitQueryParams) (*ResponseSdaDeleteFabricDeviceLayer3HandoffsWithSdaTransit, *resty.Response, error) { //DeleteFabricDeviceLayer3HandoffsWithSdaTransitQueryParams *DeleteFabricDeviceLayer3HandoffsWithSdaTransitQueryParams @@ -6393,8 +9217,7 @@ func (s *SdaService) DeleteFabricDeviceLayer3HandoffsWithSdaTransit(DeleteFabric if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteFabricDeviceLayer3HandoffsWithSdaTransit( - DeleteFabricDeviceLayer3HandoffsWithSdaTransitQueryParams) + return s.DeleteFabricDeviceLayer3HandoffsWithSdaTransit(DeleteFabricDeviceLayer3HandoffsWithSdaTransitQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteFabricDeviceLayer3HandoffsWithSdaTransit") } @@ -6411,7 +9234,7 @@ func (s *SdaService) DeleteFabricDeviceLayer3HandoffsWithSdaTransit(DeleteFabric @param id id path parameter. ID of the fabric device. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-device-by-id */ func (s *SdaService) DeleteFabricDeviceByID(id string) (*ResponseSdaDeleteFabricDeviceByID, *resty.Response, error) { //id string @@ -6449,7 +9272,7 @@ func (s *SdaService) DeleteFabricDeviceByID(id string) (*ResponseSdaDeleteFabric @param id id path parameter. ID of the fabric site. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-site-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-site-by-id */ func (s *SdaService) DeleteFabricSiteByID(id string) (*ResponseSdaDeleteFabricSiteByID, *resty.Response, error) { //id string @@ -6487,7 +9310,7 @@ func (s *SdaService) DeleteFabricSiteByID(id string) (*ResponseSdaDeleteFabricSi @param id id path parameter. ID of the fabric zone. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-zone-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-fabric-zone-by-id */ func (s *SdaService) DeleteFabricZoneByID(id string) (*ResponseSdaDeleteFabricZoneByID, *resty.Response, error) { //id string @@ -6524,7 +9347,7 @@ func (s *SdaService) DeleteFabricZoneByID(id string) (*ResponseSdaDeleteFabricZo @param DeleteLayer2VirtualNetworksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-layer2-virtual-networks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-layer2-virtual-networks */ func (s *SdaService) DeleteLayer2VirtualNetworks(DeleteLayer2VirtualNetworksQueryParams *DeleteLayer2VirtualNetworksQueryParams) (*ResponseSdaDeleteLayer2VirtualNetworks, *resty.Response, error) { //DeleteLayer2VirtualNetworksQueryParams *DeleteLayer2VirtualNetworksQueryParams @@ -6563,7 +9386,7 @@ func (s *SdaService) DeleteLayer2VirtualNetworks(DeleteLayer2VirtualNetworksQuer @param id id path parameter. ID of the layer 2 virtual network. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-layer2-virtual-network-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-layer2-virtual-network-by-id */ func (s *SdaService) DeleteLayer2VirtualNetworkByID(id string) (*ResponseSdaDeleteLayer2VirtualNetworkByID, *resty.Response, error) { //id string @@ -6600,7 +9423,7 @@ func (s *SdaService) DeleteLayer2VirtualNetworkByID(id string) (*ResponseSdaDele @param DeleteLayer3VirtualNetworksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-layer3-virtual-networks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-layer3-virtual-networks */ func (s *SdaService) DeleteLayer3VirtualNetworks(DeleteLayer3VirtualNetworksQueryParams *DeleteLayer3VirtualNetworksQueryParams) (*ResponseSdaDeleteLayer3VirtualNetworks, *resty.Response, error) { //DeleteLayer3VirtualNetworksQueryParams *DeleteLayer3VirtualNetworksQueryParams @@ -6639,7 +9462,7 @@ func (s *SdaService) DeleteLayer3VirtualNetworks(DeleteLayer3VirtualNetworksQuer @param id id path parameter. ID of the layer 3 virtual network. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-layer3-virtual-network-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-layer3-virtual-network-by-id */ func (s *SdaService) DeleteLayer3VirtualNetworkByID(id string) (*ResponseSdaDeleteLayer3VirtualNetworkByID, *resty.Response, error) { //id string @@ -6677,7 +9500,7 @@ func (s *SdaService) DeleteLayer3VirtualNetworkByID(id string) (*ResponseSdaDele @param id id path parameter. ID of the multicast configuration. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-multicast-virtual-network-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-multicast-virtual-network-by-id */ func (s *SdaService) DeleteMulticastVirtualNetworkByID(id string) (*ResponseSdaDeleteMulticastVirtualNetworkByID, *resty.Response, error) { //id string @@ -6714,7 +9537,7 @@ func (s *SdaService) DeleteMulticastVirtualNetworkByID(id string) (*ResponseSdaD @param DeletePortAssignmentsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-assignments-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-assignments */ func (s *SdaService) DeletePortAssignments(DeletePortAssignmentsQueryParams *DeletePortAssignmentsQueryParams) (*ResponseSdaDeletePortAssignments, *resty.Response, error) { //DeletePortAssignmentsQueryParams *DeletePortAssignmentsQueryParams @@ -6753,7 +9576,7 @@ func (s *SdaService) DeletePortAssignments(DeletePortAssignmentsQueryParams *Del @param id id path parameter. ID of the port assignment. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-assignment-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-assignment-by-id */ func (s *SdaService) DeletePortAssignmentByID(id string) (*ResponseSdaDeletePortAssignmentByID, *resty.Response, error) { //id string @@ -6790,7 +9613,7 @@ func (s *SdaService) DeletePortAssignmentByID(id string) (*ResponseSdaDeletePort @param DeletePortChannelsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-channels-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-channels */ func (s *SdaService) DeletePortChannels(DeletePortChannelsQueryParams *DeletePortChannelsQueryParams) (*ResponseSdaDeletePortChannels, *resty.Response, error) { //DeletePortChannelsQueryParams *DeletePortChannelsQueryParams @@ -6829,7 +9652,7 @@ func (s *SdaService) DeletePortChannels(DeletePortChannelsQueryParams *DeletePor @param id id path parameter. ID of the port channel. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-channel-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-channel-by-id */ func (s *SdaService) DeletePortChannelByID(id string) (*ResponseSdaDeletePortChannelByID, *resty.Response, error) { //id string @@ -6866,7 +9689,7 @@ func (s *SdaService) DeletePortChannelByID(id string) (*ResponseSdaDeletePortCha @param DeleteProvisionedDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-provisioned-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-provisioned-devices */ func (s *SdaService) DeleteProvisionedDevices(DeleteProvisionedDevicesQueryParams *DeleteProvisionedDevicesQueryParams) (*ResponseSdaDeleteProvisionedDevices, *resty.Response, error) { //DeleteProvisionedDevicesQueryParams *DeleteProvisionedDevicesQueryParams @@ -6905,7 +9728,7 @@ func (s *SdaService) DeleteProvisionedDevices(DeleteProvisionedDevicesQueryParam @param id id path parameter. ID of the provisioned device. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-provisioned-device-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-provisioned-device-by-id */ func (s *SdaService) DeleteProvisionedDeviceByID(id string) (*ResponseSdaDeleteProvisionedDeviceByID, *resty.Response, error) { //id string @@ -6943,7 +9766,7 @@ func (s *SdaService) DeleteProvisionedDeviceByID(id string) (*ResponseSdaDeleteP @param id id path parameter. ID of the transit network. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-transit-network-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-transit-network-by-id */ func (s *SdaService) DeleteTransitNetworkByID(id string) (*ResponseSdaDeleteTransitNetworkByID, *resty.Response, error) { //id string @@ -6980,7 +9803,7 @@ func (s *SdaService) DeleteTransitNetworkByID(id string) (*ResponseSdaDeleteTran @param DeleteVirtualNetworkWithScalableGroupsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-virtual-network-with-scalable-groups-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-virtual-network-with-scalable-groups */ func (s *SdaService) DeleteVirtualNetworkWithScalableGroups(DeleteVirtualNetworkWithScalableGroupsQueryParams *DeleteVirtualNetworkWithScalableGroupsQueryParams) (*ResponseSdaDeleteVirtualNetworkWithScalableGroups, *resty.Response, error) { //DeleteVirtualNetworkWithScalableGroupsQueryParams *DeleteVirtualNetworkWithScalableGroupsQueryParams diff --git a/sdk/security_advisories.go b/sdk/security_advisories.go index f5041fb..1f2affe 100644 --- a/sdk/security_advisories.go +++ b/sdk/security_advisories.go @@ -15,18 +15,29 @@ type ResponseSecurityAdvisoriesGetAdvisoriesList struct { Version string `json:"version,omitempty"` // Version of the response } type ResponseSecurityAdvisoriesGetAdvisoriesListResponse struct { - AdvisoryID string `json:"advisoryId,omitempty"` // Id of the advisory - DeviceCount *int `json:"deviceCount,omitempty"` // Number of devices vulnerable to the advisory - HiddenDeviceCount *int `json:"hiddenDeviceCount,omitempty"` // Number of devices vulnerable to the advisory but were suppressed by the user - Cves []string `json:"cves,omitempty"` // CVE (Common Vulnerabilities and Exposures) IDs of the advisory - PublicationURL string `json:"publicationUrl,omitempty"` // CISCO publication URL for the advisory - Sir string `json:"sir,omitempty"` // Security Impact Rating of the advisory - DetectionType string `json:"detectionType,omitempty"` // Criteria for advisory detection - DefaultDetectionType string `json:"defaultDetectionType,omitempty"` // Original criteria for advisory detection - DefaultConfigMatchPattern string `json:"defaultConfigMatchPattern,omitempty"` // Regular expression used by the system to detect the advisory - FixedVersions *ResponseSecurityAdvisoriesGetAdvisoriesListResponseFixedVersions `json:"fixedVersions,omitempty"` // Map where each key is a vulnerable version and the value is a list of versions in which the advisory has been fixed + AdvisoryID string `json:"advisoryId,omitempty"` // Advisory Id + + DeviceCount *int `json:"deviceCount,omitempty"` // Device Count + + HiddenDeviceCount *float64 `json:"hiddenDeviceCount,omitempty"` // Hidden Device Count + + Cves []string `json:"cves,omitempty"` // Cves + + PublicationURL string `json:"publicationUrl,omitempty"` // Publication Url + + Sir string `json:"sir,omitempty"` // Sir + + DetectionType string `json:"detectionType,omitempty"` // Detection Type + + DefaultDetectionType string `json:"defaultDetectionType,omitempty"` // Default Detection Type + + DefaultConfigMatchPattern string `json:"defaultConfigMatchPattern,omitempty"` // Default Config Match Pattern + + FixedVersions *ResponseSecurityAdvisoriesGetAdvisoriesListResponseFixedVersions `json:"fixedVersions,omitempty"` // +} +type ResponseSecurityAdvisoriesGetAdvisoriesListResponseFixedVersions struct { + Version string `json:"version,omitempty"` // version } -type ResponseSecurityAdvisoriesGetAdvisoriesListResponseFixedVersions interface{} type ResponseSecurityAdvisoriesGetAdvisoriesSummary struct { Response *ResponseSecurityAdvisoriesGetAdvisoriesSummaryResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // Version of the response @@ -115,7 +126,7 @@ type ResponseSecurityAdvisoriesGetAdvisoriesPerDeviceResponseFixedVersions inter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-advisories-list-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-advisories-list */ func (s *SecurityAdvisoriesService) GetAdvisoriesList() (*ResponseSecurityAdvisoriesGetAdvisoriesList, *resty.Response, error) { path := "/dna/intent/api/v1/security-advisory/advisory" @@ -149,7 +160,7 @@ func (s *SecurityAdvisoriesService) GetAdvisoriesList() (*ResponseSecurityAdviso -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-advisories-summary-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-advisories-summary */ func (s *SecurityAdvisoriesService) GetAdvisoriesSummary() (*ResponseSecurityAdvisoriesGetAdvisoriesSummary, *resty.Response, error) { path := "/dna/intent/api/v1/security-advisory/advisory/aggregate" @@ -185,7 +196,7 @@ func (s *SecurityAdvisoriesService) GetAdvisoriesSummary() (*ResponseSecurityAdv @param advisoryID advisoryId path parameter. Advisory ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-devices-per-advisory-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-devices-per-advisory */ func (s *SecurityAdvisoriesService) GetDevicesPerAdvisory(advisoryID string) (*ResponseSecurityAdvisoriesGetDevicesPerAdvisory, *resty.Response, error) { path := "/dna/intent/api/v1/security-advisory/advisory/{advisoryId}/device" @@ -222,7 +233,7 @@ func (s *SecurityAdvisoriesService) GetDevicesPerAdvisory(advisoryID string) (*R @param deviceID deviceId path parameter. Device instance UUID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-advisory-device-detail-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-advisory-device-detail */ func (s *SecurityAdvisoriesService) GetAdvisoryDeviceDetail(deviceID string) (*ResponseSecurityAdvisoriesGetAdvisoryDeviceDetail, *resty.Response, error) { path := "/dna/intent/api/v1/security-advisory/device/{deviceId}" @@ -259,7 +270,7 @@ func (s *SecurityAdvisoriesService) GetAdvisoryDeviceDetail(deviceID string) (*R @param deviceID deviceId path parameter. Device instance UUID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-advisories-per-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-advisories-per-device */ func (s *SecurityAdvisoriesService) GetAdvisoriesPerDevice(deviceID string) (*ResponseSecurityAdvisoriesGetAdvisoriesPerDevice, *resty.Response, error) { path := "/dna/intent/api/v1/security-advisory/device/{deviceId}/advisory" diff --git a/sdk/sensors.go b/sdk/sensors.go index b68ac73..ab9abb6 100644 --- a/sdk/sensors.go +++ b/sdk/sensors.go @@ -3,6 +3,7 @@ package dnac import ( "fmt" "net/http" + "strings" "github.com/go-resty/resty/v2" "github.com/google/go-querystring/query" @@ -10,6 +11,101 @@ import ( type SensorsService service +type ListsICapPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams struct { + Type string `url:"type,omitempty"` //Capture Type + ClientMac string `url:"clientMac,omitempty"` //The macAddress of client + ApMac string `url:"apMac,omitempty"` //The base radio macAddress of the access point + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + SortBy string `url:"sortBy,omitempty"` //A field within the response to sort by. + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. +} +type ListsICapPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams struct { + Type string `url:"type,omitempty"` //Capture Type + ClientMac string `url:"clientMac,omitempty"` //The macAddress of client + ApMac string `url:"apMac,omitempty"` //The base radio macAddress of the access point + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. +} +type RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesDetailsOfASpecificICapPacketCaptureFileHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type DownloadsASpecificICapPacketCaptureFileHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMacQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + ApMac string `url:"apMac,omitempty"` //The base ethernet macAddress of the access point + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + TimeSortOrder string `url:"timeSortOrder,omitempty"` //The sort order of the field ascending or descending. +} +type RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMacHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMacQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + ApMac string `url:"apMac,omitempty"` //The base ethernet macAddress of the access point + DataType float64 `url:"dataType,omitempty"` //Data type reported by the sensor |Data Type | Description | | --- | --- | | `0` | Duty Cycle | | `1` | Max Power | | `2` | Average Power | | `3` | Max Power in dBm with adjusted base of +48 | | `4` | Average Power in dBm with adjusted base of +48 | + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + TimeSortOrder string `url:"timeSortOrder,omitempty"` //The sort order of the field ascending or descending. +} +type RetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMacHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrievesDeployedICapConfigurationsWhileSupportingBasicFilteringQueryParams struct { + CaptureStatus string `url:"captureStatus,omitempty"` //Catalyst Center ICAP status + CaptureType string `url:"captureType,omitempty"` //Catalyst Center ICAP type + ClientMac string `url:"clientMac,omitempty"` //The client device MAC address in ICAP configuration + APID string `url:"apId,omitempty"` //The AP device's UUID. + WlcID string `url:"wlcId,omitempty"` //The wireless controller device's UUID + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. +} +type CreatesAnICapConfigurationIntentForPreviewApproveQueryParams struct { + PreviewDescription string `url:"previewDescription,omitempty"` //The ICAP intent's preview-deploy description string +} +type RetrievesTheCountOfDeployedICapConfigurationsWhileSupportingBasicFilteringQueryParams struct { + CaptureType string `url:"captureType,omitempty"` //Catalyst Center ICAP type + CaptureStatus string `url:"captureStatus,omitempty"` //Catalyst Center ICAP status + ClientMac string `url:"clientMac,omitempty"` //The client device MAC address in ICAP configuration + APID string `url:"apId,omitempty"` //The AP device's UUID. + WlcID string `url:"wlcId,omitempty"` //The wireless controller device's UUID +} +type DeploysTheGivenICapConfigurationIntentWithoutPreviewAndApproveQueryParams struct { + PreviewDescription string `url:"previewDescription,omitempty"` //The ICAP intent's preview-deploy description string +} +type GetDeviceDeploymentStatusQueryParams struct { + DeployActivityID string `url:"deployActivityId,omitempty"` //activity from the /deploy task response + NetworkDeviceIDs string `url:"networkDeviceIds,omitempty"` //device ids, retrievable from the id attribute in intent/api/v1/network-device + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. +} +type GetDeviceDeploymentStatusCountQueryParams struct { + DeployActivityID string `url:"deployActivityId,omitempty"` //activity from the /deploy task response + NetworkDeviceIDs string `url:"networkDeviceIds,omitempty"` //device ids, retrievable from the id attribute in intent/api/v1/network-device +} type DeleteSensorTestQueryParams struct { TemplateName string `url:"templateName,omitempty"` // } @@ -17,6 +113,288 @@ type SensorsQueryParams struct { SiteID string `url:"siteId,omitempty"` // } +type ResponseSensorsListsICapPacketCaptureFilesMatchingSpecifiedCriteria struct { + Response *[]ResponseSensorsListsICapPacketCaptureFilesMatchingSpecifiedCriteriaResponse `json:"response,omitempty"` // + + Page *ResponseSensorsListsICapPacketCaptureFilesMatchingSpecifiedCriteriaPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSensorsListsICapPacketCaptureFilesMatchingSpecifiedCriteriaResponse struct { + ID string `json:"id,omitempty"` // Id + + FileName string `json:"fileName,omitempty"` // File Name + + FileSize *int `json:"fileSize,omitempty"` // File Size + + Type string `json:"type,omitempty"` // Type + + ClientMac string `json:"clientMac,omitempty"` // Client Mac + + ApMac string `json:"apMac,omitempty"` // Ap Mac + + FileCreationTimestamp *int `json:"fileCreationTimestamp,omitempty"` // File Creation Timestamp + + LastUpdatedTimestamp *int `json:"lastUpdatedTimestamp,omitempty"` // Last Updated Timestamp +} +type ResponseSensorsListsICapPacketCaptureFilesMatchingSpecifiedCriteriaPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + SortBy string `json:"sortBy,omitempty"` // Sort By + + Order string `json:"order,omitempty"` // Order +} +type ResponseSensorsRetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteria struct { + Response *ResponseSensorsRetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSensorsRetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseSensorsRetrievesDetailsOfASpecificICapPacketCaptureFile struct { + Response *ResponseSensorsRetrievesDetailsOfASpecificICapPacketCaptureFileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSensorsRetrievesDetailsOfASpecificICapPacketCaptureFileResponse struct { + ID string `json:"id,omitempty"` // Id + + FileName string `json:"fileName,omitempty"` // File Name + + FileSize *int `json:"fileSize,omitempty"` // File Size + + Type string `json:"type,omitempty"` // Type + + ClientMac string `json:"clientMac,omitempty"` // Client Mac + + ApMac string `json:"apMac,omitempty"` // Ap Mac + + FileCreationTimestamp *int `json:"fileCreationTimestamp,omitempty"` // File Creation Timestamp + + LastUpdatedTimestamp *int `json:"lastUpdatedTimestamp,omitempty"` // Last Updated Timestamp +} +type ResponseSensorsDownloadsASpecificICapPacketCaptureFile struct { + object string `json:"object,omitempty"` // object +} +type ResponseSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime struct { + Response *[]ResponseSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeResponse `json:"response,omitempty"` // + + Page *ResponseSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimePage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeResponse struct { + ID string `json:"id,omitempty"` // Id + + ClientMac string `json:"clientMac,omitempty"` // Client Mac + + ApMac string `json:"apMac,omitempty"` // Ap Mac + + RadioID *int `json:"radioId,omitempty"` // Radio Id + + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + Band string `json:"band,omitempty"` // Band + + SSID string `json:"ssid,omitempty"` // Ssid + + Rssi *int `json:"rssi,omitempty"` // Rssi + + Snr *int `json:"snr,omitempty"` // Snr + + TxBytes *int `json:"txBytes,omitempty"` // Tx Bytes + + RxBytes *int `json:"rxBytes,omitempty"` // Rx Bytes + + RxPackets *int `json:"rxPackets,omitempty"` // Rx Packets + + TxPackets *int `json:"txPackets,omitempty"` // Tx Packets + + RxMgmtPackets *int `json:"rxMgmtPackets,omitempty"` // Rx Mgmt Packets + + TxMgmtPackets *int `json:"txMgmtPackets,omitempty"` // Tx Mgmt Packets + + RxDataPackets *int `json:"rxDataPackets,omitempty"` // Rx Data Packets + + TxDataPackets *int `json:"txDataPackets,omitempty"` // Tx Data Packets + + TxUnicastDataPackets *float64 `json:"txUnicastDataPackets,omitempty"` // Tx Unicast Data Packets + + RxCtrlPackets *int `json:"rxCtrlPackets,omitempty"` // Rx Ctrl Packets + + TxCtrlPackets *int `json:"txCtrlPackets,omitempty"` // Tx Ctrl Packets + + RxRetries *int `json:"rxRetries,omitempty"` // Rx Retries + + RxRate *int `json:"rxRate,omitempty"` // Rx Rate + + TxRate *int `json:"txRate,omitempty"` // Tx Rate + + ClientIP string `json:"clientIp,omitempty"` // Client Ip +} +type ResponseSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order +} +type ResponseSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime struct { + Response *[]ResponseSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeResponse `json:"response,omitempty"` // + + Page *ResponseSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimePage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + ApMac string `json:"apMac,omitempty"` // Ap Mac + + RadioID *int `json:"radioId,omitempty"` // Radio Id + + Band string `json:"band,omitempty"` // Band + + Utilization *int `json:"utilization,omitempty"` // Utilization + + NonWifiUtilization *float64 `json:"nonWifiUtilization,omitempty"` // Non Wifi Utilization + + RxOtherBSSUtilization *int `json:"rxOtherBSSUtilization,omitempty"` // Rx Other B S S Utilization + + RxInBSSUtilization *float64 `json:"rxInBSSUtilization,omitempty"` // Rx In B S S Utilization + + TxUtilization *int `json:"txUtilization,omitempty"` // Tx Utilization + + NoiseFloor *int `json:"noiseFloor,omitempty"` // Noise Floor + + Channel *int `json:"channel,omitempty"` // Channel + + ChannelWidth *int `json:"channelWidth,omitempty"` // Channel Width + + TxPower *int `json:"txPower,omitempty"` // Tx Power + + MaxTxPower *float64 `json:"maxTxPower,omitempty"` // Max Tx Power + + TxBytes *int `json:"txBytes,omitempty"` // Tx Bytes + + RxBytes *int `json:"rxBytes,omitempty"` // Rx Bytes + + RxPackets *int `json:"rxPackets,omitempty"` // Rx Packets + + TxPackets *int `json:"txPackets,omitempty"` // Tx Packets + + RxMgmtPackets *int `json:"rxMgmtPackets,omitempty"` // Rx Mgmt Packets + + TxMgmtPackets *int `json:"txMgmtPackets,omitempty"` // Tx Mgmt Packets + + RxErrors *int `json:"rxErrors,omitempty"` // Rx Errors + + TxErrors *int `json:"txErrors,omitempty"` // Tx Errors +} +type ResponseSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order +} +type ResponseSensorsRetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMac struct { + Response *[]ResponseSensorsRetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMacResponse `json:"response,omitempty"` // + + Page *ResponseSensorsRetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMacPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSensorsRetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMacResponse struct { + ID string `json:"id,omitempty"` // Id + + ApMac string `json:"apMac,omitempty"` // Ap Mac + + CentralFrequencyKHz *int `json:"centralFrequencyKHz,omitempty"` // Central Frequency K Hz + + BandWidthKHz *int `json:"bandWidthKHz,omitempty"` // Band Width K Hz + + LowEndFrequencyKHz *int `json:"lowEndFrequencyKHz,omitempty"` // Low End Frequency K Hz + + HighEndFrequencyKHz *int `json:"highEndFrequencyKHz,omitempty"` // High End Frequency K Hz + + PowerDbm *float64 `json:"powerDbm,omitempty"` // Power Dbm + + Band string `json:"band,omitempty"` // Band + + DutyCycle *int `json:"dutyCycle,omitempty"` // Duty Cycle + + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + DeviceType string `json:"deviceType,omitempty"` // Device Type + + SeverityIndex *int `json:"severityIndex,omitempty"` // Severity Index + + DetectedChannels *[]int `json:"detectedChannels,omitempty"` // Detected Channels +} +type ResponseSensorsRetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMacPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order +} +type ResponseSensorsRetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMac struct { + Response *[]ResponseSensorsRetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMacResponse `json:"response,omitempty"` // + + Page *ResponseSensorsRetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMacPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSensorsRetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMacResponse struct { + ID string `json:"id,omitempty"` // Id + + SpanKHz *int `json:"spanKHz,omitempty"` // Span K Hz + + DataType *int `json:"dataType,omitempty"` // Data Type + + ApMac string `json:"apMac,omitempty"` // Ap Mac + + DataAvg *float64 `json:"dataAvg,omitempty"` // Data Avg + + DataMin *float64 `json:"dataMin,omitempty"` // Data Min + + DataMax *float64 `json:"dataMax,omitempty"` // Data Max + + DataUnits string `json:"dataUnits,omitempty"` // Data Units + + CentralFrequencyKHz *int `json:"centralFrequencyKHz,omitempty"` // Central Frequency K Hz + + Band string `json:"band,omitempty"` // Band + + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + Data *[]float64 `json:"data,omitempty"` // Data + + DataSize *int `json:"dataSize,omitempty"` // Data Size + + Channels *[]int `json:"channels,omitempty"` // Channels +} +type ResponseSensorsRetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMacPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order +} type ResponseSensorsEditSensorTestTemplate struct { Version string `json:"version,omitempty"` // Version Response *ResponseSensorsEditSensorTestTemplateResponse `json:"response,omitempty"` // @@ -250,985 +628,2835 @@ type ResponseSensorsEditSensorTestTemplateResponseSensors struct { type ResponseSensorsEditSensorTestTemplateResponseSensorsTestMacAddresses interface{} type ResponseSensorsEditSensorTestTemplateResponseSensorsIPerfInfo interface{} type ResponseSensorsEditSensorTestTemplateResponseApCoverage struct { - Bands string `json:"bands,omitempty"` // The WIFI bands - NumberOfApsToTest *int `json:"numberOfApsToTest,omitempty"` // Number of APs to test - RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold + Bands string `json:"bands,omitempty"` // The WIFI bands + + NumberOfApsToTest *int `json:"numberOfApsToTest,omitempty"` // Number of APs to test + + RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold } -type ResponseSensorsCreateSensorTestTemplate struct { - Version string `json:"version,omitempty"` // Version - Response *ResponseSensorsCreateSensorTestTemplateResponse `json:"response,omitempty"` // +type ResponseSensorsRetrievesDeployedICapConfigurationsWhileSupportingBasicFiltering struct { + Response *[]ResponseSensorsRetrievesDeployedICapConfigurationsWhileSupportingBasicFilteringResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsCreateSensorTestTemplateResponse struct { - Name string `json:"name,omitempty"` // The sensor test template name - TypeID string `json:"_id,omitempty"` // (Used in edit only) The sensor test template unique identifier - Version *int `json:"version,omitempty"` // The sensor test template version (must be 2) - ModelVersion *int `json:"modelVersion,omitempty"` // Test template object model version (must be 2) - StartTime *int `json:"startTime,omitempty"` // Start time - LastModifiedTime *int `json:"lastModifiedTime,omitempty"` // Last modify time - NumAssociatedSensor *int `json:"numAssociatedSensor,omitempty"` // Number of associated sensor - Location string `json:"location,omitempty"` // Location string - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site hierarchy - Status string `json:"status,omitempty"` // Status of the test (RUNNING, NOTRUNNING) - Connection string `json:"connection,omitempty"` // connection type of test: WIRED, WIRELESS, BOTH - ActionInProgress string `json:"actionInProgress,omitempty"` // Indication of inprogress action - Frequency *ResponseSensorsCreateSensorTestTemplateResponseFrequency `json:"frequency,omitempty"` // - RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold - NumNeighborApThreshold *int `json:"numNeighborAPThreshold,omitempty"` // Number of neighboring AP threshold - ScheduleInDays *int `json:"scheduleInDays,omitempty"` // Bit-wise value of scheduled test days - WLANs []string `json:"wlans,omitempty"` // WLANs list - SSIDs *[]ResponseSensorsCreateSensorTestTemplateResponseSSIDs `json:"ssids,omitempty"` // - Profiles *[]ResponseSensorsCreateSensorTestTemplateResponseProfiles `json:"profiles,omitempty"` // - TestScheduleMode string `json:"testScheduleMode,omitempty"` // Test schedule mode (ONDEMAND, DEDICATED, SCHEDULED, CONTINUOUS, RUNNOW) - ShowWlcUpgradeBanner *bool `json:"showWlcUpgradeBanner,omitempty"` // Show WLC upgrade banner - RadioAsSensorRemoved *bool `json:"radioAsSensorRemoved,omitempty"` // Radio as sensor removed - EncryptionMode string `json:"encryptionMode,omitempty"` // Encryption mode - RunNow string `json:"runNow,omitempty"` // Run now (YES, NO) - LocationInfoList *[]ResponseSensorsCreateSensorTestTemplateResponseLocationInfoList `json:"locationInfoList,omitempty"` // - Sensors *[]ResponseSensorsCreateSensorTestTemplateResponseSensors `json:"sensors,omitempty"` // - ApCoverage *[]ResponseSensorsCreateSensorTestTemplateResponseApCoverage `json:"apCoverage,omitempty"` // +type ResponseSensorsRetrievesDeployedICapConfigurationsWhileSupportingBasicFilteringResponse struct { + Name string `json:"name,omitempty"` // Name + + Slots *[]float64 `json:"slots,omitempty"` // Slots + + OtaBand string `json:"otaBand,omitempty"` // Ota Band + + OtaChannel *int `json:"otaChannel,omitempty"` // Ota Channel + + OtaChannelWidth *int `json:"otaChannelWidth,omitempty"` // Ota Channel Width + + ID string `json:"id,omitempty"` // Id + + DeployedID string `json:"deployedId,omitempty"` // Deployed Id + + DisableActivityID string `json:"disableActivityId,omitempty"` // Disable Activity Id + + ActivityID string `json:"activityId,omitempty"` // Activity Id + + CaptureType string `json:"captureType,omitempty"` // Capture Type + + APID string `json:"apId,omitempty"` // Ap Id + + WlcID string `json:"wlcId,omitempty"` // Wlc Id + + ClientMac string `json:"clientMac,omitempty"` // Client Mac + + CreateTime *int `json:"createTime,omitempty"` // Create Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + DurationInMins *int `json:"durationInMins,omitempty"` // Duration In Mins + + Status string `json:"status,omitempty"` // Status } -type ResponseSensorsCreateSensorTestTemplateResponseFrequency struct { - Value *int `json:"value,omitempty"` // Value of the unit - Unit string `json:"unit,omitempty"` // Unit of the time value (NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS) +type ResponseSensorsCreatesAnICapConfigurationIntentForPreviewApprove struct { + Response *ResponseSensorsCreatesAnICapConfigurationIntentForPreviewApproveResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsCreateSensorTestTemplateResponseSSIDs struct { - Bands string `json:"bands,omitempty"` // WIFI bands: 2.4GHz or 5GHz - SSID string `json:"ssid,omitempty"` // The SSID string - ProfileName string `json:"profileName,omitempty"` // The SSID profile name string - NumAps *int `json:"numAps,omitempty"` // Number of APs in the test - NumSensors *int `json:"numSensors,omitempty"` // Number of Sensors in the test - Layer3WebAuthsecurity string `json:"layer3webAuthsecurity,omitempty"` // Layer 3 WEB Auth security - Layer3WebAuthuserName string `json:"layer3webAuthuserName,omitempty"` // Layer 3 WEB Auth user name - Layer3WebAuthpassword string `json:"layer3webAuthpassword,omitempty"` // Layer 3 WEB Auth password - Layer3WebAuthEmailAddress string `json:"layer3webAuthEmailAddress,omitempty"` // Layer 3 WEB Auth email address - ThirdParty *ResponseSensorsCreateSensorTestTemplateResponseSSIDsThirdParty `json:"thirdParty,omitempty"` // - ID *int `json:"id,omitempty"` // Identification number - WLANID *int `json:"wlanId,omitempty"` // WLAN ID - Wlc string `json:"wlc,omitempty"` // WLC IP addres - ValidFrom *int `json:"validFrom,omitempty"` // Valid From UTC timestamp - ValidTo *int `json:"validTo,omitempty"` // Valid To UTC timestamp - Status string `json:"status,omitempty"` // WLAN status: ENABLED or DISABLED - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server for onboarding SSID - ProxyPort string `json:"proxyPort,omitempty"` // Proxy server port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy server user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy server password - AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER - Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII - Username string `json:"username,omitempty"` // User name string for onboarding SSID - Password string `json:"password,omitempty"` // Password string for onboarding SSID - PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX - EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC - Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable - AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol - Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name - Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS - Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE - Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase - Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL - ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP - ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth - WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list - ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal - ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL - ExtWebAuthHTMLTag *[]ResponseSensorsCreateSensorTestTemplateResponseSSIDsExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // - QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE - Tests *[]ResponseSensorsCreateSensorTestTemplateResponseSSIDsTests `json:"tests,omitempty"` // +type ResponseSensorsCreatesAnICapConfigurationIntentForPreviewApproveResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + URL string `json:"url,omitempty"` // Url } -type ResponseSensorsCreateSensorTestTemplateResponseSSIDsThirdParty struct { - Selected *bool `json:"selected,omitempty"` // true: the SSID is third party +type ResponseSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice struct { + Response *ResponseSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDeviceResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsCreateSensorTestTemplateResponseSSIDsExtWebAuthHTMLTag struct { - Label string `json:"label,omitempty"` // Label - Tag string `json:"tag,omitempty"` // Tag - Value string `json:"value,omitempty"` // Value +type ResponseSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + URL string `json:"url,omitempty"` // Url } -type ResponseSensorsCreateSensorTestTemplateResponseSSIDsTests struct { - Name string `json:"name,omitempty"` // Name of the test - Config *[]ResponseSensorsCreateSensorTestTemplateResponseSSIDsTestsConfig `json:"config,omitempty"` // +type ResponseSensorsDiscardsTheICapConfigurationIntentByActivityID struct { + Response *ResponseSensorsDiscardsTheICapConfigurationIntentByActivityIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsCreateSensorTestTemplateResponseSSIDsTestsConfig struct { - Domains []string `json:"domains,omitempty"` // DNS domain name - Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server - UserName string `json:"userName,omitempty"` // User name - Password string `json:"password,omitempty"` // Password - URL string `json:"url,omitempty"` // URL - Port *int `json:"port,omitempty"` // Radius or WEB server port - Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) - Servers []string `json:"servers,omitempty"` // IPerf server list - Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) - StartPort *int `json:"startPort,omitempty"` // IPerf start port - EndPort *int `json:"endPort,omitempty"` // IPerf end port - UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth - ProbeType string `json:"probeType,omitempty"` // Probe type - NumPackets *int `json:"numPackets,omitempty"` // Number of packets - PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer - TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) - SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret - NdtServer string `json:"ndtServer,omitempty"` // NDT server - NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port - NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path - UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test - DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server - ProxyPort string `json:"proxyPort,omitempty"` // Proxy port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password - UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt - PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt - ExitCommand string `json:"exitCommand,omitempty"` // Exit command - FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt +type ResponseSensorsDiscardsTheICapConfigurationIntentByActivityIDResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + URL string `json:"url,omitempty"` // Url } -type ResponseSensorsCreateSensorTestTemplateResponseProfiles struct { - AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER - Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII - Username string `json:"username,omitempty"` // User name string for onboarding SSID - Password string `json:"password,omitempty"` // Password string for onboarding SSID - PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX - EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC - Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable - AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol - Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name - Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS - Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE - Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase - Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL - ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP - ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth - WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list - ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal - ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL - ExtWebAuthHTMLTag *[]ResponseSensorsCreateSensorTestTemplateResponseProfilesExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // - QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE - Tests *[]ResponseSensorsCreateSensorTestTemplateResponseProfilesTests `json:"tests,omitempty"` // - ProfileName string `json:"profileName,omitempty"` // Profile name - DeviceType string `json:"deviceType,omitempty"` // Device Type - VLAN string `json:"vlan,omitempty"` // VLAN - LocationVLANList *[]ResponseSensorsCreateSensorTestTemplateResponseProfilesLocationVLANList `json:"locationVlanList,omitempty"` // +type ResponseSensorsDeploysTheICapConfigurationIntentByActivityID struct { + Response *ResponseSensorsDeploysTheICapConfigurationIntentByActivityIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsCreateSensorTestTemplateResponseProfilesExtWebAuthHTMLTag struct { - Label string `json:"label,omitempty"` // Label - Tag string `json:"tag,omitempty"` // Tag - Value string `json:"value,omitempty"` // Value +type ResponseSensorsDeploysTheICapConfigurationIntentByActivityIDResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + URL string `json:"url,omitempty"` // Url } -type ResponseSensorsCreateSensorTestTemplateResponseProfilesTests struct { - Name string `json:"name,omitempty"` // Name of the test - Config *[]ResponseSensorsCreateSensorTestTemplateResponseProfilesTestsConfig `json:"config,omitempty"` // +type ResponseSensorsGetICapConfigurationStatusPerNetworkDevice struct { + Response *[]ResponseSensorsGetICapConfigurationStatusPerNetworkDeviceResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsCreateSensorTestTemplateResponseProfilesTestsConfig struct { - Domains []string `json:"domains,omitempty"` // DNS domain name - Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server - UserName string `json:"userName,omitempty"` // User name - Password string `json:"password,omitempty"` // Password - URL string `json:"url,omitempty"` // URL - Port *int `json:"port,omitempty"` // Radius or WEB server port - Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) - Servers []string `json:"servers,omitempty"` // IPerf server list - Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) - StartPort *int `json:"startPort,omitempty"` // IPerf start port - EndPort *int `json:"endPort,omitempty"` // IPerf end port - UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth - ProbeType string `json:"probeType,omitempty"` // Probe type - NumPackets *int `json:"numPackets,omitempty"` // Number of packets - PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer - TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) - SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret - NdtServer string `json:"ndtServer,omitempty"` // NDT server - NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port - NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path - UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test - DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server - ProxyPort string `json:"proxyPort,omitempty"` // Proxy port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password - UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt - PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt - ExitCommand string `json:"exitCommand,omitempty"` // Exit command - FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt +type ResponseSensorsGetICapConfigurationStatusPerNetworkDeviceResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id + + Status string `json:"status,omitempty"` // Status } -type ResponseSensorsCreateSensorTestTemplateResponseProfilesLocationVLANList struct { - LocationID string `json:"locationId,omitempty"` // Site UUID - VLANs []string `json:"vlans,omitempty"` // Array of VLANs +type ResponseSensorsRetrievesTheDevicesClisOfTheICapintent struct { + Response *ResponseSensorsRetrievesTheDevicesClisOfTheICapintentResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsCreateSensorTestTemplateResponseLocationInfoList struct { - LocationID string `json:"locationId,omitempty"` // Site UUID - LocationType string `json:"locationType,omitempty"` // Site type - AllSensors *bool `json:"allSensors,omitempty"` // Use all sensors in the site for test - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site name hierarhy - MacAddressList []string `json:"macAddressList,omitempty"` // MAC addresses - ManagementVLAN string `json:"managementVlan,omitempty"` // Management VLAN - CustomManagementVLAN *bool `json:"customManagementVlan,omitempty"` // Custom Management VLAN +type ResponseSensorsRetrievesTheDevicesClisOfTheICapintentResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id + + PreviewItems *[]ResponseSensorsRetrievesTheDevicesClisOfTheICapintentResponsePreviewItems `json:"previewItems,omitempty"` // + + Status string `json:"status,omitempty"` // Status } -type ResponseSensorsCreateSensorTestTemplateResponseSensors struct { - Name string `json:"name,omitempty"` // Sensor name - MacAddress string `json:"macAddress,omitempty"` // MAC address - SwitchMac string `json:"switchMac,omitempty"` // Switch MAC address - SwitchUUID string `json:"switchUuid,omitempty"` // Switch device UUID - SwitchSerialNumber string `json:"switchSerialNumber,omitempty"` // Switch serial number - MarkedForUninstall *bool `json:"markedForUninstall,omitempty"` // Is marked for uninstall - IPAddress string `json:"ipAddress,omitempty"` // IP address - HostName string `json:"hostName,omitempty"` // Host name - WiredApplicationStatus string `json:"wiredApplicationStatus,omitempty"` // Wired application status - WiredApplicationMessage string `json:"wiredApplicationMessage,omitempty"` // Wired application message - Assigned *bool `json:"assigned,omitempty"` // Is assigned - Status string `json:"status,omitempty"` // Sensor device status: UP, DOWN, REBOOT - XorSensor *bool `json:"xorSensor,omitempty"` // Is XOR sensor - TargetAPs []string `json:"targetAPs,omitempty"` // Array of target APs - RunNow string `json:"runNow,omitempty"` // Run now: YES, NO - LocationID string `json:"locationId,omitempty"` // Site UUID - AllSensorAddition *bool `json:"allSensorAddition,omitempty"` // Is all sensor addition - ConfigUpdated string `json:"configUpdated,omitempty"` // Configuration updated: YES, NO - SensorType string `json:"sensorType,omitempty"` // Sensor type - TestMacAddresses *ResponseSensorsCreateSensorTestTemplateResponseSensorsTestMacAddresses `json:"testMacAddresses,omitempty"` // A string-string test MAC address - ID string `json:"id,omitempty"` // Sensor ID - ServicePolicy string `json:"servicePolicy,omitempty"` // Service policy - IPerfInfo *ResponseSensorsCreateSensorTestTemplateResponseSensorsIPerfInfo `json:"iPerfInfo,omitempty"` // A string-stringList iPerf information +type ResponseSensorsRetrievesTheDevicesClisOfTheICapintentResponsePreviewItems struct { + ConfigPreview string `json:"configPreview,omitempty"` // Config Preview + + ConfigType string `json:"configType,omitempty"` // Config Type + + ErrorMessages []string `json:"errorMessages,omitempty"` // Error Messages + + Name string `json:"name,omitempty"` // Name } -type ResponseSensorsCreateSensorTestTemplateResponseSensorsTestMacAddresses interface{} -type ResponseSensorsCreateSensorTestTemplateResponseSensorsIPerfInfo interface{} -type ResponseSensorsCreateSensorTestTemplateResponseApCoverage struct { - Bands string `json:"bands,omitempty"` // The WIFI bands - NumberOfApsToTest *int `json:"numberOfApsToTest,omitempty"` // Number of APs to test - RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold +type ResponseSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntent struct { + Response *ResponseSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntentResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsDeleteSensorTest struct { - Version string `json:"version,omitempty"` // Version - Response *ResponseSensorsDeleteSensorTestResponse `json:"response,omitempty"` // +type ResponseSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntentResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + URL string `json:"url,omitempty"` // Url } -type ResponseSensorsDeleteSensorTestResponse struct { - TemplateName string `json:"templateName,omitempty"` // Test template name to be delete - Status string `json:"status,omitempty"` // Status of the DELETE action +type ResponseSensorsRetrievesTheCountOfDeployedICapConfigurationsWhileSupportingBasicFiltering struct { + Response *float64 `json:"response,omitempty"` // Response + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsSensors struct { - Version string `json:"version,omitempty"` // Version string of this API - Response *[]ResponseSensorsSensorsResponse `json:"response,omitempty"` // +type ResponseSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove struct { + Response *ResponseSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApproveResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsSensorsResponse struct { - Name string `json:"name,omitempty"` // The sensor device name - Status string `json:"status,omitempty"` // Status of sensor device (REACHABLE, UNREACHABLE, DELETED, RUNNING, IDLE, UCLAIMED) - RadioMacAddress string `json:"radioMacAddress,omitempty"` // Sensor device's radio MAC address - EthernetMacAddress string `json:"ethernetMacAddress,omitempty"` // Sensor device's ethernet MAC address - Location string `json:"location,omitempty"` // Site name in hierarchy form - BackhaulType string `json:"backhaulType,omitempty"` // Backhall type: WIRED, WIRELESS - SerialNumber string `json:"serialNumber,omitempty"` // Serial number - IPAddress string `json:"ipAddress,omitempty"` // IP Address - Version string `json:"version,omitempty"` // Sensor version - LastSeen *int `json:"lastSeen,omitempty"` // Last seen timestamp - Type string `json:"type,omitempty"` // Type - SSH *ResponseSensorsSensorsResponseSSH `json:"ssh,omitempty"` // - Led *bool `json:"led,omitempty"` // Is LED Enabled +type ResponseSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApproveResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + URL string `json:"url,omitempty"` // Url } -type ResponseSensorsSensorsResponseSSH struct { - SSHState string `json:"sshState,omitempty"` // SSH state - SSHUserName string `json:"sshUserName,omitempty"` // SSH user name - SSHPassword string `json:"sshPassword,omitempty"` // SSH password - EnablePassword string `json:"enablePassword,omitempty"` // Enable password +type ResponseSensorsRemoveTheICapConfigurationOnTheDeviceWithoutPreview struct { + Response *ResponseSensorsRemoveTheICapConfigurationOnTheDeviceWithoutPreviewResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsDuplicateSensorTestTemplate struct { - Version string `json:"version,omitempty"` // Version - Response *ResponseSensorsDuplicateSensorTestTemplateResponse `json:"response,omitempty"` // +type ResponseSensorsRemoveTheICapConfigurationOnTheDeviceWithoutPreviewResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + + URL string `json:"url,omitempty"` // Url } -type ResponseSensorsDuplicateSensorTestTemplateResponse struct { - Name string `json:"name,omitempty"` // The sensor test template name - TypeID string `json:"_id,omitempty"` // The sensor test template unique identifier - Version *int `json:"version,omitempty"` // The sensor test template version (must be 2) - ModelVersion *int `json:"modelVersion,omitempty"` // Test template object model version (must be 2) - StartTime *int `json:"startTime,omitempty"` // Start time - LastModifiedTime *int `json:"lastModifiedTime,omitempty"` // Last modify time - NumAssociatedSensor *int `json:"numAssociatedSensor,omitempty"` // Number of associated sensor - Location string `json:"location,omitempty"` // Location string - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site hierarchy - Status string `json:"status,omitempty"` // Status of the test (RUNNING, NOTRUNNING) - Connection string `json:"connection,omitempty"` // connection type of test: WIRED, WIRELESS, BOTH - ActionInProgress string `json:"actionInProgress,omitempty"` // Indication of inprogress action - Frequency *ResponseSensorsDuplicateSensorTestTemplateResponseFrequency `json:"frequency,omitempty"` // - RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold - NumNeighborApThreshold *int `json:"numNeighborAPThreshold,omitempty"` // Number of neighboring AP threshold - ScheduleInDays *int `json:"scheduleInDays,omitempty"` // Bit-wise value of scheduled test days - WLANs []string `json:"wlans,omitempty"` // WLANs list - SSIDs *[]ResponseSensorsDuplicateSensorTestTemplateResponseSSIDs `json:"ssids,omitempty"` // - Profiles *[]ResponseSensorsDuplicateSensorTestTemplateResponseProfiles `json:"profiles,omitempty"` // - TestScheduleMode string `json:"testScheduleMode,omitempty"` // Test schedule mode (ONDEMAND, DEDICATED, SCHEDULED, CONTINUOUS, RUNNOW) - ShowWlcUpgradeBanner *bool `json:"showWlcUpgradeBanner,omitempty"` // Show WLC upgrade banner - RadioAsSensorRemoved *bool `json:"radioAsSensorRemoved,omitempty"` // Radio as sensor removed - EncryptionMode string `json:"encryptionMode,omitempty"` // Encryption mode - RunNow string `json:"runNow,omitempty"` // Run now (YES, NO) - LocationInfoList *[]ResponseSensorsDuplicateSensorTestTemplateResponseLocationInfoList `json:"locationInfoList,omitempty"` // - Sensors *[]ResponseSensorsDuplicateSensorTestTemplateResponseSensors `json:"sensors,omitempty"` // - ApCoverage *[]ResponseSensorsDuplicateSensorTestTemplateResponseApCoverage `json:"apCoverage,omitempty"` // +type ResponseSensorsGetDeviceDeploymentStatus struct { + Response *[]ResponseSensorsGetDeviceDeploymentStatusResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsDuplicateSensorTestTemplateResponseFrequency struct { - Value *int `json:"value,omitempty"` // Value of the unit - Unit string `json:"unit,omitempty"` // Unit of the time value (NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS) +type ResponseSensorsGetDeviceDeploymentStatusResponse struct { + DeployActivityID string `json:"deployActivityId,omitempty"` // Deploy Activity Id + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id + + ConfigGroupName string `json:"configGroupName,omitempty"` // Config Group Name + + ConfigGroupVersion *int `json:"configGroupVersion,omitempty"` // Config Group Version + + Status string `json:"status,omitempty"` // Status + + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Error *ResponseSensorsGetDeviceDeploymentStatusResponseError `json:"error,omitempty"` // Error } -type ResponseSensorsDuplicateSensorTestTemplateResponseSSIDs struct { - Bands string `json:"bands,omitempty"` // WIFI bands: 2.4GHz or 5GHz - SSID string `json:"ssid,omitempty"` // The SSID string - ProfileName string `json:"profileName,omitempty"` // The SSID profile name string - NumAps *int `json:"numAps,omitempty"` // Number of APs in the test - NumSensors *int `json:"numSensors,omitempty"` // Number of Sensors in the test - Layer3WebAuthsecurity string `json:"layer3webAuthsecurity,omitempty"` // Layer 3 WEB Auth security - Layer3WebAuthuserName string `json:"layer3webAuthuserName,omitempty"` // Layer 3 WEB Auth user name - Layer3WebAuthpassword string `json:"layer3webAuthpassword,omitempty"` // Layer 3 WEB Auth password - Layer3WebAuthEmailAddress string `json:"layer3webAuthEmailAddress,omitempty"` // Layer 3 WEB Auth email address - ThirdParty *ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsThirdParty `json:"thirdParty,omitempty"` // - ID *int `json:"id,omitempty"` // Identification number - WLANID *int `json:"wlanId,omitempty"` // WLAN ID - Wlc string `json:"wlc,omitempty"` // WLC IP addres - ValidFrom *int `json:"validFrom,omitempty"` // Valid From UTC timestamp - ValidTo *int `json:"validTo,omitempty"` // Valid To UTC timestamp - Status string `json:"status,omitempty"` // WLAN status: ENABLED or DISABLED - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server for onboarding SSID - ProxyPort string `json:"proxyPort,omitempty"` // Proxy server port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy server user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy server password - AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER - Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII - Username string `json:"username,omitempty"` // User name string for onboarding SSID - Password string `json:"password,omitempty"` // Password string for onboarding SSID - PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX - EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC - Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable - AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol - Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name - Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS - Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE - Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase - Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL - ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP - ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth - WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list - ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal - ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL - ExtWebAuthHTMLTag *[]ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // - QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE - Tests *[]ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsTests `json:"tests,omitempty"` // +type ResponseSensorsGetDeviceDeploymentStatusResponseError interface{} +type ResponseSensorsGetDeviceDeploymentStatusCount struct { + Response *ResponseSensorsGetDeviceDeploymentStatusCountResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsThirdParty struct { +type ResponseSensorsGetDeviceDeploymentStatusCountResponse struct { + Count *float64 `json:"count,omitempty"` // Count +} +type ResponseSensorsCreateSensorTestTemplate struct { + Version string `json:"version,omitempty"` // Version + + Response *ResponseSensorsCreateSensorTestTemplateResponse `json:"response,omitempty"` // +} +type ResponseSensorsCreateSensorTestTemplateResponse struct { + Name string `json:"name,omitempty"` // The sensor test template name + TypeID string `json:"_id,omitempty"` // (Used in edit only) The sensor test template unique identifier + + Version *int `json:"version,omitempty"` // The sensor test template version (must be 2) + + ModelVersion *int `json:"modelVersion,omitempty"` // Test template object model version (must be 2) + + StartTime *int `json:"startTime,omitempty"` // Start time + + LastModifiedTime *int `json:"lastModifiedTime,omitempty"` // Last modify time + + NumAssociatedSensor *int `json:"numAssociatedSensor,omitempty"` // Number of associated sensor + + Location string `json:"location,omitempty"` // Location string + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site hierarchy + + Status string `json:"status,omitempty"` // Status of the test (RUNNING, NOTRUNNING) + + Connection string `json:"connection,omitempty"` // connection type of test: WIRED, WIRELESS, BOTH + + ActionInProgress string `json:"actionInProgress,omitempty"` // Indication of inprogress action + + Frequency *ResponseSensorsCreateSensorTestTemplateResponseFrequency `json:"frequency,omitempty"` // + + RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold + + NumNeighborApThreshold *int `json:"numNeighborAPThreshold,omitempty"` // Number of neighboring AP threshold + + ScheduleInDays *int `json:"scheduleInDays,omitempty"` // Bit-wise value of scheduled test days + + WLANs []string `json:"wlans,omitempty"` // WLANs list + + SSIDs *[]ResponseSensorsCreateSensorTestTemplateResponseSSIDs `json:"ssids,omitempty"` // + + Profiles *[]ResponseSensorsCreateSensorTestTemplateResponseProfiles `json:"profiles,omitempty"` // + + TestScheduleMode string `json:"testScheduleMode,omitempty"` // Test schedule mode (ONDEMAND, DEDICATED, SCHEDULED, CONTINUOUS, RUNNOW) + + ShowWlcUpgradeBanner *bool `json:"showWlcUpgradeBanner,omitempty"` // Show WLC upgrade banner + + RadioAsSensorRemoved *bool `json:"radioAsSensorRemoved,omitempty"` // Radio as sensor removed + + EncryptionMode string `json:"encryptionMode,omitempty"` // Encryption mode + + RunNow string `json:"runNow,omitempty"` // Run now (YES, NO) + + LocationInfoList *[]ResponseSensorsCreateSensorTestTemplateResponseLocationInfoList `json:"locationInfoList,omitempty"` // + + Sensors *[]ResponseSensorsCreateSensorTestTemplateResponseSensors `json:"sensors,omitempty"` // + + ApCoverage *[]ResponseSensorsCreateSensorTestTemplateResponseApCoverage `json:"apCoverage,omitempty"` // +} +type ResponseSensorsCreateSensorTestTemplateResponseFrequency struct { + Value *int `json:"value,omitempty"` // Value of the unit + + Unit string `json:"unit,omitempty"` // Unit of the time value (NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS) +} +type ResponseSensorsCreateSensorTestTemplateResponseSSIDs struct { + Bands string `json:"bands,omitempty"` // WIFI bands: 2.4GHz or 5GHz + + SSID string `json:"ssid,omitempty"` // The SSID string + + ProfileName string `json:"profileName,omitempty"` // The SSID profile name string + + NumAps *int `json:"numAps,omitempty"` // Number of APs in the test + + NumSensors *int `json:"numSensors,omitempty"` // Number of Sensors in the test + + Layer3WebAuthsecurity string `json:"layer3webAuthsecurity,omitempty"` // Layer 3 WEB Auth security + + Layer3WebAuthuserName string `json:"layer3webAuthuserName,omitempty"` // Layer 3 WEB Auth user name + + Layer3WebAuthpassword string `json:"layer3webAuthpassword,omitempty"` // Layer 3 WEB Auth password + + Layer3WebAuthEmailAddress string `json:"layer3webAuthEmailAddress,omitempty"` // Layer 3 WEB Auth email address + + ThirdParty *ResponseSensorsCreateSensorTestTemplateResponseSSIDsThirdParty `json:"thirdParty,omitempty"` // + + ID *int `json:"id,omitempty"` // Identification number + + WLANID *int `json:"wlanId,omitempty"` // WLAN ID + + Wlc string `json:"wlc,omitempty"` // WLC IP addres + + ValidFrom *int `json:"validFrom,omitempty"` // Valid From UTC timestamp + + ValidTo *int `json:"validTo,omitempty"` // Valid To UTC timestamp + + Status string `json:"status,omitempty"` // WLAN status: ENABLED or DISABLED + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server for onboarding SSID + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy server port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy server user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy server password + + AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER + + Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII + + Username string `json:"username,omitempty"` // User name string for onboarding SSID + + Password string `json:"password,omitempty"` // Password string for onboarding SSID + + PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX + + EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC + + Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable + + AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol + + Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name + + Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS + + Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE + + Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase + + Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL + + ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP + + ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth + + WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list + + ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal + + ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL + + ExtWebAuthHTMLTag *[]ResponseSensorsCreateSensorTestTemplateResponseSSIDsExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // + + QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE + + Tests *[]ResponseSensorsCreateSensorTestTemplateResponseSSIDsTests `json:"tests,omitempty"` // +} +type ResponseSensorsCreateSensorTestTemplateResponseSSIDsThirdParty struct { Selected *bool `json:"selected,omitempty"` // true: the SSID is third party } -type ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsExtWebAuthHTMLTag struct { +type ResponseSensorsCreateSensorTestTemplateResponseSSIDsExtWebAuthHTMLTag struct { Label string `json:"label,omitempty"` // Label - Tag string `json:"tag,omitempty"` // Tag + + Tag string `json:"tag,omitempty"` // Tag + Value string `json:"value,omitempty"` // Value } -type ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsTests struct { - Name string `json:"name,omitempty"` // Name of the test - Config *[]ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsTestsConfig `json:"config,omitempty"` // +type ResponseSensorsCreateSensorTestTemplateResponseSSIDsTests struct { + Name string `json:"name,omitempty"` // Name of the test + + Config *[]ResponseSensorsCreateSensorTestTemplateResponseSSIDsTestsConfig `json:"config,omitempty"` // } -type ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsTestsConfig struct { - Domains []string `json:"domains,omitempty"` // DNS domain name - Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server - UserName string `json:"userName,omitempty"` // User name - Password string `json:"password,omitempty"` // Password - URL string `json:"url,omitempty"` // URL - Port *int `json:"port,omitempty"` // Radius or WEB server port - Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) - Servers []string `json:"servers,omitempty"` // IPerf server list - Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) - StartPort *int `json:"startPort,omitempty"` // IPerf start port - EndPort *int `json:"endPort,omitempty"` // IPerf end port - UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth - ProbeType string `json:"probeType,omitempty"` // Probe type - NumPackets *int `json:"numPackets,omitempty"` // Number of packets - PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer - TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) - SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret - NdtServer string `json:"ndtServer,omitempty"` // NDT server - NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port - NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path - UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test - DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server - ProxyPort string `json:"proxyPort,omitempty"` // Proxy port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password - UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt - PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt - ExitCommand string `json:"exitCommand,omitempty"` // Exit command - FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt +type ResponseSensorsCreateSensorTestTemplateResponseSSIDsTestsConfig struct { + Domains []string `json:"domains,omitempty"` // DNS domain name + + Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server + + UserName string `json:"userName,omitempty"` // User name + + Password string `json:"password,omitempty"` // Password + + URL string `json:"url,omitempty"` // URL + + Port *int `json:"port,omitempty"` // Radius or WEB server port + + Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) + + Servers []string `json:"servers,omitempty"` // IPerf server list + + Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) + + StartPort *int `json:"startPort,omitempty"` // IPerf start port + + EndPort *int `json:"endPort,omitempty"` // IPerf end port + + UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth + + ProbeType string `json:"probeType,omitempty"` // Probe type + + NumPackets *int `json:"numPackets,omitempty"` // Number of packets + + PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer + + TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret + + NdtServer string `json:"ndtServer,omitempty"` // NDT server + + NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port + + NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path + + UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test + + DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password + + UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt + + PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt + + ExitCommand string `json:"exitCommand,omitempty"` // Exit command + + FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt } -type ResponseSensorsDuplicateSensorTestTemplateResponseProfiles struct { - AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER - Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII - Username string `json:"username,omitempty"` // User name string for onboarding SSID - Password string `json:"password,omitempty"` // Password string for onboarding SSID - PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX - EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC - Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable - AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol - Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name - Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS - Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE - Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase - Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL - ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP - ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth - WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list - ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal - ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL - ExtWebAuthHTMLTag *[]ResponseSensorsDuplicateSensorTestTemplateResponseProfilesExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // - QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE - Tests *[]ResponseSensorsDuplicateSensorTestTemplateResponseProfilesTests `json:"tests,omitempty"` // - ProfileName string `json:"profileName,omitempty"` // Profile name - DeviceType string `json:"deviceType,omitempty"` // Device Type - VLAN string `json:"vlan,omitempty"` // VLAN - LocationVLANList *[]ResponseSensorsDuplicateSensorTestTemplateResponseProfilesLocationVLANList `json:"locationVlanList,omitempty"` // +type ResponseSensorsCreateSensorTestTemplateResponseProfiles struct { + AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER + + Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII + + Username string `json:"username,omitempty"` // User name string for onboarding SSID + + Password string `json:"password,omitempty"` // Password string for onboarding SSID + + PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX + + EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC + + Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable + + AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol + + Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name + + Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS + + Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE + + Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase + + Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL + + ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP + + ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth + + WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list + + ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal + + ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL + + ExtWebAuthHTMLTag *[]ResponseSensorsCreateSensorTestTemplateResponseProfilesExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // + + QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE + + Tests *[]ResponseSensorsCreateSensorTestTemplateResponseProfilesTests `json:"tests,omitempty"` // + + ProfileName string `json:"profileName,omitempty"` // Profile name + + DeviceType string `json:"deviceType,omitempty"` // Device Type + + VLAN string `json:"vlan,omitempty"` // VLAN + + LocationVLANList *[]ResponseSensorsCreateSensorTestTemplateResponseProfilesLocationVLANList `json:"locationVlanList,omitempty"` // } -type ResponseSensorsDuplicateSensorTestTemplateResponseProfilesExtWebAuthHTMLTag struct { +type ResponseSensorsCreateSensorTestTemplateResponseProfilesExtWebAuthHTMLTag struct { Label string `json:"label,omitempty"` // Label - Tag string `json:"tag,omitempty"` // Tag + + Tag string `json:"tag,omitempty"` // Tag + Value string `json:"value,omitempty"` // Value } -type ResponseSensorsDuplicateSensorTestTemplateResponseProfilesTests struct { - Name string `json:"name,omitempty"` // Name of the test - Config *[]ResponseSensorsDuplicateSensorTestTemplateResponseProfilesTestsConfig `json:"config,omitempty"` // +type ResponseSensorsCreateSensorTestTemplateResponseProfilesTests struct { + Name string `json:"name,omitempty"` // Name of the test + + Config *[]ResponseSensorsCreateSensorTestTemplateResponseProfilesTestsConfig `json:"config,omitempty"` // } -type ResponseSensorsDuplicateSensorTestTemplateResponseProfilesTestsConfig struct { - Domains []string `json:"domains,omitempty"` // DNS domain name - Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server - UserName string `json:"userName,omitempty"` // User name - Password string `json:"password,omitempty"` // Password - URL string `json:"url,omitempty"` // URL - Port *int `json:"port,omitempty"` // Radius or WEB server port - Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) - Servers []string `json:"servers,omitempty"` // IPerf server list - Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) - StartPort *int `json:"startPort,omitempty"` // IPerf start port - EndPort *int `json:"endPort,omitempty"` // IPerf end port - UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth - ProbeType string `json:"probeType,omitempty"` // Probe type - NumPackets *int `json:"numPackets,omitempty"` // Number of packets - PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer - TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) - SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret - NdtServer string `json:"ndtServer,omitempty"` // NDT server - NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port - NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path - UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test - DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server - ProxyPort string `json:"proxyPort,omitempty"` // Proxy port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password - UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt - PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt - ExitCommand string `json:"exitCommand,omitempty"` // Exit command - FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt +type ResponseSensorsCreateSensorTestTemplateResponseProfilesTestsConfig struct { + Domains []string `json:"domains,omitempty"` // DNS domain name + + Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server + + UserName string `json:"userName,omitempty"` // User name + + Password string `json:"password,omitempty"` // Password + + URL string `json:"url,omitempty"` // URL + + Port *int `json:"port,omitempty"` // Radius or WEB server port + + Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) + + Servers []string `json:"servers,omitempty"` // IPerf server list + + Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) + + StartPort *int `json:"startPort,omitempty"` // IPerf start port + + EndPort *int `json:"endPort,omitempty"` // IPerf end port + + UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth + + ProbeType string `json:"probeType,omitempty"` // Probe type + + NumPackets *int `json:"numPackets,omitempty"` // Number of packets + + PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer + + TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret + + NdtServer string `json:"ndtServer,omitempty"` // NDT server + + NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port + + NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path + + UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test + + DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password + + UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt + + PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt + + ExitCommand string `json:"exitCommand,omitempty"` // Exit command + + FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt } -type ResponseSensorsDuplicateSensorTestTemplateResponseProfilesLocationVLANList struct { - LocationID string `json:"locationId,omitempty"` // Site UUID - VLANs []string `json:"vlans,omitempty"` // Array of VLANs +type ResponseSensorsCreateSensorTestTemplateResponseProfilesLocationVLANList struct { + LocationID string `json:"locationId,omitempty"` // Site UUID + + VLANs []string `json:"vlans,omitempty"` // Array of VLANs } -type ResponseSensorsDuplicateSensorTestTemplateResponseLocationInfoList struct { - LocationID string `json:"locationId,omitempty"` // Site UUID - LocationType string `json:"locationType,omitempty"` // Site type - AllSensors *bool `json:"allSensors,omitempty"` // Use all sensors in the site for test - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site name hierarhy - MacAddressList []string `json:"macAddressList,omitempty"` // MAC addresses - ManagementVLAN string `json:"managementVlan,omitempty"` // Management VLAN - CustomManagementVLAN *bool `json:"customManagementVlan,omitempty"` // Custom Management VLAN +type ResponseSensorsCreateSensorTestTemplateResponseLocationInfoList struct { + LocationID string `json:"locationId,omitempty"` // Site UUID + + LocationType string `json:"locationType,omitempty"` // Site type + + AllSensors *bool `json:"allSensors,omitempty"` // Use all sensors in the site for test + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site name hierarhy + + MacAddressList []string `json:"macAddressList,omitempty"` // MAC addresses + + ManagementVLAN string `json:"managementVlan,omitempty"` // Management VLAN + + CustomManagementVLAN *bool `json:"customManagementVlan,omitempty"` // Custom Management VLAN } -type ResponseSensorsDuplicateSensorTestTemplateResponseSensors struct { - Name string `json:"name,omitempty"` // Sensor name - MacAddress string `json:"macAddress,omitempty"` // MAC address - SwitchMac string `json:"switchMac,omitempty"` // Switch MAC address - SwitchUUID string `json:"switchUuid,omitempty"` // Switch device UUID - SwitchSerialNumber string `json:"switchSerialNumber,omitempty"` // Switch serial number - MarkedForUninstall *bool `json:"markedForUninstall,omitempty"` // Is marked for uninstall - IPAddress string `json:"ipAddress,omitempty"` // IP address - HostName string `json:"hostName,omitempty"` // Host name - WiredApplicationStatus string `json:"wiredApplicationStatus,omitempty"` // Wired application status - WiredApplicationMessage string `json:"wiredApplicationMessage,omitempty"` // Wired application message - Assigned *bool `json:"assigned,omitempty"` // Is assigned - Status string `json:"status,omitempty"` // Sensor device status: UP, DOWN, REBOOT - XorSensor *bool `json:"xorSensor,omitempty"` // Is XOR sensor - TargetAPs []string `json:"targetAPs,omitempty"` // Array of target APs - RunNow string `json:"runNow,omitempty"` // Run now: YES, NO - LocationID string `json:"locationId,omitempty"` // Site UUID - AllSensorAddition *bool `json:"allSensorAddition,omitempty"` // Is all sensor addition - ConfigUpdated string `json:"configUpdated,omitempty"` // Configuration updated: YES, NO - SensorType string `json:"sensorType,omitempty"` // Sensor type - TestMacAddresses *ResponseSensorsDuplicateSensorTestTemplateResponseSensorsTestMacAddresses `json:"testMacAddresses,omitempty"` // A string-string test MAC address - ID string `json:"id,omitempty"` // Sensor ID - ServicePolicy string `json:"servicePolicy,omitempty"` // Service policy - IPerfInfo *ResponseSensorsDuplicateSensorTestTemplateResponseSensorsIPerfInfo `json:"iPerfInfo,omitempty"` // A string-stringList iPerf information +type ResponseSensorsCreateSensorTestTemplateResponseSensors struct { + Name string `json:"name,omitempty"` // Sensor name + + MacAddress string `json:"macAddress,omitempty"` // MAC address + + SwitchMac string `json:"switchMac,omitempty"` // Switch MAC address + + SwitchUUID string `json:"switchUuid,omitempty"` // Switch device UUID + + SwitchSerialNumber string `json:"switchSerialNumber,omitempty"` // Switch serial number + + MarkedForUninstall *bool `json:"markedForUninstall,omitempty"` // Is marked for uninstall + + IPAddress string `json:"ipAddress,omitempty"` // IP address + + HostName string `json:"hostName,omitempty"` // Host name + + WiredApplicationStatus string `json:"wiredApplicationStatus,omitempty"` // Wired application status + + WiredApplicationMessage string `json:"wiredApplicationMessage,omitempty"` // Wired application message + + Assigned *bool `json:"assigned,omitempty"` // Is assigned + + Status string `json:"status,omitempty"` // Sensor device status: UP, DOWN, REBOOT + + XorSensor *bool `json:"xorSensor,omitempty"` // Is XOR sensor + + TargetAPs []string `json:"targetAPs,omitempty"` // Array of target APs + + RunNow string `json:"runNow,omitempty"` // Run now: YES, NO + + LocationID string `json:"locationId,omitempty"` // Site UUID + + AllSensorAddition *bool `json:"allSensorAddition,omitempty"` // Is all sensor addition + + ConfigUpdated string `json:"configUpdated,omitempty"` // Configuration updated: YES, NO + + SensorType string `json:"sensorType,omitempty"` // Sensor type + + TestMacAddresses *ResponseSensorsCreateSensorTestTemplateResponseSensorsTestMacAddresses `json:"testMacAddresses,omitempty"` // A string-string test MAC address + + ID string `json:"id,omitempty"` // Sensor ID + + ServicePolicy string `json:"servicePolicy,omitempty"` // Service policy + + IPerfInfo *ResponseSensorsCreateSensorTestTemplateResponseSensorsIPerfInfo `json:"iPerfInfo,omitempty"` // A string-stringList iPerf information } -type ResponseSensorsDuplicateSensorTestTemplateResponseSensorsTestMacAddresses interface{} -type ResponseSensorsDuplicateSensorTestTemplateResponseSensorsIPerfInfo interface{} -type ResponseSensorsDuplicateSensorTestTemplateResponseApCoverage struct { - Bands string `json:"bands,omitempty"` // The WIFI bands - NumberOfApsToTest *int `json:"numberOfApsToTest,omitempty"` // Number of APs to test - RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold +type ResponseSensorsCreateSensorTestTemplateResponseSensorsTestMacAddresses interface{} +type ResponseSensorsCreateSensorTestTemplateResponseSensorsIPerfInfo interface{} +type ResponseSensorsCreateSensorTestTemplateResponseApCoverage struct { + Bands string `json:"bands,omitempty"` // The WIFI bands + + NumberOfApsToTest *int `json:"numberOfApsToTest,omitempty"` // Number of APs to test + + RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold } -type RequestSensorsEditSensorTestTemplate struct { - TemplateName string `json:"templateName,omitempty"` // The test template name that is to be edited - Name string `json:"name,omitempty"` // The sensor test template name, which is the same as in 'templateName' - TypeID string `json:"_id,omitempty"` // The sensor test template unique identifier, generated at test creation time - Version *int `json:"version,omitempty"` // The sensor test template version (must be 2) - ModelVersion *int `json:"modelVersion,omitempty"` // Test template object model version (must be 2) - StartTime *int `json:"startTime,omitempty"` // Start time - LastModifiedTime *int `json:"lastModifiedTime,omitempty"` // Last modify time - NumAssociatedSensor *int `json:"numAssociatedSensor,omitempty"` // Number of associated sensor - Location string `json:"location,omitempty"` // Location string - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site hierarchy - Status string `json:"status,omitempty"` // Status of the test (RUNNING, NOTRUNNING) - Connection string `json:"connection,omitempty"` // connection type of test: WIRED, WIRELESS, BOTH - ActionInProgress string `json:"actionInProgress,omitempty"` // Indication of inprogress action - Frequency *RequestSensorsEditSensorTestTemplateFrequency `json:"frequency,omitempty"` // - RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold - NumNeighborApThreshold *int `json:"numNeighborAPThreshold,omitempty"` // Number of neighboring AP threshold - ScheduleInDays *int `json:"scheduleInDays,omitempty"` // Bit-wise value of scheduled test days - WLANs []string `json:"wlans,omitempty"` // WLANs list - SSIDs *[]RequestSensorsEditSensorTestTemplateSSIDs `json:"ssids,omitempty"` // - Profiles *[]RequestSensorsEditSensorTestTemplateProfiles `json:"profiles,omitempty"` // - TestScheduleMode string `json:"testScheduleMode,omitempty"` // Test schedule mode (ONDEMAND, DEDICATED, SCHEDULED, CONTINUOUS, RUNNOW) - ShowWlcUpgradeBanner *bool `json:"showWlcUpgradeBanner,omitempty"` // Show WLC upgrade banner - RadioAsSensorRemoved *bool `json:"radioAsSensorRemoved,omitempty"` // Radio as sensor removed - EncryptionMode string `json:"encryptionMode,omitempty"` // Encryption mode - RunNow string `json:"runNow,omitempty"` // Run now (YES, NO) - LocationInfoList *[]RequestSensorsEditSensorTestTemplateLocationInfoList `json:"locationInfoList,omitempty"` // - Sensors *[]RequestSensorsEditSensorTestTemplateSensors `json:"sensors,omitempty"` // - ApCoverage *[]RequestSensorsEditSensorTestTemplateApCoverage `json:"apCoverage,omitempty"` // +type ResponseSensorsDeleteSensorTest struct { + Version string `json:"version,omitempty"` // Version + + Response *ResponseSensorsDeleteSensorTestResponse `json:"response,omitempty"` // } -type RequestSensorsEditSensorTestTemplateFrequency struct { - Value *int `json:"value,omitempty"` // Value of the unit - Unit string `json:"unit,omitempty"` // Unit of the time value (NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS) +type ResponseSensorsDeleteSensorTestResponse struct { + TemplateName string `json:"templateName,omitempty"` // Test template name to be delete + + Status string `json:"status,omitempty"` // Status of the DELETE action } -type RequestSensorsEditSensorTestTemplateSSIDs struct { - Bands string `json:"bands,omitempty"` // WIFI bands: 2.4GHz or 5GHz - SSID string `json:"ssid,omitempty"` // The SSID string - ProfileName string `json:"profileName,omitempty"` // The SSID profile name string - NumAps *int `json:"numAps,omitempty"` // Number of APs in the test - NumSensors *int `json:"numSensors,omitempty"` // Number of Sensors in the test - Layer3WebAuthsecurity string `json:"layer3webAuthsecurity,omitempty"` // Layer 3 WEB Auth security - Layer3WebAuthuserName string `json:"layer3webAuthuserName,omitempty"` // Layer 3 WEB Auth user name - Layer3WebAuthpassword string `json:"layer3webAuthpassword,omitempty"` // Layer 3 WEB Auth password - Layer3WebAuthEmailAddress string `json:"layer3webAuthEmailAddress,omitempty"` // Layer 3 WEB Auth email address - ThirdParty *RequestSensorsEditSensorTestTemplateSSIDsThirdParty `json:"thirdParty,omitempty"` // - ID *int `json:"id,omitempty"` // Identification number - WLANID *int `json:"wlanId,omitempty"` // WLAN ID - Wlc string `json:"wlc,omitempty"` // WLC IP addres - ValidFrom *int `json:"validFrom,omitempty"` // Valid From UTC timestamp - ValidTo *int `json:"validTo,omitempty"` // Valid To UTC timestamp - Status string `json:"status,omitempty"` // WLAN status: ENABLED or DISABLED - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server for onboarding SSID - ProxyPort string `json:"proxyPort,omitempty"` // Proxy server port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy server user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy server password - AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EAP, WEB_AUTH, MAB, DOT1X, OTHER - Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII - Username string `json:"username,omitempty"` // User name string for onboarding SSID - Password string `json:"password,omitempty"` // Password string for onboarding SSID - PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX - EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC - Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable - AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol - Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name - Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS - Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE - Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase - Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL - ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP - ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth - WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list - ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal - ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL - ExtWebAuthHTMLTag *[]RequestSensorsEditSensorTestTemplateSSIDsExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // - QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE - Tests *[]RequestSensorsEditSensorTestTemplateSSIDsTests `json:"tests,omitempty"` // +type ResponseSensorsSensors struct { + Version string `json:"version,omitempty"` // Version string of this API + + Response *[]ResponseSensorsSensorsResponse `json:"response,omitempty"` // } -type RequestSensorsEditSensorTestTemplateSSIDsThirdParty struct { - Selected *bool `json:"selected,omitempty"` // true: the SSID is third party +type ResponseSensorsSensorsResponse struct { + Name string `json:"name,omitempty"` // The sensor device name + + Status string `json:"status,omitempty"` // Status of sensor device (REACHABLE, UNREACHABLE, DELETED, RUNNING, IDLE, UCLAIMED) + + RadioMacAddress string `json:"radioMacAddress,omitempty"` // Sensor device's radio MAC address + + EthernetMacAddress string `json:"ethernetMacAddress,omitempty"` // Sensor device's ethernet MAC address + + Location string `json:"location,omitempty"` // Site name in hierarchy form + + BackhaulType string `json:"backhaulType,omitempty"` // Backhall type: WIRED, WIRELESS + + SerialNumber string `json:"serialNumber,omitempty"` // Serial number + + IPAddress string `json:"ipAddress,omitempty"` // IP Address + + Version string `json:"version,omitempty"` // Sensor version + + LastSeen *int `json:"lastSeen,omitempty"` // Last seen timestamp + + Type string `json:"type,omitempty"` // Type + + SSH *ResponseSensorsSensorsResponseSSH `json:"ssh,omitempty"` // + + Led *bool `json:"led,omitempty"` // Is LED Enabled } -type RequestSensorsEditSensorTestTemplateSSIDsExtWebAuthHTMLTag struct { - Label string `json:"label,omitempty"` // Label - Tag string `json:"tag,omitempty"` // Tag - Value string `json:"value,omitempty"` // Value +type ResponseSensorsSensorsResponseSSH struct { + SSHState string `json:"sshState,omitempty"` // SSH state + + SSHUserName string `json:"sshUserName,omitempty"` // SSH user name + + SSHPassword string `json:"sshPassword,omitempty"` // SSH password + + EnablePassword string `json:"enablePassword,omitempty"` // Enable password } -type RequestSensorsEditSensorTestTemplateSSIDsTests struct { - Name string `json:"name,omitempty"` // Name of the test - Config *[]RequestSensorsEditSensorTestTemplateSSIDsTestsConfig `json:"config,omitempty"` // +type ResponseSensorsDuplicateSensorTestTemplate struct { + Version string `json:"version,omitempty"` // Version + + Response *ResponseSensorsDuplicateSensorTestTemplateResponse `json:"response,omitempty"` // } -type RequestSensorsEditSensorTestTemplateSSIDsTestsConfig struct { - Domains []string `json:"domains,omitempty"` // DNS domain name - Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server - UserName string `json:"userName,omitempty"` // User name - Password string `json:"password,omitempty"` // Password - URL string `json:"url,omitempty"` // URL - Port *int `json:"port,omitempty"` // Radius or WEB server port - Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) - Servers []string `json:"servers,omitempty"` // IPerf server list - Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) - StartPort *int `json:"startPort,omitempty"` // IPerf start port - EndPort *int `json:"endPort,omitempty"` // IPerf end port - UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth - ProbeType string `json:"probeType,omitempty"` // Probe type - NumPackets *int `json:"numPackets,omitempty"` // Number of packets - PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer - TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) - SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret - NdtServer string `json:"ndtServer,omitempty"` // NDT server - NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port - NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path - UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test - DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server - ProxyPort string `json:"proxyPort,omitempty"` // Proxy port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password - UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt - PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt - ExitCommand string `json:"exitCommand,omitempty"` // Exit command - FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt +type ResponseSensorsDuplicateSensorTestTemplateResponse struct { + Name string `json:"name,omitempty"` // The sensor test template name + TypeID string `json:"_id,omitempty"` // The sensor test template unique identifier + + Version *int `json:"version,omitempty"` // The sensor test template version (must be 2) + + ModelVersion *int `json:"modelVersion,omitempty"` // Test template object model version (must be 2) + + StartTime *int `json:"startTime,omitempty"` // Start time + + LastModifiedTime *int `json:"lastModifiedTime,omitempty"` // Last modify time + + NumAssociatedSensor *int `json:"numAssociatedSensor,omitempty"` // Number of associated sensor + + Location string `json:"location,omitempty"` // Location string + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site hierarchy + + Status string `json:"status,omitempty"` // Status of the test (RUNNING, NOTRUNNING) + + Connection string `json:"connection,omitempty"` // connection type of test: WIRED, WIRELESS, BOTH + + ActionInProgress string `json:"actionInProgress,omitempty"` // Indication of inprogress action + + Frequency *ResponseSensorsDuplicateSensorTestTemplateResponseFrequency `json:"frequency,omitempty"` // + + RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold + + NumNeighborApThreshold *int `json:"numNeighborAPThreshold,omitempty"` // Number of neighboring AP threshold + + ScheduleInDays *int `json:"scheduleInDays,omitempty"` // Bit-wise value of scheduled test days + + WLANs []string `json:"wlans,omitempty"` // WLANs list + + SSIDs *[]ResponseSensorsDuplicateSensorTestTemplateResponseSSIDs `json:"ssids,omitempty"` // + + Profiles *[]ResponseSensorsDuplicateSensorTestTemplateResponseProfiles `json:"profiles,omitempty"` // + + TestScheduleMode string `json:"testScheduleMode,omitempty"` // Test schedule mode (ONDEMAND, DEDICATED, SCHEDULED, CONTINUOUS, RUNNOW) + + ShowWlcUpgradeBanner *bool `json:"showWlcUpgradeBanner,omitempty"` // Show WLC upgrade banner + + RadioAsSensorRemoved *bool `json:"radioAsSensorRemoved,omitempty"` // Radio as sensor removed + + EncryptionMode string `json:"encryptionMode,omitempty"` // Encryption mode + + RunNow string `json:"runNow,omitempty"` // Run now (YES, NO) + + LocationInfoList *[]ResponseSensorsDuplicateSensorTestTemplateResponseLocationInfoList `json:"locationInfoList,omitempty"` // + + Sensors *[]ResponseSensorsDuplicateSensorTestTemplateResponseSensors `json:"sensors,omitempty"` // + + ApCoverage *[]ResponseSensorsDuplicateSensorTestTemplateResponseApCoverage `json:"apCoverage,omitempty"` // } -type RequestSensorsEditSensorTestTemplateProfiles struct { - AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EAP, WEB_AUTH, MAB, DOT1X, OTHER - Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII - Username string `json:"username,omitempty"` // User name string for onboarding SSID - Password string `json:"password,omitempty"` // Password string for onboarding SSID - PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX - EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC - Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable - AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol - Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name - Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS - Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE - Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase - Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL - ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP - ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth - WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list - ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal - ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL - ExtWebAuthHTMLTag *[]RequestSensorsEditSensorTestTemplateProfilesExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // - QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE - Tests *[]RequestSensorsEditSensorTestTemplateProfilesTests `json:"tests,omitempty"` // - ProfileName string `json:"profileName,omitempty"` // Profile name - DeviceType string `json:"deviceType,omitempty"` // Device Type - VLAN string `json:"vlan,omitempty"` // VLAN - LocationVLANList *[]RequestSensorsEditSensorTestTemplateProfilesLocationVLANList `json:"locationVlanList,omitempty"` // +type ResponseSensorsDuplicateSensorTestTemplateResponseFrequency struct { + Value *int `json:"value,omitempty"` // Value of the unit + + Unit string `json:"unit,omitempty"` // Unit of the time value (NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS) } -type RequestSensorsEditSensorTestTemplateProfilesExtWebAuthHTMLTag struct { +type ResponseSensorsDuplicateSensorTestTemplateResponseSSIDs struct { + Bands string `json:"bands,omitempty"` // WIFI bands: 2.4GHz or 5GHz + + SSID string `json:"ssid,omitempty"` // The SSID string + + ProfileName string `json:"profileName,omitempty"` // The SSID profile name string + + NumAps *int `json:"numAps,omitempty"` // Number of APs in the test + + NumSensors *int `json:"numSensors,omitempty"` // Number of Sensors in the test + + Layer3WebAuthsecurity string `json:"layer3webAuthsecurity,omitempty"` // Layer 3 WEB Auth security + + Layer3WebAuthuserName string `json:"layer3webAuthuserName,omitempty"` // Layer 3 WEB Auth user name + + Layer3WebAuthpassword string `json:"layer3webAuthpassword,omitempty"` // Layer 3 WEB Auth password + + Layer3WebAuthEmailAddress string `json:"layer3webAuthEmailAddress,omitempty"` // Layer 3 WEB Auth email address + + ThirdParty *ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsThirdParty `json:"thirdParty,omitempty"` // + + ID *int `json:"id,omitempty"` // Identification number + + WLANID *int `json:"wlanId,omitempty"` // WLAN ID + + Wlc string `json:"wlc,omitempty"` // WLC IP addres + + ValidFrom *int `json:"validFrom,omitempty"` // Valid From UTC timestamp + + ValidTo *int `json:"validTo,omitempty"` // Valid To UTC timestamp + + Status string `json:"status,omitempty"` // WLAN status: ENABLED or DISABLED + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server for onboarding SSID + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy server port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy server user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy server password + + AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER + + Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII + + Username string `json:"username,omitempty"` // User name string for onboarding SSID + + Password string `json:"password,omitempty"` // Password string for onboarding SSID + + PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX + + EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC + + Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable + + AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol + + Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name + + Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS + + Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE + + Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase + + Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL + + ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP + + ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth + + WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list + + ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal + + ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL + + ExtWebAuthHTMLTag *[]ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // + + QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE + + Tests *[]ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsTests `json:"tests,omitempty"` // +} +type ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsThirdParty struct { + Selected *bool `json:"selected,omitempty"` // true: the SSID is third party +} +type ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsExtWebAuthHTMLTag struct { Label string `json:"label,omitempty"` // Label - Tag string `json:"tag,omitempty"` // Tag + + Tag string `json:"tag,omitempty"` // Tag + Value string `json:"value,omitempty"` // Value } -type RequestSensorsEditSensorTestTemplateProfilesTests struct { - Name string `json:"name,omitempty"` // Name of the test - Config *[]RequestSensorsEditSensorTestTemplateProfilesTestsConfig `json:"config,omitempty"` // +type ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsTests struct { + Name string `json:"name,omitempty"` // Name of the test + + Config *[]ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsTestsConfig `json:"config,omitempty"` // } -type RequestSensorsEditSensorTestTemplateProfilesTestsConfig struct { - Domains []string `json:"domains,omitempty"` // DNS domain name - Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server - UserName string `json:"userName,omitempty"` // User name - Password string `json:"password,omitempty"` // Password - URL string `json:"url,omitempty"` // URL - Port *int `json:"port,omitempty"` // Radius or WEB server port - Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) - Servers []string `json:"servers,omitempty"` // IPerf server list - Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) - StartPort *int `json:"startPort,omitempty"` // IPerf start port - EndPort *int `json:"endPort,omitempty"` // IPerf end port - UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth - ProbeType string `json:"probeType,omitempty"` // Probe type - NumPackets *int `json:"numPackets,omitempty"` // Number of packets - PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer - TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) - SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret - NdtServer string `json:"ndtServer,omitempty"` // NDT server - NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port - NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path - UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test - DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server - ProxyPort string `json:"proxyPort,omitempty"` // Proxy port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password - UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt - PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt - ExitCommand string `json:"exitCommand,omitempty"` // Exit command - FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt -} -type RequestSensorsEditSensorTestTemplateProfilesLocationVLANList struct { - LocationID string `json:"locationId,omitempty"` // Site UUID - VLANs []string `json:"vlans,omitempty"` // Array of VLANs +type ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsTestsConfig struct { + Domains []string `json:"domains,omitempty"` // DNS domain name + + Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server + + UserName string `json:"userName,omitempty"` // User name + + Password string `json:"password,omitempty"` // Password + + URL string `json:"url,omitempty"` // URL + + Port *int `json:"port,omitempty"` // Radius or WEB server port + + Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) + + Servers []string `json:"servers,omitempty"` // IPerf server list + + Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) + + StartPort *int `json:"startPort,omitempty"` // IPerf start port + + EndPort *int `json:"endPort,omitempty"` // IPerf end port + + UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth + + ProbeType string `json:"probeType,omitempty"` // Probe type + + NumPackets *int `json:"numPackets,omitempty"` // Number of packets + + PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer + + TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret + + NdtServer string `json:"ndtServer,omitempty"` // NDT server + + NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port + + NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path + + UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test + + DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password + + UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt + + PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt + + ExitCommand string `json:"exitCommand,omitempty"` // Exit command + + FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt } -type RequestSensorsEditSensorTestTemplateLocationInfoList struct { - LocationID string `json:"locationId,omitempty"` // Site UUID - LocationType string `json:"locationType,omitempty"` // Site type - AllSensors *bool `json:"allSensors,omitempty"` // Use all sensors in the site for test - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site name hierarhy - MacAddressList []string `json:"macAddressList,omitempty"` // MAC addresses - ManagementVLAN string `json:"managementVlan,omitempty"` // Management VLAN - CustomManagementVLAN *bool `json:"customManagementVlan,omitempty"` // Custom Management VLAN +type ResponseSensorsDuplicateSensorTestTemplateResponseProfiles struct { + AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER + + Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII + + Username string `json:"username,omitempty"` // User name string for onboarding SSID + + Password string `json:"password,omitempty"` // Password string for onboarding SSID + + PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX + + EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC + + Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable + + AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol + + Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name + + Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS + + Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE + + Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase + + Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL + + ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP + + ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth + + WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list + + ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal + + ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL + + ExtWebAuthHTMLTag *[]ResponseSensorsDuplicateSensorTestTemplateResponseProfilesExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // + + QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE + + Tests *[]ResponseSensorsDuplicateSensorTestTemplateResponseProfilesTests `json:"tests,omitempty"` // + + ProfileName string `json:"profileName,omitempty"` // Profile name + + DeviceType string `json:"deviceType,omitempty"` // Device Type + + VLAN string `json:"vlan,omitempty"` // VLAN + + LocationVLANList *[]ResponseSensorsDuplicateSensorTestTemplateResponseProfilesLocationVLANList `json:"locationVlanList,omitempty"` // } -type RequestSensorsEditSensorTestTemplateSensors struct { - Name string `json:"name,omitempty"` // Sensor name - MacAddress string `json:"macAddress,omitempty"` // MAC address - SwitchMac string `json:"switchMac,omitempty"` // Switch MAC address - SwitchUUID string `json:"switchUuid,omitempty"` // Switch device UUID - SwitchSerialNumber string `json:"switchSerialNumber,omitempty"` // Switch serial number - MarkedForUninstall *bool `json:"markedForUninstall,omitempty"` // Is marked for uninstall - IPAddress string `json:"ipAddress,omitempty"` // IP address - HostName string `json:"hostName,omitempty"` // Host name - WiredApplicationStatus string `json:"wiredApplicationStatus,omitempty"` // Wired application status - WiredApplicationMessage string `json:"wiredApplicationMessage,omitempty"` // Wired application message - Assigned *bool `json:"assigned,omitempty"` // Is assigned - Status string `json:"status,omitempty"` // Sensor device status: UP, DOWN, REBOOT - XorSensor *bool `json:"xorSensor,omitempty"` // Is XOR sensor - TargetAPs []string `json:"targetAPs,omitempty"` // Array of target APs - RunNow string `json:"runNow,omitempty"` // Run now: YES, NO - LocationID string `json:"locationId,omitempty"` // Site UUID - AllSensorAddition *bool `json:"allSensorAddition,omitempty"` // Is all sensor addition - ConfigUpdated string `json:"configUpdated,omitempty"` // Configuration updated: YES, NO - SensorType string `json:"sensorType,omitempty"` // Sensor type - TestMacAddresses *RequestSensorsEditSensorTestTemplateSensorsTestMacAddresses `json:"testMacAddresses,omitempty"` // A string-string test MAC address - ID string `json:"id,omitempty"` // Sensor ID - ServicePolicy string `json:"servicePolicy,omitempty"` // Service policy - IPerfInfo *RequestSensorsEditSensorTestTemplateSensorsIPerfInfo `json:"iPerfInfo,omitempty"` // A string-stringList iPerf information +type ResponseSensorsDuplicateSensorTestTemplateResponseProfilesExtWebAuthHTMLTag struct { + Label string `json:"label,omitempty"` // Label + + Tag string `json:"tag,omitempty"` // Tag + + Value string `json:"value,omitempty"` // Value } -type RequestSensorsEditSensorTestTemplateSensorsTestMacAddresses interface{} -type RequestSensorsEditSensorTestTemplateSensorsIPerfInfo interface{} -type RequestSensorsEditSensorTestTemplateApCoverage struct { - Bands string `json:"bands,omitempty"` // The WIFI bands - NumberOfApsToTest *int `json:"numberOfApsToTest,omitempty"` // Number of APs to test - RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold +type ResponseSensorsDuplicateSensorTestTemplateResponseProfilesTests struct { + Name string `json:"name,omitempty"` // Name of the test + + Config *[]ResponseSensorsDuplicateSensorTestTemplateResponseProfilesTestsConfig `json:"config,omitempty"` // } -type RequestSensorsCreateSensorTestTemplate struct { - Name string `json:"name,omitempty"` // The sensor test template name - Version *int `json:"version,omitempty"` // The sensor test template version (must be 2) - ModelVersion *int `json:"modelVersion,omitempty"` // Test template object model version (must be 2) - Connection string `json:"connection,omitempty"` // connection type of test: WIRED, WIRELESS, BOTH - SSIDs *[]RequestSensorsCreateSensorTestTemplateSSIDs `json:"ssids,omitempty"` // - Profiles *[]RequestSensorsCreateSensorTestTemplateProfiles `json:"profiles,omitempty"` // - EncryptionMode string `json:"encryptionMode,omitempty"` // Encryption mode - RunNow string `json:"runNow,omitempty"` // Run now (YES, NO) - LocationInfoList *[]RequestSensorsCreateSensorTestTemplateLocationInfoList `json:"locationInfoList,omitempty"` // - Sensors *[]RequestSensorsCreateSensorTestTemplateSensors `json:"sensors,omitempty"` // - ApCoverage *[]RequestSensorsCreateSensorTestTemplateApCoverage `json:"apCoverage,omitempty"` // +type ResponseSensorsDuplicateSensorTestTemplateResponseProfilesTestsConfig struct { + Domains []string `json:"domains,omitempty"` // DNS domain name + + Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server + + UserName string `json:"userName,omitempty"` // User name + + Password string `json:"password,omitempty"` // Password + + URL string `json:"url,omitempty"` // URL + + Port *int `json:"port,omitempty"` // Radius or WEB server port + + Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) + + Servers []string `json:"servers,omitempty"` // IPerf server list + + Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) + + StartPort *int `json:"startPort,omitempty"` // IPerf start port + + EndPort *int `json:"endPort,omitempty"` // IPerf end port + + UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth + + ProbeType string `json:"probeType,omitempty"` // Probe type + + NumPackets *int `json:"numPackets,omitempty"` // Number of packets + + PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer + + TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret + + NdtServer string `json:"ndtServer,omitempty"` // NDT server + + NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port + + NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path + + UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test + + DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password + + UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt + + PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt + + ExitCommand string `json:"exitCommand,omitempty"` // Exit command + + FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt } -type RequestSensorsCreateSensorTestTemplateSSIDs struct { - Bands string `json:"bands,omitempty"` // WIFI bands: 2.4GHz or 5GHz - SSID string `json:"ssid,omitempty"` // The SSID string - ProfileName string `json:"profileName,omitempty"` // The SSID profile name string - Layer3WebAuthsecurity string `json:"layer3webAuthsecurity,omitempty"` // Layer 3 WEB Auth security - Layer3WebAuthuserName string `json:"layer3webAuthuserName,omitempty"` // Layer 3 WEB Auth user name - Layer3WebAuthpassword string `json:"layer3webAuthpassword,omitempty"` // Layer 3 WEB Auth password - Layer3WebAuthEmailAddress string `json:"layer3webAuthEmailAddress,omitempty"` // Layer 3 WEB Auth email address - ThirdParty *RequestSensorsCreateSensorTestTemplateSSIDsThirdParty `json:"thirdParty,omitempty"` // - WLANID *int `json:"wlanId,omitempty"` // WLAN ID - Wlc string `json:"wlc,omitempty"` // WLC IP addres - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server for onboarding SSID - ProxyPort string `json:"proxyPort,omitempty"` // Proxy server port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy server user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy server password - AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER - Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII - Username string `json:"username,omitempty"` // User name string for onboarding SSID - Password string `json:"password,omitempty"` // Password string for onboarding SSID - PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX - EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC - Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable - AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol - Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name - Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS - Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE - Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase - Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL - ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP - ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth - WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list - ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal - ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL - ExtWebAuthHTMLTag *[]RequestSensorsCreateSensorTestTemplateSSIDsExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // - QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE - Tests *[]RequestSensorsCreateSensorTestTemplateSSIDsTests `json:"tests,omitempty"` // +type ResponseSensorsDuplicateSensorTestTemplateResponseProfilesLocationVLANList struct { + LocationID string `json:"locationId,omitempty"` // Site UUID + + VLANs []string `json:"vlans,omitempty"` // Array of VLANs } -type RequestSensorsCreateSensorTestTemplateSSIDsThirdParty struct { - Selected *bool `json:"selected,omitempty"` // true: the SSID is third party +type ResponseSensorsDuplicateSensorTestTemplateResponseLocationInfoList struct { + LocationID string `json:"locationId,omitempty"` // Site UUID + + LocationType string `json:"locationType,omitempty"` // Site type + + AllSensors *bool `json:"allSensors,omitempty"` // Use all sensors in the site for test + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site name hierarhy + + MacAddressList []string `json:"macAddressList,omitempty"` // MAC addresses + + ManagementVLAN string `json:"managementVlan,omitempty"` // Management VLAN + + CustomManagementVLAN *bool `json:"customManagementVlan,omitempty"` // Custom Management VLAN } -type RequestSensorsCreateSensorTestTemplateSSIDsExtWebAuthHTMLTag struct { - Label string `json:"label,omitempty"` // Label - Tag string `json:"tag,omitempty"` // Tag - Value string `json:"value,omitempty"` // Value +type ResponseSensorsDuplicateSensorTestTemplateResponseSensors struct { + Name string `json:"name,omitempty"` // Sensor name + + MacAddress string `json:"macAddress,omitempty"` // MAC address + + SwitchMac string `json:"switchMac,omitempty"` // Switch MAC address + + SwitchUUID string `json:"switchUuid,omitempty"` // Switch device UUID + + SwitchSerialNumber string `json:"switchSerialNumber,omitempty"` // Switch serial number + + MarkedForUninstall *bool `json:"markedForUninstall,omitempty"` // Is marked for uninstall + + IPAddress string `json:"ipAddress,omitempty"` // IP address + + HostName string `json:"hostName,omitempty"` // Host name + + WiredApplicationStatus string `json:"wiredApplicationStatus,omitempty"` // Wired application status + + WiredApplicationMessage string `json:"wiredApplicationMessage,omitempty"` // Wired application message + + Assigned *bool `json:"assigned,omitempty"` // Is assigned + + Status string `json:"status,omitempty"` // Sensor device status: UP, DOWN, REBOOT + + XorSensor *bool `json:"xorSensor,omitempty"` // Is XOR sensor + + TargetAPs []string `json:"targetAPs,omitempty"` // Array of target APs + + RunNow string `json:"runNow,omitempty"` // Run now: YES, NO + + LocationID string `json:"locationId,omitempty"` // Site UUID + + AllSensorAddition *bool `json:"allSensorAddition,omitempty"` // Is all sensor addition + + ConfigUpdated string `json:"configUpdated,omitempty"` // Configuration updated: YES, NO + + SensorType string `json:"sensorType,omitempty"` // Sensor type + + TestMacAddresses *ResponseSensorsDuplicateSensorTestTemplateResponseSensorsTestMacAddresses `json:"testMacAddresses,omitempty"` // A string-string test MAC address + + ID string `json:"id,omitempty"` // Sensor ID + + ServicePolicy string `json:"servicePolicy,omitempty"` // Service policy + + IPerfInfo *ResponseSensorsDuplicateSensorTestTemplateResponseSensorsIPerfInfo `json:"iPerfInfo,omitempty"` // A string-stringList iPerf information } -type RequestSensorsCreateSensorTestTemplateSSIDsTests struct { - Name string `json:"name,omitempty"` // Name of the test - Config *[]RequestSensorsCreateSensorTestTemplateSSIDsTestsConfig `json:"config,omitempty"` // +type ResponseSensorsDuplicateSensorTestTemplateResponseSensorsTestMacAddresses interface{} +type ResponseSensorsDuplicateSensorTestTemplateResponseSensorsIPerfInfo interface{} +type ResponseSensorsDuplicateSensorTestTemplateResponseApCoverage struct { + Bands string `json:"bands,omitempty"` // The WIFI bands + + NumberOfApsToTest *int `json:"numberOfApsToTest,omitempty"` // Number of APs to test + + RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold } -type RequestSensorsCreateSensorTestTemplateSSIDsTestsConfig struct { - Domains []string `json:"domains,omitempty"` // DNS domain name - Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server - UserName string `json:"userName,omitempty"` // User name - Password string `json:"password,omitempty"` // Password - URL string `json:"url,omitempty"` // URL - Port *int `json:"port,omitempty"` // Radius or WEB server port - Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) - Servers []string `json:"servers,omitempty"` // IPerf server list - Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) - StartPort *int `json:"startPort,omitempty"` // IPerf start port - EndPort *int `json:"endPort,omitempty"` // IPerf end port - UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth - ProbeType string `json:"probeType,omitempty"` // Probe type - NumPackets *int `json:"numPackets,omitempty"` // Number of packets - PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer - TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) - SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret - NdtServer string `json:"ndtServer,omitempty"` // NDT server - NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port - NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path - UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test - DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server - ProxyPort string `json:"proxyPort,omitempty"` // Proxy port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password - UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt - PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt - ExitCommand string `json:"exitCommand,omitempty"` // Exit command - FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt +type RequestSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeFilters `json:"filters,omitempty"` // + + Page *RequestSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimePage `json:"page,omitempty"` // } -type RequestSensorsCreateSensorTestTemplateProfiles struct { - AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER - Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII - Username string `json:"username,omitempty"` // User name string for onboarding SSID - Password string `json:"password,omitempty"` // Password string for onboarding SSID - PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX - EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC - Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable - AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol - Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name - Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS - Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE - Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase - Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL - ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP - ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth - WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list - ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal - ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL - ExtWebAuthHTMLTag *[]RequestSensorsCreateSensorTestTemplateProfilesExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // - QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE - Tests *[]RequestSensorsCreateSensorTestTemplateProfilesTests `json:"tests,omitempty"` // - ProfileName string `json:"profileName,omitempty"` // Profile name - DeviceType string `json:"deviceType,omitempty"` // Device Type - VLAN string `json:"vlan,omitempty"` // VLAN - LocationVLANList *[]RequestSensorsCreateSensorTestTemplateProfilesLocationVLANList `json:"locationVlanList,omitempty"` // +type RequestSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value *int `json:"value,omitempty"` // Value } -type RequestSensorsCreateSensorTestTemplateProfilesExtWebAuthHTMLTag struct { - Label string `json:"label,omitempty"` // Label - Tag string `json:"tag,omitempty"` // Tag - Value string `json:"value,omitempty"` // Value +type RequestSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order } -type RequestSensorsCreateSensorTestTemplateProfilesTests struct { - Name string `json:"name,omitempty"` // Name of the test - Config *[]RequestSensorsCreateSensorTestTemplateProfilesTestsConfig `json:"config,omitempty"` // +type RequestSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeFilters `json:"filters,omitempty"` // + + Page *RequestSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimePage `json:"page,omitempty"` // } -type RequestSensorsCreateSensorTestTemplateProfilesTestsConfig struct { - Domains []string `json:"domains,omitempty"` // DNS domain name - Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server - UserName string `json:"userName,omitempty"` // User name - Password string `json:"password,omitempty"` // Password - URL string `json:"url,omitempty"` // URL - Port *int `json:"port,omitempty"` // Radius or WEB server port - Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) - Servers []string `json:"servers,omitempty"` // IPerf server list - Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) - StartPort *int `json:"startPort,omitempty"` // IPerf start port - EndPort *int `json:"endPort,omitempty"` // IPerf end port - UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth - ProbeType string `json:"probeType,omitempty"` // Probe type - NumPackets *int `json:"numPackets,omitempty"` // Number of packets - PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer - TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) - SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret - NdtServer string `json:"ndtServer,omitempty"` // NDT server - NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port - NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path - UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test - DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test - ProxyServer string `json:"proxyServer,omitempty"` // Proxy server - ProxyPort string `json:"proxyPort,omitempty"` // Proxy port - ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name - ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password - UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt - PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt - ExitCommand string `json:"exitCommand,omitempty"` // Exit command - FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt +type RequestSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value *int `json:"value,omitempty"` // Value +} +type RequestSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimePage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order +} +type RequestSensorsEditSensorTestTemplate struct { + TemplateName string `json:"templateName,omitempty"` // The test template name that is to be edited + + Name string `json:"name,omitempty"` // The sensor test template name, which is the same as in 'templateName' + TypeID string `json:"_id,omitempty"` // The sensor test template unique identifier, generated at test creation time + + Version *int `json:"version,omitempty"` // The sensor test template version (must be 2) + + ModelVersion *int `json:"modelVersion,omitempty"` // Test template object model version (must be 2) + + StartTime *int `json:"startTime,omitempty"` // Start time + + LastModifiedTime *int `json:"lastModifiedTime,omitempty"` // Last modify time + + NumAssociatedSensor *int `json:"numAssociatedSensor,omitempty"` // Number of associated sensor + + Location string `json:"location,omitempty"` // Location string + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site hierarchy + + Status string `json:"status,omitempty"` // Status of the test (RUNNING, NOTRUNNING) + + Connection string `json:"connection,omitempty"` // connection type of test: WIRED, WIRELESS, BOTH + + ActionInProgress string `json:"actionInProgress,omitempty"` // Indication of inprogress action + + Frequency *RequestSensorsEditSensorTestTemplateFrequency `json:"frequency,omitempty"` // + + RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold + + NumNeighborApThreshold *int `json:"numNeighborAPThreshold,omitempty"` // Number of neighboring AP threshold + + ScheduleInDays *int `json:"scheduleInDays,omitempty"` // Bit-wise value of scheduled test days + + WLANs []string `json:"wlans,omitempty"` // WLANs list + + SSIDs *[]RequestSensorsEditSensorTestTemplateSSIDs `json:"ssids,omitempty"` // + + Profiles *[]RequestSensorsEditSensorTestTemplateProfiles `json:"profiles,omitempty"` // + + TestScheduleMode string `json:"testScheduleMode,omitempty"` // Test schedule mode (ONDEMAND, DEDICATED, SCHEDULED, CONTINUOUS, RUNNOW) + + ShowWlcUpgradeBanner *bool `json:"showWlcUpgradeBanner,omitempty"` // Show WLC upgrade banner + + RadioAsSensorRemoved *bool `json:"radioAsSensorRemoved,omitempty"` // Radio as sensor removed + + EncryptionMode string `json:"encryptionMode,omitempty"` // Encryption mode + + RunNow string `json:"runNow,omitempty"` // Run now (YES, NO) + + LocationInfoList *[]RequestSensorsEditSensorTestTemplateLocationInfoList `json:"locationInfoList,omitempty"` // + + Sensors *[]RequestSensorsEditSensorTestTemplateSensors `json:"sensors,omitempty"` // + + ApCoverage *[]RequestSensorsEditSensorTestTemplateApCoverage `json:"apCoverage,omitempty"` // +} +type RequestSensorsEditSensorTestTemplateFrequency struct { + Value *int `json:"value,omitempty"` // Value of the unit + + Unit string `json:"unit,omitempty"` // Unit of the time value (NANOSECONDS, MICROSECONDS, MILLISECONDS, SECONDS, MINUTES, HOURS, DAYS) +} +type RequestSensorsEditSensorTestTemplateSSIDs struct { + Bands string `json:"bands,omitempty"` // WIFI bands: 2.4GHz or 5GHz + + SSID string `json:"ssid,omitempty"` // The SSID string + + ProfileName string `json:"profileName,omitempty"` // The SSID profile name string + + NumAps *int `json:"numAps,omitempty"` // Number of APs in the test + + NumSensors *int `json:"numSensors,omitempty"` // Number of Sensors in the test + + Layer3WebAuthsecurity string `json:"layer3webAuthsecurity,omitempty"` // Layer 3 WEB Auth security + + Layer3WebAuthuserName string `json:"layer3webAuthuserName,omitempty"` // Layer 3 WEB Auth user name + + Layer3WebAuthpassword string `json:"layer3webAuthpassword,omitempty"` // Layer 3 WEB Auth password + + Layer3WebAuthEmailAddress string `json:"layer3webAuthEmailAddress,omitempty"` // Layer 3 WEB Auth email address + + ThirdParty *RequestSensorsEditSensorTestTemplateSSIDsThirdParty `json:"thirdParty,omitempty"` // + + ID *int `json:"id,omitempty"` // Identification number + + WLANID *int `json:"wlanId,omitempty"` // WLAN ID + + Wlc string `json:"wlc,omitempty"` // WLC IP addres + + ValidFrom *int `json:"validFrom,omitempty"` // Valid From UTC timestamp + + ValidTo *int `json:"validTo,omitempty"` // Valid To UTC timestamp + + Status string `json:"status,omitempty"` // WLAN status: ENABLED or DISABLED + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server for onboarding SSID + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy server port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy server user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy server password + + AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EAP, WEB_AUTH, MAB, DOT1X, OTHER + + Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII + + Username string `json:"username,omitempty"` // User name string for onboarding SSID + + Password string `json:"password,omitempty"` // Password string for onboarding SSID + + PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX + + EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC + + Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable + + AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol + + Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name + + Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS + + Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE + + Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase + + Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL + + ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP + + ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth + + WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list + + ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal + + ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL + + ExtWebAuthHTMLTag *[]RequestSensorsEditSensorTestTemplateSSIDsExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // + + QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE + + Tests *[]RequestSensorsEditSensorTestTemplateSSIDsTests `json:"tests,omitempty"` // +} +type RequestSensorsEditSensorTestTemplateSSIDsThirdParty struct { + Selected *bool `json:"selected,omitempty"` // true: the SSID is third party +} +type RequestSensorsEditSensorTestTemplateSSIDsExtWebAuthHTMLTag struct { + Label string `json:"label,omitempty"` // Label + + Tag string `json:"tag,omitempty"` // Tag + + Value string `json:"value,omitempty"` // Value +} +type RequestSensorsEditSensorTestTemplateSSIDsTests struct { + Name string `json:"name,omitempty"` // Name of the test + + Config *[]RequestSensorsEditSensorTestTemplateSSIDsTestsConfig `json:"config,omitempty"` // +} +type RequestSensorsEditSensorTestTemplateSSIDsTestsConfig struct { + Domains []string `json:"domains,omitempty"` // DNS domain name + + Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server + + UserName string `json:"userName,omitempty"` // User name + + Password string `json:"password,omitempty"` // Password + + URL string `json:"url,omitempty"` // URL + + Port *int `json:"port,omitempty"` // Radius or WEB server port + + Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) + + Servers []string `json:"servers,omitempty"` // IPerf server list + + Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) + + StartPort *int `json:"startPort,omitempty"` // IPerf start port + + EndPort *int `json:"endPort,omitempty"` // IPerf end port + + UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth + + ProbeType string `json:"probeType,omitempty"` // Probe type + + NumPackets *int `json:"numPackets,omitempty"` // Number of packets + + PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer + + TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret + + NdtServer string `json:"ndtServer,omitempty"` // NDT server + + NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port + + NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path + + UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test + + DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password + + UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt + + PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt + + ExitCommand string `json:"exitCommand,omitempty"` // Exit command + + FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt +} +type RequestSensorsEditSensorTestTemplateProfiles struct { + AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EAP, WEB_AUTH, MAB, DOT1X, OTHER + + Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII + + Username string `json:"username,omitempty"` // User name string for onboarding SSID + + Password string `json:"password,omitempty"` // Password string for onboarding SSID + + PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX + + EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC + + Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable + + AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol + + Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name + + Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS + + Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE + + Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase + + Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL + + ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP + + ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth + + WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list + + ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal + + ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL + + ExtWebAuthHTMLTag *[]RequestSensorsEditSensorTestTemplateProfilesExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // + + QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE + + Tests *[]RequestSensorsEditSensorTestTemplateProfilesTests `json:"tests,omitempty"` // + + ProfileName string `json:"profileName,omitempty"` // Profile name + + DeviceType string `json:"deviceType,omitempty"` // Device Type + + VLAN string `json:"vlan,omitempty"` // VLAN + + LocationVLANList *[]RequestSensorsEditSensorTestTemplateProfilesLocationVLANList `json:"locationVlanList,omitempty"` // +} +type RequestSensorsEditSensorTestTemplateProfilesExtWebAuthHTMLTag struct { + Label string `json:"label,omitempty"` // Label + + Tag string `json:"tag,omitempty"` // Tag + + Value string `json:"value,omitempty"` // Value +} +type RequestSensorsEditSensorTestTemplateProfilesTests struct { + Name string `json:"name,omitempty"` // Name of the test + + Config *[]RequestSensorsEditSensorTestTemplateProfilesTestsConfig `json:"config,omitempty"` // +} +type RequestSensorsEditSensorTestTemplateProfilesTestsConfig struct { + Domains []string `json:"domains,omitempty"` // DNS domain name + + Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server + + UserName string `json:"userName,omitempty"` // User name + + Password string `json:"password,omitempty"` // Password + + URL string `json:"url,omitempty"` // URL + + Port *int `json:"port,omitempty"` // Radius or WEB server port + + Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) + + Servers []string `json:"servers,omitempty"` // IPerf server list + + Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) + + StartPort *int `json:"startPort,omitempty"` // IPerf start port + + EndPort *int `json:"endPort,omitempty"` // IPerf end port + + UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth + + ProbeType string `json:"probeType,omitempty"` // Probe type + + NumPackets *int `json:"numPackets,omitempty"` // Number of packets + + PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer + + TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret + + NdtServer string `json:"ndtServer,omitempty"` // NDT server + + NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port + + NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path + + UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test + + DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password + + UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt + + PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt + + ExitCommand string `json:"exitCommand,omitempty"` // Exit command + + FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt +} +type RequestSensorsEditSensorTestTemplateProfilesLocationVLANList struct { + LocationID string `json:"locationId,omitempty"` // Site UUID + + VLANs []string `json:"vlans,omitempty"` // Array of VLANs +} +type RequestSensorsEditSensorTestTemplateLocationInfoList struct { + LocationID string `json:"locationId,omitempty"` // Site UUID + + LocationType string `json:"locationType,omitempty"` // Site type + + AllSensors *bool `json:"allSensors,omitempty"` // Use all sensors in the site for test + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site name hierarhy + + MacAddressList []string `json:"macAddressList,omitempty"` // MAC addresses + + ManagementVLAN string `json:"managementVlan,omitempty"` // Management VLAN + + CustomManagementVLAN *bool `json:"customManagementVlan,omitempty"` // Custom Management VLAN +} +type RequestSensorsEditSensorTestTemplateSensors struct { + Name string `json:"name,omitempty"` // Sensor name + + MacAddress string `json:"macAddress,omitempty"` // MAC address + + SwitchMac string `json:"switchMac,omitempty"` // Switch MAC address + + SwitchUUID string `json:"switchUuid,omitempty"` // Switch device UUID + + SwitchSerialNumber string `json:"switchSerialNumber,omitempty"` // Switch serial number + + MarkedForUninstall *bool `json:"markedForUninstall,omitempty"` // Is marked for uninstall + + IPAddress string `json:"ipAddress,omitempty"` // IP address + + HostName string `json:"hostName,omitempty"` // Host name + + WiredApplicationStatus string `json:"wiredApplicationStatus,omitempty"` // Wired application status + + WiredApplicationMessage string `json:"wiredApplicationMessage,omitempty"` // Wired application message + + Assigned *bool `json:"assigned,omitempty"` // Is assigned + + Status string `json:"status,omitempty"` // Sensor device status: UP, DOWN, REBOOT + + XorSensor *bool `json:"xorSensor,omitempty"` // Is XOR sensor + + TargetAPs []string `json:"targetAPs,omitempty"` // Array of target APs + + RunNow string `json:"runNow,omitempty"` // Run now: YES, NO + + LocationID string `json:"locationId,omitempty"` // Site UUID + + AllSensorAddition *bool `json:"allSensorAddition,omitempty"` // Is all sensor addition + + ConfigUpdated string `json:"configUpdated,omitempty"` // Configuration updated: YES, NO + + SensorType string `json:"sensorType,omitempty"` // Sensor type + + TestMacAddresses *RequestSensorsEditSensorTestTemplateSensorsTestMacAddresses `json:"testMacAddresses,omitempty"` // A string-string test MAC address + + ID string `json:"id,omitempty"` // Sensor ID + + ServicePolicy string `json:"servicePolicy,omitempty"` // Service policy + + IPerfInfo *RequestSensorsEditSensorTestTemplateSensorsIPerfInfo `json:"iPerfInfo,omitempty"` // A string-stringList iPerf information +} +type RequestSensorsEditSensorTestTemplateSensorsTestMacAddresses interface{} +type RequestSensorsEditSensorTestTemplateSensorsIPerfInfo interface{} +type RequestSensorsEditSensorTestTemplateApCoverage struct { + Bands string `json:"bands,omitempty"` // The WIFI bands + + NumberOfApsToTest *int `json:"numberOfApsToTest,omitempty"` // Number of APs to test + + RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold +} +type RequestSensorsCreatesAnICapConfigurationIntentForPreviewApprove []RequestItemSensorsCreatesAnICapConfigurationIntentForPreviewApprove // Array of RequestSensorsCreatesAnICAPConfigurationIntentForPreviewApprove +type RequestItemSensorsCreatesAnICapConfigurationIntentForPreviewApprove struct { + CaptureType string `json:"captureType,omitempty"` // Capture Type + + DurationInMins *int `json:"durationInMins,omitempty"` // Duration In Mins + + ClientMac string `json:"clientMac,omitempty"` // Client Mac + + WlcID string `json:"wlcId,omitempty"` // Wlc Id + + APID string `json:"apId,omitempty"` // Ap Id + + Slot *[]float64 `json:"slot,omitempty"` // Slot + + OtaBand string `json:"otaBand,omitempty"` // Ota Band + + OtaChannel *int `json:"otaChannel,omitempty"` // Ota Channel + + OtaChannelWidth *int `json:"otaChannelWidth,omitempty"` // Ota Channel Width +} +type RequestSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice struct { + object string `json:"object,omitempty"` // object +} +type RequestSensorsDeploysTheICapConfigurationIntentByActivityID struct { + object string `json:"object,omitempty"` // object +} +type RequestSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntent struct { + object string `json:"object,omitempty"` // object +} +type RequestSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove []RequestItemSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove // Array of RequestSensorsDeploysTheGivenICAPConfigurationIntentWithoutPreviewAndApprove +type RequestItemSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove struct { + CaptureType string `json:"captureType,omitempty"` // Capture Type + + DurationInMins *int `json:"durationInMins,omitempty"` // Duration In Mins + + ClientMac string `json:"clientMac,omitempty"` // Client Mac + + WlcID string `json:"wlcId,omitempty"` // Wlc Id + + APID string `json:"apId,omitempty"` // Ap Id + + Slot *[]float64 `json:"slot,omitempty"` // Slot + + OtaBand string `json:"otaBand,omitempty"` // Ota Band + + OtaChannel *int `json:"otaChannel,omitempty"` // Ota Channel + + OtaChannelWidth *int `json:"otaChannelWidth,omitempty"` // Ota Channel Width +} +type RequestSensorsRemoveTheICapConfigurationOnTheDeviceWithoutPreview struct { + object string `json:"object,omitempty"` // object +} +type RequestSensorsCreateSensorTestTemplate struct { + Name string `json:"name,omitempty"` // The sensor test template name + + Version *int `json:"version,omitempty"` // The sensor test template version (must be 2) + + ModelVersion *int `json:"modelVersion,omitempty"` // Test template object model version (must be 2) + + Connection string `json:"connection,omitempty"` // connection type of test: WIRED, WIRELESS, BOTH + + SSIDs *[]RequestSensorsCreateSensorTestTemplateSSIDs `json:"ssids,omitempty"` // + + Profiles *[]RequestSensorsCreateSensorTestTemplateProfiles `json:"profiles,omitempty"` // + + EncryptionMode string `json:"encryptionMode,omitempty"` // Encryption mode + + RunNow string `json:"runNow,omitempty"` // Run now (YES, NO) + + LocationInfoList *[]RequestSensorsCreateSensorTestTemplateLocationInfoList `json:"locationInfoList,omitempty"` // + + Sensors *[]RequestSensorsCreateSensorTestTemplateSensors `json:"sensors,omitempty"` // + + ApCoverage *[]RequestSensorsCreateSensorTestTemplateApCoverage `json:"apCoverage,omitempty"` // +} +type RequestSensorsCreateSensorTestTemplateSSIDs struct { + Bands string `json:"bands,omitempty"` // WIFI bands: 2.4GHz or 5GHz + + SSID string `json:"ssid,omitempty"` // The SSID string + + ProfileName string `json:"profileName,omitempty"` // The SSID profile name string + + Layer3WebAuthsecurity string `json:"layer3webAuthsecurity,omitempty"` // Layer 3 WEB Auth security + + Layer3WebAuthuserName string `json:"layer3webAuthuserName,omitempty"` // Layer 3 WEB Auth user name + + Layer3WebAuthpassword string `json:"layer3webAuthpassword,omitempty"` // Layer 3 WEB Auth password + + Layer3WebAuthEmailAddress string `json:"layer3webAuthEmailAddress,omitempty"` // Layer 3 WEB Auth email address + + ThirdParty *RequestSensorsCreateSensorTestTemplateSSIDsThirdParty `json:"thirdParty,omitempty"` // + + WLANID *int `json:"wlanId,omitempty"` // WLAN ID + + Wlc string `json:"wlc,omitempty"` // WLC IP addres + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server for onboarding SSID + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy server port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy server user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy server password + + AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER + + Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII + + Username string `json:"username,omitempty"` // User name string for onboarding SSID + + Password string `json:"password,omitempty"` // Password string for onboarding SSID + + PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX + + EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC + + Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable + + AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol + + Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name + + Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS + + Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE + + Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase + + Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL + + ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP + + ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth + + WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list + + ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal + + ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL + + ExtWebAuthHTMLTag *[]RequestSensorsCreateSensorTestTemplateSSIDsExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // + + QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE + + Tests *[]RequestSensorsCreateSensorTestTemplateSSIDsTests `json:"tests,omitempty"` // +} +type RequestSensorsCreateSensorTestTemplateSSIDsThirdParty struct { + Selected *bool `json:"selected,omitempty"` // true: the SSID is third party +} +type RequestSensorsCreateSensorTestTemplateSSIDsExtWebAuthHTMLTag struct { + Label string `json:"label,omitempty"` // Label + + Tag string `json:"tag,omitempty"` // Tag + + Value string `json:"value,omitempty"` // Value +} +type RequestSensorsCreateSensorTestTemplateSSIDsTests struct { + Name string `json:"name,omitempty"` // Name of the test + + Config *[]RequestSensorsCreateSensorTestTemplateSSIDsTestsConfig `json:"config,omitempty"` // +} +type RequestSensorsCreateSensorTestTemplateSSIDsTestsConfig struct { + Domains []string `json:"domains,omitempty"` // DNS domain name + + Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server + + UserName string `json:"userName,omitempty"` // User name + + Password string `json:"password,omitempty"` // Password + + URL string `json:"url,omitempty"` // URL + + Port *int `json:"port,omitempty"` // Radius or WEB server port + + Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) + + Servers []string `json:"servers,omitempty"` // IPerf server list + + Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) + + StartPort *int `json:"startPort,omitempty"` // IPerf start port + + EndPort *int `json:"endPort,omitempty"` // IPerf end port + + UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth + + ProbeType string `json:"probeType,omitempty"` // Probe type + + NumPackets *int `json:"numPackets,omitempty"` // Number of packets + + PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer + + TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret + + NdtServer string `json:"ndtServer,omitempty"` // NDT server + + NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port + + NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path + + UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test + + DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password + + UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt + + PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt + + ExitCommand string `json:"exitCommand,omitempty"` // Exit command + + FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt +} +type RequestSensorsCreateSensorTestTemplateProfiles struct { + AuthType string `json:"authType,omitempty"` // Authentication type: OPEN, WPA2_PSK, WPA2_EaP, WEB_AUTH, MAB, DOT1X, OTHER + + Psk string `json:"psk,omitempty"` // Password of SSID when passwordType is ASCII + + Username string `json:"username,omitempty"` // User name string for onboarding SSID + + Password string `json:"password,omitempty"` // Password string for onboarding SSID + + PasswordType string `json:"passwordType,omitempty"` // SSID password type: ASCII or HEX + + EapMethod string `json:"eapMethod,omitempty"` // WPA2_EAP methods: EAP-FAST, PEAP-MSCHAPv2, EAP-TLS, PEAP-TLS, EAP-TTLS-MSCHAPv2, EAP-TTLS-PAP, EAP-TTLS-CHAP, EAP-FAST-GTC, EAP-PEAP-GTC + + Scep *bool `json:"scep,omitempty"` // Secure certificate enrollment protocol: true or false or null for not applicable + + AuthProtocol string `json:"authProtocol,omitempty"` // Auth protocol + + Certfilename string `json:"certfilename,omitempty"` // Auth certificate file name + + Certxferprotocol string `json:"certxferprotocol,omitempty"` // Certificate transfering protocol: HTTP or HTTPS + + Certstatus string `json:"certstatus,omitempty"` // Certificate status: INACTIVE or ACTIVE + + Certpassphrase string `json:"certpassphrase,omitempty"` // Certificate password phrase + + Certdownloadurl string `json:"certdownloadurl,omitempty"` // Certificate download URL + + ExtWebAuthVirtualIP string `json:"extWebAuthVirtualIp,omitempty"` // External WEB Auth virtual IP + + ExtWebAuth *bool `json:"extWebAuth,omitempty"` // Indication of using external WEB Auth + + WhiteList *bool `json:"whiteList,omitempty"` // Indication of being on allowed list + + ExtWebAuthPortal string `json:"extWebAuthPortal,omitempty"` // External authentication portal + + ExtWebAuthAccessURL string `json:"extWebAuthAccessUrl,omitempty"` // External WEB Auth access URL + + ExtWebAuthHTMLTag *[]RequestSensorsCreateSensorTestTemplateProfilesExtWebAuthHTMLTag `json:"extWebAuthHtmlTag,omitempty"` // + + QosPolicy string `json:"qosPolicy,omitempty"` // QoS policy: PlATINUM, GOLD, SILVER, BRONZE + + Tests *[]RequestSensorsCreateSensorTestTemplateProfilesTests `json:"tests,omitempty"` // + + ProfileName string `json:"profileName,omitempty"` // Profile name + + DeviceType string `json:"deviceType,omitempty"` // Device Type + + VLAN string `json:"vlan,omitempty"` // VLAN + + LocationVLANList *[]RequestSensorsCreateSensorTestTemplateProfilesLocationVLANList `json:"locationVlanList,omitempty"` // +} +type RequestSensorsCreateSensorTestTemplateProfilesExtWebAuthHTMLTag struct { + Label string `json:"label,omitempty"` // Label + + Tag string `json:"tag,omitempty"` // Tag + + Value string `json:"value,omitempty"` // Value +} +type RequestSensorsCreateSensorTestTemplateProfilesTests struct { + Name string `json:"name,omitempty"` // Name of the test + + Config *[]RequestSensorsCreateSensorTestTemplateProfilesTestsConfig `json:"config,omitempty"` // +} +type RequestSensorsCreateSensorTestTemplateProfilesTestsConfig struct { + Domains []string `json:"domains,omitempty"` // DNS domain name + + Server string `json:"server,omitempty"` // Ping, file transfer, mail, radius, ssh, or telnet server + + UserName string `json:"userName,omitempty"` // User name + + Password string `json:"password,omitempty"` // Password + + URL string `json:"url,omitempty"` // URL + + Port *int `json:"port,omitempty"` // Radius or WEB server port + + Protocol string `json:"protocol,omitempty"` // Protocol used by file transfer, IPerf, mail server, and radius (TCP, UDP, FTP, POP3, IMAP, CHAP, PAP) + + Servers []string `json:"servers,omitempty"` // IPerf server list + + Direction string `json:"direction,omitempty"` // IPerf direction (UPLOAD, DOWNLOAD, BOTH) + + StartPort *int `json:"startPort,omitempty"` // IPerf start port + + EndPort *int `json:"endPort,omitempty"` // IPerf end port + + UDPBandwidth *int `json:"udpBandwidth,omitempty"` // IPerf UDP bandwidth + + ProbeType string `json:"probeType,omitempty"` // Probe type + + NumPackets *int `json:"numPackets,omitempty"` // Number of packets + + PathToDownload string `json:"pathToDownload,omitempty"` // File path for file transfer + + TransferType string `json:"transferType,omitempty"` // File transfer type (UPLOAD, DOWNLOAD, BOTH) + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret + + NdtServer string `json:"ndtServer,omitempty"` // NDT server + + NdtServerPort string `json:"ndtServerPort,omitempty"` // NDT server port + + NdtServerPath string `json:"ndtServerPath,omitempty"` // NDT server path + + UplinkTest *bool `json:"uplinkTest,omitempty"` // Uplink test + + DownlinkTest *bool `json:"downlinkTest,omitempty"` // Downlink test + + ProxyServer string `json:"proxyServer,omitempty"` // Proxy server + + ProxyPort string `json:"proxyPort,omitempty"` // Proxy port + + ProxyUserName string `json:"proxyUserName,omitempty"` // Proxy user name + + ProxyPassword string `json:"proxyPassword,omitempty"` // Proxy password + + UserNamePrompt string `json:"userNamePrompt,omitempty"` // User name prompt + + PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password prompt + + ExitCommand string `json:"exitCommand,omitempty"` // Exit command + + FinalPrompt string `json:"finalPrompt,omitempty"` // Final prompt } type RequestSensorsCreateSensorTestTemplateProfilesLocationVLANList struct { - LocationID string `json:"locationId,omitempty"` // Site UUID - VLANs []string `json:"vlans,omitempty"` // Array of VLANs + LocationID string `json:"locationId,omitempty"` // Site UUID + + VLANs []string `json:"vlans,omitempty"` // Array of VLANs +} +type RequestSensorsCreateSensorTestTemplateLocationInfoList struct { + LocationID string `json:"locationId,omitempty"` // Site UUID + + LocationType string `json:"locationType,omitempty"` // Site type + + AllSensors *bool `json:"allSensors,omitempty"` // Use all sensors in the site for test + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site name hierarhy + + MacAddressList []string `json:"macAddressList,omitempty"` // MAC addresses + + ManagementVLAN string `json:"managementVlan,omitempty"` // Management VLAN + + CustomManagementVLAN *bool `json:"customManagementVlan,omitempty"` // Custom Management VLAN +} +type RequestSensorsCreateSensorTestTemplateSensors struct { + Name string `json:"name,omitempty"` // Sensor name + + MacAddress string `json:"macAddress,omitempty"` // MAC address + + SwitchMac string `json:"switchMac,omitempty"` // Switch MAC address + + SwitchUUID string `json:"switchUuid,omitempty"` // Switch device UUID + + SwitchSerialNumber string `json:"switchSerialNumber,omitempty"` // Switch serial number + + MarkedForUninstall *bool `json:"markedForUninstall,omitempty"` // Is marked for uninstall + + IPAddress string `json:"ipAddress,omitempty"` // IP address + + HostName string `json:"hostName,omitempty"` // Host name + + WiredApplicationStatus string `json:"wiredApplicationStatus,omitempty"` // Wired application status + + WiredApplicationMessage string `json:"wiredApplicationMessage,omitempty"` // Wired application message + + Assigned *bool `json:"assigned,omitempty"` // Is assigned + + Status string `json:"status,omitempty"` // Sensor device status: UP, DOWN, REBOOT + + XorSensor *bool `json:"xorSensor,omitempty"` // Is XOR sensor + + TargetAPs []string `json:"targetAPs,omitempty"` // Array of target APs + + RunNow string `json:"runNow,omitempty"` // Run now: YES, NO + + LocationID string `json:"locationId,omitempty"` // Site UUID + + AllSensorAddition *bool `json:"allSensorAddition,omitempty"` // Is all sensor addition + + ConfigUpdated string `json:"configUpdated,omitempty"` // Configuration updated: YES, NO + + SensorType string `json:"sensorType,omitempty"` // Sensor type + + TestMacAddresses *RequestSensorsCreateSensorTestTemplateSensorsTestMacAddresses `json:"testMacAddresses,omitempty"` // A string-string test MAC address + + ID string `json:"id,omitempty"` // Sensor ID + + ServicePolicy string `json:"servicePolicy,omitempty"` // Service policy + + IPerfInfo *RequestSensorsCreateSensorTestTemplateSensorsIPerfInfo `json:"iPerfInfo,omitempty"` // A string-stringList iPerf information +} +type RequestSensorsCreateSensorTestTemplateSensorsTestMacAddresses interface{} +type RequestSensorsCreateSensorTestTemplateSensorsIPerfInfo interface{} +type RequestSensorsCreateSensorTestTemplateApCoverage struct { + Bands string `json:"bands,omitempty"` // The WIFI bands + + NumberOfApsToTest *int `json:"numberOfApsToTest,omitempty"` // Number of APs to test + + RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold +} +type RequestSensorsRunNowSensorTest struct { + TemplateName string `json:"templateName,omitempty"` // Template Name +} +type RequestSensorsDuplicateSensorTestTemplate struct { + TemplateName string `json:"templateName,omitempty"` // Source test template name + + NewTemplateName string `json:"newTemplateName,omitempty"` // Destination test template name +} + +//ListsICapPacketCaptureFilesMatchingSpecifiedCriteria Lists ICAP packet capture files matching specified criteria - b88d-fbd6-4639-9b2f +/* Lists the ICAP packet capture (pcap) files matching the specified criteria. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-icap-1.0.0-resolved.yaml + + +@param ListsICAPPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams Custom header parameters +@param ListsICAPPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!lists-i-cap-packet-capture-files-matching-specified-criteria +*/ +func (s *SensorsService) ListsICapPacketCaptureFilesMatchingSpecifiedCriteria(ListsICAPPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams *ListsICapPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams, ListsICAPPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams *ListsICapPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams) (*ResponseSensorsListsICapPacketCaptureFilesMatchingSpecifiedCriteria, *resty.Response, error) { + path := "/dna/data/api/v1/icap/captureFiles" + + queryString, _ := query.Values(ListsICAPPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ListsICAPPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams != nil { + + if ListsICAPPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ListsICAPPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSensorsListsICapPacketCaptureFilesMatchingSpecifiedCriteria{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ListsICapPacketCaptureFilesMatchingSpecifiedCriteria(ListsICAPPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams, ListsICAPPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams) + } + return nil, response, fmt.Errorf("error with operation ListsICapPacketCaptureFilesMatchingSpecifiedCriteria") + } + + result := response.Result().(*ResponseSensorsListsICapPacketCaptureFilesMatchingSpecifiedCriteria) + return result, response, err + +} + +//RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteria Retrieves the total number of packet capture files matching specified criteria - 5483-e972-4b1a-98c6 +/* Retrieves the total number of packet capture files matching the specified criteria. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-icap-1.0.0-resolved.yaml + + +@param RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams Custom header parameters +@param RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-number-of-packet-capture-files-matching-specified-criteria +*/ +func (s *SensorsService) RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteria(RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams *RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams, RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams *RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams) (*ResponseSensorsRetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteria, *resty.Response, error) { + path := "/dna/data/api/v1/icap/captureFiles/count" + + queryString, _ := query.Values(RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams != nil { + + if RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSensorsRetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteria{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteria(RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaHeaderParams, RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteria") + } + + result := response.Result().(*ResponseSensorsRetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteria) + return result, response, err + +} + +//RetrievesDetailsOfASpecificICapPacketCaptureFile Retrieves details of a specific ICAP packet capture file - 7bb7-5afe-4cc8-be27 +/* Retrieves details of a specific ICAP packet capture file. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-icap-1.0.0-resolved.yaml + + +@param id id path parameter. The name of the packet capture file, as given by the GET /captureFiles API response. + +@param RetrievesDetailsOfASpecificICAPPacketCaptureFileHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-details-of-a-specific-i-cap-packet-capture-file +*/ +func (s *SensorsService) RetrievesDetailsOfASpecificICapPacketCaptureFile(id string, RetrievesDetailsOfASpecificICAPPacketCaptureFileHeaderParams *RetrievesDetailsOfASpecificICapPacketCaptureFileHeaderParams) (*ResponseSensorsRetrievesDetailsOfASpecificICapPacketCaptureFile, *resty.Response, error) { + path := "/dna/data/api/v1/icap/captureFiles/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesDetailsOfASpecificICAPPacketCaptureFileHeaderParams != nil { + + if RetrievesDetailsOfASpecificICAPPacketCaptureFileHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesDetailsOfASpecificICAPPacketCaptureFileHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetResult(&ResponseSensorsRetrievesDetailsOfASpecificICapPacketCaptureFile{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesDetailsOfASpecificICapPacketCaptureFile(id, RetrievesDetailsOfASpecificICAPPacketCaptureFileHeaderParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesDetailsOfASpecificICapPacketCaptureFile") + } + + result := response.Result().(*ResponseSensorsRetrievesDetailsOfASpecificICapPacketCaptureFile) + return result, response, err + +} + +//DownloadsASpecificICapPacketCaptureFile Downloads a specific ICAP packet capture file - 47b2-db4f-4468-ba5d +/* Downloads a specific ICAP packet capture file. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-icap-1.0.0-resolved.yaml + + +@param id id path parameter. The name of the packet capture file, as given by the GET /captureFiles API response. + +@param DownloadsASpecificICAPPacketCaptureFileHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!downloads-a-specific-i-cap-packet-capture-file +*/ +func (s *SensorsService) DownloadsASpecificICapPacketCaptureFile(id string, DownloadsASpecificICAPPacketCaptureFileHeaderParams *DownloadsASpecificICapPacketCaptureFileHeaderParams) (*ResponseSensorsDownloadsASpecificICapPacketCaptureFile, *resty.Response, error) { + path := "/dna/data/api/v1/icap/captureFiles/{id}/download" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if DownloadsASpecificICAPPacketCaptureFileHeaderParams != nil { + + if DownloadsASpecificICAPPacketCaptureFileHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", DownloadsASpecificICAPPacketCaptureFileHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetResult(&ResponseSensorsDownloadsASpecificICapPacketCaptureFile{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DownloadsASpecificICapPacketCaptureFile(id, DownloadsASpecificICAPPacketCaptureFileHeaderParams) + } + return nil, response, fmt.Errorf("error with operation DownloadsASpecificICapPacketCaptureFile") + } + + result := response.Result().(*ResponseSensorsDownloadsASpecificICapPacketCaptureFile) + return result, response, err + +} + +//RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMac Retrieves the spectrum interference devices reports sent by WLC for provided AP Mac - 78a6-8aec-4278-8cdc +/* Retrieves the spectrum interference devices reports sent by WLC for provided AP Mac. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-icap-1.0.0-resolved.yaml + + +@param RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedAPMacHeaderParams Custom header parameters +@param RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedAPMacQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-spectrum-interference-devices-reports-sent-by-w-l-c-for-provided-ap-mac +*/ +func (s *SensorsService) RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMac(RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedAPMacHeaderParams *RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMacHeaderParams, RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedAPMacQueryParams *RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMacQueryParams) (*ResponseSensorsRetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMac, *resty.Response, error) { + path := "/dna/data/api/v1/icap/spectrumInterferenceDeviceReports" + + queryString, _ := query.Values(RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedAPMacQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedAPMacHeaderParams != nil { + + if RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedAPMacHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedAPMacHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSensorsRetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMac{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMac(RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedAPMacHeaderParams, RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedAPMacQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMac") + } + + result := response.Result().(*ResponseSensorsRetrievesTheSpectrumInterferenceDevicesReportsSentByWLCForProvidedApMac) + return result, response, err + +} + +//RetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMac Retrieves the spectrum sensor reports sent by WLC for provided AP Mac - f583-d956-4c1a-8cc3 +/* Retrieves the spectrum sensor reports sent by WLC for provided AP Mac. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-icap-1.0.0-resolved.yaml + + +@param RetrievesTheSpectrumSensorReportsSentByWLCForProvidedAPMacHeaderParams Custom header parameters +@param RetrievesTheSpectrumSensorReportsSentByWLCForProvidedAPMacQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-spectrum-sensor-reports-sent-by-w-l-c-for-provided-ap-mac +*/ +func (s *SensorsService) RetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMac(RetrievesTheSpectrumSensorReportsSentByWLCForProvidedAPMacHeaderParams *RetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMacHeaderParams, RetrievesTheSpectrumSensorReportsSentByWLCForProvidedAPMacQueryParams *RetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMacQueryParams) (*ResponseSensorsRetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMac, *resty.Response, error) { + path := "/dna/data/api/v1/icap/spectrumSensorReports" + + queryString, _ := query.Values(RetrievesTheSpectrumSensorReportsSentByWLCForProvidedAPMacQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheSpectrumSensorReportsSentByWLCForProvidedAPMacHeaderParams != nil { + + if RetrievesTheSpectrumSensorReportsSentByWLCForProvidedAPMacHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheSpectrumSensorReportsSentByWLCForProvidedAPMacHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSensorsRetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMac{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMac(RetrievesTheSpectrumSensorReportsSentByWLCForProvidedAPMacHeaderParams, RetrievesTheSpectrumSensorReportsSentByWLCForProvidedAPMacQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMac") + } + + result := response.Result().(*ResponseSensorsRetrievesTheSpectrumSensorReportsSentByWLCForProvidedApMac) + return result, response, err + +} + +//RetrievesDeployedICapConfigurationsWhileSupportingBasicFiltering Retrieves deployed ICAP configurations while supporting basic filtering. - c780-8b33-44c8-858c +/* Retrieves deployed ICAP configurations while supporting basic filtering. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param RetrievesDeployedICAPConfigurationsWhileSupportingBasicFilteringQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-deployed-i-cap-configurations-while-supporting-basic-filtering +*/ +func (s *SensorsService) RetrievesDeployedICapConfigurationsWhileSupportingBasicFiltering(RetrievesDeployedICAPConfigurationsWhileSupportingBasicFilteringQueryParams *RetrievesDeployedICapConfigurationsWhileSupportingBasicFilteringQueryParams) (*ResponseSensorsRetrievesDeployedICapConfigurationsWhileSupportingBasicFiltering, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings" + + queryString, _ := query.Values(RetrievesDeployedICAPConfigurationsWhileSupportingBasicFilteringQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSensorsRetrievesDeployedICapConfigurationsWhileSupportingBasicFiltering{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesDeployedICapConfigurationsWhileSupportingBasicFiltering(RetrievesDeployedICAPConfigurationsWhileSupportingBasicFilteringQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesDeployedICapConfigurationsWhileSupportingBasicFiltering") + } + + result := response.Result().(*ResponseSensorsRetrievesDeployedICapConfigurationsWhileSupportingBasicFiltering) + return result, response, err + +} + +//GetICapConfigurationStatusPerNetworkDevice Get ICAP configuration status per network device. - 5291-5b76-46ab-98eb +/* Get ICAP configuration status per network device using the activity ID, which was returned in property "taskId" of the TaskResponse of the POST. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param previewActivityID previewActivityId path parameter. activity from the POST /deviceConfigugrationModels task response + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-i-cap-configuration-status-per-network-device +*/ +func (s *SensorsService) GetICapConfigurationStatusPerNetworkDevice(previewActivityID string) (*ResponseSensorsGetICapConfigurationStatusPerNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings/configurationModels/{previewActivityId}/networkDeviceStatusDetails" + path = strings.Replace(path, "{previewActivityId}", fmt.Sprintf("%v", previewActivityID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseSensorsGetICapConfigurationStatusPerNetworkDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetICapConfigurationStatusPerNetworkDevice(previewActivityID) + } + return nil, response, fmt.Errorf("error with operation GetICapConfigurationStatusPerNetworkDevice") + } + + result := response.Result().(*ResponseSensorsGetICapConfigurationStatusPerNetworkDevice) + return result, response, err + +} + +//RetrievesTheDevicesClisOfTheICapintent Retrieves the device's CLIs of the ICAP intent. - 4288-bbf8-4b59-8fcf +/* Returns the device's CLIs of the ICAP intent. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param previewActivityID previewActivityId path parameter. activity from the POST /deviceConfigugrationModels task response + +@param networkDeviceID networkDeviceId path parameter. device id from intent/api/v1/network-device + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-devices-clis-of-the-i-capintent +*/ +func (s *SensorsService) RetrievesTheDevicesClisOfTheICapintent(previewActivityID string, networkDeviceID string) (*ResponseSensorsRetrievesTheDevicesClisOfTheICapintent, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config" + path = strings.Replace(path, "{previewActivityId}", fmt.Sprintf("%v", previewActivityID), -1) + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseSensorsRetrievesTheDevicesClisOfTheICapintent{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheDevicesClisOfTheICapintent(previewActivityID, networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheDevicesClisOfTheICapintent") + } + + result := response.Result().(*ResponseSensorsRetrievesTheDevicesClisOfTheICapintent) + return result, response, err + +} + +//RetrievesTheCountOfDeployedICapConfigurationsWhileSupportingBasicFiltering Retrieves the count of deployed ICAP configurations while supporting basic filtering. - 46b9-694b-41ca-8155 +/* Retrieves the count of deployed ICAP configurations while supporting basic filtering. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param RetrievesTheCountOfDeployedICAPConfigurationsWhileSupportingBasicFilteringQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-deployed-i-cap-configurations-while-supporting-basic-filtering +*/ +func (s *SensorsService) RetrievesTheCountOfDeployedICapConfigurationsWhileSupportingBasicFiltering(RetrievesTheCountOfDeployedICAPConfigurationsWhileSupportingBasicFilteringQueryParams *RetrievesTheCountOfDeployedICapConfigurationsWhileSupportingBasicFilteringQueryParams) (*ResponseSensorsRetrievesTheCountOfDeployedICapConfigurationsWhileSupportingBasicFiltering, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings/count" + + queryString, _ := query.Values(RetrievesTheCountOfDeployedICAPConfigurationsWhileSupportingBasicFilteringQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSensorsRetrievesTheCountOfDeployedICapConfigurationsWhileSupportingBasicFiltering{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheCountOfDeployedICapConfigurationsWhileSupportingBasicFiltering(RetrievesTheCountOfDeployedICAPConfigurationsWhileSupportingBasicFilteringQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheCountOfDeployedICapConfigurationsWhileSupportingBasicFiltering") + } + + result := response.Result().(*ResponseSensorsRetrievesTheCountOfDeployedICapConfigurationsWhileSupportingBasicFiltering) + return result, response, err + +} + +//GetDeviceDeploymentStatus Get device deployment status. - 5aa1-1ac0-4d28-af86 +/* Retrieves ICAP configuration deployment status(s) per device based on filter criteria. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param GetDeviceDeploymentStatusQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-deployment-status +*/ +func (s *SensorsService) GetDeviceDeploymentStatus(GetDeviceDeploymentStatusQueryParams *GetDeviceDeploymentStatusQueryParams) (*ResponseSensorsGetDeviceDeploymentStatus, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings/deviceDeployments" + + queryString, _ := query.Values(GetDeviceDeploymentStatusQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSensorsGetDeviceDeploymentStatus{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDeviceDeploymentStatus(GetDeviceDeploymentStatusQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetDeviceDeploymentStatus") + } + + result := response.Result().(*ResponseSensorsGetDeviceDeploymentStatus) + return result, response, err + +} + +//GetDeviceDeploymentStatusCount Get device deployment status count. - 6d80-6a7b-4459-a1a3 +/* Returns the count of device deployment status(s) based on filter criteria. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param GetDeviceDeploymentStatusCountQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-deployment-status-count +*/ +func (s *SensorsService) GetDeviceDeploymentStatusCount(GetDeviceDeploymentStatusCountQueryParams *GetDeviceDeploymentStatusCountQueryParams) (*ResponseSensorsGetDeviceDeploymentStatusCount, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings/deviceDeployments/count" + + queryString, _ := query.Values(GetDeviceDeploymentStatusCountQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSensorsGetDeviceDeploymentStatusCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDeviceDeploymentStatusCount(GetDeviceDeploymentStatusCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetDeviceDeploymentStatusCount") + } + + result := response.Result().(*ResponseSensorsGetDeviceDeploymentStatusCount) + return result, response, err + +} + +//Sensors Sensors - 71a1-2bb7-4569-9cc5 +/* Intent API to get a list of SENSOR devices + + +@param SensorsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!sensors +*/ +func (s *SensorsService) Sensors(SensorsQueryParams *SensorsQueryParams) (*ResponseSensorsSensors, *resty.Response, error) { + path := "/dna/intent/api/v1/sensor" + + queryString, _ := query.Values(SensorsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSensorsSensors{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.Sensors(SensorsQueryParams) + } + return nil, response, fmt.Errorf("error with operation Sensors") + } + + result := response.Result().(*ResponseSensorsSensors) + return result, response, err + } -type RequestSensorsCreateSensorTestTemplateLocationInfoList struct { - LocationID string `json:"locationId,omitempty"` // Site UUID - LocationType string `json:"locationType,omitempty"` // Site type - AllSensors *bool `json:"allSensors,omitempty"` // Use all sensors in the site for test - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site name hierarhy - MacAddressList []string `json:"macAddressList,omitempty"` // MAC addresses - ManagementVLAN string `json:"managementVlan,omitempty"` // Management VLAN - CustomManagementVLAN *bool `json:"customManagementVlan,omitempty"` // Custom Management VLAN + +//RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime Retrieves specific client statistics over specified period of time. - 8e8d-29bf-4019-95fb +/* Retrieves the time series statistics of a specific client by applying complex filters. If startTime and endTime are not provided, the API defaults to the last 24 hours. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-icap-1.0.0-resolved.yaml + + +@param id id path parameter. id is the client mac address. It can be specified in one of the notational conventions 01:23:45:67:89:AB or 01-23-45-67-89-AB or 0123.4567.89AB and is case insensitive + +@param RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-specific-client-statistics-over-specified-period-of-time +*/ +func (s *SensorsService) RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime(id string, requestSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime *RequestSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime, RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeHeaderParams *RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeHeaderParams) (*ResponseSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime, *resty.Response, error) { + path := "/dna/data/api/v1/icap/clients/{id}/stats" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeHeaderParams != nil { + + if RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime). + SetResult(&ResponseSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime(id, requestSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime, RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation RetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime") + } + + result := response.Result().(*ResponseSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTime) + return result, response, err + } -type RequestSensorsCreateSensorTestTemplateSensors struct { - Name string `json:"name,omitempty"` // Sensor name - MacAddress string `json:"macAddress,omitempty"` // MAC address - SwitchMac string `json:"switchMac,omitempty"` // Switch MAC address - SwitchUUID string `json:"switchUuid,omitempty"` // Switch device UUID - SwitchSerialNumber string `json:"switchSerialNumber,omitempty"` // Switch serial number - MarkedForUninstall *bool `json:"markedForUninstall,omitempty"` // Is marked for uninstall - IPAddress string `json:"ipAddress,omitempty"` // IP address - HostName string `json:"hostName,omitempty"` // Host name - WiredApplicationStatus string `json:"wiredApplicationStatus,omitempty"` // Wired application status - WiredApplicationMessage string `json:"wiredApplicationMessage,omitempty"` // Wired application message - Assigned *bool `json:"assigned,omitempty"` // Is assigned - Status string `json:"status,omitempty"` // Sensor device status: UP, DOWN, REBOOT - XorSensor *bool `json:"xorSensor,omitempty"` // Is XOR sensor - TargetAPs []string `json:"targetAPs,omitempty"` // Array of target APs - RunNow string `json:"runNow,omitempty"` // Run now: YES, NO - LocationID string `json:"locationId,omitempty"` // Site UUID - AllSensorAddition *bool `json:"allSensorAddition,omitempty"` // Is all sensor addition - ConfigUpdated string `json:"configUpdated,omitempty"` // Configuration updated: YES, NO - SensorType string `json:"sensorType,omitempty"` // Sensor type - TestMacAddresses *RequestSensorsCreateSensorTestTemplateSensorsTestMacAddresses `json:"testMacAddresses,omitempty"` // A string-string test MAC address - ID string `json:"id,omitempty"` // Sensor ID - ServicePolicy string `json:"servicePolicy,omitempty"` // Service policy - IPerfInfo *RequestSensorsCreateSensorTestTemplateSensorsIPerfInfo `json:"iPerfInfo,omitempty"` // A string-stringList iPerf information + +//RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime Retrieves specific radio statistics over specified period of time. - 9fac-b838-4c29-b3b5 +/* Retrieves the time series statistics of a specific radio by applying complex filters. If startTime and endTime are not provided, the API defaults to the last 24 hours. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-icap-1.0.0-resolved.yaml + + +@param id id path parameter. id is the composite key made of AP Base Ethernet macAddress and Radio Slot Id. Format apMac_RadioId + +@param RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-specific-radio-statistics-over-specified-period-of-time +*/ +func (s *SensorsService) RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime(id string, requestSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime *RequestSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime, RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeHeaderParams *RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeHeaderParams) (*ResponseSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime, *resty.Response, error) { + path := "/dna/data/api/v1/icap/radios/{id}/stats" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeHeaderParams != nil { + + if RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime). + SetResult(&ResponseSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime(id, requestSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime, RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation RetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime") + } + + result := response.Result().(*ResponseSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTime) + return result, response, err + } -type RequestSensorsCreateSensorTestTemplateSensorsTestMacAddresses interface{} -type RequestSensorsCreateSensorTestTemplateSensorsIPerfInfo interface{} -type RequestSensorsCreateSensorTestTemplateApCoverage struct { - Bands string `json:"bands,omitempty"` // The WIFI bands - NumberOfApsToTest *int `json:"numberOfApsToTest,omitempty"` // Number of APs to test - RssiThreshold *int `json:"rssiThreshold,omitempty"` // RSSI threshold + +//CreatesAnICapConfigurationIntentForPreviewApprove Creates an ICAP configuration intent for preview-approve. - be85-b906-4ea8-acfa +/* This creates an ICAP configuration intent for preview approval. The intent is not deployed to the device until further preview-approve APIs are applied. This API is the first step in the preview-approve workflow, which consists of several APIs. Skipping any API in the process is not recommended for a complete preview-approve use case. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param CreatesAnICAPConfigurationIntentForPreviewApproveQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-an-i-cap-configuration-intent-for-preview-approve +*/ +func (s *SensorsService) CreatesAnICapConfigurationIntentForPreviewApprove(requestSensorsCreatesAnICAPConfigurationIntentForPreviewApprove *RequestSensorsCreatesAnICapConfigurationIntentForPreviewApprove, CreatesAnICAPConfigurationIntentForPreviewApproveQueryParams *CreatesAnICapConfigurationIntentForPreviewApproveQueryParams) (*ResponseSensorsCreatesAnICapConfigurationIntentForPreviewApprove, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings/configurationModels" + + queryString, _ := query.Values(CreatesAnICAPConfigurationIntentForPreviewApproveQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetBody(requestSensorsCreatesAnICAPConfigurationIntentForPreviewApprove). + SetResult(&ResponseSensorsCreatesAnICapConfigurationIntentForPreviewApprove{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreatesAnICapConfigurationIntentForPreviewApprove(requestSensorsCreatesAnICAPConfigurationIntentForPreviewApprove, CreatesAnICAPConfigurationIntentForPreviewApproveQueryParams) + } + + return nil, response, fmt.Errorf("error with operation CreatesAnICapConfigurationIntentForPreviewApprove") + } + + result := response.Result().(*ResponseSensorsCreatesAnICapConfigurationIntentForPreviewApprove) + return result, response, err + } -type RequestSensorsRunNowSensorTest struct { - TemplateName string `json:"templateName,omitempty"` // Template Name + +//CreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice Creates a ICAP configuration workflow for ICAP intent to remove the ICAP configuration on the device. - e681-4857-4298-9079 +/* Creates a ICAP configuration intent to remove the ICAP RFSTATS or ANOMALY configuration from the device. The task has not been applied to the device yet. Subsequent preview-approve workflow APIs must be used to complete the preview-approve process. The path parameter 'id' can be retrieved from **GET /dna/intent/api/v1/icapSettings** API. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param id id path parameter. A unique ID of the deployed ICAP object, which can be obtained from **GET /dna/intent/api/v1/icapSettings** + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-a-i-cap-configuration-workflow-for-i-capintent-to-remove-the-i-cap-configuration-on-the-device +*/ +func (s *SensorsService) CreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice(id string, requestSensorsCreatesAICAPConfigurationWorkflowForICAPIntentToRemoveTheICAPConfigurationOnTheDevice *RequestSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice) (*ResponseSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings/configurationModels/{id}/deleteDeploy" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSensorsCreatesAICAPConfigurationWorkflowForICAPIntentToRemoveTheICAPConfigurationOnTheDevice). + SetResult(&ResponseSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice(id, requestSensorsCreatesAICAPConfigurationWorkflowForICAPIntentToRemoveTheICAPConfigurationOnTheDevice) + } + + return nil, response, fmt.Errorf("error with operation CreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice") + } + + result := response.Result().(*ResponseSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice) + return result, response, err + } -type RequestSensorsDuplicateSensorTestTemplate struct { - TemplateName string `json:"templateName,omitempty"` // Source test template name - NewTemplateName string `json:"newTemplateName,omitempty"` // Destination test template name + +//DeploysTheICapConfigurationIntentByActivityID Deploys the ICAP configuration intent by activity ID. - f58e-6b46-42ba-ae2f +/* Deploys the ICAP configuration intent by activity ID, which was returned in property "taskId" of the TaskResponse of the POST. POST'ing the intent prior to generating the intent CLI for preview-approve has the same effect as direct-deploy'ing the intent to the device. +Generating of device's CLIs for preview-approve is not available for this activity ID after using this POST API. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param previewActivityID previewActivityId path parameter. activity from the POST /deviceConfigugrationModels task response + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deploys-the-i-cap-configuration-intent-by-activity-id +*/ +func (s *SensorsService) DeploysTheICapConfigurationIntentByActivityID(previewActivityID string, requestSensorsDeploysTheICAPConfigurationIntentByActivityID *RequestSensorsDeploysTheICapConfigurationIntentByActivityID) (*ResponseSensorsDeploysTheICapConfigurationIntentByActivityID, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings/configurationModels/{previewActivityId}/deploy" + path = strings.Replace(path, "{previewActivityId}", fmt.Sprintf("%v", previewActivityID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSensorsDeploysTheICAPConfigurationIntentByActivityID). + SetResult(&ResponseSensorsDeploysTheICapConfigurationIntentByActivityID{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.DeploysTheICapConfigurationIntentByActivityID(previewActivityID, requestSensorsDeploysTheICAPConfigurationIntentByActivityID) + } + + return nil, response, fmt.Errorf("error with operation DeploysTheICapConfigurationIntentByActivityId") + } + + result := response.Result().(*ResponseSensorsDeploysTheICapConfigurationIntentByActivityID) + return result, response, err + } -//Sensors Sensors - 71a1-2bb7-4569-9cc5 -/* Intent API to get a list of SENSOR devices +//GeneratesTheDevicesClisOfTheICapConfigurationIntent Generates the device's CLIs of the ICAP configuration intent. - e1b2-aaf0-4358-9325 +/* Generates the device's CLIs of the ICAP intent for preview and approve prior to deploying the ICAP configuration intent to the device. After deploying the configuration intent, generating intent CLIs will not be available for preview. -@param SensorsQueryParams Filtering parameter +@param previewActivityID previewActivityId path parameter. activity from the POST /deviceConfigugrationModels task response + +@param networkDeviceID networkDeviceId path parameter. device id from intent/api/v1/network-device + -Documentation Link: https://developer.cisco.com/docs/dna-center/#!sensors-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!generates-the-devices-clis-of-the-i-cap-configuration-intent */ -func (s *SensorsService) Sensors(SensorsQueryParams *SensorsQueryParams) (*ResponseSensorsSensors, *resty.Response, error) { - path := "/dna/intent/api/v1/sensor" +func (s *SensorsService) GeneratesTheDevicesClisOfTheICapConfigurationIntent(previewActivityID string, networkDeviceID string, requestSensorsGeneratesTheDevicesCLIsOfTheICAPConfigurationIntent *RequestSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntent) (*ResponseSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntent, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config" + path = strings.Replace(path, "{previewActivityId}", fmt.Sprintf("%v", previewActivityID), -1) + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) - queryString, _ := query.Values(SensorsQueryParams) + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSensorsGeneratesTheDevicesCLIsOfTheICAPConfigurationIntent). + SetResult(&ResponseSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntent{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.GeneratesTheDevicesClisOfTheICapConfigurationIntent(previewActivityID, networkDeviceID, requestSensorsGeneratesTheDevicesCLIsOfTheICAPConfigurationIntent) + } + + return nil, response, fmt.Errorf("error with operation GeneratesTheDevicesClisOfTheICapConfigurationIntent") + } + + result := response.Result().(*ResponseSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntent) + return result, response, err + +} + +//DeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove Deploys the given ICAP configuration intent without preview and approve. - 78ba-0a27-4808-b722 +/* Deploys the given ICAP intent without preview and approval. The response body contains a task object with a taskId and a URL for more information about the task. The deployment status of this ICAP intent can be found in the output of the URL. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param DeploysTheGivenICAPConfigurationIntentWithoutPreviewAndApproveQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deploys-the-given-i-cap-configuration-intent-without-preview-and-approve +*/ +func (s *SensorsService) DeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove(requestSensorsDeploysTheGivenICAPConfigurationIntentWithoutPreviewAndApprove *RequestSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove, DeploysTheGivenICAPConfigurationIntentWithoutPreviewAndApproveQueryParams *DeploysTheGivenICapConfigurationIntentWithoutPreviewAndApproveQueryParams) (*ResponseSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings/deploy" + + queryString, _ := query.Values(DeploysTheGivenICAPConfigurationIntentWithoutPreviewAndApproveQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSensorsSensors{}). + SetQueryString(queryString.Encode()).SetBody(requestSensorsDeploysTheGivenICAPConfigurationIntentWithoutPreviewAndApprove). + SetResult(&ResponseSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -1236,13 +3464,55 @@ func (s *SensorsService) Sensors(SensorsQueryParams *SensorsQueryParams) (*Respo } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.Sensors(SensorsQueryParams) + return s.DeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove(requestSensorsDeploysTheGivenICAPConfigurationIntentWithoutPreviewAndApprove, DeploysTheGivenICAPConfigurationIntentWithoutPreviewAndApproveQueryParams) } - return nil, response, fmt.Errorf("error with operation Sensors") + + return nil, response, fmt.Errorf("error with operation DeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove") } - result := response.Result().(*ResponseSensorsSensors) + result := response.Result().(*ResponseSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove) + return result, response, err + +} + +//RemoveTheICapConfigurationOnTheDeviceWithoutPreview Remove the ICAP configuration on the device without preview - 779f-7b3d-40e9-b736 +/* Remove the ICAP configuration from the device by *id* without preview-deploy. The path parameter *id* can be retrieved from the **GET /dna/intent/api/v1/icapSettings** API. The response body contains a task object with a taskId and a URL. Use the URL to check the task status. ICAP FULL, ONBOARDING, OTA, and SPECTRUM configurations have a durationInMins field. A disable task is scheduled to remove the configuration from the device. Removing the ICAP intent should be done after the pre-scheduled disable task has been deployed. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param id id path parameter. A unique ID of the deployed ICAP object, which can be obtained from **GET /dna/intent/api/v1/icapSettings** + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-the-i-cap-configuration-on-the-device-without-preview +*/ +func (s *SensorsService) RemoveTheICapConfigurationOnTheDeviceWithoutPreview(id string, requestSensorsRemoveTheICAPConfigurationOnTheDeviceWithoutPreview *RequestSensorsRemoveTheICapConfigurationOnTheDeviceWithoutPreview) (*ResponseSensorsRemoveTheICapConfigurationOnTheDeviceWithoutPreview, *resty.Response, error) { + path := "/dna/intent/api/v1/icapSettings/deploy/{id}/deleteDeploy" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSensorsRemoveTheICAPConfigurationOnTheDeviceWithoutPreview). + SetResult(&ResponseSensorsRemoveTheICapConfigurationOnTheDeviceWithoutPreview{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.RemoveTheICapConfigurationOnTheDeviceWithoutPreview(id, requestSensorsRemoveTheICAPConfigurationOnTheDeviceWithoutPreview) + } + + return nil, response, fmt.Errorf("error with operation RemoveTheICapConfigurationOnTheDeviceWithoutPreview") + } + + result := response.Result().(*ResponseSensorsRemoveTheICapConfigurationOnTheDeviceWithoutPreview) return result, response, err } @@ -1252,7 +3522,7 @@ func (s *SensorsService) Sensors(SensorsQueryParams *SensorsQueryParams) (*Respo -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-sensor-test-template-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-sensor-test-template */ func (s *SensorsService) CreateSensorTestTemplate(requestSensorsCreateSensorTestTemplate *RequestSensorsCreateSensorTestTemplate) (*ResponseSensorsCreateSensorTestTemplate, *resty.Response, error) { path := "/dna/intent/api/v1/sensor" @@ -1381,13 +3651,52 @@ func (s *SensorsService) DuplicateSensorTestTemplate(requestSensorsDuplicateSens } +//DiscardsTheICapConfigurationIntentByActivityID Discards the ICAP configuration intent by activity ID. - 02b1-1ba1-4afb-9155 +/* Discard the ICAP configuration intent by activity ID, which was returned in TaskResponse's property "taskId" at the beginning of the preview-approve workflow. Discarding the intent can only be applied to intent activities that have not been deployed. +Note that ICAP type FULL, ONBOARDING, OTA, and SPECTRUM for the scheduled-disabled task cannot be discarded or cancelled because they have already deployed. The feature can only be disabled by sending in a direct-deploy DELETE with API /dna/intent/api/v1/icapSettings/deploy/deployedId/{icapDeployedId} For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-ICAP_APIs-1.0.0-resolved.yaml + + +@param previewActivityID previewActivityId path parameter. activity from the POST /deviceConfigugrationModels task response + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!discards-the-i-cap-configuration-intent-by-activity-id +*/ +func (s *SensorsService) DiscardsTheICapConfigurationIntentByActivityID(previewActivityID string) (*ResponseSensorsDiscardsTheICapConfigurationIntentByActivityID, *resty.Response, error) { + //previewActivityID string + path := "/dna/intent/api/v1/icapSettings/configurationModels/{previewActivityId}" + path = strings.Replace(path, "{previewActivityId}", fmt.Sprintf("%v", previewActivityID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseSensorsDiscardsTheICapConfigurationIntentByActivityID{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DiscardsTheICapConfigurationIntentByActivityID(previewActivityID) + } + return nil, response, fmt.Errorf("error with operation DiscardsTheICapConfigurationIntentByActivityId") + } + + result := response.Result().(*ResponseSensorsDiscardsTheICapConfigurationIntentByActivityID) + return result, response, err + +} + //DeleteSensorTest Delete sensor test - 5bbb-28ff-442a-825f /* Intent API to delete an existing SENSOR test template @param DeleteSensorTestQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-sensor-test-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-sensor-test */ func (s *SensorsService) DeleteSensorTest(DeleteSensorTestQueryParams *DeleteSensorTestQueryParams) (*ResponseSensorsDeleteSensorTest, *resty.Response, error) { //DeleteSensorTestQueryParams *DeleteSensorTestQueryParams diff --git a/sdk/site_design.go b/sdk/site_design.go index 402fbb1..1949cd7 100644 --- a/sdk/site_design.go +++ b/sdk/site_design.go @@ -14,18 +14,18 @@ type SiteDesignService service type GetSiteAssignedNetworkDevicesQueryParams struct { SiteID string `url:"siteId,omitempty"` //Site Id. It must be area Id or building Id or floor Id. Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. } type GetSiteAssignedNetworkDevicesCountQueryParams struct { SiteID string `url:"siteId,omitempty"` //Site Id. It must be area Id or building Id or floor Id. } type GetSiteNotAssignedNetworkDevicesQueryParams struct { Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. } type RetrievesTheListOfNetworkProfilesForSitesQueryParams struct { Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Type string `url:"type,omitempty"` //Filter responses to only include profiles of a given type @@ -35,444 +35,866 @@ type RetrievesTheCountOfNetworkProfilesForSitesQueryParams struct { } type RetrievesTheListOfSitesThatTheGivenNetworkProfileForSitesIsAssignedToQueryParams struct { Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. } type UnassignsANetworkProfileForSitesFromMultipleSitesQueryParams struct { - SiteID string `url:"siteId,omitempty"` //The `id` of the site, retrievable from `GET /intent/api/v1/sites` + SiteID string `url:"siteId,omitempty"` //The id or ids of the network profile, retrievable from /dna/intent/api/v1/sites.. A list of profile ids can be passed as a queryParameter in two ways: 1. a comma-separated string ( siteId=388a23e9-4739-4be7-a0aa-cc5a95d158dd,2726dc60-3a12-451e-947a-d972ebf58743), or... 2. as separate query parameters with the same name ( siteId=388a23e9-4739-4be7-a0aa-cc5a95d158dd&siteId=2726dc60-3a12-451e-947a-d972ebf58743 } type GetSitesQueryParams struct { - Name string `url:"name,omitempty"` //Site name. - NameHierarchy string `url:"nameHierarchy,omitempty"` //Site name hierarchy. - Type string `url:"type,omitempty"` //Site type. - UnitsOfMeasure string `url:"_unitsOfMeasure,omitempty"` //Floor units of measure - Offset int `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit int `url:"limit,omitempty"` //The number of records to show for this page. + Name string `url:"name,omitempty"` //Site name. + NameHierarchy string `url:"nameHierarchy,omitempty"` //Site name hierarchy. + Type string `url:"type,omitempty"` //Site type. + UnitsOfMeasure string `url:"_unitsOfMeasure,omitempty"` //Floor units of measure + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. } type GetSitesCountQueryParams struct { Name string `url:"name,omitempty"` //Site name. } type RetrievesTheListOfNetworkProfilesThatTheGivenSiteHasBeenAssignedQueryParams struct { Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. +} +type GetAccessPointsPositionsV2QueryParams struct { + Name string `url:"name,omitempty"` //Access Point name. + MacAddress string `url:"macAddress,omitempty"` //Access Point mac address. + Type string `url:"type,omitempty"` //Access Point type. + Model string `url:"model,omitempty"` //Access Point model. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Minimum: 1 + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. +} +type GetAccessPointsPositionsCountV2QueryParams struct { + Name string `url:"name,omitempty"` //Access Point name. + MacAddress string `url:"macAddress,omitempty"` //Access Point mac address. + Type string `url:"type,omitempty"` //Access Point type. + Model string `url:"model,omitempty"` //Access Point model. +} +type GetPlannedAccessPointsPositionsV2QueryParams struct { + Name string `url:"name,omitempty"` //Planned Access Point name. + MacAddress string `url:"macAddress,omitempty"` //Planned Access Point mac address. + Type string `url:"type,omitempty"` //Planned Access Point type. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. Minimum: 1 + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. +} +type GetPlannedAccessPointsPositionsCountV2QueryParams struct { + Name string `url:"name,omitempty"` //Planned Access Point name. + MacAddress string `url:"macAddress,omitempty"` //Planned Access Point mac address. + Type string `url:"type,omitempty"` //Planned Access Point type. } type GetsAFloorV2QueryParams struct { UnitsOfMeasure string `url:"_unitsOfMeasure,omitempty"` //Floor units of measure } type ResponseSiteDesignCreatesAnArea struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignCreatesAnAreaResponse `json:"response,omitempty"` // } type ResponseSiteDesignCreatesAnAreaResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignUpdatesAnArea struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignUpdatesAnAreaResponse `json:"response,omitempty"` // } type ResponseSiteDesignUpdatesAnAreaResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignDeletesAnArea struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignDeletesAnAreaResponse `json:"response,omitempty"` // } type ResponseSiteDesignDeletesAnAreaResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignGetsAnArea struct { Response *ResponseSiteDesignGetsAnAreaResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSiteDesignGetsAnAreaResponse struct { - ID string `json:"id,omitempty"` // Aread Id. Read only. - Name string `json:"name,omitempty"` // Area name + ID string `json:"id,omitempty"` // Aread Id. Read only. + + Name string `json:"name,omitempty"` // Area name + NameHierarchy string `json:"nameHierarchy,omitempty"` // Area hierarchical name. Read only. - ParentID string `json:"parentId,omitempty"` // Parent Id - Type string `json:"type,omitempty"` // Site Type. + + ParentID string `json:"parentId,omitempty"` // Parent Id + + Type string `json:"type,omitempty"` // Site Type. } type ResponseSiteDesignAssignNetworkDevicesToASite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignAssignNetworkDevicesToASiteResponse `json:"response,omitempty"` // } type ResponseSiteDesignAssignNetworkDevicesToASiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignGetSiteAssignedNetworkDevices struct { Response *[]ResponseSiteDesignGetSiteAssignedNetworkDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSiteDesignGetSiteAssignedNetworkDevicesResponse struct { - DeviceID string `json:"deviceId,omitempty"` // Site assigned network device Id. - SiteID string `json:"siteId,omitempty"` // Site Id where device has been assigned. + DeviceID string `json:"deviceId,omitempty"` // Site assigned network device Id. + + SiteID string `json:"siteId,omitempty"` // Site Id where device has been assigned. + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site name hierarchy - SiteType string `json:"siteType,omitempty"` // Type of the site where device has been assigned. + + SiteType string `json:"siteType,omitempty"` // Type of the site where device has been assigned. } type ResponseSiteDesignGetSiteAssignedNetworkDevicesCount struct { Response *ResponseSiteDesignGetSiteAssignedNetworkDevicesCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response + + Version string `json:"version,omitempty"` // The version of the response } type ResponseSiteDesignGetSiteAssignedNetworkDevicesCountResponse struct { Count *int `json:"count,omitempty"` // The total number of records related to the resource } type ResponseSiteDesignGetDeviceControllabilitySettings struct { Response *ResponseSiteDesignGetDeviceControllabilitySettingsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSiteDesignGetDeviceControllabilitySettingsResponse struct { AutocorrectTelemetryConfig *bool `json:"autocorrectTelemetryConfig,omitempty"` // If it is true, autocorrect telemetry config is enabled. If it is false, autocorrect telemetry config is disabled. The autocorrect telemetry config feature is supported only when device controllability is enabled. - DeviceControllability *bool `json:"deviceControllability,omitempty"` // If it is true, device controllability is enabled. If it is false, device controllability is disabled. + + DeviceControllability *bool `json:"deviceControllability,omitempty"` // If it is true, device controllability is enabled. If it is false, device controllability is disabled. } type ResponseSiteDesignUpdateDeviceControllabilitySettings struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignUpdateDeviceControllabilitySettingsResponse `json:"response,omitempty"` // } type ResponseSiteDesignUpdateDeviceControllabilitySettingsResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignGetSiteNotAssignedNetworkDevices struct { Response *ResponseSiteDesignGetSiteNotAssignedNetworkDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSiteDesignGetSiteNotAssignedNetworkDevicesResponse struct { DeviceIDs []string `json:"deviceIds,omitempty"` // Network device Ids. } type ResponseSiteDesignGetSiteNotAssignedNetworkDevicesCount struct { Response *ResponseSiteDesignGetSiteNotAssignedNetworkDevicesCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response + + Version string `json:"version,omitempty"` // The version of the response } type ResponseSiteDesignGetSiteNotAssignedNetworkDevicesCountResponse struct { Count *int `json:"count,omitempty"` // The total number of records related to the resource } type ResponseSiteDesignUnassignNetworkDevicesFromSites struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignUnassignNetworkDevicesFromSitesResponse `json:"response,omitempty"` // } type ResponseSiteDesignUnassignNetworkDevicesFromSitesResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignGetSiteAssignedNetworkDevice struct { Response *ResponseSiteDesignGetSiteAssignedNetworkDeviceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSiteDesignGetSiteAssignedNetworkDeviceResponse struct { - DeviceID string `json:"deviceId,omitempty"` // Site assigned network device Id. - SiteID string `json:"siteId,omitempty"` // Site Id where device has been assigned. + DeviceID string `json:"deviceId,omitempty"` // Site assigned network device Id. + + SiteID string `json:"siteId,omitempty"` // Site Id where device has been assigned. + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site name hierarchy - SiteType string `json:"siteType,omitempty"` // Type of the site where device has been assigned. + + SiteType string `json:"siteType,omitempty"` // Type of the site where device has been assigned. } type ResponseSiteDesignRetrievesTheListOfNetworkProfilesForSites struct { Response *[]ResponseSiteDesignRetrievesTheListOfNetworkProfilesForSitesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSiteDesignRetrievesTheListOfNetworkProfilesForSitesResponse struct { - ID string `json:"id,omitempty"` // The ID of this network profile. + ID string `json:"id,omitempty"` // The ID of this network profile. + Name string `json:"name,omitempty"` // The name of the network profile. + Type string `json:"type,omitempty"` // Type } type ResponseSiteDesignRetrievesTheCountOfNetworkProfilesForSites struct { Response *ResponseSiteDesignRetrievesTheCountOfNetworkProfilesForSitesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSiteDesignRetrievesTheCountOfNetworkProfilesForSitesResponse struct { Count *int `json:"count,omitempty"` // Count } type ResponseSiteDesignDeletesANetworkProfileForSites struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignDeletesANetworkProfileForSitesResponse `json:"response,omitempty"` // } type ResponseSiteDesignDeletesANetworkProfileForSitesResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignRetrieveANetworkProfileForSitesByID struct { Response *ResponseSiteDesignRetrieveANetworkProfileForSitesByIDResponse `json:"response,omitempty"` // } type ResponseSiteDesignRetrieveANetworkProfileForSitesByIDResponse struct { - ID string `json:"id,omitempty"` // The ID of this network profile. + ID string `json:"id,omitempty"` // The ID of this network profile. + Name string `json:"name,omitempty"` // The name of the network profile. + Type string `json:"type,omitempty"` // Type } type ResponseSiteDesignAssignANetworkProfileForSitesToTheGivenSite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignAssignANetworkProfileForSitesToTheGivenSiteResponse `json:"response,omitempty"` // } type ResponseSiteDesignAssignANetworkProfileForSitesToTheGivenSiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignRetrievesTheListOfSitesThatTheGivenNetworkProfileForSitesIsAssignedTo struct { Response *[]ResponseSiteDesignRetrievesTheListOfSitesThatTheGivenNetworkProfileForSitesIsAssignedToResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSiteDesignRetrievesTheListOfSitesThatTheGivenNetworkProfileForSitesIsAssignedToResponse struct { ID string `json:"id,omitempty"` // Id } type ResponseSiteDesignAssignANetworkProfileForSitesToAListOfSites struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignAssignANetworkProfileForSitesToAListOfSitesResponse `json:"response,omitempty"` // } type ResponseSiteDesignAssignANetworkProfileForSitesToAListOfSitesResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignUnassignsANetworkProfileForSitesFromMultipleSites struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignUnassignsANetworkProfileForSitesFromMultipleSitesResponse `json:"response,omitempty"` // } type ResponseSiteDesignUnassignsANetworkProfileForSitesFromMultipleSitesResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignRetrievesTheCountOfSitesThatTheGivenNetworkProfileForSitesIsAssignedTo struct { Response *ResponseSiteDesignRetrievesTheCountOfSitesThatTheGivenNetworkProfileForSitesIsAssignedToResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSiteDesignRetrievesTheCountOfSitesThatTheGivenNetworkProfileForSitesIsAssignedToResponse struct { Count *int `json:"count,omitempty"` // Count } type ResponseSiteDesignUnassignsANetworkProfileForSitesFromASite struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignUnassignsANetworkProfileForSitesFromASiteResponse `json:"response,omitempty"` // } type ResponseSiteDesignUnassignsANetworkProfileForSitesFromASiteResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignAssociate struct { - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version + Response *ResponseSiteDesignAssociateResponse `json:"response,omitempty"` // } type ResponseSiteDesignAssociateResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseSiteDesignDisassociate struct { - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version + Response *ResponseSiteDesignDisassociateResponse `json:"response,omitempty"` // } type ResponseSiteDesignDisassociateResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseSiteDesignGetSites struct { Response *[]ResponseSiteDesignGetSitesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSiteDesignGetSitesResponse struct { - NameHierarchy string `json:"nameHierarchy,omitempty"` // Site hierarchical name. Read only. Example: Global/USA/San Jose/Building1 - Name string `json:"name,omitempty"` // Site name. - Latitude *float64 `json:"latitude,omitempty"` // Building Latitude. Example: 37.403712 - Longitude *float64 `json:"longitude,omitempty"` // Building Longitude. Example: -121.971063 - Address string `json:"address,omitempty"` // Building address. Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States - Country string `json:"country,omitempty"` // Country name for the building. - FloorNumber *int `json:"floorNumber,omitempty"` // Floor number - RfModel string `json:"rfModel,omitempty"` // Floor RF Model - Width *float64 `json:"width,omitempty"` // Floor width. Example : 100.5 - Length *float64 `json:"length,omitempty"` // Floor length. Example : 110.3 - Height *float64 `json:"height,omitempty"` // Floor height. Example : 10.1 - UnitsOfMeasure string `json:"unitsOfMeasure,omitempty"` // Floor unit of measure - Type string `json:"type,omitempty"` // Type - ID string `json:"id,omitempty"` // Site Id. Read only. - ParentID string `json:"parentId,omitempty"` // Parent Id. Read only + NameHierarchy string `json:"nameHierarchy,omitempty"` // Site hierarchical name. Read only. Example: Global/USA/San Jose/Building1 + + Name string `json:"name,omitempty"` // Site name. + + Latitude *float64 `json:"latitude,omitempty"` // Building Latitude. Example: 37.403712 + + Longitude *float64 `json:"longitude,omitempty"` // Building Longitude. Example: -121.971063 + + Address string `json:"address,omitempty"` // Building address. Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States + + Country string `json:"country,omitempty"` // Country name for the building. + + FloorNumber *int `json:"floorNumber,omitempty"` // Floor number + + RfModel string `json:"rfModel,omitempty"` // Floor RF Model + + Width *float64 `json:"width,omitempty"` // Floor width. Example : 100.5 + + Length *float64 `json:"length,omitempty"` // Floor length. Example : 110.3 + + Height *float64 `json:"height,omitempty"` // Floor height. Example : 10.1 + + UnitsOfMeasure string `json:"unitsOfMeasure,omitempty"` // Floor unit of measure + + Type string `json:"type,omitempty"` // Type + + ID string `json:"id,omitempty"` // Site Id. Read only. + + ParentID string `json:"parentId,omitempty"` // Parent Id. Read only } type ResponseSiteDesignCreateSites struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignCreateSitesResponse `json:"response,omitempty"` // } type ResponseSiteDesignCreateSitesResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignGetSitesCount []ResponseItemSiteDesignGetSitesCount // Array of ResponseSiteDesignGetSitesCount type ResponseItemSiteDesignGetSitesCount struct { Response *ResponseItemSiteDesignGetSitesCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response + + Version string `json:"version,omitempty"` // The version of the response } type ResponseItemSiteDesignGetSitesCountResponse struct { Count *int `json:"count,omitempty"` // The reported count. } type ResponseSiteDesignRetrievesTheListOfNetworkProfilesThatTheGivenSiteHasBeenAssigned struct { Response *[]ResponseSiteDesignRetrievesTheListOfNetworkProfilesThatTheGivenSiteHasBeenAssignedResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSiteDesignRetrievesTheListOfNetworkProfilesThatTheGivenSiteHasBeenAssignedResponse struct { ID string `json:"id,omitempty"` // Id } type ResponseSiteDesignRetrievesTheCountOfProfilesThatTheGivenSiteHasBeenAssigned struct { Response *ResponseSiteDesignRetrievesTheCountOfProfilesThatTheGivenSiteHasBeenAssignedResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSiteDesignRetrievesTheCountOfProfilesThatTheGivenSiteHasBeenAssignedResponse struct { Count *int `json:"count,omitempty"` // Count } type ResponseSiteDesignCreatesABuildingV2 struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignCreatesABuildingV2Response `json:"response,omitempty"` // } type ResponseSiteDesignCreatesABuildingV2Response struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignUpdatesABuildingV2 struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignUpdatesABuildingV2Response `json:"response,omitempty"` // } type ResponseSiteDesignUpdatesABuildingV2Response struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignDeletesABuildingV2 struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignDeletesABuildingV2Response `json:"response,omitempty"` // } type ResponseSiteDesignDeletesABuildingV2Response struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignGetsABuildingV2 struct { Response *ResponseSiteDesignGetsABuildingV2Response `json:"response,omitempty"` // } type ResponseSiteDesignGetsABuildingV2Response struct { - ParentID string `json:"parentId,omitempty"` // Parent Id - Name string `json:"name,omitempty"` // Building name - Latitude *float64 `json:"latitude,omitempty"` // Building Latitude. Example: 37.403712 + ParentID string `json:"parentId,omitempty"` // Parent Id + + Name string `json:"name,omitempty"` // Building name + + Latitude *float64 `json:"latitude,omitempty"` // Building Latitude. Example: 37.403712 + Longitude *float64 `json:"longitude,omitempty"` // Building Longitude. Example: -121.971063 - Address string `json:"address,omitempty"` // Building address. Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States - Country string `json:"country,omitempty"` // Country name - Type string `json:"type,omitempty"` // Example: building + + Address string `json:"address,omitempty"` // Building address. Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States + + Country string `json:"country,omitempty"` // Country name + + Type string `json:"type,omitempty"` // Example: building } type ResponseSiteDesignCreatesAFloorV2 struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignCreatesAFloorV2Response `json:"response,omitempty"` // } type ResponseSiteDesignCreatesAFloorV2Response struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignUpdatesFloorSettingsV2 struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignUpdatesFloorSettingsV2Response `json:"response,omitempty"` // } type ResponseSiteDesignUpdatesFloorSettingsV2Response struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignGetFloorSettingsV2 struct { Response *ResponseSiteDesignGetFloorSettingsV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSiteDesignGetFloorSettingsV2Response struct { UnitsOfMeasure string `json:"unitsOfMeasure,omitempty"` // Floor units of measure. } +type ResponseSiteDesignGetAccessPointsPositionsV2 struct { + Response *[]ResponseSiteDesignGetAccessPointsPositionsV2Response `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSiteDesignGetAccessPointsPositionsV2Response struct { + ID string `json:"id,omitempty"` // Access Point Id (readonly) + + MacAddress string `json:"macAddress,omitempty"` // Access Point MAC address (readonly) + + Model string `json:"model,omitempty"` // Access Point model (readonly) + + Name string `json:"name,omitempty"` // Access Point Name (readonly) + + Type string `json:"type,omitempty"` // Access Point type (readonly) + + Position *ResponseSiteDesignGetAccessPointsPositionsV2ResponsePosition `json:"position,omitempty"` // + + Radios *[]ResponseSiteDesignGetAccessPointsPositionsV2ResponseRadios `json:"radios,omitempty"` // +} +type ResponseSiteDesignGetAccessPointsPositionsV2ResponsePosition struct { + X *float64 `json:"x,omitempty"` // Access Point X coordinate in feet + + Y *float64 `json:"y,omitempty"` // Access Point Y coordinate in feet + + Z *float64 `json:"z,omitempty"` // Access Point Z coordinate in feet +} +type ResponseSiteDesignGetAccessPointsPositionsV2ResponseRadios struct { + ID string `json:"id,omitempty"` // Radio Id (readonly) + + Bands *[]float64 `json:"bands,omitempty"` // Radio frequencies in GHz (readonly). Radio frequencies are expected to be 2.4, 5, and 6. MinItems: 1; MaxItems: 3 + + Channel *int `json:"channel,omitempty"` // Channel to be used by the Access Point (readonly). The value gets updated only every 24 hours + + TxPower *int `json:"txPower,omitempty"` // Transmit power for the channel in Decibel milliwatts (dBm) (readonly). The value gets updated only every 24 hours + + Antenna *ResponseSiteDesignGetAccessPointsPositionsV2ResponseRadiosAntenna `json:"antenna,omitempty"` // +} +type ResponseSiteDesignGetAccessPointsPositionsV2ResponseRadiosAntenna struct { + Name string `json:"name,omitempty"` // Antenna type for this Access Point. Use `/dna/intent/api/v1/maps/supported-access-points` to find supported Antennas for a particualr Access Point model. + + Azimuth *int `json:"azimuth,omitempty"` // Angle of the antenna, measured relative to the x axis, clockwise. The azimuth range is from 0 through 360 + + Elevation *int `json:"elevation,omitempty"` // Elevation of the antenna. The elevation range is from -90 through 90 +} +type ResponseSiteDesignEditTheAccessPointsPositionsV2 struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseSiteDesignEditTheAccessPointsPositionsV2Response `json:"response,omitempty"` // +} +type ResponseSiteDesignEditTheAccessPointsPositionsV2Response struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseSiteDesignGetAccessPointsPositionsCountV2 struct { + Response *ResponseSiteDesignGetAccessPointsPositionsCountV2Response `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSiteDesignGetAccessPointsPositionsCountV2Response struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseSiteDesignGetPlannedAccessPointsPositionsV2 struct { + Response *[]ResponseSiteDesignGetPlannedAccessPointsPositionsV2Response `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSiteDesignGetPlannedAccessPointsPositionsV2Response struct { + Name string `json:"name,omitempty"` // Planned Access Point Name + + MacAddress string `json:"macAddress,omitempty"` // Planned Access Point MAC address + + Type string `json:"type,omitempty"` // Planned Access Point type. Use `dna/intent/api/v1/maps/supported-access-points` to find the supported models + + Position *ResponseSiteDesignGetPlannedAccessPointsPositionsV2ResponsePosition `json:"position,omitempty"` // + + Radios *[]ResponseSiteDesignGetPlannedAccessPointsPositionsV2ResponseRadios `json:"radios,omitempty"` // + + ID string `json:"id,omitempty"` // Planned Access Point Id (readonly) +} +type ResponseSiteDesignGetPlannedAccessPointsPositionsV2ResponsePosition struct { + X *float64 `json:"x,omitempty"` // Planned Access Point X coordinate in feet + + Y *float64 `json:"y,omitempty"` // Planned Access Point Y coordinate in feet + + Z *float64 `json:"z,omitempty"` // Planned Access Point Z coordinate in feet +} +type ResponseSiteDesignGetPlannedAccessPointsPositionsV2ResponseRadios struct { + Bands *[]float64 `json:"bands,omitempty"` // Radio frequencies in GHz (readonly). Radio frequencies are expected to be 2.4, 5, and 6. MinItems: 1; MaxItems: 3 + + Channel *int `json:"channel,omitempty"` // Channel to be used by the Planned Access Point. In the context of a Planned Access Point, the channel have no bearing on what the real Access Point will actually be, they are just used for Maps visualization feature set + + TxPower *int `json:"txPower,omitempty"` // Transmit power for the channel in Decibel milliwatts (dBm). In the context of a Planned Access Point, the txPower have no bearing on what the real Access Point will actually be, they are just used for Maps visualization feature set + + Antenna *ResponseSiteDesignGetPlannedAccessPointsPositionsV2ResponseRadiosAntenna `json:"antenna,omitempty"` // + + ID string `json:"id,omitempty"` // Radio Id (readonly) +} +type ResponseSiteDesignGetPlannedAccessPointsPositionsV2ResponseRadiosAntenna struct { + Name string `json:"name,omitempty"` // Antenna type for this Planned Access Point. Use `/dna/intent/api/v1/maps/supported-access-points` to find supported Antennas for a particualr Planned Access Point type + + Azimuth *int `json:"azimuth,omitempty"` // Angle of the antenna, measured relative to the x axis, clockwise. The azimuth range is from 0 through 360 + + Elevation *int `json:"elevation,omitempty"` // Elevation of the antenna. The elevation range is from -90 through 90 +} +type ResponseSiteDesignAssignPlannedAccessPointsToOperationsOnesV2 struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseSiteDesignAssignPlannedAccessPointsToOperationsOnesV2Response `json:"response,omitempty"` // +} +type ResponseSiteDesignAssignPlannedAccessPointsToOperationsOnesV2Response struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseSiteDesignAddPlannedAccessPointsPositionsV2 struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseSiteDesignAddPlannedAccessPointsPositionsV2Response `json:"response,omitempty"` // +} +type ResponseSiteDesignAddPlannedAccessPointsPositionsV2Response struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseSiteDesignEditPlannedAccessPointsPositionsV2 struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseSiteDesignEditPlannedAccessPointsPositionsV2Response `json:"response,omitempty"` // +} +type ResponseSiteDesignEditPlannedAccessPointsPositionsV2Response struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} +type ResponseSiteDesignGetPlannedAccessPointsPositionsCountV2 struct { + Response *ResponseSiteDesignGetPlannedAccessPointsPositionsCountV2Response `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseSiteDesignGetPlannedAccessPointsPositionsCountV2Response struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseSiteDesignDeletePlannedAccessPointsPositionV2 struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + + Response *ResponseSiteDesignDeletePlannedAccessPointsPositionV2Response `json:"response,omitempty"` // +} +type ResponseSiteDesignDeletePlannedAccessPointsPositionV2Response struct { + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 +} type ResponseSiteDesignUpdatesAFloorV2 struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignUpdatesAFloorV2Response `json:"response,omitempty"` // } type ResponseSiteDesignUpdatesAFloorV2Response struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSiteDesignGetsAFloorV2 struct { Response *ResponseSiteDesignGetsAFloorV2Response `json:"response,omitempty"` // } type ResponseSiteDesignGetsAFloorV2Response struct { - ParentID string `json:"parentId,omitempty"` // Parent Id. - Name string `json:"name,omitempty"` // Floor name - FloorNumber *int `json:"floorNumber,omitempty"` // Floor number - RfModel string `json:"rfModel,omitempty"` // RF Model - Width *float64 `json:"width,omitempty"` // Floor width. Example : 100.5 - Length *float64 `json:"length,omitempty"` // Floor length. Example : 110.3 - Height *float64 `json:"height,omitempty"` // Floor height. Example : 10.1 - UnitsOfMeasure string `json:"unitsOfMeasure,omitempty"` // Units Of Measure - Type string `json:"type,omitempty"` // Example : floor - ID string `json:"id,omitempty"` // Floor Id. Read only. - NameHierarchy string `json:"nameHierarchy,omitempty"` // Floor hierarchical name. Read only. + ParentID string `json:"parentId,omitempty"` // Parent Id. + + Name string `json:"name,omitempty"` // Floor name + + FloorNumber *int `json:"floorNumber,omitempty"` // Floor number + + RfModel string `json:"rfModel,omitempty"` // RF Model + + Width *float64 `json:"width,omitempty"` // Floor width. Example : 100.5 + + Length *float64 `json:"length,omitempty"` // Floor length. Example : 110.3 + + Height *float64 `json:"height,omitempty"` // Floor height. Example : 10.1 + + UnitsOfMeasure string `json:"unitsOfMeasure,omitempty"` // Units Of Measure + + Type string `json:"type,omitempty"` // Example : floor + + ID string `json:"id,omitempty"` // Floor Id. Read only. + + NameHierarchy string `json:"nameHierarchy,omitempty"` // Floor hierarchical name. Read only. } type ResponseSiteDesignDeletesAFloorV2 struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSiteDesignDeletesAFloorV2Response `json:"response,omitempty"` // } type ResponseSiteDesignDeletesAFloorV2Response struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type RequestSiteDesignCreatesAnArea struct { - Name string `json:"name,omitempty"` // Area name + Name string `json:"name,omitempty"` // Area name + ParentID string `json:"parentId,omitempty"` // Parent Id } type RequestSiteDesignUpdatesAnArea struct { - Name string `json:"name,omitempty"` // Area name + Name string `json:"name,omitempty"` // Area name + ParentID string `json:"parentId,omitempty"` // Parent Id } type RequestSiteDesignAssignNetworkDevicesToASite struct { - DeviceIDs []string `json:"deviceIds,omitempty"` // Unassigned network devices. - SiteID string `json:"siteId,omitempty"` // This must be building Id or floor Id. Access points, Sensors are assigned to floor. Remaining network devices are assigned to building. Site Id can be retrieved using '/intent/api/v1/sites'. + DeviceIDs []string `json:"deviceIds,omitempty"` // Unassigned network devices, ranging from a minimum of 1 to a maximum of 100. + + SiteID string `json:"siteId,omitempty"` // This must be building Id or floor Id. Access points, Sensors are assigned to floor. Remaining network devices are assigned to building. Site Id can be retrieved using '/intent/api/v1/sites'. } type RequestSiteDesignUpdateDeviceControllabilitySettings struct { AutocorrectTelemetryConfig *bool `json:"autocorrectTelemetryConfig,omitempty"` // If it is true, autocorrect telemetry config is enabled. If it is false, autocorrect telemetry config is disabled. The autocorrect telemetry config feature is supported only when device controllability is enabled. - DeviceControllability *bool `json:"deviceControllability,omitempty"` // If it is true, device controllability is enabled. If it is false, device controllability is disabled. + + DeviceControllability *bool `json:"deviceControllability,omitempty"` // If it is true, device controllability is enabled. If it is false, device controllability is disabled. } type RequestSiteDesignUnassignNetworkDevicesFromSites struct { - DeviceIDs []string `json:"deviceIds,omitempty"` // Network device Ids. + DeviceIDs []string `json:"deviceIds,omitempty"` // Network device Ids, ranging from a minimum of 1 to a maximum of 100. } type RequestSiteDesignAssignANetworkProfileForSitesToTheGivenSite struct { ID string `json:"id,omitempty"` // Id } type RequestSiteDesignAssignANetworkProfileForSitesToAListOfSites struct { - Type *RequestSiteDesignAssignANetworkProfileForSitesToAListOfSitesType `json:"type,omitempty"` // + Items []struct { + ID string `json:"id,omitempty"` + } `json:"items,omitempty"` // Items } -type RequestSiteDesignAssignANetworkProfileForSitesToAListOfSitesType interface{} type RequestSiteDesignCreateSites []RequestItemSiteDesignCreateSites // Array of RequestSiteDesignCreateSites type RequestItemSiteDesignCreateSites struct { - ParentNameHierarchy string `json:"parentNameHierarchy,omitempty"` // Parent hierarchical name. Example: Global/USA/San Jose/Building1 - Name string `json:"name,omitempty"` // Site name. - Latitude *float64 `json:"latitude,omitempty"` // Building Latitude. Example: 37.403712 - Longitude *float64 `json:"longitude,omitempty"` // Building Longitude. Example: -121.971063 - Address string `json:"address,omitempty"` // Building address. Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States - Country string `json:"country,omitempty"` // Country name. Required for building. - FloorNumber *int `json:"floorNumber,omitempty"` // Floor number. Required for floor. - RfModel string `json:"rfModel,omitempty"` // Floor RF Model. Required for floor. - Width *float64 `json:"width,omitempty"` // Floor width. Required for floor. Example : 100.5 - Length *float64 `json:"length,omitempty"` // Floor length. Required for floor. Example : 110.3 - Height *float64 `json:"height,omitempty"` // Floor height. Required for floor. Example : 10.1 - UnitsOfMeasure string `json:"unitsOfMeasure,omitempty"` // Floor unit of measure. Required for floor. - Type string `json:"type,omitempty"` // Type + ParentNameHierarchy string `json:"parentNameHierarchy,omitempty"` // Parent hierarchical name. Example: Global/USA/San Jose/Building1 + + Name string `json:"name,omitempty"` // Site name. + + Latitude *float64 `json:"latitude,omitempty"` // Building Latitude. Example: 37.403712 + + Longitude *float64 `json:"longitude,omitempty"` // Building Longitude. Example: -121.971063 + + Address string `json:"address,omitempty"` // Building address. Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States + + Country string `json:"country,omitempty"` // Country name. Required for building. + + FloorNumber *int `json:"floorNumber,omitempty"` // Floor number. Required for floor. + + RfModel string `json:"rfModel,omitempty"` // Floor RF Model. Required for floor. + + Width *float64 `json:"width,omitempty"` // Floor width. Required for floor. Example : 100.5 + + Length *float64 `json:"length,omitempty"` // Floor length. Required for floor. Example : 110.3 + + Height *float64 `json:"height,omitempty"` // Floor height. Required for floor. Example : 10.1 + + UnitsOfMeasure string `json:"unitsOfMeasure,omitempty"` // Floor unit of measure. Required for floor. + + Type string `json:"type,omitempty"` // Type } type RequestSiteDesignCreatesABuildingV2 struct { - ParentID string `json:"parentId,omitempty"` // Parent Id - Name string `json:"name,omitempty"` // Building name - Latitude *float64 `json:"latitude,omitempty"` // Building Latitude. Example: 37.403712 + ParentID string `json:"parentId,omitempty"` // Parent Id + + Name string `json:"name,omitempty"` // Building name + + Latitude *float64 `json:"latitude,omitempty"` // Building Latitude. Example: 37.403712 + Longitude *float64 `json:"longitude,omitempty"` // Building Longitude. Example: -121.971063 - Address string `json:"address,omitempty"` // Building address. Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States - Country string `json:"country,omitempty"` // Country name + + Address string `json:"address,omitempty"` // Building address. Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States. Please note that if only the address is provided when creating a building, the UI will not display the geo-location on the map. To ensure the location is rendered, you must also provide the latitude and longitude. If a building has been created without these coordinates and you wish to display its geo-location on the map later, you can edit the building details via the UI to include the latitude and longitude. This limitation will be resolved in a future release. + + Country string `json:"country,omitempty"` // Country name } type RequestSiteDesignUpdatesABuildingV2 struct { - ParentID string `json:"parentId,omitempty"` // Parent Id - Name string `json:"name,omitempty"` // Building name - Latitude *float64 `json:"latitude,omitempty"` // Building Latitude. Example: 37.403712 + ParentID string `json:"parentId,omitempty"` // Parent Id + + Name string `json:"name,omitempty"` // Building name + + Latitude *float64 `json:"latitude,omitempty"` // Building Latitude. Example: 37.403712 + Longitude *float64 `json:"longitude,omitempty"` // Building Longitude. Example: -121.971063 - Address string `json:"address,omitempty"` // Building address. Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States - Country string `json:"country,omitempty"` // Country name + + Address string `json:"address,omitempty"` // Building address. Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States. Please note that if only the address is provided when creating a building, the UI will not display the geo-location on the map. To ensure the location is rendered, you must also provide the latitude and longitude. If a building has been created without these coordinates and you wish to display its geo-location on the map later, you can edit the building details via the UI to include the latitude and longitude. This limitation will be resolved in a future release. + + Country string `json:"country,omitempty"` // Country name } type RequestSiteDesignCreatesAFloorV2 struct { - ParentID string `json:"parentId,omitempty"` // Parent Id - Name string `json:"name,omitempty"` // Floor name - FloorNumber *int `json:"floorNumber,omitempty"` // Floor number - RfModel string `json:"rfModel,omitempty"` // RF Model - Width *float64 `json:"width,omitempty"` // Floor width. Example : 100.5 - Length *float64 `json:"length,omitempty"` // Floor length. Example : 110.3 - Height *float64 `json:"height,omitempty"` // Floor height. Example : 10.1 - UnitsOfMeasure string `json:"unitsOfMeasure,omitempty"` // Units Of Measure + ParentID string `json:"parentId,omitempty"` // Parent Id + + Name string `json:"name,omitempty"` // Floor name + + FloorNumber *int `json:"floorNumber,omitempty"` // Floor number + + RfModel string `json:"rfModel,omitempty"` // RF Model + + Width *float64 `json:"width,omitempty"` // Floor width. Example : 100.5 + + Length *float64 `json:"length,omitempty"` // Floor length. Example : 110.3 + + Height *float64 `json:"height,omitempty"` // Floor height. Example : 10.1 + + UnitsOfMeasure string `json:"unitsOfMeasure,omitempty"` // Units Of Measure +} +type RequestSiteDesignUpdatesFloorSettingsV2 struct { + UnitsOfMeasure string `json:"unitsOfMeasure,omitempty"` // Floor units of measure +} +type RequestSiteDesignEditTheAccessPointsPositionsV2 []RequestItemSiteDesignEditTheAccessPointsPositionsV2 // Array of RequestSiteDesignEditTheAccessPointsPositionsV2 +type RequestItemSiteDesignEditTheAccessPointsPositionsV2 struct { + ID string `json:"id,omitempty"` // Access Point Id + + Position *RequestItemSiteDesignEditTheAccessPointsPositionsV2Position `json:"position,omitempty"` // + + Radios *[]RequestItemSiteDesignEditTheAccessPointsPositionsV2Radios `json:"radios,omitempty"` // +} +type RequestItemSiteDesignEditTheAccessPointsPositionsV2Position struct { + X *float64 `json:"x,omitempty"` // Access Point X coordinate in feet + + Y *float64 `json:"y,omitempty"` // Access Point Y coordinate in feet + + Z *float64 `json:"z,omitempty"` // Access Point Z coordinate in feet +} +type RequestItemSiteDesignEditTheAccessPointsPositionsV2Radios struct { + ID string `json:"id,omitempty"` // Radio Id + + Antenna *RequestItemSiteDesignEditTheAccessPointsPositionsV2RadiosAntenna `json:"antenna,omitempty"` // +} +type RequestItemSiteDesignEditTheAccessPointsPositionsV2RadiosAntenna struct { + Name string `json:"name,omitempty"` // Antenna type for this Access Point. Use `/dna/intent/api/v1/maps/supported-access-points` to find supported Antennas for a particualr Access Point model + + Azimuth *int `json:"azimuth,omitempty"` // Angle of the antenna, measured relative to the x axis, clockwise. The azimuth range is from 0 through 360 + + Elevation *int `json:"elevation,omitempty"` // Elevation of the antenna. The elevation range is from -90 through 90 +} +type RequestSiteDesignAssignPlannedAccessPointsToOperationsOnesV2 []RequestItemSiteDesignAssignPlannedAccessPointsToOperationsOnesV2 // Array of RequestSiteDesignAssignPlannedAccessPointsToOperationsOnesV2 +type RequestItemSiteDesignAssignPlannedAccessPointsToOperationsOnesV2 struct { + PlannedAccessPointID string `json:"plannedAccessPointId,omitempty"` // Planned Access Point Id + + AccessPointID string `json:"accessPointId,omitempty"` // Operational Access Point Id +} +type RequestSiteDesignAddPlannedAccessPointsPositionsV2 []RequestItemSiteDesignAddPlannedAccessPointsPositionsV2 // Array of RequestSiteDesignAddPlannedAccessPointsPositionsV2 +type RequestItemSiteDesignAddPlannedAccessPointsPositionsV2 struct { + Name string `json:"name,omitempty"` // Planned Access Point Name + + MacAddress string `json:"macAddress,omitempty"` // Planned Access Point MAC address + + Type string `json:"type,omitempty"` // Planned Access Point type. Use `dna/intent/api/v1/maps/supported-access-points` to find the supported models + + Position *RequestItemSiteDesignAddPlannedAccessPointsPositionsV2Position `json:"position,omitempty"` // + + Radios *[]RequestItemSiteDesignAddPlannedAccessPointsPositionsV2Radios `json:"radios,omitempty"` // +} +type RequestItemSiteDesignAddPlannedAccessPointsPositionsV2Position struct { + X *float64 `json:"x,omitempty"` // Planned Access Point X coordinate in feet + + Y *float64 `json:"y,omitempty"` // Planned Access Point Y coordinate in feet + + Z *float64 `json:"z,omitempty"` // Planned Access Point Z coordinate in feet +} +type RequestItemSiteDesignAddPlannedAccessPointsPositionsV2Radios struct { + Bands *[]float64 `json:"bands,omitempty"` // Radio frequencies in GHz. Radio frequencies are expected to be 2.4, 5, and 6. MinItems: 1; MaxItems: 3 + + Channel *int `json:"channel,omitempty"` // Channel to be used by the Planned Access Point. In the context of a Planned Access Point, the channel have no bearing on what the real Access Point will actually be, they are just used for Maps visualization feature set + + TxPower *int `json:"txPower,omitempty"` // Transmit power for the channel in Decibel milliwatts (dBm). In the context of a Planned Access Point, the txPower have no bearing on what the real Access Point will actually be, they are just used for Maps visualization feature set + + Antenna *RequestItemSiteDesignAddPlannedAccessPointsPositionsV2RadiosAntenna `json:"antenna,omitempty"` // +} +type RequestItemSiteDesignAddPlannedAccessPointsPositionsV2RadiosAntenna struct { + Name string `json:"name,omitempty"` // Antenna type for this Planned Access Point. Use `/dna/intent/api/v1/maps/supported-access-points` to find supported Antennas for a particualr Planned Access Point type + + Azimuth *int `json:"azimuth,omitempty"` // Angle of the antenna, measured relative to the x axis, clockwise. The azimuth range is from 0 through 360 + + Elevation *int `json:"elevation,omitempty"` // Elevation of the antenna. The elevation range is from -90 through 90 +} +type RequestSiteDesignEditPlannedAccessPointsPositionsV2 []RequestItemSiteDesignEditPlannedAccessPointsPositionsV2 // Array of RequestSiteDesignEditPlannedAccessPointsPositionsV2 +type RequestItemSiteDesignEditPlannedAccessPointsPositionsV2 struct { + Name string `json:"name,omitempty"` // Planned Access Point Name + + MacAddress string `json:"macAddress,omitempty"` // Planned Access Point MAC address + + Type string `json:"type,omitempty"` // Planned Access Point type. Use `dna/intent/api/v1/maps/supported-access-points` to find the supported models + + Position *RequestItemSiteDesignEditPlannedAccessPointsPositionsV2Position `json:"position,omitempty"` // + + Radios *[]RequestItemSiteDesignEditPlannedAccessPointsPositionsV2Radios `json:"radios,omitempty"` // + + ID string `json:"id,omitempty"` // Planned Access Point Id +} +type RequestItemSiteDesignEditPlannedAccessPointsPositionsV2Position struct { + X *float64 `json:"x,omitempty"` // Planned Access Point X coordinate in feet + + Y *float64 `json:"y,omitempty"` // Planned Access Point Y coordinate in feet + + Z *float64 `json:"z,omitempty"` // Planned Access Point Z coordinate in feet } -type RequestSiteDesignUpdatesFloorSettingsV2 struct { - UnitsOfMeasure string `json:"unitsOfMeasure,omitempty"` // Floor units of measure +type RequestItemSiteDesignEditPlannedAccessPointsPositionsV2Radios struct { + Channel *int `json:"channel,omitempty"` // Channel to be used by the Planned Access Point. In the context of a Planned Access Point, the channel have no bearing on what the real Access Point will actually be, they are just used for Maps visualization feature set + + TxPower *int `json:"txPower,omitempty"` // Transmit power for the channel in Decibel milliwatts (dBm). In the context of a Planned Access Point, the txPower have no bearing on what the real Access Point will actually be, they are just used for Maps visualization feature set + + Antenna *RequestItemSiteDesignEditPlannedAccessPointsPositionsV2RadiosAntenna `json:"antenna,omitempty"` // + + ID string `json:"id,omitempty"` // Radio Id +} +type RequestItemSiteDesignEditPlannedAccessPointsPositionsV2RadiosAntenna struct { + Name string `json:"name,omitempty"` // Antenna type for this Planned Access Point. Use `/dna/intent/api/v1/maps/supported-access-points` to find supported Antennas for a particualr Planned Access Point type + + Azimuth *int `json:"azimuth,omitempty"` // Angle of the antenna, measured relative to the x axis, clockwise. The azimuth range is from 0 through 360 + + Elevation *int `json:"elevation,omitempty"` // Elevation of the antenna. The elevation range is from -90 through 90 } type RequestSiteDesignUpdatesAFloorV2 struct { ParentID string `json:"parentId,omitempty"` // Parent Id @@ -492,7 +914,7 @@ type RequestSiteDesignUpdatesAFloorV2 struct { @param id id path parameter. Area Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-an-area-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-an-area */ func (s *SiteDesignService) GetsAnArea(id string) (*ResponseSiteDesignGetsAnArea, *resty.Response, error) { path := "/dna/intent/api/v1/areas/{id}" @@ -528,7 +950,7 @@ func (s *SiteDesignService) GetsAnArea(id string) (*ResponseSiteDesignGetsAnArea @param GetSiteAssignedNetworkDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-assigned-network-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-assigned-network-devices */ func (s *SiteDesignService) GetSiteAssignedNetworkDevices(GetSiteAssignedNetworkDevicesQueryParams *GetSiteAssignedNetworkDevicesQueryParams) (*ResponseSiteDesignGetSiteAssignedNetworkDevices, *resty.Response, error) { path := "/dna/intent/api/v1/networkDevices/assignedToSite" @@ -565,7 +987,7 @@ func (s *SiteDesignService) GetSiteAssignedNetworkDevices(GetSiteAssignedNetwork @param GetSiteAssignedNetworkDevicesCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-assigned-network-devices-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-assigned-network-devices-count */ func (s *SiteDesignService) GetSiteAssignedNetworkDevicesCount(GetSiteAssignedNetworkDevicesCountQueryParams *GetSiteAssignedNetworkDevicesCountQueryParams) (*ResponseSiteDesignGetSiteAssignedNetworkDevicesCount, *resty.Response, error) { path := "/dna/intent/api/v1/networkDevices/assignedToSite/count" @@ -601,7 +1023,7 @@ func (s *SiteDesignService) GetSiteAssignedNetworkDevicesCount(GetSiteAssignedNe -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-controllability-settings-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-controllability-settings */ func (s *SiteDesignService) GetDeviceControllabilitySettings() (*ResponseSiteDesignGetDeviceControllabilitySettings, *resty.Response, error) { path := "/dna/intent/api/v1/networkDevices/deviceControllability/settings" @@ -636,7 +1058,7 @@ func (s *SiteDesignService) GetDeviceControllabilitySettings() (*ResponseSiteDes @param GetSiteNotAssignedNetworkDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-not-assigned-network-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-not-assigned-network-devices */ func (s *SiteDesignService) GetSiteNotAssignedNetworkDevices(GetSiteNotAssignedNetworkDevicesQueryParams *GetSiteNotAssignedNetworkDevicesQueryParams) (*ResponseSiteDesignGetSiteNotAssignedNetworkDevices, *resty.Response, error) { path := "/dna/intent/api/v1/networkDevices/notAssignedToSite" @@ -672,7 +1094,7 @@ func (s *SiteDesignService) GetSiteNotAssignedNetworkDevices(GetSiteNotAssignedN -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-not-assigned-network-devices-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-not-assigned-network-devices-count */ func (s *SiteDesignService) GetSiteNotAssignedNetworkDevicesCount() (*ResponseSiteDesignGetSiteNotAssignedNetworkDevicesCount, *resty.Response, error) { path := "/dna/intent/api/v1/networkDevices/notAssignedToSite/count" @@ -708,7 +1130,7 @@ func (s *SiteDesignService) GetSiteNotAssignedNetworkDevicesCount() (*ResponseSi @param id id path parameter. Network Device Id. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-assigned-network-device-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-assigned-network-device */ func (s *SiteDesignService) GetSiteAssignedNetworkDevice(id string) (*ResponseSiteDesignGetSiteAssignedNetworkDevice, *resty.Response, error) { path := "/dna/intent/api/v1/networkDevices/{id}/assignedToSite" @@ -744,7 +1166,7 @@ func (s *SiteDesignService) GetSiteAssignedNetworkDevice(id string) (*ResponseSi @param RetrievesTheListOfNetworkProfilesForSitesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-network-profiles-for-sites-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-network-profiles-for-sites */ func (s *SiteDesignService) RetrievesTheListOfNetworkProfilesForSites(RetrievesTheListOfNetworkProfilesForSitesQueryParams *RetrievesTheListOfNetworkProfilesForSitesQueryParams) (*ResponseSiteDesignRetrievesTheListOfNetworkProfilesForSites, *resty.Response, error) { path := "/dna/intent/api/v1/networkProfilesForSites" @@ -781,7 +1203,7 @@ func (s *SiteDesignService) RetrievesTheListOfNetworkProfilesForSites(RetrievesT @param RetrievesTheCountOfNetworkProfilesForSitesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-network-profiles-for-sites-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-network-profiles-for-sites */ func (s *SiteDesignService) RetrievesTheCountOfNetworkProfilesForSites(RetrievesTheCountOfNetworkProfilesForSitesQueryParams *RetrievesTheCountOfNetworkProfilesForSitesQueryParams) (*ResponseSiteDesignRetrievesTheCountOfNetworkProfilesForSites, *resty.Response, error) { path := "/dna/intent/api/v1/networkProfilesForSites/count" @@ -819,7 +1241,7 @@ func (s *SiteDesignService) RetrievesTheCountOfNetworkProfilesForSites(Retrieves @param id id path parameter. The `id` of the network profile, retrievable from `GET /intent/api/v1/networkProfilesForSites` -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-a-network-profile-for-sites-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-a-network-profile-for-sites-by-id */ func (s *SiteDesignService) RetrieveANetworkProfileForSitesByID(id string) (*ResponseSiteDesignRetrieveANetworkProfileForSitesByID, *resty.Response, error) { path := "/dna/intent/api/v1/networkProfilesForSites/{id}" @@ -858,7 +1280,7 @@ The list includes the sites the profile has been directly assigned to, as well a @param RetrievesTheListOfSitesThatTheGivenNetworkProfileForSitesIsAssignedToQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-sites-that-the-given-network-profile-for-sites-is-assigned-to-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-sites-that-the-given-network-profile-for-sites-is-assigned-to */ func (s *SiteDesignService) RetrievesTheListOfSitesThatTheGivenNetworkProfileForSitesIsAssignedTo(profileID string, RetrievesTheListOfSitesThatTheGivenNetworkProfileForSitesIsAssignedToQueryParams *RetrievesTheListOfSitesThatTheGivenNetworkProfileForSitesIsAssignedToQueryParams) (*ResponseSiteDesignRetrievesTheListOfSitesThatTheGivenNetworkProfileForSitesIsAssignedTo, *resty.Response, error) { path := "/dna/intent/api/v1/networkProfilesForSites/{profileId}/siteAssignments" @@ -897,7 +1319,7 @@ func (s *SiteDesignService) RetrievesTheListOfSitesThatTheGivenNetworkProfileFor @param profileID profileId path parameter. The `id` of the network profile, retrievable from `GET /intent/api/v1/networkProfilesForSites` -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-sites-that-the-given-network-profile-for-sites-is-assigned-to-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-sites-that-the-given-network-profile-for-sites-is-assigned-to */ func (s *SiteDesignService) RetrievesTheCountOfSitesThatTheGivenNetworkProfileForSitesIsAssignedTo(profileID string) (*ResponseSiteDesignRetrievesTheCountOfSitesThatTheGivenNetworkProfileForSitesIsAssignedTo, *resty.Response, error) { path := "/dna/intent/api/v1/networkProfilesForSites/{profileId}/siteAssignments/count" @@ -933,7 +1355,7 @@ func (s *SiteDesignService) RetrievesTheCountOfSitesThatTheGivenNetworkProfileFo @param GetSitesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-sites-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-sites */ func (s *SiteDesignService) GetSites(GetSitesQueryParams *GetSitesQueryParams) (*ResponseSiteDesignGetSites, *resty.Response, error) { path := "/dna/intent/api/v1/sites" @@ -970,7 +1392,7 @@ func (s *SiteDesignService) GetSites(GetSitesQueryParams *GetSitesQueryParams) ( @param GetSitesCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-sites-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-sites-count */ func (s *SiteDesignService) GetSitesCount(GetSitesCountQueryParams *GetSitesCountQueryParams) (*ResponseSiteDesignGetSitesCount, *resty.Response, error) { path := "/dna/intent/api/v1/sites/count" @@ -1010,7 +1432,7 @@ These assigments can be modified via the `/dna/intent/api/v1/networkProfilesForS @param RetrievesTheListOfNetworkProfilesThatTheGivenSiteHasBeenAssignedQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-network-profiles-that-the-given-site-has-been-assigned-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-network-profiles-that-the-given-site-has-been-assigned */ func (s *SiteDesignService) RetrievesTheListOfNetworkProfilesThatTheGivenSiteHasBeenAssigned(siteID string, RetrievesTheListOfNetworkProfilesThatTheGivenSiteHasBeenAssignedQueryParams *RetrievesTheListOfNetworkProfilesThatTheGivenSiteHasBeenAssignedQueryParams) (*ResponseSiteDesignRetrievesTheListOfNetworkProfilesThatTheGivenSiteHasBeenAssigned, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{siteId}/profileAssignments" @@ -1049,7 +1471,7 @@ func (s *SiteDesignService) RetrievesTheListOfNetworkProfilesThatTheGivenSiteHas @param siteID siteId path parameter. The `id` of the site, retrievable from `/dna/intent/api/v1/sites` -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-profiles-that-the-given-site-has-been-assigned-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-profiles-that-the-given-site-has-been-assigned */ func (s *SiteDesignService) RetrievesTheCountOfProfilesThatTheGivenSiteHasBeenAssigned(siteID string) (*ResponseSiteDesignRetrievesTheCountOfProfilesThatTheGivenSiteHasBeenAssigned, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{siteId}/profileAssignments/count" @@ -1150,6 +1572,166 @@ func (s *SiteDesignService) GetFloorSettingsV2() (*ResponseSiteDesignGetFloorSet } +//GetAccessPointsPositionsV2 Get Access Points positions - fd8b-0aab-4a49-8a71 +/* Retrieve all Access Points positions assigned for a specific floor + + +@param floorID floorId path parameter. Floor Id + +@param GetAccessPointsPositionsV2QueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-points-positions-v2 +*/ +func (s *SiteDesignService) GetAccessPointsPositionsV2(floorID string, GetAccessPointsPositionsV2QueryParams *GetAccessPointsPositionsV2QueryParams) (*ResponseSiteDesignGetAccessPointsPositionsV2, *resty.Response, error) { + path := "/dna/intent/api/v2/floors/{floorId}/accessPointPositions" + path = strings.Replace(path, "{floorId}", fmt.Sprintf("%v", floorID), -1) + + queryString, _ := query.Values(GetAccessPointsPositionsV2QueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSiteDesignGetAccessPointsPositionsV2{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAccessPointsPositionsV2(floorID, GetAccessPointsPositionsV2QueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAccessPointsPositionsV2") + } + + result := response.Result().(*ResponseSiteDesignGetAccessPointsPositionsV2) + return result, response, err + +} + +//GetAccessPointsPositionsCountV2 Get Access Points positions count - ccab-58ba-432a-88b3 +/* Retrieve Access Points positions count assigned for a specific floor + + +@param floorID floorId path parameter. Floor Id + +@param GetAccessPointsPositionsCountV2QueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-points-positions-count-v2 +*/ +func (s *SiteDesignService) GetAccessPointsPositionsCountV2(floorID string, GetAccessPointsPositionsCountV2QueryParams *GetAccessPointsPositionsCountV2QueryParams) (*ResponseSiteDesignGetAccessPointsPositionsCountV2, *resty.Response, error) { + path := "/dna/intent/api/v2/floors/{floorId}/accessPointPositions/count" + path = strings.Replace(path, "{floorId}", fmt.Sprintf("%v", floorID), -1) + + queryString, _ := query.Values(GetAccessPointsPositionsCountV2QueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSiteDesignGetAccessPointsPositionsCountV2{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAccessPointsPositionsCountV2(floorID, GetAccessPointsPositionsCountV2QueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAccessPointsPositionsCountV2") + } + + result := response.Result().(*ResponseSiteDesignGetAccessPointsPositionsCountV2) + return result, response, err + +} + +//GetPlannedAccessPointsPositionsV2 Get Planned Access Points Positions - 7888-2b7d-431b-8e32 +/* Retrieve all Planned Access Points Positions designated for a specific floor + + +@param floorID floorId path parameter. Floor Id + +@param GetPlannedAccessPointsPositionsV2QueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-planned-access-points-positions-v2 +*/ +func (s *SiteDesignService) GetPlannedAccessPointsPositionsV2(floorID string, GetPlannedAccessPointsPositionsV2QueryParams *GetPlannedAccessPointsPositionsV2QueryParams) (*ResponseSiteDesignGetPlannedAccessPointsPositionsV2, *resty.Response, error) { + path := "/dna/intent/api/v2/floors/{floorId}/plannedAccessPointPositions" + path = strings.Replace(path, "{floorId}", fmt.Sprintf("%v", floorID), -1) + + queryString, _ := query.Values(GetPlannedAccessPointsPositionsV2QueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSiteDesignGetPlannedAccessPointsPositionsV2{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetPlannedAccessPointsPositionsV2(floorID, GetPlannedAccessPointsPositionsV2QueryParams) + } + return nil, response, fmt.Errorf("error with operation GetPlannedAccessPointsPositionsV2") + } + + result := response.Result().(*ResponseSiteDesignGetPlannedAccessPointsPositionsV2) + return result, response, err + +} + +//GetPlannedAccessPointsPositionsCountV2 Get Planned Access Points Positions count - 63b0-c84b-47a9-beda +/* Retrieve all Planned Access Points Positions count designated for a specific floor + + +@param floorID floorId path parameter. Floor Id + +@param GetPlannedAccessPointsPositionsCountV2QueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-planned-access-points-positions-count-v2 +*/ +func (s *SiteDesignService) GetPlannedAccessPointsPositionsCountV2(floorID string, GetPlannedAccessPointsPositionsCountV2QueryParams *GetPlannedAccessPointsPositionsCountV2QueryParams) (*ResponseSiteDesignGetPlannedAccessPointsPositionsCountV2, *resty.Response, error) { + path := "/dna/intent/api/v2/floors/{floorId}/plannedAccessPointPositions/count" + path = strings.Replace(path, "{floorId}", fmt.Sprintf("%v", floorID), -1) + + queryString, _ := query.Values(GetPlannedAccessPointsPositionsCountV2QueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSiteDesignGetPlannedAccessPointsPositionsCountV2{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetPlannedAccessPointsPositionsCountV2(floorID, GetPlannedAccessPointsPositionsCountV2QueryParams) + } + return nil, response, fmt.Errorf("error with operation GetPlannedAccessPointsPositionsCountV2") + } + + result := response.Result().(*ResponseSiteDesignGetPlannedAccessPointsPositionsCountV2) + return result, response, err + +} + //GetsAFloorV2 Gets a floor - ff92-2958-4bba-9288 /* Gets a floor in the network hierarchy. @@ -1195,7 +1777,7 @@ func (s *SiteDesignService) GetsAFloorV2(id string, GetsAFloorV2QueryParams *Get -Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-an-area-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-an-area */ func (s *SiteDesignService) CreatesAnArea(requestSiteDesignCreatesAnArea *RequestSiteDesignCreatesAnArea) (*ResponseSiteDesignCreatesAnArea, *resty.Response, error) { path := "/dna/intent/api/v1/areas" @@ -1232,7 +1814,7 @@ func (s *SiteDesignService) CreatesAnArea(requestSiteDesignCreatesAnArea *Reques -Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-network-devices-to-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-network-devices-to-a-site */ func (s *SiteDesignService) AssignNetworkDevicesToASite(requestSiteDesignAssignNetworkDevicesToASite *RequestSiteDesignAssignNetworkDevicesToASite) (*ResponseSiteDesignAssignNetworkDevicesToASite, *resty.Response, error) { path := "/dna/intent/api/v1/networkDevices/assignToSite/apply" @@ -1269,7 +1851,7 @@ func (s *SiteDesignService) AssignNetworkDevicesToASite(requestSiteDesignAssignN -Documentation Link: https://developer.cisco.com/docs/dna-center/#!unassign-network-devices-from-sites-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!unassign-network-devices-from-sites */ func (s *SiteDesignService) UnassignNetworkDevicesFromSites(requestSiteDesignUnassignNetworkDevicesFromSites *RequestSiteDesignUnassignNetworkDevicesFromSites) (*ResponseSiteDesignUnassignNetworkDevicesFromSites, *resty.Response, error) { path := "/dna/intent/api/v1/networkDevices/unassignFromSite/apply" @@ -1308,7 +1890,7 @@ func (s *SiteDesignService) UnassignNetworkDevicesFromSites(requestSiteDesignUna @param profileID profileId path parameter. The `id` of the network profile, retrievable from `GET /intent/api/v1/networkProfilesForSites` -Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-a-network-profile-for-sites-to-the-given-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-a-network-profile-for-sites-to-the-given-site */ func (s *SiteDesignService) AssignANetworkProfileForSitesToTheGivenSite(profileID string, requestSiteDesignAssignANetworkProfileForSitesToTheGivenSite *RequestSiteDesignAssignANetworkProfileForSitesToTheGivenSite) (*ResponseSiteDesignAssignANetworkProfileForSitesToTheGivenSite, *resty.Response, error) { path := "/dna/intent/api/v1/networkProfilesForSites/{profileId}/siteAssignments" @@ -1348,7 +1930,7 @@ func (s *SiteDesignService) AssignANetworkProfileForSitesToTheGivenSite(profileI @param profileID profileId path parameter. The `id` of the network profile, retrievable from `GET /intent/api/v1/networkProfilesForSites` -Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-a-network-profile-for-sites-to-a-list-of-sites-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-a-network-profile-for-sites-to-a-list-of-sites */ func (s *SiteDesignService) AssignANetworkProfileForSitesToAListOfSites(profileID string, requestSiteDesignAssignANetworkProfileForSitesToAListOfSites *RequestSiteDesignAssignANetworkProfileForSitesToAListOfSites) (*ResponseSiteDesignAssignANetworkProfileForSitesToAListOfSites, *resty.Response, error) { path := "/dna/intent/api/v1/networkProfilesForSites/{profileId}/siteAssignments/bulk" @@ -1390,7 +1972,7 @@ func (s *SiteDesignService) AssignANetworkProfileForSitesToAListOfSites(profileI @param siteID siteId path parameter. Site Id to be associated -Documentation Link: https://developer.cisco.com/docs/dna-center/#!associate-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!associate */ func (s *SiteDesignService) Associate(networkProfileID string, siteID string) (*ResponseSiteDesignAssociate, *resty.Response, error) { path := "/dna/intent/api/v1/networkprofile/{networkProfileId}/site/{siteId}" @@ -1428,7 +2010,7 @@ func (s *SiteDesignService) Associate(networkProfileID string, siteID string) (* -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-sites-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-sites */ func (s *SiteDesignService) CreateSites(requestSiteDesignCreateSites *RequestSiteDesignCreateSites) (*ResponseSiteDesignCreateSites, *resty.Response, error) { path := "/dna/intent/api/v1/sites/bulk" @@ -1534,6 +2116,166 @@ func (s *SiteDesignService) CreatesAFloorV2(requestSiteDesignCreatesAFloorV2 *Re } +//EditTheAccessPointsPositionsV2 Edit the Access Points Positions - dba0-5a1b-495b-9520 +/* Position or reposition the Access Points on the map. + + +@param floorID floorId path parameter. Floor Id + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!edit-the-access-points-positions-v2 +*/ +func (s *SiteDesignService) EditTheAccessPointsPositionsV2(floorID string, requestSiteDesignEditTheAccessPointsPositionsV2 *RequestSiteDesignEditTheAccessPointsPositionsV2) (*ResponseSiteDesignEditTheAccessPointsPositionsV2, *resty.Response, error) { + path := "/dna/intent/api/v2/floors/{floorId}/accessPointPositions/bulkChange" + path = strings.Replace(path, "{floorId}", fmt.Sprintf("%v", floorID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSiteDesignEditTheAccessPointsPositionsV2). + SetResult(&ResponseSiteDesignEditTheAccessPointsPositionsV2{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.EditTheAccessPointsPositionsV2(floorID, requestSiteDesignEditTheAccessPointsPositionsV2) + } + + return nil, response, fmt.Errorf("error with operation EditTheAccessPointsPositionsV2") + } + + result := response.Result().(*ResponseSiteDesignEditTheAccessPointsPositionsV2) + return result, response, err + +} + +//AssignPlannedAccessPointsToOperationsOnesV2 Assign Planned Access Points to operations ones - 0c9d-f92d-4aab-b8c1 +/* Assign Planned Access Points to operations ones. + + +@param floorID floorId path parameter. Floor Id + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-planned-access-points-to-operations-ones-v2 +*/ +func (s *SiteDesignService) AssignPlannedAccessPointsToOperationsOnesV2(floorID string, requestSiteDesignAssignPlannedAccessPointsToOperationsOnesV2 *RequestSiteDesignAssignPlannedAccessPointsToOperationsOnesV2) (*ResponseSiteDesignAssignPlannedAccessPointsToOperationsOnesV2, *resty.Response, error) { + path := "/dna/intent/api/v2/floors/{floorId}/plannedAccessPointPositions/assignAccessPointPositions" + path = strings.Replace(path, "{floorId}", fmt.Sprintf("%v", floorID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSiteDesignAssignPlannedAccessPointsToOperationsOnesV2). + SetResult(&ResponseSiteDesignAssignPlannedAccessPointsToOperationsOnesV2{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.AssignPlannedAccessPointsToOperationsOnesV2(floorID, requestSiteDesignAssignPlannedAccessPointsToOperationsOnesV2) + } + + return nil, response, fmt.Errorf("error with operation AssignPlannedAccessPointsToOperationsOnesV2") + } + + result := response.Result().(*ResponseSiteDesignAssignPlannedAccessPointsToOperationsOnesV2) + return result, response, err + +} + +//AddPlannedAccessPointsPositionsV2 Add Planned Access Points Positions - b689-cbbc-4938-a234 +/* Add Planned Access Points Positions on the map. + + +@param floorID floorId path parameter. Floor Id + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-planned-access-points-positions-v2 +*/ +func (s *SiteDesignService) AddPlannedAccessPointsPositionsV2(floorID string, requestSiteDesignAddPlannedAccessPointsPositionsV2 *RequestSiteDesignAddPlannedAccessPointsPositionsV2) (*ResponseSiteDesignAddPlannedAccessPointsPositionsV2, *resty.Response, error) { + path := "/dna/intent/api/v2/floors/{floorId}/plannedAccessPointPositions/bulk" + path = strings.Replace(path, "{floorId}", fmt.Sprintf("%v", floorID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSiteDesignAddPlannedAccessPointsPositionsV2). + SetResult(&ResponseSiteDesignAddPlannedAccessPointsPositionsV2{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.AddPlannedAccessPointsPositionsV2(floorID, requestSiteDesignAddPlannedAccessPointsPositionsV2) + } + + return nil, response, fmt.Errorf("error with operation AddPlannedAccessPointsPositionsV2") + } + + result := response.Result().(*ResponseSiteDesignAddPlannedAccessPointsPositionsV2) + return result, response, err + +} + +//EditPlannedAccessPointsPositionsV2 Edit Planned Access Points Positions - 189f-8bc9-4d88-a44b +/* Edit Planned Access Points Positions on the map. + + +@param floorID floorId path parameter. Floor Id + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!edit-planned-access-points-positions-v2 +*/ +func (s *SiteDesignService) EditPlannedAccessPointsPositionsV2(floorID string, requestSiteDesignEditPlannedAccessPointsPositionsV2 *RequestSiteDesignEditPlannedAccessPointsPositionsV2) (*ResponseSiteDesignEditPlannedAccessPointsPositionsV2, *resty.Response, error) { + path := "/dna/intent/api/v2/floors/{floorId}/plannedAccessPointPositions/bulkChange" + path = strings.Replace(path, "{floorId}", fmt.Sprintf("%v", floorID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSiteDesignEditPlannedAccessPointsPositionsV2). + SetResult(&ResponseSiteDesignEditPlannedAccessPointsPositionsV2{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.EditPlannedAccessPointsPositionsV2(floorID, requestSiteDesignEditPlannedAccessPointsPositionsV2) + } + + return nil, response, fmt.Errorf("error with operation EditPlannedAccessPointsPositionsV2") + } + + result := response.Result().(*ResponseSiteDesignEditPlannedAccessPointsPositionsV2) + return result, response, err + +} + //UploadsFloorImageV2 Uploads floor image - fca4-5804-4758-98d2 /* Uploads floor image. @@ -1608,16 +2350,16 @@ func (s *SiteDesignService) UpdatesAnArea(id string, requestSiteDesignUpdatesAnA } //UpdateDeviceControllabilitySettings Update device controllability settings - f58f-e8d6-4b88-912c -/* Device Controllability is a system-level process on Catalyst Center that enforces state synchronization for some device-layer features. Its purpose is to aid in the deployment of required network settings that Catalyst Center needs to manage devices. Changes are made on network devices during discovery, when adding a device to Inventory, or when assigning a device to a site. If changes are made to any settings that are under the scope of this process, these changes are applied to the network devices during the Provision and Update Telemetry Settings operations, even if Device Controllability is disabled. The following device settings will be enabled as part of Device Controllability when devices are discovered. +/* Device Controllability is a system-level process on Catalyst Center that enforces state synchronization for some device-layer features. Its purpose is to aid in the deployment of required network settings that Catalyst Center needs to manage devices. Changes are made on network devices during discovery, when adding a device to Inventory, or when assigning a device to a site. If changes are made to any settings that are under the scope of this process, these changes are applied to the network devices during the Provision and Update Telemetry Settings operations, even if Device Controllability is disabled. The following device settings will be enabled as part of Device Controllability when devices are discovered. SNMP Credentials. NETCONF Credentials. -Subsequent to discovery, devices will be added to Inventory. The following device settings will be enabled when devices are added to inventory. +Subsequent to discovery, devices will be added to Inventory. The following device settings will be enabled when devices are added to inventory. Cisco TrustSec (CTS) Credentials. -The following device settings will be enabled when devices are assigned to a site. Some of these settings can be defined at a site level under Design > Network Settings > Telemetry & Wireless. +The following device settings will be enabled when devices are assigned to a site. Some of these settings can be defined at a site level under Design > Network Settings > Telemetry & Wireless. Wired Endpoint Data Collection Enablement. Controller Certificates. @@ -1630,8 +2372,8 @@ The following device settings will be enabled when devices are assigned to a sit DTLS Ciphersuite. AP Impersonation. -If Device Controllability is disabled, Catalyst Center does not configure any of the preceding credentials or settings on devices during discovery, at runtime, or during site assignment. However, the telemetry settings and related configuration are pushed when the device is provisioned or when the update Telemetry Settings action is performed. -Catalyst Center identifies and automatically corrects the following telemetry configuration issues on the device. +If Device Controllability is disabled, Catalyst Center does not configure any of the preceding credentials or settings on devices during discovery, at runtime, or during site assignment. However, the telemetry settings and related configuration are pushed when the device is provisioned or when the update Telemetry Settings action is performed. +Catalyst Center identifies and automatically corrects the following telemetry configuration issues on the device. SWIM certificate issue. IOS WLC NA certificate issue. @@ -1782,7 +2524,7 @@ func (s *SiteDesignService) UpdatesAFloorV2(id string, requestSiteDesignUpdatesA @param id id path parameter. Area ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-an-area-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-an-area */ func (s *SiteDesignService) DeletesAnArea(id string) (*ResponseSiteDesignDeletesAnArea, *resty.Response, error) { //id string @@ -1820,7 +2562,7 @@ func (s *SiteDesignService) DeletesAnArea(id string) (*ResponseSiteDesignDeletes @param id id path parameter. The `id` of the network profile, retrievable from `GET /intent/api/v1/networkProfilesForSites` -Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-a-network-profile-for-sites-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-a-network-profile-for-sites */ func (s *SiteDesignService) DeletesANetworkProfileForSites(id string) (*ResponseSiteDesignDeletesANetworkProfileForSites, *resty.Response, error) { //id string @@ -1859,7 +2601,7 @@ func (s *SiteDesignService) DeletesANetworkProfileForSites(id string) (*Response @param UnassignsANetworkProfileForSitesFromMultipleSitesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!unassigns-a-network-profile-for-sites-from-multiple-sites-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!unassigns-a-network-profile-for-sites-from-multiple-sites */ func (s *SiteDesignService) UnassignsANetworkProfileForSitesFromMultipleSites(profileID string, UnassignsANetworkProfileForSitesFromMultipleSitesQueryParams *UnassignsANetworkProfileForSitesFromMultipleSitesQueryParams) (*ResponseSiteDesignUnassignsANetworkProfileForSitesFromMultipleSites, *resty.Response, error) { //profileID string,UnassignsANetworkProfileForSitesFromMultipleSitesQueryParams *UnassignsANetworkProfileForSitesFromMultipleSitesQueryParams @@ -1901,7 +2643,7 @@ func (s *SiteDesignService) UnassignsANetworkProfileForSitesFromMultipleSites(pr @param id id path parameter. The `id` of the site, retrievable from `GET /intent/api/v1/networkProfilesForSites/{id}/siteAssignments` -Documentation Link: https://developer.cisco.com/docs/dna-center/#!unassigns-a-network-profile-for-sites-from-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!unassigns-a-network-profile-for-sites-from-a-site */ func (s *SiteDesignService) UnassignsANetworkProfileForSitesFromASite(profileID string, id string) (*ResponseSiteDesignUnassignsANetworkProfileForSitesFromASite, *resty.Response, error) { //profileID string,id string @@ -1942,7 +2684,7 @@ func (s *SiteDesignService) UnassignsANetworkProfileForSitesFromASite(profileID @param siteID siteId path parameter. Site Id to be associated -Documentation Link: https://developer.cisco.com/docs/dna-center/#!disassociate-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!disassociate */ func (s *SiteDesignService) Disassociate(networkProfileID string, siteID string) (*ResponseSiteDesignDisassociate, *resty.Response, error) { //networkProfileID string,siteID string @@ -2012,6 +2754,47 @@ func (s *SiteDesignService) DeletesABuildingV2(id string) (*ResponseSiteDesignDe } +//DeletePlannedAccessPointsPositionV2 Delete Planned Access Points Position - fda5-0ba1-462a-ae58 +/* Delete specified Planned Access Points Position designated for a specific floor. + + +@param floorID floorId path parameter. Floor Id + +@param id id path parameter. Planned Access Point Id + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-planned-access-points-position-v2 +*/ +func (s *SiteDesignService) DeletePlannedAccessPointsPositionV2(floorID string, id string) (*ResponseSiteDesignDeletePlannedAccessPointsPositionV2, *resty.Response, error) { + //floorID string,id string + path := "/dna/intent/api/v2/floors/{floorId}/plannedAccessPointPositions/{id}" + path = strings.Replace(path, "{floorId}", fmt.Sprintf("%v", floorID), -1) + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseSiteDesignDeletePlannedAccessPointsPositionV2{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeletePlannedAccessPointsPositionV2(floorID, id) + } + return nil, response, fmt.Errorf("error with operation DeletePlannedAccessPointsPositionV2") + } + + result := response.Result().(*ResponseSiteDesignDeletePlannedAccessPointsPositionV2) + return result, response, err + +} + //DeletesAFloorV2 Deletes a floor - 6cb4-884b-47db-a808 /* Deletes a floor from the network hierarchy. This operations fails if there are any devices assigned to this floor. diff --git a/sdk/sites.go b/sdk/sites.go index d5ad5c8..83753d8 100644 --- a/sdk/sites.go +++ b/sdk/sites.go @@ -22,7 +22,7 @@ type ReadListOfSiteHealthSummariesQueryParams struct { SiteHierarchyID string `url:"siteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&siteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) SiteType string `url:"siteType,omitempty"` //The type of the site. A site can be an area, building, or floor. Default when not provided will be `[floor,building,area]` Examples: `?siteType=area` (single siteType requested) `?siteType=area&siteType=building&siteType=floor` (multiple siteTypes requested) ID string `url:"id,omitempty"` //The list of entity Uuids. (Ex."6bef213c-19ca-4170-8375-b694e251101c") Examples: id=6bef213c-19ca-4170-8375-b694e251101c (single entity uuid requested) id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9&id=2541e9a7-b80d-4955-8aa2-79b233318ba0 (multiple entity uuid with '&' separator) - View string `url:"view,omitempty"` //The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with sites. ### Response data proviced by each view: 1. **site** [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude] 2. **network** [id, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage] 3. **client** [id, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage] 4. **issue** [id, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount] When this query parameter is not added the default summaries are: **[site,client,network,issue]** Examples: view=client (single view requested) view=client&view=network&view=issue (multiple views requested) + View string `url:"view,omitempty"` //The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with sites. ### Response data proviced by each view: 1. **site** [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude] 2. **network** [id, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage] 3. **client** [id, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage] 4. **issue** [id, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount] When this query parameter is not added the default summaries are: **[site,client,network,issue]** Examples: view=client (single view requested) view=client&view=network&view=issue (multiple views requested) Attribute string `url:"attribute,omitempty"` //Supported Attributes: [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount] If length of attribute list is too long, please use 'view' param instead. Examples: attribute=siteHierarchy (single attribute requested) attribute=siteHierarchy&attribute=clientCount (multiple attributes requested) } type ReadListOfSiteHealthSummariesHeaderParams struct { @@ -45,27 +45,188 @@ type ReadAnAggregatedSummaryOfSiteHealthDataQueryParams struct { SiteHierarchyID string `url:"siteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&siteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) SiteType string `url:"siteType,omitempty"` //The type of the site. A site can be an area, building, or floor. Default when not provided will be `[floor,building,area]` Examples: `?siteType=area` (single siteType requested) `?siteType=area&siteType=building&siteType=floor` (multiple siteTypes requested) ID string `url:"id,omitempty"` //The list of entity Uuids. (Ex."6bef213c-19ca-4170-8375-b694e251101c") Examples: id=6bef213c-19ca-4170-8375-b694e251101c (single entity uuid requested) id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9&id=2541e9a7-b80d-4955-8aa2-79b233318ba0 (multiple entity uuid with '&' separator) - View string `url:"view,omitempty"` //The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with sites. ### Response data proviced by each view: 1. **site** [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude] 2. **network** [id, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage] 3. **client** [id, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage] 4. **issue** [id, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount] When this query parameter is not added the default summaries are: **[site,client,network,issue]** Examples: view=client (single view requested) view=client&view=network&view=issue (multiple views requested) + View string `url:"view,omitempty"` //The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with sites. ### Response data proviced by each view: 1. **site** [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude] 2. **network** [id, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage] 3. **client** [id, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage] 4. **issue** [id, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount] When this query parameter is not added the default summaries are: **[site,client,network,issue]** Examples: view=client (single view requested) view=client&view=network&view=issue (multiple views requested) Attribute string `url:"attribute,omitempty"` //Supported Attributes: [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount] If length of attribute list is too long, please use 'view' param instead. Examples: attribute=siteHierarchy (single attribute requested) attribute=siteHierarchy&attribute=clientCount (multiple attributes requested) } type ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams struct { XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. } + +// Area +type ResponseSitesGetArea struct { + Response *[]ResponseSitesGetAreaResponse `json:"response,omitempty"` // +} +type ResponseSitesGetAreaResponse struct { + ParentID string `json:"parentId,omitempty"` // Parent Id + Name string `json:"name,omitempty"` // Name + AdditionalInfo []ResponseSitesGetAreaResponseAdditionalInfo `json:"additionalInfo,omitempty"` // + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id + ID string `json:"id,omitempty"` + ParentName string `json:"parent_name,omitempty"` // Id +} +type ResponseSitesGetAreaResponseAdditionalInfo struct { + Namespace string `json:"nameSpace,omitempty"` // + Attributes ResponseSitesGetAreaResponseAdditionalInfoAttributes `json:"attributes,omitempty"` // +} + +//type ResponseSitesGetSiteResponseAdditionalInfoAttributes map[string]string + +type ResponseSitesGetAreaResponseAdditionalInfoAttributes struct { + Name string `json:"name,omitempty"` // + ParentName string `json:"parent_name,omitempty"` + AddressInheritedFrom string `json:"addressinheritedfrom,omitempty"` // + Type string `json:"type,omitempty"` // +} + +// Floor +type ResponseSitesGetFloor struct { + Response *[]ResponseSitesGetFloorResponse `json:"response,omitempty"` // +} +type ResponseSitesGetFloorResponse struct { + ParentID string `json:"parentId,omitempty"` // Parent Id + Name string `json:"name,omitempty"` // Name + AdditionalInfo []ResponseSitesGetFloorResponseAdditionalInfo `json:"additionalInfo,omitempty"` // + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id + ID string `json:"id,omitempty"` + ParentName string `json:"parent_name,omitempty"` // Id +} +type ResponseSitesGetFloorResponseAdditionalInfo struct { + Namespace string `json:"nameSpace,omitempty"` // + Attributes ResponseSitesGetFloorResponseAdditionalInfoAttributes `json:"attributes,omitempty"` // +} + +type ResponseSitesGetFloorResponseAdditionalInfoAttributes struct { + FloorIndex string `json:"floorIndex,omitempty"` // + Height string `json:"height,omitempty"` + Length string `json:"length,omitempty"` // + Name string `json:"name,omitempty"` // + ParentName string `json:"parent_name,omitempty"` // + RfModel string `json:"rfmodel,omitempty"` // + Width string `json:"width,omitempty"` // +} + type QueryAnAggregatedSummaryOfSiteHealthDataQueryParams struct { SiteHierarchy string `url:"siteHierarchy,omitempty"` //The full hierarchical breakdown of the site tree starting from Global site name and ending with the specific site name. The Root site is named "Global" (Ex. `Global/AreaName/BuildingName/FloorName`) This field supports wildcard asterisk (`*`) character search support. E.g. `*/San*, */San, /San*` Examples: `?siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `?siteHierarchy=Global/AreaName/BuildingName/FloorName&siteHierarchy=Global/AreaName2/BuildingName2/FloorName2` (multiple siteHierarchies requested) SiteHierarchyID string `url:"siteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&siteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) SiteType string `url:"siteType,omitempty"` //The type of the site. A site can be an area, building, or floor. Default when not provided will be `[floor,building,area]` Examples: `?siteType=area` (single siteType requested) `?siteType=area&siteType=building&siteType=floor` (multiple siteTypes requested) ID string `url:"id,omitempty"` //The list of entity Uuids. (Ex."6bef213c-19ca-4170-8375-b694e251101c") Examples: id=6bef213c-19ca-4170-8375-b694e251101c (single entity uuid requested) id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9&id=2541e9a7-b80d-4955-8aa2-79b233318ba0 (multiple entity uuid with '&' separator) } +type ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + SiteHierarchy string `url:"siteHierarchy,omitempty"` //The full hierarchical breakdown of the site tree starting from Global site name and ending with the specific site name. The Root site is named "Global" (Ex. `Global/AreaName/BuildingName/FloorName`) This field supports wildcard asterisk (`*`) character search support. E.g. `*/San*, */San, /San*` Examples: `?siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `?siteHierarchy=Global/AreaName/BuildingName/FloorName&siteHierarchy=Global/AreaName2/BuildingName2/FloorName2` (multiple siteHierarchies requested) + SiteHierarchyID string `url:"siteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&siteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) + SiteType string `url:"siteType,omitempty"` //The type of the site. A site can be an area, building, or floor. Default when not provided will be `[floor,building,area]` Examples: `?siteType=area` (single siteType requested) `?siteType=area&siteType=building&siteType=floor` (multiple siteTypes requested) + ID string `url:"id,omitempty"` //The list of entity Uuids. (Ex."6bef213c-19ca-4170-8375-b694e251101c") Examples: id=6bef213c-19ca-4170-8375-b694e251101c (single entity uuid requested) id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9&id=2541e9a7-b80d-4955-8aa2-79b233318ba0 (multiple entity uuid with '&' separator) + TrendInterval string `url:"trendInterval,omitempty"` //The time window to aggregate the metrics. Interval can be 5 minutes or 10 minutes or 1 hour or 1 day or 7 days + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + TimeSortOrder string `url:"timeSortOrder,omitempty"` //The sort order of a time sorted API response. + Attribute string `url:"attribute,omitempty"` //Supported Analytics Attributes: [networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount] attribute=networkDeviceCount (single attribute requested) attribute=networkDeviceCount&attribute=clientCount (multiple attributes requested) + TaskID string `url:"taskId,omitempty"` //used to retrieve asynchronously processed & stored data. When this parameter is used, the rest of the request params will be ignored. +} +type ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} type ReadSiteHealthSummaryDataBySiteIDQueryParams struct { StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. If `startTime` is not provided, API will default to current time. EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. - View string `url:"view,omitempty"` //The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with sites. ### Response data proviced by each view: 1. **site** [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude] 2. **network** [id, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage] 3. **client** [id, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage] 4. **issue** [id, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount] When this query parameter is not added the default summaries are: **[site,client,network,issue]** Examples: view=client (single view requested) view=client&view=network&view=issue (multiple views requested) + View string `url:"view,omitempty"` //The specific summary view being requested. This is an optional parameter which can be passed to get one or more of the specific health data summaries associated with sites. ### Response data proviced by each view: 1. **site** [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude] 2. **network** [id, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage] 3. **client** [id, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage] 4. **issue** [id, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount] When this query parameter is not added the default summaries are: **[site,client,network,issue]** Examples: view=client (single view requested) view=client&view=network&view=issue (multiple views requested) Attribute string `url:"attribute,omitempty"` //Supported Attributes: [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude, networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount] If length of attribute list is too long, please use 'view' param instead. Examples: attribute=siteHierarchy (single attribute requested) attribute=siteHierarchy&attribute=clientCount (multiple attributes requested) } type ReadSiteHealthSummaryDataBySiteIDHeaderParams struct { XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. } +type ReadTrendAnalyticsDataForASpecificSiteInYourNetworkQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + TrendInterval string `url:"trendInterval,omitempty"` //The time window to aggregate the metrics. Interval can be 5 minutes or 10 minutes or 1 hour or 1 day or 7 days + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + TimeSortOrder string `url:"timeSortOrder,omitempty"` //The sort order of a time sorted API response. + Attribute string `url:"attribute,omitempty"` //Supported Analytics Attributes: [networkDeviceCount, networkDeviceGoodHealthCount,wirelessDeviceCount, wirelessDeviceGoodHealthCount, accessDeviceCount, accessDeviceGoodHealthCount, coreDeviceCount, coreDeviceGoodHealthCount, distributionDeviceCount, distributionDeviceGoodHealthCount, routerDeviceCount, routerDeviceGoodHealthCount, apDeviceCount, apDeviceGoodHealthCount, wlcDeviceCount, wlcDeviceGoodHealthCount, switchDeviceCount, switchDeviceGoodHealthCount, networkDeviceGoodHealthPercentage, accessDeviceGoodHealthPercentage, coreDeviceGoodHealthPercentage, distributionDeviceGoodHealthPercentage, routerDeviceGoodHealthPercentage, apDeviceGoodHealthPercentage, wlcDeviceGoodHealthPercentage, switchDeviceGoodHealthPercentage, wirelessDeviceGoodHealthPercentage, clientCount, clientGoodHealthCount, wiredClientCount, wirelessClientCount, wiredClientGoodHealthCount, wirelessClientGoodHealthCount, clientGoodHealthPercentage, wiredClientGoodHealthPercentage, wirelessClientGoodHealthPercentage, clientDataUsage, p1IssueCount, p2IssueCount, p3IssueCount, p4IssueCount, issueCount] attribute=networkDeviceCount (single attribute requested) attribute=networkDeviceCount&attribute=clientCount (multiple attributes requested) + TaskID string `url:"taskId,omitempty"` //used to retrieve asynchronously processed & stored data. When this parameter is used, the rest of the request params will be ignored. +} +type ReadTrendAnalyticsDataForASpecificSiteInYourNetworkHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersQueryParams struct { + TaskID string `url:"taskId,omitempty"` //used to retrieve asynchronously processed & stored data. When this parameter is used, the rest of the request params will be ignored. + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + SiteHierarchy string `url:"siteHierarchy,omitempty"` //The full hierarchical breakdown of the site tree starting from Global site name and ending with the specific site name. The Root site is named "Global" (Ex. `Global/AreaName/BuildingName/FloorName`) This field supports wildcard asterisk (`*`) character search support. E.g. `*/San*, */San, /San*` Examples: `?siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `?siteHierarchy=Global/AreaName/BuildingName/FloorName&siteHierarchy=Global/AreaName2/BuildingName2/FloorName2` (multiple siteHierarchies requested) + SiteHierarchyID string `url:"siteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&siteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) + SiteID string `url:"siteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) Examples: `?siteId=id1` (single id requested) `?siteId=id1&siteId=id2&siteId=id3` (multiple ids requested) + SiteType string `url:"siteType,omitempty"` //The type of the site. A site can be an area, building, or floor. Default when not provided will be `[floor,building,area]` Examples: `?siteType=area` (single siteType requested) `?siteType=area&siteType=building&siteType=floor` (multiple siteTypes requested) + SSID string `url:"ssid,omitempty"` //SSID is the name of wireless network to which client connects to. It is also referred to as WLAN ID - Wireless Local Area Network Identifier. Examples: `ssid=Alpha` (single ssid requested) `ssid=Alpha&ssid=Guest` (multiple ssid requested) + Band string `url:"band,omitempty"` //WiFi frequency band that client or Access Point operates. Band value is represented in Giga Hertz - GHz Examples: `band=5` (single band requested) `band=2.4&band=6` (multiple band requested) + FailureCategory string `url:"failureCategory,omitempty"` //Category of failure when a client fails to meet the threshold. Examples: `failureCategory=AUTH` (single failure category requested) `failureCategory=AUTH&failureCategory=DHCP` (multiple failure categories requested) + FailureReason string `url:"failureReason,omitempty"` //Reason for failure when a client fails to meet the threshold. Examples: `failureReason=MOBILITY_FAILURE` (single ssid requested) `failureReason=REASON_IPLEARN_CONNECT_TIMEOUT&failureReason=ST_EAP_TIMEOUT` (multiple ssid requested) + View string `url:"view,omitempty"` //

The name of the View. Each view represents a specific data set. Please refer to the SiteAnalyticsView Model for supported views. View is predefined set of attributes supported by the API. Only the attributes related to the given view will be part of the API response along with default attributes. If multiple views are provided, then response will contain attributes from all those views. If no views are specified, all attributes will be returned.

View NameIncluded Attributes
coveragecoverageAverage, coverageSuccessPercentage, coverageSuccessCount, coverageTotalCount, coverageFailureCount, coverageClientCount, coverageImpactedEntities, coverageFailureImpactedEntities, coverageFailureMetrics
onboardingAttemptsonboardingAttemptsSuccessPercentage, onboardingAttemptsSuccessCount, onboardingAttemptsTotalCount, onboardingAttemptsFailureCount, onboardingAttemptsClientCount, onboardingAttemptsImpactedEntities, onboardingAttemptsFailureImpactedEntities, onboardingAttemptsFailureMetrics
onboardingDurationonboardingDurationAverage, onboardingDurationSuccessPercentage, onboardingDurationSuccessCount, onboardingDurationTotalCount, onboardingDurationFailureCount, onboardingDurationClientCount, onboardingDurationImpactedEntities, onboardingDurationFailureImpactedEntities, onboardingDurationFailureMetrics
roamingAttemptsroamingAttemptsSuccessPercentage, roamingAttemptsSuccessCount, roamingAttemptsTotalCount, roamingAttemptsFailureCount, roamingAttemptsClientCount, roamingAttemptsImpactedEntities, roamingAttemptsFailureImpactedEntities, roamingAttemptsFailureMetrics
roamingDurationroamingDurationAverage, roamingDurationSuccessPercentage, roamingDurationSuccessCount, roamingDurationTotalCount, roamingDurationFailureCount, roamingDurationClientCount, roamingDurationImpactedEntities, roamingDurationFailureImpactedEntities, roamingDurationFailureMetrics
connectionSpeedconnectionSpeedAverage, connectionSpeedSuccessPercentage, connectionSpeedSuccessCount, connectionSpeedTotalCount, connectionSpeedFailureCount, connectionSpeedClientCount, connectionSpeedImpactedEntities, connectionSpeedFailureImpactedEntities, connectionSpeedFailureMetrics

Examples: view=connectionSpeed (single view requested) view=roamingDuration&view=roamingAttempts (multiple views requested)

+ Attribute string `url:"attribute,omitempty"` //List of attributes related to site analytics. If these are provided, then only those attributes will be part of response along with the default attributes. Examples: `attribute=coverageAverage` (single attribute requested) `attribute=coverageFailureMetrics&attribute=coverageTotalCount` (multiple attributes requested) + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + SortBy string `url:"sortBy,omitempty"` //Field name on which sorting needs to be done + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. +} +type GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersQueryParams struct { + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + SiteHierarchy string `url:"siteHierarchy,omitempty"` //The full hierarchical breakdown of the site tree starting from Global site name and ending with the specific site name. The Root site is named "Global" (Ex. `Global/AreaName/BuildingName/FloorName`) This field supports wildcard asterisk (`*`) character search support. E.g. `*/San*, */San, /San*` Examples: `?siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `?siteHierarchy=Global/AreaName/BuildingName/FloorName&siteHierarchy=Global/AreaName2/BuildingName2/FloorName2` (multiple siteHierarchies requested) + SiteHierarchyID string `url:"siteHierarchyId,omitempty"` //The full hierarchy breakdown of the site tree in id form starting from Global site UUID and ending with the specific site UUID. (Ex. `globalUuid/areaUuid/buildingUuid/floorUuid`) This field supports wildcard asterisk (`*`) character search support. E.g. `*uuid*, *uuid, uuid*` Examples: `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid `(single siteHierarchyId requested) `?siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid&siteHierarchyId=globalUuid/areaUuid2/buildingUuid2/floorUuid2` (multiple siteHierarchyIds requested) + SiteID string `url:"siteId,omitempty"` //The UUID of the site. (Ex. `flooruuid`) Examples: `?siteId=id1` (single id requested) `?siteId=id1&siteId=id2&siteId=id3` (multiple ids requested) + SiteType string `url:"siteType,omitempty"` //The type of the site. A site can be an area, building, or floor. Default when not provided will be `[floor,building,area]` Examples: `?siteType=area` (single siteType requested) `?siteType=area&siteType=building&siteType=floor` (multiple siteTypes requested) +} +type GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersHeaderParams struct { + ContentType string `url:"Content-Type,omitempty"` //Expects type string. Request body content type + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetSiteAnalyticsSummaryDataForTheGivenTaskIDQueryParams struct { + TaskID string `url:"taskId,omitempty"` //used to retrieve asynchronously processed & stored data. When this parameter is used, the rest of the request params will be ignored. +} +type GetSiteAnalyticsSummaryDataForTheGivenTaskIDHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDQueryParams struct { + TaskID string `url:"taskId,omitempty"` //used to retrieve asynchronously processed & stored data. When this parameter is used, the rest of the request params will be ignored. +} +type GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetSiteAnalyticsTrendDataForTheGivenTaskIDQueryParams struct { + TaskID string `url:"taskId,omitempty"` //used to retrieve asynchronously processed & stored data. When this parameter is used, the rest of the request params will be ignored. +} +type GetSiteAnalyticsTrendDataForTheGivenTaskIDHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type GetSiteAnalyticsForOneSiteQueryParams struct { + TaskID string `url:"taskId,omitempty"` //used to retrieve asynchronously processed & stored data. When this parameter is used, the rest of the request params will be ignored. + StartTime float64 `url:"startTime,omitempty"` //Start time from which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + EndTime float64 `url:"endTime,omitempty"` //End time to which API queries the data set related to the resource. It must be specified in UNIX epochtime in milliseconds. Value is inclusive. + SSID string `url:"ssid,omitempty"` //SSID is the name of wireless network to which client connects to. It is also referred to as WLAN ID - Wireless Local Area Network Identifier. Examples: `ssid=Alpha` (single ssid requested) `ssid=Alpha&ssid=Guest` (multiple ssid requested) + Band string `url:"band,omitempty"` //WiFi frequency band that client or Access Point operates. Band value is represented in Giga Hertz - GHz Examples: `band=5` (single band requested) `band=2.4&band=6` (multiple band requested) + FailureCategory string `url:"failureCategory,omitempty"` //Category of failure when a client fails to meet the threshold. Examples: `failureCategory=AUTH` (single failure category requested) `failureCategory=AUTH&failureCategory=DHCP` (multiple failure categories requested) + FailureReason string `url:"failureReason,omitempty"` //Reason for failure when a client fails to meet the threshold. Examples: `failureReason=MOBILITY_FAILURE` (single ssid requested) `failureReason=REASON_IPLEARN_CONNECT_TIMEOUT&failureReason=ST_EAP_TIMEOUT` (multiple ssid requested) + View string `url:"view,omitempty"` //

The name of the View. Each view represents a specific data set. Please refer to the SiteAnalyticsView Model for supported views. View is predefined set of attributes supported by the API. Only the attributes related to the given view will be part of the API response along with default attributes. If multiple views are provided, then response will contain attributes from all those views. If no views are specified, all attributes will be returned.

View NameIncluded Attributes
coveragecoverageAverage, coverageSuccessPercentage, coverageSuccessCount, coverageTotalCount, coverageFailureCount, coverageClientCount, coverageImpactedEntities, coverageFailureImpactedEntities, coverageFailureMetrics
onboardingAttemptsonboardingAttemptsSuccessPercentage, onboardingAttemptsSuccessCount, onboardingAttemptsTotalCount, onboardingAttemptsFailureCount, onboardingAttemptsClientCount, onboardingAttemptsImpactedEntities, onboardingAttemptsFailureImpactedEntities, onboardingAttemptsFailureMetrics
onboardingDurationonboardingDurationAverage, onboardingDurationSuccessPercentage, onboardingDurationSuccessCount, onboardingDurationTotalCount, onboardingDurationFailureCount, onboardingDurationClientCount, onboardingDurationImpactedEntities, onboardingDurationFailureImpactedEntities, onboardingDurationFailureMetrics
roamingAttemptsroamingAttemptsSuccessPercentage, roamingAttemptsSuccessCount, roamingAttemptsTotalCount, roamingAttemptsFailureCount, roamingAttemptsClientCount, roamingAttemptsImpactedEntities, roamingAttemptsFailureImpactedEntities, roamingAttemptsFailureMetrics
roamingDurationroamingDurationAverage, roamingDurationSuccessPercentage, roamingDurationSuccessCount, roamingDurationTotalCount, roamingDurationFailureCount, roamingDurationClientCount, roamingDurationImpactedEntities, roamingDurationFailureImpactedEntities, roamingDurationFailureMetrics
connectionSpeedconnectionSpeedAverage, connectionSpeedSuccessPercentage, connectionSpeedSuccessCount, connectionSpeedTotalCount, connectionSpeedFailureCount, connectionSpeedClientCount, connectionSpeedImpactedEntities, connectionSpeedFailureImpactedEntities, connectionSpeedFailureMetrics

Examples: view=connectionSpeed (single view requested) view=roamingDuration&view=roamingAttempts (multiple views requested)

+ Attribute string `url:"attribute,omitempty"` //List of attributes related to site analytics. If these are provided, then only those attributes will be part of response along with the default attributes. Examples: `attribute=coverageAverage` (single attribute requested) `attribute=coverageFailureMetrics&attribute=coverageTotalCount` (multiple attributes requested) +} +type GetSiteAnalyticsForOneSiteHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} type AssignDevicesToSiteHeaderParams struct { Runsync string `url:"__runsync,omitempty"` //Expects type bool. Enable this parameter to execute the API and return a response synchronously Timeout string `url:"__timeout,omitempty"` //Expects type float64. During synchronous execution, this defines the maximum time to wait for a response, before the API execution is terminated @@ -122,702 +283,2274 @@ type GetSiteCountV2QueryParams struct { type ResponseSitesReadListOfSiteHealthSummaries struct { Response *[]ResponseSitesReadListOfSiteHealthSummariesResponse `json:"response,omitempty"` // - Page *ResponseSitesReadListOfSiteHealthSummariesPage `json:"page,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Page *ResponseSitesReadListOfSiteHealthSummariesPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version } type ResponseSitesReadListOfSiteHealthSummariesResponse struct { - ID string `json:"id,omitempty"` // Id - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id - SiteType string `json:"siteType,omitempty"` // Site Type - Latitude *float64 `json:"latitude,omitempty"` // Latitude - Longitude *float64 `json:"longitude,omitempty"` // Longitude - NetworkDeviceGoodHealthPercentage *int `json:"networkDeviceGoodHealthPercentage,omitempty"` // Network Device Good Health Percentage - NetworkDeviceGoodHealthCount *int `json:"networkDeviceGoodHealthCount,omitempty"` // Network Device Good Health Count - ClientGoodHealthCount *int `json:"clientGoodHealthCount,omitempty"` // Client Good Health Count - ClientGoodHealthPercentage *int `json:"clientGoodHealthPercentage,omitempty"` // Client Good Health Percentage - WiredClientGoodHealthPercentage *int `json:"wiredClientGoodHealthPercentage,omitempty"` // Wired Client Good Health Percentage - WirelessClientGoodHealthPercentage *int `json:"wirelessClientGoodHealthPercentage,omitempty"` // Wireless Client Good Health Percentage - ClientCount *int `json:"clientCount,omitempty"` // Client Count - WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count - WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count - WiredClientGoodHealthCount *int `json:"wiredClientGoodHealthCount,omitempty"` // Wired Client Good Health Count - WirelessClientGoodHealthCount *int `json:"wirelessClientGoodHealthCount,omitempty"` // Wireless Client Good Health Count - NetworkDeviceCount *int `json:"networkDeviceCount,omitempty"` // Network Device Count - AccessDeviceCount *int `json:"accessDeviceCount,omitempty"` // Access Device Count - AccessDeviceGoodHealthCount *int `json:"accessDeviceGoodHealthCount,omitempty"` // Access Device Good Health Count - CoreDeviceCount *int `json:"coreDeviceCount,omitempty"` // Core Device Count - CoreDeviceGoodHealthCount *int `json:"coreDeviceGoodHealthCount,omitempty"` // Core Device Good Health Count - DistributionDeviceCount *int `json:"distributionDeviceCount,omitempty"` // Distribution Device Count - DistributionDeviceGoodHealthCount *int `json:"distributionDeviceGoodHealthCount,omitempty"` // Distribution Device Good Health Count - RouterDeviceCount *int `json:"routerDeviceCount,omitempty"` // Router Device Count - RouterDeviceGoodHealthCount *int `json:"routerDeviceGoodHealthCount,omitempty"` // Router Device Good Health Count - WirelessDeviceCount *int `json:"wirelessDeviceCount,omitempty"` // Wireless Device Count - WirelessDeviceGoodHealthCount *int `json:"wirelessDeviceGoodHealthCount,omitempty"` // Wireless Device Good Health Count - ApDeviceCount *int `json:"apDeviceCount,omitempty"` // Ap Device Count - ApDeviceGoodHealthCount *int `json:"apDeviceGoodHealthCount,omitempty"` // Ap Device Good Health Count - WlcDeviceCount *int `json:"wlcDeviceCount,omitempty"` // Wlc Device Count - WlcDeviceGoodHealthCount *int `json:"wlcDeviceGoodHealthCount,omitempty"` // Wlc Device Good Health Count - SwitchDeviceCount *int `json:"switchDeviceCount,omitempty"` // Switch Device Count - SwitchDeviceGoodHealthCount *int `json:"switchDeviceGoodHealthCount,omitempty"` // Switch Device Good Health Count - AccessDeviceGoodHealthPercentage *int `json:"accessDeviceGoodHealthPercentage,omitempty"` // Access Device Good Health Percentage - CoreDeviceGoodHealthPercentage *int `json:"coreDeviceGoodHealthPercentage,omitempty"` // Core Device Good Health Percentage - DistributionDeviceGoodHealthPercentage *int `json:"distributionDeviceGoodHealthPercentage,omitempty"` // Distribution Device Good Health Percentage - RouterDeviceGoodHealthPercentage *int `json:"routerDeviceGoodHealthPercentage,omitempty"` // Router Device Good Health Percentage - ApDeviceGoodHealthPercentage *int `json:"apDeviceGoodHealthPercentage,omitempty"` // Ap Device Good Health Percentage - WlcDeviceGoodHealthPercentage *int `json:"wlcDeviceGoodHealthPercentage,omitempty"` // Wlc Device Good Health Percentage - SwitchDeviceGoodHealthPercentage *int `json:"switchDeviceGoodHealthPercentage,omitempty"` // Switch Device Good Health Percentage - WirelessDeviceGoodHealthPercentage *int `json:"wirelessDeviceGoodHealthPercentage,omitempty"` // Wireless Device Good Health Percentage - ClientDataUsage *float64 `json:"clientDataUsage,omitempty"` // Client Data Usage - P1IssueCount *int `json:"p1IssueCount,omitempty"` // P1 Issue Count - P2IssueCount *int `json:"p2IssueCount,omitempty"` // P2 Issue Count - P3IssueCount *int `json:"p3IssueCount,omitempty"` // P3 Issue Count - P4IssueCount *int `json:"p4IssueCount,omitempty"` // P4 Issue Count - IssueCount *int `json:"issueCount,omitempty"` // Issue Count + ID string `json:"id,omitempty"` // Id + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + + SiteType string `json:"siteType,omitempty"` // Site Type + + Latitude *float64 `json:"latitude,omitempty"` // Latitude + + Longitude *float64 `json:"longitude,omitempty"` // Longitude + + NetworkDeviceGoodHealthPercentage *int `json:"networkDeviceGoodHealthPercentage,omitempty"` // Network Device Good Health Percentage + + NetworkDeviceGoodHealthCount *int `json:"networkDeviceGoodHealthCount,omitempty"` // Network Device Good Health Count + + ClientGoodHealthCount *int `json:"clientGoodHealthCount,omitempty"` // Client Good Health Count + + ClientGoodHealthPercentage *int `json:"clientGoodHealthPercentage,omitempty"` // Client Good Health Percentage + + WiredClientGoodHealthPercentage *int `json:"wiredClientGoodHealthPercentage,omitempty"` // Wired Client Good Health Percentage + + WirelessClientGoodHealthPercentage *int `json:"wirelessClientGoodHealthPercentage,omitempty"` // Wireless Client Good Health Percentage + + ClientCount *int `json:"clientCount,omitempty"` // Client Count + + WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count + + WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count + + WiredClientGoodHealthCount *int `json:"wiredClientGoodHealthCount,omitempty"` // Wired Client Good Health Count + + WirelessClientGoodHealthCount *int `json:"wirelessClientGoodHealthCount,omitempty"` // Wireless Client Good Health Count + + NetworkDeviceCount *int `json:"networkDeviceCount,omitempty"` // Network Device Count + + AccessDeviceCount *int `json:"accessDeviceCount,omitempty"` // Access Device Count + + AccessDeviceGoodHealthCount *int `json:"accessDeviceGoodHealthCount,omitempty"` // Access Device Good Health Count + + CoreDeviceCount *int `json:"coreDeviceCount,omitempty"` // Core Device Count + + CoreDeviceGoodHealthCount *int `json:"coreDeviceGoodHealthCount,omitempty"` // Core Device Good Health Count + + DistributionDeviceCount *int `json:"distributionDeviceCount,omitempty"` // Distribution Device Count + + DistributionDeviceGoodHealthCount *int `json:"distributionDeviceGoodHealthCount,omitempty"` // Distribution Device Good Health Count + + RouterDeviceCount *int `json:"routerDeviceCount,omitempty"` // Router Device Count + + RouterDeviceGoodHealthCount *int `json:"routerDeviceGoodHealthCount,omitempty"` // Router Device Good Health Count + + WirelessDeviceCount *int `json:"wirelessDeviceCount,omitempty"` // Wireless Device Count + + WirelessDeviceGoodHealthCount *int `json:"wirelessDeviceGoodHealthCount,omitempty"` // Wireless Device Good Health Count + + ApDeviceCount *int `json:"apDeviceCount,omitempty"` // Ap Device Count + + ApDeviceGoodHealthCount *int `json:"apDeviceGoodHealthCount,omitempty"` // Ap Device Good Health Count + + WlcDeviceCount *int `json:"wlcDeviceCount,omitempty"` // Wlc Device Count + + WlcDeviceGoodHealthCount *int `json:"wlcDeviceGoodHealthCount,omitempty"` // Wlc Device Good Health Count + + SwitchDeviceCount *int `json:"switchDeviceCount,omitempty"` // Switch Device Count + + SwitchDeviceGoodHealthCount *int `json:"switchDeviceGoodHealthCount,omitempty"` // Switch Device Good Health Count + + AccessDeviceGoodHealthPercentage *int `json:"accessDeviceGoodHealthPercentage,omitempty"` // Access Device Good Health Percentage + + CoreDeviceGoodHealthPercentage *int `json:"coreDeviceGoodHealthPercentage,omitempty"` // Core Device Good Health Percentage + + DistributionDeviceGoodHealthPercentage *int `json:"distributionDeviceGoodHealthPercentage,omitempty"` // Distribution Device Good Health Percentage + + RouterDeviceGoodHealthPercentage *int `json:"routerDeviceGoodHealthPercentage,omitempty"` // Router Device Good Health Percentage + + ApDeviceGoodHealthPercentage *int `json:"apDeviceGoodHealthPercentage,omitempty"` // Ap Device Good Health Percentage + + WlcDeviceGoodHealthPercentage *int `json:"wlcDeviceGoodHealthPercentage,omitempty"` // Wlc Device Good Health Percentage + + SwitchDeviceGoodHealthPercentage *int `json:"switchDeviceGoodHealthPercentage,omitempty"` // Switch Device Good Health Percentage + + WirelessDeviceGoodHealthPercentage *int `json:"wirelessDeviceGoodHealthPercentage,omitempty"` // Wireless Device Good Health Percentage + + ClientDataUsage *float64 `json:"clientDataUsage,omitempty"` // Client Data Usage + + P1IssueCount *int `json:"p1IssueCount,omitempty"` // P1 Issue Count + + P2IssueCount *int `json:"p2IssueCount,omitempty"` // P2 Issue Count + + P3IssueCount *int `json:"p3IssueCount,omitempty"` // P3 Issue Count + + P4IssueCount *int `json:"p4IssueCount,omitempty"` // P4 Issue Count + + IssueCount *int `json:"issueCount,omitempty"` // Issue Count } type ResponseSitesReadListOfSiteHealthSummariesPage struct { - Limit *int `json:"limit,omitempty"` // Limit - Offset *int `json:"offset,omitempty"` // Offset - Count *int `json:"count,omitempty"` // Count + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseSitesReadListOfSiteHealthSummariesPageSortBy `json:"sortBy,omitempty"` // } type ResponseSitesReadListOfSiteHealthSummariesPageSortBy struct { - Name string `json:"name,omitempty"` // Name + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order } type ResponseSitesReadSiteCount struct { Response *ResponseSitesReadSiteCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSitesReadSiteCountResponse struct { Count *int `json:"count,omitempty"` // Count } type ResponseSitesReadAnAggregatedSummaryOfSiteHealthData struct { Response *ResponseSitesReadAnAggregatedSummaryOfSiteHealthDataResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSitesReadAnAggregatedSummaryOfSiteHealthDataResponse struct { - ID string `json:"id,omitempty"` // Id - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id - SiteType string `json:"siteType,omitempty"` // Site Type - Latitude *float64 `json:"latitude,omitempty"` // Latitude - Longitude *float64 `json:"longitude,omitempty"` // Longitude - NetworkDeviceGoodHealthPercentage *int `json:"networkDeviceGoodHealthPercentage,omitempty"` // Network Device Good Health Percentage - NetworkDeviceGoodHealthCount *int `json:"networkDeviceGoodHealthCount,omitempty"` // Network Device Good Health Count - ClientGoodHealthCount *int `json:"clientGoodHealthCount,omitempty"` // Client Good Health Count - ClientGoodHealthPercentage *int `json:"clientGoodHealthPercentage,omitempty"` // Client Good Health Percentage - WiredClientGoodHealthPercentage *int `json:"wiredClientGoodHealthPercentage,omitempty"` // Wired Client Good Health Percentage - WirelessClientGoodHealthPercentage *int `json:"wirelessClientGoodHealthPercentage,omitempty"` // Wireless Client Good Health Percentage - ClientCount *int `json:"clientCount,omitempty"` // Client Count - WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count - WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count - WiredClientGoodHealthCount *int `json:"wiredClientGoodHealthCount,omitempty"` // Wired Client Good Health Count - WirelessClientGoodHealthCount *int `json:"wirelessClientGoodHealthCount,omitempty"` // Wireless Client Good Health Count - NetworkDeviceCount *int `json:"networkDeviceCount,omitempty"` // Network Device Count - AccessDeviceCount *int `json:"accessDeviceCount,omitempty"` // Access Device Count - AccessDeviceGoodHealthCount *int `json:"accessDeviceGoodHealthCount,omitempty"` // Access Device Good Health Count - CoreDeviceCount *int `json:"coreDeviceCount,omitempty"` // Core Device Count - CoreDeviceGoodHealthCount *int `json:"coreDeviceGoodHealthCount,omitempty"` // Core Device Good Health Count - DistributionDeviceCount *int `json:"distributionDeviceCount,omitempty"` // Distribution Device Count - DistributionDeviceGoodHealthCount *int `json:"distributionDeviceGoodHealthCount,omitempty"` // Distribution Device Good Health Count - RouterDeviceCount *int `json:"routerDeviceCount,omitempty"` // Router Device Count - RouterDeviceGoodHealthCount *int `json:"routerDeviceGoodHealthCount,omitempty"` // Router Device Good Health Count - WirelessDeviceCount *int `json:"wirelessDeviceCount,omitempty"` // Wireless Device Count - WirelessDeviceGoodHealthCount *int `json:"wirelessDeviceGoodHealthCount,omitempty"` // Wireless Device Good Health Count - ApDeviceCount *int `json:"apDeviceCount,omitempty"` // Ap Device Count - ApDeviceGoodHealthCount *int `json:"apDeviceGoodHealthCount,omitempty"` // Ap Device Good Health Count - WlcDeviceCount *int `json:"wlcDeviceCount,omitempty"` // Wlc Device Count - WlcDeviceGoodHealthCount *int `json:"wlcDeviceGoodHealthCount,omitempty"` // Wlc Device Good Health Count - SwitchDeviceCount *int `json:"switchDeviceCount,omitempty"` // Switch Device Count - SwitchDeviceGoodHealthCount *int `json:"switchDeviceGoodHealthCount,omitempty"` // Switch Device Good Health Count - AccessDeviceGoodHealthPercentage *int `json:"accessDeviceGoodHealthPercentage,omitempty"` // Access Device Good Health Percentage - CoreDeviceGoodHealthPercentage *int `json:"coreDeviceGoodHealthPercentage,omitempty"` // Core Device Good Health Percentage - DistributionDeviceGoodHealthPercentage *int `json:"distributionDeviceGoodHealthPercentage,omitempty"` // Distribution Device Good Health Percentage - RouterDeviceGoodHealthPercentage *int `json:"routerDeviceGoodHealthPercentage,omitempty"` // Router Device Good Health Percentage - ApDeviceGoodHealthPercentage *int `json:"apDeviceGoodHealthPercentage,omitempty"` // Ap Device Good Health Percentage - WlcDeviceGoodHealthPercentage *int `json:"wlcDeviceGoodHealthPercentage,omitempty"` // Wlc Device Good Health Percentage - SwitchDeviceGoodHealthPercentage *int `json:"switchDeviceGoodHealthPercentage,omitempty"` // Switch Device Good Health Percentage - WirelessDeviceGoodHealthPercentage *int `json:"wirelessDeviceGoodHealthPercentage,omitempty"` // Wireless Device Good Health Percentage - ClientDataUsage *float64 `json:"clientDataUsage,omitempty"` // Client Data Usage - P1IssueCount *int `json:"p1IssueCount,omitempty"` // P1 Issue Count - P2IssueCount *int `json:"p2IssueCount,omitempty"` // P2 Issue Count - P3IssueCount *int `json:"p3IssueCount,omitempty"` // P3 Issue Count - P4IssueCount *int `json:"p4IssueCount,omitempty"` // P4 Issue Count - IssueCount *int `json:"issueCount,omitempty"` // Issue Count + ID string `json:"id,omitempty"` // Id + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + + SiteType string `json:"siteType,omitempty"` // Site Type + + Latitude *float64 `json:"latitude,omitempty"` // Latitude + + Longitude *float64 `json:"longitude,omitempty"` // Longitude + + NetworkDeviceGoodHealthPercentage *int `json:"networkDeviceGoodHealthPercentage,omitempty"` // Network Device Good Health Percentage + + NetworkDeviceGoodHealthCount *int `json:"networkDeviceGoodHealthCount,omitempty"` // Network Device Good Health Count + + ClientGoodHealthCount *int `json:"clientGoodHealthCount,omitempty"` // Client Good Health Count + + ClientGoodHealthPercentage *int `json:"clientGoodHealthPercentage,omitempty"` // Client Good Health Percentage + + WiredClientGoodHealthPercentage *int `json:"wiredClientGoodHealthPercentage,omitempty"` // Wired Client Good Health Percentage + + WirelessClientGoodHealthPercentage *int `json:"wirelessClientGoodHealthPercentage,omitempty"` // Wireless Client Good Health Percentage + + ClientCount *int `json:"clientCount,omitempty"` // Client Count + + WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count + + WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count + + WiredClientGoodHealthCount *int `json:"wiredClientGoodHealthCount,omitempty"` // Wired Client Good Health Count + + WirelessClientGoodHealthCount *int `json:"wirelessClientGoodHealthCount,omitempty"` // Wireless Client Good Health Count + + NetworkDeviceCount *int `json:"networkDeviceCount,omitempty"` // Network Device Count + + AccessDeviceCount *int `json:"accessDeviceCount,omitempty"` // Access Device Count + + AccessDeviceGoodHealthCount *int `json:"accessDeviceGoodHealthCount,omitempty"` // Access Device Good Health Count + + CoreDeviceCount *int `json:"coreDeviceCount,omitempty"` // Core Device Count + + CoreDeviceGoodHealthCount *int `json:"coreDeviceGoodHealthCount,omitempty"` // Core Device Good Health Count + + DistributionDeviceCount *int `json:"distributionDeviceCount,omitempty"` // Distribution Device Count + + DistributionDeviceGoodHealthCount *int `json:"distributionDeviceGoodHealthCount,omitempty"` // Distribution Device Good Health Count + + RouterDeviceCount *int `json:"routerDeviceCount,omitempty"` // Router Device Count + + RouterDeviceGoodHealthCount *int `json:"routerDeviceGoodHealthCount,omitempty"` // Router Device Good Health Count + + WirelessDeviceCount *int `json:"wirelessDeviceCount,omitempty"` // Wireless Device Count + + WirelessDeviceGoodHealthCount *int `json:"wirelessDeviceGoodHealthCount,omitempty"` // Wireless Device Good Health Count + + ApDeviceCount *int `json:"apDeviceCount,omitempty"` // Ap Device Count + + ApDeviceGoodHealthCount *int `json:"apDeviceGoodHealthCount,omitempty"` // Ap Device Good Health Count + + WlcDeviceCount *int `json:"wlcDeviceCount,omitempty"` // Wlc Device Count + + WlcDeviceGoodHealthCount *int `json:"wlcDeviceGoodHealthCount,omitempty"` // Wlc Device Good Health Count + + SwitchDeviceCount *int `json:"switchDeviceCount,omitempty"` // Switch Device Count + + SwitchDeviceGoodHealthCount *int `json:"switchDeviceGoodHealthCount,omitempty"` // Switch Device Good Health Count + + AccessDeviceGoodHealthPercentage *int `json:"accessDeviceGoodHealthPercentage,omitempty"` // Access Device Good Health Percentage + + CoreDeviceGoodHealthPercentage *int `json:"coreDeviceGoodHealthPercentage,omitempty"` // Core Device Good Health Percentage + + DistributionDeviceGoodHealthPercentage *int `json:"distributionDeviceGoodHealthPercentage,omitempty"` // Distribution Device Good Health Percentage + + RouterDeviceGoodHealthPercentage *int `json:"routerDeviceGoodHealthPercentage,omitempty"` // Router Device Good Health Percentage + + ApDeviceGoodHealthPercentage *int `json:"apDeviceGoodHealthPercentage,omitempty"` // Ap Device Good Health Percentage + + WlcDeviceGoodHealthPercentage *int `json:"wlcDeviceGoodHealthPercentage,omitempty"` // Wlc Device Good Health Percentage + + SwitchDeviceGoodHealthPercentage *int `json:"switchDeviceGoodHealthPercentage,omitempty"` // Switch Device Good Health Percentage + + WirelessDeviceGoodHealthPercentage *int `json:"wirelessDeviceGoodHealthPercentage,omitempty"` // Wireless Device Good Health Percentage + + ClientDataUsage *float64 `json:"clientDataUsage,omitempty"` // Client Data Usage + + P1IssueCount *int `json:"p1IssueCount,omitempty"` // P1 Issue Count + + P2IssueCount *int `json:"p2IssueCount,omitempty"` // P2 Issue Count + + P3IssueCount *int `json:"p3IssueCount,omitempty"` // P3 Issue Count + + P4IssueCount *int `json:"p4IssueCount,omitempty"` // P4 Issue Count + + IssueCount *int `json:"issueCount,omitempty"` // Issue Count } type ResponseSitesQueryAnAggregatedSummaryOfSiteHealthData struct { Response *ResponseSitesQueryAnAggregatedSummaryOfSiteHealthDataResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSitesQueryAnAggregatedSummaryOfSiteHealthDataResponse struct { - ID string `json:"id,omitempty"` // Id - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id - SiteType string `json:"siteType,omitempty"` // Site Type - Latitude *float64 `json:"latitude,omitempty"` // Latitude - Longitude *float64 `json:"longitude,omitempty"` // Longitude - NetworkDeviceGoodHealthPercentage *int `json:"networkDeviceGoodHealthPercentage,omitempty"` // Network Device Good Health Percentage - NetworkDeviceGoodHealthCount *int `json:"networkDeviceGoodHealthCount,omitempty"` // Network Device Good Health Count - ClientGoodHealthCount *int `json:"clientGoodHealthCount,omitempty"` // Client Good Health Count - ClientGoodHealthPercentage *int `json:"clientGoodHealthPercentage,omitempty"` // Client Good Health Percentage - WiredClientGoodHealthPercentage *int `json:"wiredClientGoodHealthPercentage,omitempty"` // Wired Client Good Health Percentage - WirelessClientGoodHealthPercentage *int `json:"wirelessClientGoodHealthPercentage,omitempty"` // Wireless Client Good Health Percentage - ClientCount *int `json:"clientCount,omitempty"` // Client Count - WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count - WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count - WiredClientGoodHealthCount *int `json:"wiredClientGoodHealthCount,omitempty"` // Wired Client Good Health Count - WirelessClientGoodHealthCount *int `json:"wirelessClientGoodHealthCount,omitempty"` // Wireless Client Good Health Count - NetworkDeviceCount *int `json:"networkDeviceCount,omitempty"` // Network Device Count - AccessDeviceCount *int `json:"accessDeviceCount,omitempty"` // Access Device Count - AccessDeviceGoodHealthCount *int `json:"accessDeviceGoodHealthCount,omitempty"` // Access Device Good Health Count - CoreDeviceCount *int `json:"coreDeviceCount,omitempty"` // Core Device Count - CoreDeviceGoodHealthCount *int `json:"coreDeviceGoodHealthCount,omitempty"` // Core Device Good Health Count - DistributionDeviceCount *int `json:"distributionDeviceCount,omitempty"` // Distribution Device Count - DistributionDeviceGoodHealthCount *int `json:"distributionDeviceGoodHealthCount,omitempty"` // Distribution Device Good Health Count - RouterDeviceCount *int `json:"routerDeviceCount,omitempty"` // Router Device Count - RouterDeviceGoodHealthCount *int `json:"routerDeviceGoodHealthCount,omitempty"` // Router Device Good Health Count - WirelessDeviceCount *int `json:"wirelessDeviceCount,omitempty"` // Wireless Device Count - WirelessDeviceGoodHealthCount *int `json:"wirelessDeviceGoodHealthCount,omitempty"` // Wireless Device Good Health Count - ApDeviceCount *int `json:"apDeviceCount,omitempty"` // Ap Device Count - ApDeviceGoodHealthCount *int `json:"apDeviceGoodHealthCount,omitempty"` // Ap Device Good Health Count - WlcDeviceCount *int `json:"wlcDeviceCount,omitempty"` // Wlc Device Count - WlcDeviceGoodHealthCount *int `json:"wlcDeviceGoodHealthCount,omitempty"` // Wlc Device Good Health Count - SwitchDeviceCount *int `json:"switchDeviceCount,omitempty"` // Switch Device Count - SwitchDeviceGoodHealthCount *int `json:"switchDeviceGoodHealthCount,omitempty"` // Switch Device Good Health Count - AccessDeviceGoodHealthPercentage *int `json:"accessDeviceGoodHealthPercentage,omitempty"` // Access Device Good Health Percentage - CoreDeviceGoodHealthPercentage *int `json:"coreDeviceGoodHealthPercentage,omitempty"` // Core Device Good Health Percentage - DistributionDeviceGoodHealthPercentage *int `json:"distributionDeviceGoodHealthPercentage,omitempty"` // Distribution Device Good Health Percentage - RouterDeviceGoodHealthPercentage *int `json:"routerDeviceGoodHealthPercentage,omitempty"` // Router Device Good Health Percentage - ApDeviceGoodHealthPercentage *int `json:"apDeviceGoodHealthPercentage,omitempty"` // Ap Device Good Health Percentage - WlcDeviceGoodHealthPercentage *int `json:"wlcDeviceGoodHealthPercentage,omitempty"` // Wlc Device Good Health Percentage - SwitchDeviceGoodHealthPercentage *int `json:"switchDeviceGoodHealthPercentage,omitempty"` // Switch Device Good Health Percentage - WirelessDeviceGoodHealthPercentage *int `json:"wirelessDeviceGoodHealthPercentage,omitempty"` // Wireless Device Good Health Percentage - ClientDataUsage *float64 `json:"clientDataUsage,omitempty"` // Client Data Usage - P1IssueCount *int `json:"p1IssueCount,omitempty"` // P1 Issue Count - P2IssueCount *int `json:"p2IssueCount,omitempty"` // P2 Issue Count - P3IssueCount *int `json:"p3IssueCount,omitempty"` // P3 Issue Count - P4IssueCount *int `json:"p4IssueCount,omitempty"` // P4 Issue Count - IssueCount *int `json:"issueCount,omitempty"` // Issue Count + ID string `json:"id,omitempty"` // Id + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + + SiteType string `json:"siteType,omitempty"` // Site Type + + Latitude *float64 `json:"latitude,omitempty"` // Latitude + + Longitude *float64 `json:"longitude,omitempty"` // Longitude + + NetworkDeviceGoodHealthPercentage *int `json:"networkDeviceGoodHealthPercentage,omitempty"` // Network Device Good Health Percentage + + NetworkDeviceGoodHealthCount *int `json:"networkDeviceGoodHealthCount,omitempty"` // Network Device Good Health Count + + ClientGoodHealthCount *int `json:"clientGoodHealthCount,omitempty"` // Client Good Health Count + + ClientGoodHealthPercentage *int `json:"clientGoodHealthPercentage,omitempty"` // Client Good Health Percentage + + WiredClientGoodHealthPercentage *int `json:"wiredClientGoodHealthPercentage,omitempty"` // Wired Client Good Health Percentage + + WirelessClientGoodHealthPercentage *int `json:"wirelessClientGoodHealthPercentage,omitempty"` // Wireless Client Good Health Percentage + + ClientCount *int `json:"clientCount,omitempty"` // Client Count + + WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count + + WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count + + WiredClientGoodHealthCount *int `json:"wiredClientGoodHealthCount,omitempty"` // Wired Client Good Health Count + + WirelessClientGoodHealthCount *int `json:"wirelessClientGoodHealthCount,omitempty"` // Wireless Client Good Health Count + + NetworkDeviceCount *int `json:"networkDeviceCount,omitempty"` // Network Device Count + + AccessDeviceCount *int `json:"accessDeviceCount,omitempty"` // Access Device Count + + AccessDeviceGoodHealthCount *int `json:"accessDeviceGoodHealthCount,omitempty"` // Access Device Good Health Count + + CoreDeviceCount *int `json:"coreDeviceCount,omitempty"` // Core Device Count + + CoreDeviceGoodHealthCount *int `json:"coreDeviceGoodHealthCount,omitempty"` // Core Device Good Health Count + + DistributionDeviceCount *int `json:"distributionDeviceCount,omitempty"` // Distribution Device Count + + DistributionDeviceGoodHealthCount *int `json:"distributionDeviceGoodHealthCount,omitempty"` // Distribution Device Good Health Count + + RouterDeviceCount *int `json:"routerDeviceCount,omitempty"` // Router Device Count + + RouterDeviceGoodHealthCount *int `json:"routerDeviceGoodHealthCount,omitempty"` // Router Device Good Health Count + + WirelessDeviceCount *int `json:"wirelessDeviceCount,omitempty"` // Wireless Device Count + + WirelessDeviceGoodHealthCount *int `json:"wirelessDeviceGoodHealthCount,omitempty"` // Wireless Device Good Health Count + + ApDeviceCount *int `json:"apDeviceCount,omitempty"` // Ap Device Count + + ApDeviceGoodHealthCount *int `json:"apDeviceGoodHealthCount,omitempty"` // Ap Device Good Health Count + + WlcDeviceCount *int `json:"wlcDeviceCount,omitempty"` // Wlc Device Count + + WlcDeviceGoodHealthCount *int `json:"wlcDeviceGoodHealthCount,omitempty"` // Wlc Device Good Health Count + + SwitchDeviceCount *int `json:"switchDeviceCount,omitempty"` // Switch Device Count + + SwitchDeviceGoodHealthCount *int `json:"switchDeviceGoodHealthCount,omitempty"` // Switch Device Good Health Count + + AccessDeviceGoodHealthPercentage *int `json:"accessDeviceGoodHealthPercentage,omitempty"` // Access Device Good Health Percentage + + CoreDeviceGoodHealthPercentage *int `json:"coreDeviceGoodHealthPercentage,omitempty"` // Core Device Good Health Percentage + + DistributionDeviceGoodHealthPercentage *int `json:"distributionDeviceGoodHealthPercentage,omitempty"` // Distribution Device Good Health Percentage + + RouterDeviceGoodHealthPercentage *int `json:"routerDeviceGoodHealthPercentage,omitempty"` // Router Device Good Health Percentage + + ApDeviceGoodHealthPercentage *int `json:"apDeviceGoodHealthPercentage,omitempty"` // Ap Device Good Health Percentage + + WlcDeviceGoodHealthPercentage *int `json:"wlcDeviceGoodHealthPercentage,omitempty"` // Wlc Device Good Health Percentage + + SwitchDeviceGoodHealthPercentage *int `json:"switchDeviceGoodHealthPercentage,omitempty"` // Switch Device Good Health Percentage + + WirelessDeviceGoodHealthPercentage *int `json:"wirelessDeviceGoodHealthPercentage,omitempty"` // Wireless Device Good Health Percentage + + ClientDataUsage *float64 `json:"clientDataUsage,omitempty"` // Client Data Usage + + P1IssueCount *int `json:"p1IssueCount,omitempty"` // P1 Issue Count + + P2IssueCount *int `json:"p2IssueCount,omitempty"` // P2 Issue Count + + P3IssueCount *int `json:"p3IssueCount,omitempty"` // P3 Issue Count + + P4IssueCount *int `json:"p4IssueCount,omitempty"` // P4 Issue Count + + IssueCount *int `json:"issueCount,omitempty"` // Issue Count } -type ResponseSitesReadSiteHealthSummaryDataBySiteID struct { - Response *ResponseSitesReadSiteHealthSummaryDataBySiteIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetwork struct { + Response *[]ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkResponse `json:"response,omitempty"` // + + Page *ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSitesReadSiteHealthSummaryDataBySiteIDResponse struct { - ID string `json:"id,omitempty"` // Id - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id - SiteType string `json:"siteType,omitempty"` // Site Type - Latitude *float64 `json:"latitude,omitempty"` // Latitude - Longitude *float64 `json:"longitude,omitempty"` // Longitude - NetworkDeviceGoodHealthPercentage *int `json:"networkDeviceGoodHealthPercentage,omitempty"` // Network Device Good Health Percentage - NetworkDeviceGoodHealthCount *int `json:"networkDeviceGoodHealthCount,omitempty"` // Network Device Good Health Count - ClientGoodHealthCount *int `json:"clientGoodHealthCount,omitempty"` // Client Good Health Count - ClientGoodHealthPercentage *int `json:"clientGoodHealthPercentage,omitempty"` // Client Good Health Percentage - WiredClientGoodHealthPercentage *int `json:"wiredClientGoodHealthPercentage,omitempty"` // Wired Client Good Health Percentage - WirelessClientGoodHealthPercentage *int `json:"wirelessClientGoodHealthPercentage,omitempty"` // Wireless Client Good Health Percentage - ClientCount *int `json:"clientCount,omitempty"` // Client Count - WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count - WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count - WiredClientGoodHealthCount *int `json:"wiredClientGoodHealthCount,omitempty"` // Wired Client Good Health Count - WirelessClientGoodHealthCount *int `json:"wirelessClientGoodHealthCount,omitempty"` // Wireless Client Good Health Count - NetworkDeviceCount *int `json:"networkDeviceCount,omitempty"` // Network Device Count - AccessDeviceCount *int `json:"accessDeviceCount,omitempty"` // Access Device Count - AccessDeviceGoodHealthCount *int `json:"accessDeviceGoodHealthCount,omitempty"` // Access Device Good Health Count - CoreDeviceCount *int `json:"coreDeviceCount,omitempty"` // Core Device Count - CoreDeviceGoodHealthCount *int `json:"coreDeviceGoodHealthCount,omitempty"` // Core Device Good Health Count - DistributionDeviceCount *int `json:"distributionDeviceCount,omitempty"` // Distribution Device Count - DistributionDeviceGoodHealthCount *int `json:"distributionDeviceGoodHealthCount,omitempty"` // Distribution Device Good Health Count - RouterDeviceCount *int `json:"routerDeviceCount,omitempty"` // Router Device Count - RouterDeviceGoodHealthCount *int `json:"routerDeviceGoodHealthCount,omitempty"` // Router Device Good Health Count - WirelessDeviceCount *int `json:"wirelessDeviceCount,omitempty"` // Wireless Device Count - WirelessDeviceGoodHealthCount *int `json:"wirelessDeviceGoodHealthCount,omitempty"` // Wireless Device Good Health Count - ApDeviceCount *int `json:"apDeviceCount,omitempty"` // Ap Device Count - ApDeviceGoodHealthCount *int `json:"apDeviceGoodHealthCount,omitempty"` // Ap Device Good Health Count - WlcDeviceCount *int `json:"wlcDeviceCount,omitempty"` // Wlc Device Count - WlcDeviceGoodHealthCount *int `json:"wlcDeviceGoodHealthCount,omitempty"` // Wlc Device Good Health Count - SwitchDeviceCount *int `json:"switchDeviceCount,omitempty"` // Switch Device Count - SwitchDeviceGoodHealthCount *int `json:"switchDeviceGoodHealthCount,omitempty"` // Switch Device Good Health Count - AccessDeviceGoodHealthPercentage *int `json:"accessDeviceGoodHealthPercentage,omitempty"` // Access Device Good Health Percentage - CoreDeviceGoodHealthPercentage *int `json:"coreDeviceGoodHealthPercentage,omitempty"` // Core Device Good Health Percentage - DistributionDeviceGoodHealthPercentage *int `json:"distributionDeviceGoodHealthPercentage,omitempty"` // Distribution Device Good Health Percentage - RouterDeviceGoodHealthPercentage *int `json:"routerDeviceGoodHealthPercentage,omitempty"` // Router Device Good Health Percentage - ApDeviceGoodHealthPercentage *int `json:"apDeviceGoodHealthPercentage,omitempty"` // Ap Device Good Health Percentage - WlcDeviceGoodHealthPercentage *int `json:"wlcDeviceGoodHealthPercentage,omitempty"` // Wlc Device Good Health Percentage - SwitchDeviceGoodHealthPercentage *int `json:"switchDeviceGoodHealthPercentage,omitempty"` // Switch Device Good Health Percentage - WirelessDeviceGoodHealthPercentage *int `json:"wirelessDeviceGoodHealthPercentage,omitempty"` // Wireless Device Good Health Percentage - ClientDataUsage *float64 `json:"clientDataUsage,omitempty"` // Client Data Usage - P1IssueCount *int `json:"p1IssueCount,omitempty"` // P1 Issue Count - P2IssueCount *int `json:"p2IssueCount,omitempty"` // P2 Issue Count - P3IssueCount *int `json:"p3IssueCount,omitempty"` // P3 Issue Count - P4IssueCount *int `json:"p4IssueCount,omitempty"` // P4 Issue Count - IssueCount *int `json:"issueCount,omitempty"` // Issue Count +type ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + Attributes *[]ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkResponseAttributes `json:"attributes,omitempty"` // } -type ResponseSitesAssignDevicesToSite struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id - ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message +type ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value *float64 `json:"value,omitempty"` // Value } -type ResponseSitesExportMapArchive struct { - Response *ResponseSitesExportMapArchiveResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // +type ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order } -type ResponseSitesExportMapArchiveResponse struct { - TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // -} // # Review unknown case -type ResponseSitesImportMapArchiveCancelAnImport interface{} -type ResponseSitesImportMapArchivePerformImport interface{} -type ResponseSitesImportMapArchiveImportStatus struct { - AuditLog *ResponseSitesImportMapArchiveImportStatusAuditLog `json:"auditLog,omitempty"` // - Status string `json:"status,omitempty"` // - UUID *ResponseSitesImportMapArchiveImportStatusUUID `json:"uuid,omitempty"` // +type ResponseSitesReadSiteHealthSummaryDataBySiteID struct { + Response *ResponseSitesReadSiteHealthSummaryDataBySiteIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSitesImportMapArchiveImportStatusAuditLog struct { - Children *[]ResponseSitesImportMapArchiveImportStatusAuditLogChildren `json:"children,omitempty"` // - EntitiesCount *[]ResponseSitesImportMapArchiveImportStatusAuditLogEntitiesCount `json:"entitiesCount,omitempty"` // - EntityName string `json:"entityName,omitempty"` // - EntityType string `json:"entityType,omitempty"` // - ErrorEntitiesCount *[]ResponseSitesImportMapArchiveImportStatusAuditLogErrorEntitiesCount `json:"errorEntitiesCount,omitempty"` // - Errors *[]ResponseSitesImportMapArchiveImportStatusAuditLogErrors `json:"errors,omitempty"` // - Infos *[]ResponseSitesImportMapArchiveImportStatusAuditLogInfos `json:"infos,omitempty"` // - MatchingEntitiesCount *[]ResponseSitesImportMapArchiveImportStatusAuditLogMatchingEntitiesCount `json:"matchingEntitiesCount,omitempty"` // - SubTasksRootTaskID string `json:"subTasksRootTaskId,omitempty"` // - SuccessfullyImportedFloors []string `json:"successfullyImportedFloors,omitempty"` // - Warnings *[]ResponseSitesImportMapArchiveImportStatusAuditLogWarnings `json:"warnings,omitempty"` // +type ResponseSitesReadSiteHealthSummaryDataBySiteIDResponse struct { + ID string `json:"id,omitempty"` // Id + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + + SiteType string `json:"siteType,omitempty"` // Site Type + + Latitude *float64 `json:"latitude,omitempty"` // Latitude + + Longitude *float64 `json:"longitude,omitempty"` // Longitude + + NetworkDeviceGoodHealthPercentage *int `json:"networkDeviceGoodHealthPercentage,omitempty"` // Network Device Good Health Percentage + + NetworkDeviceGoodHealthCount *int `json:"networkDeviceGoodHealthCount,omitempty"` // Network Device Good Health Count + + ClientGoodHealthCount *int `json:"clientGoodHealthCount,omitempty"` // Client Good Health Count + + ClientGoodHealthPercentage *int `json:"clientGoodHealthPercentage,omitempty"` // Client Good Health Percentage + + WiredClientGoodHealthPercentage *int `json:"wiredClientGoodHealthPercentage,omitempty"` // Wired Client Good Health Percentage + + WirelessClientGoodHealthPercentage *int `json:"wirelessClientGoodHealthPercentage,omitempty"` // Wireless Client Good Health Percentage + + ClientCount *int `json:"clientCount,omitempty"` // Client Count + + WiredClientCount *int `json:"wiredClientCount,omitempty"` // Wired Client Count + + WirelessClientCount *int `json:"wirelessClientCount,omitempty"` // Wireless Client Count + + WiredClientGoodHealthCount *int `json:"wiredClientGoodHealthCount,omitempty"` // Wired Client Good Health Count + + WirelessClientGoodHealthCount *int `json:"wirelessClientGoodHealthCount,omitempty"` // Wireless Client Good Health Count + + NetworkDeviceCount *int `json:"networkDeviceCount,omitempty"` // Network Device Count + + AccessDeviceCount *int `json:"accessDeviceCount,omitempty"` // Access Device Count + + AccessDeviceGoodHealthCount *int `json:"accessDeviceGoodHealthCount,omitempty"` // Access Device Good Health Count + + CoreDeviceCount *int `json:"coreDeviceCount,omitempty"` // Core Device Count + + CoreDeviceGoodHealthCount *int `json:"coreDeviceGoodHealthCount,omitempty"` // Core Device Good Health Count + + DistributionDeviceCount *int `json:"distributionDeviceCount,omitempty"` // Distribution Device Count + + DistributionDeviceGoodHealthCount *int `json:"distributionDeviceGoodHealthCount,omitempty"` // Distribution Device Good Health Count + + RouterDeviceCount *int `json:"routerDeviceCount,omitempty"` // Router Device Count + + RouterDeviceGoodHealthCount *int `json:"routerDeviceGoodHealthCount,omitempty"` // Router Device Good Health Count + + WirelessDeviceCount *int `json:"wirelessDeviceCount,omitempty"` // Wireless Device Count + + WirelessDeviceGoodHealthCount *int `json:"wirelessDeviceGoodHealthCount,omitempty"` // Wireless Device Good Health Count + + ApDeviceCount *int `json:"apDeviceCount,omitempty"` // Ap Device Count + + ApDeviceGoodHealthCount *int `json:"apDeviceGoodHealthCount,omitempty"` // Ap Device Good Health Count + + WlcDeviceCount *int `json:"wlcDeviceCount,omitempty"` // Wlc Device Count + + WlcDeviceGoodHealthCount *int `json:"wlcDeviceGoodHealthCount,omitempty"` // Wlc Device Good Health Count + + SwitchDeviceCount *int `json:"switchDeviceCount,omitempty"` // Switch Device Count + + SwitchDeviceGoodHealthCount *int `json:"switchDeviceGoodHealthCount,omitempty"` // Switch Device Good Health Count + + AccessDeviceGoodHealthPercentage *int `json:"accessDeviceGoodHealthPercentage,omitempty"` // Access Device Good Health Percentage + + CoreDeviceGoodHealthPercentage *int `json:"coreDeviceGoodHealthPercentage,omitempty"` // Core Device Good Health Percentage + + DistributionDeviceGoodHealthPercentage *int `json:"distributionDeviceGoodHealthPercentage,omitempty"` // Distribution Device Good Health Percentage + + RouterDeviceGoodHealthPercentage *int `json:"routerDeviceGoodHealthPercentage,omitempty"` // Router Device Good Health Percentage + + ApDeviceGoodHealthPercentage *int `json:"apDeviceGoodHealthPercentage,omitempty"` // Ap Device Good Health Percentage + + WlcDeviceGoodHealthPercentage *int `json:"wlcDeviceGoodHealthPercentage,omitempty"` // Wlc Device Good Health Percentage + + SwitchDeviceGoodHealthPercentage *int `json:"switchDeviceGoodHealthPercentage,omitempty"` // Switch Device Good Health Percentage + + WirelessDeviceGoodHealthPercentage *int `json:"wirelessDeviceGoodHealthPercentage,omitempty"` // Wireless Device Good Health Percentage + + ClientDataUsage *float64 `json:"clientDataUsage,omitempty"` // Client Data Usage + + P1IssueCount *int `json:"p1IssueCount,omitempty"` // P1 Issue Count + + P2IssueCount *int `json:"p2IssueCount,omitempty"` // P2 Issue Count + + P3IssueCount *int `json:"p3IssueCount,omitempty"` // P3 Issue Count + + P4IssueCount *int `json:"p4IssueCount,omitempty"` // P4 Issue Count + + IssueCount *int `json:"issueCount,omitempty"` // Issue Count } -type ResponseSitesImportMapArchiveImportStatusAuditLogChildren interface{} -type ResponseSitesImportMapArchiveImportStatusAuditLogEntitiesCount struct { - Key *int `json:"key,omitempty"` // +type ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetwork struct { + Response *[]ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkResponse `json:"response,omitempty"` // + + Page *ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSitesImportMapArchiveImportStatusAuditLogErrorEntitiesCount struct { - Key *int `json:"key,omitempty"` // +type ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + Attributes *[]ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkResponseAttributes `json:"attributes,omitempty"` // } -type ResponseSitesImportMapArchiveImportStatusAuditLogErrors struct { - Message string `json:"message,omitempty"` // +type ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value *float64 `json:"value,omitempty"` // Value } -type ResponseSitesImportMapArchiveImportStatusAuditLogInfos struct { - Message string `json:"message,omitempty"` // +type ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order } -type ResponseSitesImportMapArchiveImportStatusAuditLogMatchingEntitiesCount struct { - Key *int `json:"key,omitempty"` // +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParameters struct { + Response *[]ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponse `json:"response,omitempty"` // + + Page *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSitesImportMapArchiveImportStatusAuditLogWarnings struct { - Message string `json:"message,omitempty"` // +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponse struct { + ID string `json:"id,omitempty"` // Id + + SiteID string `json:"siteId,omitempty"` // Site Id + + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + + SiteType string `json:"siteType,omitempty"` // Site Type + + ApCount *int `json:"apCount,omitempty"` // Ap Count + + CoverageAverage *int `json:"coverageAverage,omitempty"` // Coverage Average + + CoverageSuccessPercentage *int `json:"coverageSuccessPercentage,omitempty"` // Coverage Success Percentage + + CoverageSuccessCount *int `json:"coverageSuccessCount,omitempty"` // Coverage Success Count + + CoverageTotalCount *int `json:"coverageTotalCount,omitempty"` // Coverage Total Count + + CoverageFailureCount *int `json:"coverageFailureCount,omitempty"` // Coverage Failure Count + + CoverageClientCount *int `json:"coverageClientCount,omitempty"` // Coverage Client Count + + CoverageImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseCoverageImpactedEntities `json:"coverageImpactedEntities,omitempty"` // + + CoverageFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseCoverageFailureImpactedEntities `json:"coverageFailureImpactedEntities,omitempty"` // + + CoverageFailureMetrics *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseCoverageFailureMetrics `json:"coverageFailureMetrics,omitempty"` // + + OnboardingAttemptsSuccessPercentage *int `json:"onboardingAttemptsSuccessPercentage,omitempty"` // Onboarding Attempts Success Percentage + + OnboardingAttemptsSuccessCount *int `json:"onboardingAttemptsSuccessCount,omitempty"` // Onboarding Attempts Success Count + + OnboardingAttemptsTotalCount *int `json:"onboardingAttemptsTotalCount,omitempty"` // Onboarding Attempts Total Count + + OnboardingAttemptsFailureCount *int `json:"onboardingAttemptsFailureCount,omitempty"` // Onboarding Attempts Failure Count + + OnboardingAttemptsClientCount *int `json:"onboardingAttemptsClientCount,omitempty"` // Onboarding Attempts Client Count + + OnboardingAttemptsImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingAttemptsImpactedEntities `json:"onboardingAttemptsImpactedEntities,omitempty"` // + + OnboardingAttemptsFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingAttemptsFailureImpactedEntities `json:"onboardingAttemptsFailureImpactedEntities,omitempty"` // + + OnboardingAttemptsFailureMetrics *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingAttemptsFailureMetrics `json:"onboardingAttemptsFailureMetrics,omitempty"` // + + OnboardingDurationAverage *int `json:"onboardingDurationAverage,omitempty"` // Onboarding Duration Average + + OnboardingDurationSuccessPercentage *int `json:"onboardingDurationSuccessPercentage,omitempty"` // Onboarding Duration Success Percentage + + OnboardingDurationSuccessCount *int `json:"onboardingDurationSuccessCount,omitempty"` // Onboarding Duration Success Count + + OnboardingDurationTotalCount *int `json:"onboardingDurationTotalCount,omitempty"` // Onboarding Duration Total Count + + OnboardingDurationFailureCount *int `json:"onboardingDurationFailureCount,omitempty"` // Onboarding Duration Failure Count + + OnboardingDurationClientCount *int `json:"onboardingDurationClientCount,omitempty"` // Onboarding Duration Client Count + + OnboardingDurationImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingDurationImpactedEntities `json:"onboardingDurationImpactedEntities,omitempty"` // + + OnboardingDurationFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingDurationFailureImpactedEntities `json:"onboardingDurationFailureImpactedEntities,omitempty"` // + + OnboardingDurationFailureMetrics *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingDurationFailureMetrics `json:"onboardingDurationFailureMetrics,omitempty"` // + + RoamingAttemptsSuccessPercentage *int `json:"roamingAttemptsSuccessPercentage,omitempty"` // Roaming Attempts Success Percentage + + RoamingAttemptsSuccessCount *int `json:"roamingAttemptsSuccessCount,omitempty"` // Roaming Attempts Success Count + + RoamingAttemptsTotalCount *int `json:"roamingAttemptsTotalCount,omitempty"` // Roaming Attempts Total Count + + RoamingAttemptsFailureCount *int `json:"roamingAttemptsFailureCount,omitempty"` // Roaming Attempts Failure Count + + RoamingAttemptsClientCount *int `json:"roamingAttemptsClientCount,omitempty"` // Roaming Attempts Client Count + + RoamingAttemptsImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingAttemptsImpactedEntities `json:"roamingAttemptsImpactedEntities,omitempty"` // + + RoamingAttemptsFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingAttemptsFailureImpactedEntities `json:"roamingAttemptsFailureImpactedEntities,omitempty"` // + + RoamingAttemptsFailureMetrics *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingAttemptsFailureMetrics `json:"roamingAttemptsFailureMetrics,omitempty"` // + + RoamingDurationAverage *int `json:"roamingDurationAverage,omitempty"` // Roaming Duration Average + + RoamingDurationSuccessPercentage *int `json:"roamingDurationSuccessPercentage,omitempty"` // Roaming Duration Success Percentage + + RoamingDurationSuccessCount *int `json:"roamingDurationSuccessCount,omitempty"` // Roaming Duration Success Count + + RoamingDurationTotalCount *int `json:"roamingDurationTotalCount,omitempty"` // Roaming Duration Total Count + + RoamingDurationFailureCount *int `json:"roamingDurationFailureCount,omitempty"` // Roaming Duration Failure Count + + RoamingDurationClientCount *int `json:"roamingDurationClientCount,omitempty"` // Roaming Duration Client Count + + RoamingDurationImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingDurationImpactedEntities `json:"roamingDurationImpactedEntities,omitempty"` // + + RoamingDurationFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingDurationFailureImpactedEntities `json:"roamingDurationFailureImpactedEntities,omitempty"` // + + RoamingDurationFailureMetrics *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingDurationFailureMetrics `json:"roamingDurationFailureMetrics,omitempty"` // + + ConnectionSpeedAverage *int `json:"connectionSpeedAverage,omitempty"` // Connection Speed Average + + ConnectionSpeedSuccessPercentage *int `json:"connectionSpeedSuccessPercentage,omitempty"` // Connection Speed Success Percentage + + ConnectionSpeedSuccessCount *int `json:"connectionSpeedSuccessCount,omitempty"` // Connection Speed Success Count + + ConnectionSpeedTotalCount *int `json:"connectionSpeedTotalCount,omitempty"` // Connection Speed Total Count + + ConnectionSpeedFailureCount *int `json:"connectionSpeedFailureCount,omitempty"` // Connection Speed Failure Count + + ConnectionSpeedClientCount *int `json:"connectionSpeedClientCount,omitempty"` // Connection Speed Client Count + + ConnectionSpeedImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseConnectionSpeedImpactedEntities `json:"connectionSpeedImpactedEntities,omitempty"` // + + ConnectionSpeedFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseConnectionSpeedFailureImpactedEntities `json:"connectionSpeedFailureImpactedEntities,omitempty"` // + + ConnectionSpeedFailureMetrics *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseConnectionSpeedFailureMetrics `json:"connectionSpeedFailureMetrics,omitempty"` // } -type ResponseSitesImportMapArchiveImportStatusUUID struct { - LeastSignificantBits *int `json:"leastSignificantBits,omitempty"` // - MostSignificantBits *int `json:"mostSignificantBits,omitempty"` // +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseCoverageImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } -type ResponseSitesMapsSupportedAccessPoints []ResponseItemSitesMapsSupportedAccessPoints // Array of ResponseSitesMapsSupportedAccessPoints -type ResponseItemSitesMapsSupportedAccessPoints struct { - AntennaPatterns *[]ResponseItemSitesMapsSupportedAccessPointsAntennaPatterns `json:"antennaPatterns,omitempty"` // - ApType string `json:"apType,omitempty"` // +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseCoverageFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } -type ResponseItemSitesMapsSupportedAccessPointsAntennaPatterns struct { - Band string `json:"band,omitempty"` // - Names []string `json:"names,omitempty"` // +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseCoverageFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count + + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count + + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } -type ResponseSitesGetMembership struct { - Site *ResponseSitesGetMembershipSite `json:"site,omitempty"` // - Device *[]ResponseSitesGetMembershipDevice `json:"device,omitempty"` // +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingAttemptsImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } -type ResponseSitesGetMembershipSite struct { - Response *[]ResponseSitesGetMembershipSiteResponse `json:"response,omitempty"` // Response - Version string `json:"version,omitempty"` // Version +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingAttemptsFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } -type ResponseSitesGetMembershipSiteResponse interface{} -type ResponseSitesGetMembershipDevice struct { - Response *[]ResponseSitesGetMembershipDeviceResponse `json:"response,omitempty"` // Response - Version string `json:"version,omitempty"` // Version - SiteID string `json:"siteId,omitempty"` // Site Id +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingAttemptsFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count + + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count + + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } -type ResponseSitesGetMembershipDeviceResponse interface{} -type ResponseSitesCreateSite struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id - ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingDurationImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } -type ResponseSitesGetSite struct { - Response *[]ResponseSitesGetSiteResponse `json:"response,omitempty"` // +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingDurationFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } -type ResponseSitesGetSiteResponse struct { - ParentID string `json:"parentId,omitempty"` // Parent Id - Name string `json:"name,omitempty"` // Name - AdditionalInfo []ResponseSitesGetSiteResponseAdditionalInfo `json:"additionalInfo,omitempty"` // - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id - ID string `json:"id,omitempty"` // Id +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingDurationFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count + + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count + + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } -type ResponseSitesGetSiteResponseAdditionalInfo struct { - Namespace string `json:"nameSpace,omitempty"` // - Attributes ResponseSitesGetSiteResponseAdditionalInfoAttributes `json:"attributes,omitempty"` // +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingAttemptsImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingAttemptsFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count -//type ResponseSitesGetSiteResponseAdditionalInfoAttributes map[string]string + FloorCount *int `json:"floorCount,omitempty"` // Floor Count -type ResponseSitesGetSiteResponseAdditionalInfoAttributes struct { - Country string `json:"country,omitempty"` // - Address string `json:"address,omitempty"` // - Latitude string `json:"latitude,omitempty"` // - AddressInheritedFrom string `json:"addressInheritedFrom,omitempty"` // - Type string `json:"type,omitempty"` // - Longitude string `json:"longitude,omitempty"` // - OffsetX string `json:"offsetX,omitempty"` // - OffsetY string `json:"offsetY,omitempty"` // - Length string `json:"length,omitempty"` // - Width string `json:"width,omitempty"` // - Height string `json:"height,omitempty"` // - RfModel string `json:"rfModel,omitempty"` // - FloorIndex string `json:"floorIndex,omitempty"` // + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingAttemptsFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count -// Area -type ResponseSitesGetArea struct { - Response *[]ResponseSitesGetAreaResponse `json:"response,omitempty"` // + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count + + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } -type ResponseSitesGetAreaResponse struct { - ParentID string `json:"parentId,omitempty"` // Parent Id - Name string `json:"name,omitempty"` // Name - AdditionalInfo []ResponseSitesGetAreaResponseAdditionalInfo `json:"additionalInfo,omitempty"` // - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id - ID string `json:"id,omitempty"` - ParentName string `json:"parent_name,omitempty"` // Id +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingDurationImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } -type ResponseSitesGetAreaResponseAdditionalInfo struct { - Namespace string `json:"nameSpace,omitempty"` // - Attributes ResponseSitesGetAreaResponseAdditionalInfoAttributes `json:"attributes,omitempty"` // +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingDurationFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseRoamingDurationFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count -//type ResponseSitesGetSiteResponseAdditionalInfoAttributes map[string]string + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count -type ResponseSitesGetAreaResponseAdditionalInfoAttributes struct { - Name string `json:"name,omitempty"` // - ParentName string `json:"parent_name,omitempty"` - AddressInheritedFrom string `json:"addressinheritedfrom,omitempty"` // - Type string `json:"type,omitempty"` // + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseConnectionSpeedImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count -// Floor -type ResponseSitesGetFloor struct { - Response *[]ResponseSitesGetFloorResponse `json:"response,omitempty"` // + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } -type ResponseSitesGetFloorResponse struct { - ParentID string `json:"parentId,omitempty"` // Parent Id - Name string `json:"name,omitempty"` // Name - AdditionalInfo []ResponseSitesGetFloorResponseAdditionalInfo `json:"additionalInfo,omitempty"` // - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id - ID string `json:"id,omitempty"` - ParentName string `json:"parent_name,omitempty"` // Id +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseConnectionSpeedFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } -type ResponseSitesGetFloorResponseAdditionalInfo struct { - Namespace string `json:"nameSpace,omitempty"` // - Attributes ResponseSitesGetFloorResponseAdditionalInfoAttributes `json:"attributes,omitempty"` // +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseConnectionSpeedFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count + + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count + + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersPage struct { + Limit *int `json:"limit,omitempty"` // Limit -type ResponseSitesGetFloorResponseAdditionalInfoAttributes struct { - FloorIndex string `json:"floorIndex,omitempty"` // - Height string `json:"height,omitempty"` - Length string `json:"length,omitempty"` // - Name string `json:"name,omitempty"` // - ParentName string `json:"parent_name,omitempty"` // - RfModel string `json:"rfmodel,omitempty"` // - Width string `json:"width,omitempty"` // + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + SortBy *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersPageSortBy `json:"sortBy,omitempty"` // } +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersPageSortBy struct { + Name string `json:"name,omitempty"` // Name -type ResponseSitesGetSiteHealth struct { - Response *[]ResponseSitesGetSiteHealthResponse `json:"response,omitempty"` // + Order string `json:"order,omitempty"` // Order } -type ResponseSitesGetSiteHealthResponse struct { - SiteName string `json:"siteName,omitempty"` // Name of the site - SiteID string `json:"siteId,omitempty"` // Site UUID - ParentSiteID string `json:"parentSiteId,omitempty"` // The parent site's UUID of this site - ParentSiteName string `json:"parentSiteName,omitempty"` // The parent site's name of this site - SiteType string `json:"siteType,omitempty"` // Site type of this site - Latitude *float64 `json:"latitude,omitempty"` // Site (building) location's latitude - Longitude *float64 `json:"longitude,omitempty"` // Site (building) location's longitude - HealthyNetworkDevicePercentage *int `json:"healthyNetworkDevicePercentage,omitempty"` // Network health of devices on the site - HealthyClientsPercentage *int `json:"healthyClientsPercentage,omitempty"` // Client health of all clients in the site - ClientHealthWired *int `json:"clientHealthWired,omitempty"` // Health of all wired clients in the site - ClientHealthWireless *int `json:"clientHealthWireless,omitempty"` // Health of all wireless clients in the site - NumberOfClients *int `json:"numberOfClients,omitempty"` // Total number of clients in the site - NumberOfNetworkDevice *int `json:"numberOfNetworkDevice,omitempty"` // Total number of network devices in the site - NetworkHealthAverage *int `json:"networkHealthAverage,omitempty"` // Average network health in the site - NetworkHealthAccess *int `json:"networkHealthAccess,omitempty"` // Network health for access devices in the site - NetworkHealthCore *int `json:"networkHealthCore,omitempty"` // Network health for core devices in the site - NetworkHealthDistribution *int `json:"networkHealthDistribution,omitempty"` // Network health for distribution devices in the site - NetworkHealthRouter *int `json:"networkHealthRouter,omitempty"` // Network health for router devices in the site - NetworkHealthWireless *int `json:"networkHealthWireless,omitempty"` // Network health for wireless devices in the site - NetworkHealthAP *int `json:"networkHealthAP,omitempty"` // Network health for AP devices in the site - NetworkHealthWLC *int `json:"networkHealthWLC,omitempty"` // Network health for WLC devices in the site - NetworkHealthSwitch *int `json:"networkHealthSwitch,omitempty"` // Network health for switch devices in the site - NetworkHealthOthers *int `json:"networkHealthOthers,omitempty"` // Network health for other devices in the site - NumberOfWiredClients *int `json:"numberOfWiredClients,omitempty"` // Number of wired clients in the site - NumberOfWirelessClients *int `json:"numberOfWirelessClients,omitempty"` // Number of wireless clients in the site - TotalNumberOfConnectedWiredClients *int `json:"totalNumberOfConnectedWiredClients,omitempty"` // Number of connected wired clients in the site - TotalNumberOfActiveWirelessClients *int `json:"totalNumberOfActiveWirelessClients,omitempty"` // Number of active wireless clients in the site - WiredGoodClients *int `json:"wiredGoodClients,omitempty"` // Number of GOOD health wired clients in the site - WirelessGoodClients *int `json:"wirelessGoodClients,omitempty"` // Number of GOOD health wireless clients in the site - OverallGoodDevices *int `json:"overallGoodDevices,omitempty"` // Number of GOOD health devices in the site - AccessGoodCount *int `json:"accessGoodCount,omitempty"` // Number of GOOD health access devices in the site - AccessTotalCount *int `json:"accessTotalCount,omitempty"` // Number of access devices in the site - CoreGoodCount *int `json:"coreGoodCount,omitempty"` // Number of GOOD health core devices in the site - CoreTotalCount *int `json:"coreTotalCount,omitempty"` // Number of core devices in the site - DistributionGoodCount *int `json:"distributionGoodCount,omitempty"` // Number of GOOD health distribution devices in the site - DistributionTotalCount *int `json:"distributionTotalCount,omitempty"` // Number of distribution devices in the site - RouterGoodCount *int `json:"routerGoodCount,omitempty"` // Number of GOOD health router in the site - RouterTotalCount *int `json:"routerTotalCount,omitempty"` // Number of router devices in the site - WirelessDeviceGoodCount *int `json:"wirelessDeviceGoodCount,omitempty"` // Number of GOOD health wireless devices in the site - WirelessDeviceTotalCount *int `json:"wirelessDeviceTotalCount,omitempty"` // Number of wireless devices in the site - ApDeviceGoodCount *int `json:"apDeviceGoodCount,omitempty"` // Number of GOOD health AP devices in the site - ApDeviceTotalCount *int `json:"apDeviceTotalCount,omitempty"` // Number of AP devices in the site - WlcDeviceGoodCount *int `json:"wlcDeviceGoodCount,omitempty"` // Number of GOOD health wireless controller devices in the site - WlcDeviceTotalCount *int `json:"wlcDeviceTotalCount,omitempty"` // Number of wireless controller devices in the site - SwitchDeviceGoodCount *int `json:"switchDeviceGoodCount,omitempty"` // Number of GOOD health switch devices in the site - SwitchDeviceTotalCount *int `json:"switchDeviceTotalCount,omitempty"` // Number of switch devices in the site - ApplicationHealth *int `json:"applicationHealth,omitempty"` // Average application health in the site - ApplicationHealthInfo *[]ResponseSitesGetSiteHealthResponseApplicationHealthInfo `json:"applicationHealthInfo,omitempty"` // - ApplicationGoodCount *int `json:"applicationGoodCount,omitempty"` // Number of GOOD health applications int the site - ApplicationTotalCount *int `json:"applicationTotalCount,omitempty"` // Number of applications int the site - ApplicationBytesTotalCount *float64 `json:"applicationBytesTotalCount,omitempty"` // Total application bytes - DnacInfo *ResponseSitesGetSiteHealthResponseDnacInfo `json:"dnacInfo,omitempty"` // - Usage *float64 `json:"usage,omitempty"` // Total bits used by all clients in a site - ApplicationHealthStats *ResponseSitesGetSiteHealthResponseApplicationHealthStats `json:"applicationHealthStats,omitempty"` // +type ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParameters struct { + Response *ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSitesGetSiteHealthResponseApplicationHealthInfo struct { - TrafficClass string `json:"trafficClass,omitempty"` // Traffic class of the application - BytesCount *float64 `json:"bytesCount,omitempty"` // Byte count of the application - HealthScore *int `json:"healthScore,omitempty"` // Health score of the application +type ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersResponse struct { + Count *int `json:"count,omitempty"` // Count } -type ResponseSitesGetSiteHealthResponseDnacInfo struct { - UUID string `json:"uuid,omitempty"` // UUID of the DNAC - IP string `json:"ip,omitempty"` // IP address of the DNAC - Status string `json:"status,omitempty"` // Status of the DNAC +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters struct { + Response *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSitesGetSiteHealthResponseApplicationHealthStats struct { - AppTotalCount *float64 `json:"appTotalCount,omitempty"` // Total application count - BusinessRelevantAppCount *ResponseSitesGetSiteHealthResponseApplicationHealthStatsBusinessRelevantAppCount `json:"businessRelevantAppCount,omitempty"` // - BusinessIrrelevantAppCount *ResponseSitesGetSiteHealthResponseApplicationHealthStatsBusinessIrrelevantAppCount `json:"businessIrrelevantAppCount,omitempty"` // - DefaultHealthAppCount *ResponseSitesGetSiteHealthResponseApplicationHealthStatsDefaultHealthAppCount `json:"defaultHealthAppCount,omitempty"` // +type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersResponse struct { + TaskLocation string `json:"taskLocation,omitempty"` // Task Location + + TaskID string `json:"taskId,omitempty"` // Task Id } -type ResponseSitesGetSiteHealthResponseApplicationHealthStatsBusinessRelevantAppCount struct { - Poor *float64 `json:"poor,omitempty"` // Poor business relevant application count - Fair *float64 `json:"fair,omitempty"` // Fair business relevant application count - Good *float64 `json:"good,omitempty"` // Good business relevant application count +type ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters struct { + Response *ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSitesGetSiteHealthResponseApplicationHealthStatsBusinessIrrelevantAppCount struct { - Poor *float64 `json:"poor,omitempty"` // Poor business irrelevant application count - Fair *float64 `json:"fair,omitempty"` // Fair business irrelevant application count - Good *float64 `json:"good,omitempty"` // Good business irrelevant application count +type ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersResponse struct { + Count *int `json:"count,omitempty"` // Count } -type ResponseSitesGetSiteHealthResponseApplicationHealthStatsDefaultHealthAppCount struct { - Poor *float64 `json:"poor,omitempty"` // Poor default application count - Fair *float64 `json:"fair,omitempty"` // Fair default application count - Good *float64 `json:"good,omitempty"` // Good default application count +type ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskID struct { + Response *ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSitesGetDevicesThatAreAssignedToASite struct { - Response *[]ResponseSitesGetDevicesThatAreAssignedToASiteResponse `json:"response,omitempty"` // +type ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskIDResponse struct { + Attributes *[]ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskIDResponseAttributes `json:"attributes,omitempty"` // } -type ResponseSitesGetDevicesThatAreAssignedToASiteResponse struct { - InstanceUUID string `json:"instanceUuid,omitempty"` // Device UUID (E.g. 48eebb3e-b3fc-4928-a7df-1c80e216f930) - InstanceID *int `json:"instanceId,omitempty"` // Device Id (E.g. 230230) - AuthEntityID *int `json:"authEntityId,omitempty"` // Authentication Entity Id (Internal record) - AuthEntityClass *int `json:"authEntityClass,omitempty"` // Authentication entity class (Internal record) - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Device tenant Id (E.g. 64472cc32d3bc1658597669c) - DeployPending string `json:"deployPending,omitempty"` // Deploy pending (Internal record) - InstanceVersion *int `json:"instanceVersion,omitempty"` // Instance version (Internal record) - ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // Access Point manager interface IP - AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wireless Controller IP - BootDateTime string `json:"bootDateTime,omitempty"` // Device boot date and time - CollectionInterval string `json:"collectionInterval,omitempty"` // Device resync interval type (E.g. Global Default) - CollectionIntervalValue string `json:"collectionIntervalValue,omitempty"` // Device resync interval value - CollectionStatus string `json:"collectionStatus,omitempty"` // Device inventory collection status (E.g. Managed) - Description string `json:"description,omitempty"` // Device description - DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Device support level (E.g. Supported) - DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // DNS resolved management address - Family string `json:"family,omitempty"` // Device family (E.g. Routers) - Hostname string `json:"hostname,omitempty"` // Device hostname - InterfaceCount string `json:"interfaceCount,omitempty"` // Device interface count - InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Device inventory collection status detail - LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last update time - LastUpdated string `json:"lastUpdated,omitempty"` // Last updated date and time - LineCardCount string `json:"lineCardCount,omitempty"` // Line card count - LineCardID string `json:"lineCardId,omitempty"` // Line card Id - LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Last device inventory resync start date and time - MacAddress string `json:"macAddress,omitempty"` // MAC address - ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // If device managed atleast once, value will be true otherwise false - ManagementIPAddress string `json:"managementIpAddress,omitempty"` // Management IP address - ManagementState string `json:"managementState,omitempty"` // Device management state (E.g. Managed) - MemorySize string `json:"memorySize,omitempty"` // Memory size - PaddedMgmtIPAddress string `json:"paddedMgmtIpAddress,omitempty"` // Padded management IP address. Internal record - PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Pending sync requests count. Internal record - PlatformID string `json:"platformId,omitempty"` // Device platform Id (E.g. CSR1000V) - ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Device reachability failure reason - ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status (E.g. Reachable) - ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reasons for device resync (E.g. Periodic) - ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending device sync requests - Role string `json:"role,omitempty"` // Device role (E.g. BORDER ROUTER) - RoleSource string `json:"roleSource,omitempty"` // Device role source. Internal record - SerialNumber string `json:"serialNumber,omitempty"` // Device serial Number - Series string `json:"series,omitempty"` // Device series - SNMPContact string `json:"snmpContact,omitempty"` // Device snmp contact. Internal record - SNMPLocation string `json:"snmpLocation,omitempty"` // Device snmp location - SoftwareType string `json:"softwareType,omitempty"` // Device software type - SoftwareVersion string `json:"softwareVersion,omitempty"` // Device software version - TagCount string `json:"tagCount,omitempty"` // Device tag Count - Type string `json:"type,omitempty"` // Device type (E.g. Cisco Cloud Services Router 1000V) - UpTime string `json:"upTime,omitempty"` // Device up time (E.g. 112 days, 6:09:13.86) - UptimeSeconds *int `json:"uptimeSeconds,omitempty"` // Device uptime in seconds - Vendor string `json:"vendor,omitempty"` // Vendor (E.g. Cisco) - DisplayName string `json:"displayName,omitempty"` // Device display name +type ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskIDResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value *int `json:"value,omitempty"` // Value } -type ResponseSitesGetSiteCount struct { - Response *int `json:"response,omitempty"` // Response - Version string `json:"version,omitempty"` // Version +type ResponseSitesSubmitRequestForSiteAnalyticsSummaryData struct { + Response *ResponseSitesSubmitRequestForSiteAnalyticsSummaryDataResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSitesUpdateSite struct { - Result string `json:"result,omitempty"` // Result - Response *ResponseSitesUpdateSiteResponse `json:"response,omitempty"` // - Status string `json:"status,omitempty"` // Status +type ResponseSitesSubmitRequestForSiteAnalyticsSummaryDataResponse struct { + TaskLocation string `json:"taskLocation,omitempty"` // Task Location + + TaskID string `json:"taskId,omitempty"` // Task Id } -type ResponseSitesUpdateSiteResponse struct { - EndTime string `json:"endTime,omitempty"` // End Time - Version string `json:"version,omitempty"` // Version - StartTime string `json:"startTime,omitempty"` // Start Time - Progress string `json:"progress,omitempty"` // Progress - Data string `json:"data,omitempty"` // Data - ServiceType string `json:"serviceType,omitempty"` // Service Type - OperationIDList []string `json:"operationIdList,omitempty"` // Operation Id List - IsError string `json:"isError,omitempty"` // Is Error - RootID string `json:"rootId,omitempty"` // Root Id - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id - ID string `json:"id,omitempty"` // Id +type ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskID struct { + Version string `json:"version,omitempty"` // Version + + Response *[]ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDResponse `json:"response,omitempty"` // + + Page *ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDPage `json:"page,omitempty"` // } -type ResponseSitesDeleteSite struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id - ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message +type ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDResponse struct { + ID string `json:"id,omitempty"` // Id + + Attributes *[]ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDResponseAttributes `json:"attributes,omitempty"` // } -type ResponseSitesGetSiteV2 struct { - Response *[]ResponseSitesGetSiteV2Response `json:"response,omitempty"` // +type ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value *int `json:"value,omitempty"` // Value } -type ResponseSitesGetSiteV2Response struct { - ParentID string `json:"parentId,omitempty"` // Parent site Instance UUID (e.g. b27181bb-211b-40ec-ba5d-2603867c3f2c) - GroupTypeList []string `json:"groupTypeList,omitempty"` // There are different group types like 'RBAC', 'POLICY', 'SITE', 'TAG', 'PORT', 'DEVICE_TYPE'. This API is for site, so list contains 'SITE' only - GroupHierarchy string `json:"groupHierarchy,omitempty"` // Site hierarchy by instance UUID (e.g. b27181bb-211b-40ec-ba5d-2603867c3f2c/576c7859-e485-4073-a46f-305f475de4c5) - AdditionalInfo *[]ResponseSitesGetSiteV2ResponseAdditionalInfo `json:"additionalInfo,omitempty"` // - GroupNameHierarchy string `json:"groupNameHierarchy,omitempty"` // Site hierarchy by name (e.g. Global/USA/CA/San Jose/Building4) - Name string `json:"name,omitempty"` // Site name (e.g. Building4) - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Tenant instance Id where site created (e.g. 63bf047b64ec9c1c45f9019c) - ID string `json:"id,omitempty"` // Site instance UUID (e.g. bb5122ce-4527-4af5-8718-44b746a3a3d8) +type ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count } -type ResponseSitesGetSiteV2ResponseAdditionalInfo struct { - NameSpace string `json:"nameSpace,omitempty"` // Site name space. Default value is 'Location' - Attributes *ResponseSitesGetSiteV2ResponseAdditionalInfoAttributes `json:"attributes,omitempty"` // +type ResponseSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalytics struct { + Response *ResponseSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalyticsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseSitesGetSiteV2ResponseAdditionalInfoAttributes struct { - AddressInheritedFrom string `json:"addressInheritedFrom,omitempty"` // Site instance UUID from where address inherited (e.g. 576c7859-e485-4073-a46f-305f475de4c5) - Type string `json:"type,omitempty"` // Site type - Country string `json:"country,omitempty"` // Site Country (e.g. United States) - Address string `json:"address,omitempty"` // Site address (e.g. 269 East Tasman Drive, San Jose, California 95134, United States) - Latitude string `json:"latitude,omitempty"` // Site latitude (e.g. 37.413082) - Longitude string `json:"longitude,omitempty"` // Site longitude (e.g. -121.933886) +type ResponseSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalyticsResponse struct { + TaskLocation string `json:"taskLocation,omitempty"` // Task Location + + TaskID string `json:"taskId,omitempty"` // Task Id } -type ResponseSitesGetSiteCountV2 struct { - Response *int `json:"response,omitempty"` // Response - Version string `json:"version,omitempty"` // Version +type ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskID struct { + Version string `json:"version,omitempty"` // Version + + Response *[]ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDResponse `json:"response,omitempty"` // + + Page *ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDPage `json:"page,omitempty"` // } -type RequestSitesQueryAnAggregatedSummaryOfSiteHealthData struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time - Views []string `json:"views,omitempty"` // Views - Attributes []string `json:"attributes,omitempty"` // Attributes +type ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + + Attributes *[]ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDResponseAttributes `json:"attributes,omitempty"` // } -type RequestSitesAssignDevicesToSite struct { - Device *[]RequestSitesAssignDevicesToSiteDevice `json:"device,omitempty"` // +type ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + + Value *int `json:"value,omitempty"` // Value } -type RequestSitesAssignDevicesToSiteDevice struct { - IP string `json:"ip,omitempty"` // Device IP. It can be either IPv4 or IPv6. IPV4 e.g., 10.104.240.64. IPV6 e.g., 2001:420:284:2004:4:181:500:183 -} // # Review unknown case -type RequestSitesCreateSite struct { - Type string `json:"type,omitempty"` // Type of site to create (eg: area, building, floor) - Site *RequestSitesCreateSiteSite `json:"site,omitempty"` // +type ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } -type RequestSitesCreateSiteSite struct { - Area *RequestSitesCreateSiteSiteArea `json:"area,omitempty"` // - Building *RequestSitesCreateSiteSiteBuilding `json:"building,omitempty"` // - Floor *RequestSitesCreateSiteSiteFloor `json:"floor,omitempty"` // +type ResponseSitesSubmitRequestForSiteAnalyticsTrendData struct { + Response *ResponseSitesSubmitRequestForSiteAnalyticsTrendDataResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestSitesCreateSiteSiteArea struct { - Name string `json:"name,omitempty"` // Name of the area (eg: Area1) - ParentName string `json:"parentName,omitempty"` // Parent name of the area to be created +type ResponseSitesSubmitRequestForSiteAnalyticsTrendDataResponse struct { + TaskLocation string `json:"taskLocation,omitempty"` // Task Location + + TaskID string `json:"taskId,omitempty"` // Task Id } -type RequestSitesCreateSiteSiteBuilding struct { - Name string `json:"name,omitempty"` // Name of the building (eg: building1) - Address string `json:"address,omitempty"` // Address of the building to be created - ParentName string `json:"parentName,omitempty"` // Parent name of building to be created - Latitude *float64 `json:"latitude,omitempty"` // Latitude coordinate of the building (eg:37.338) - Longitude *float64 `json:"longitude,omitempty"` // Longitude coordinate of the building (eg:-121.832) - Country string `json:"country,omitempty"` // Country (eg:United States) +type ResponseSitesGetSiteAnalyticsForOneSite struct { + Response *ResponseSitesGetSiteAnalyticsForOneSiteResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestSitesCreateSiteSiteFloor struct { - Name string `json:"name,omitempty"` // Name of the floor (eg:floor-1) - ParentName string `json:"parentName,omitempty"` // Parent name of the floor to be created - RfModel string `json:"rfModel,omitempty"` // Type of floor (eg: Cubes And Walled Offices0 - Width *float64 `json:"width,omitempty"` // Width of the floor. Unit of measure is ft. (eg: 100) - Length *float64 `json:"length,omitempty"` // Length of the floor. Unit of measure is ft. (eg: 100) - Height *float64 `json:"height,omitempty"` // Height of the floor. Unit of measure is ft. (eg: 15) - FloorNumber *float64 `json:"floorNumber,omitempty"` // Floor number. (eg: 5) +type ResponseSitesGetSiteAnalyticsForOneSiteResponse struct { + ID string `json:"id,omitempty"` // Id + + SiteID string `json:"siteId,omitempty"` // Site Id + + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + + SiteType string `json:"siteType,omitempty"` // Site Type + + ApCount *int `json:"apCount,omitempty"` // Ap Count + + CoverageAverage *int `json:"coverageAverage,omitempty"` // Coverage Average + + CoverageSuccessPercentage *int `json:"coverageSuccessPercentage,omitempty"` // Coverage Success Percentage + + CoverageSuccessCount *int `json:"coverageSuccessCount,omitempty"` // Coverage Success Count + + CoverageTotalCount *int `json:"coverageTotalCount,omitempty"` // Coverage Total Count + + CoverageFailureCount *int `json:"coverageFailureCount,omitempty"` // Coverage Failure Count + + CoverageClientCount *int `json:"coverageClientCount,omitempty"` // Coverage Client Count + + CoverageImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseCoverageImpactedEntities `json:"coverageImpactedEntities,omitempty"` // + + CoverageFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseCoverageFailureImpactedEntities `json:"coverageFailureImpactedEntities,omitempty"` // + + CoverageFailureMetrics *ResponseSitesGetSiteAnalyticsForOneSiteResponseCoverageFailureMetrics `json:"coverageFailureMetrics,omitempty"` // + + OnboardingAttemptsSuccessPercentage *int `json:"onboardingAttemptsSuccessPercentage,omitempty"` // Onboarding Attempts Success Percentage + + OnboardingAttemptsSuccessCount *int `json:"onboardingAttemptsSuccessCount,omitempty"` // Onboarding Attempts Success Count + + OnboardingAttemptsTotalCount *int `json:"onboardingAttemptsTotalCount,omitempty"` // Onboarding Attempts Total Count + + OnboardingAttemptsFailureCount *int `json:"onboardingAttemptsFailureCount,omitempty"` // Onboarding Attempts Failure Count + + OnboardingAttemptsClientCount *int `json:"onboardingAttemptsClientCount,omitempty"` // Onboarding Attempts Client Count + + OnboardingAttemptsImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingAttemptsImpactedEntities `json:"onboardingAttemptsImpactedEntities,omitempty"` // + + OnboardingAttemptsFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingAttemptsFailureImpactedEntities `json:"onboardingAttemptsFailureImpactedEntities,omitempty"` // + + OnboardingAttemptsFailureMetrics *ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingAttemptsFailureMetrics `json:"onboardingAttemptsFailureMetrics,omitempty"` // + + OnboardingDurationAverage *int `json:"onboardingDurationAverage,omitempty"` // Onboarding Duration Average + + OnboardingDurationSuccessPercentage *int `json:"onboardingDurationSuccessPercentage,omitempty"` // Onboarding Duration Success Percentage + + OnboardingDurationSuccessCount *int `json:"onboardingDurationSuccessCount,omitempty"` // Onboarding Duration Success Count + + OnboardingDurationTotalCount *int `json:"onboardingDurationTotalCount,omitempty"` // Onboarding Duration Total Count + + OnboardingDurationFailureCount *int `json:"onboardingDurationFailureCount,omitempty"` // Onboarding Duration Failure Count + + OnboardingDurationClientCount *int `json:"onboardingDurationClientCount,omitempty"` // Onboarding Duration Client Count + + OnboardingDurationImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingDurationImpactedEntities `json:"onboardingDurationImpactedEntities,omitempty"` // + + OnboardingDurationFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingDurationFailureImpactedEntities `json:"onboardingDurationFailureImpactedEntities,omitempty"` // + + OnboardingDurationFailureMetrics *ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingDurationFailureMetrics `json:"onboardingDurationFailureMetrics,omitempty"` // + + RoamingAttemptsSuccessPercentage *int `json:"roamingAttemptsSuccessPercentage,omitempty"` // Roaming Attempts Success Percentage + + RoamingAttemptsSuccessCount *int `json:"roamingAttemptsSuccessCount,omitempty"` // Roaming Attempts Success Count + + RoamingAttemptsTotalCount *int `json:"roamingAttemptsTotalCount,omitempty"` // Roaming Attempts Total Count + + RoamingAttemptsFailureCount *int `json:"roamingAttemptsFailureCount,omitempty"` // Roaming Attempts Failure Count + + RoamingAttemptsClientCount *int `json:"roamingAttemptsClientCount,omitempty"` // Roaming Attempts Client Count + + RoamingAttemptsImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingAttemptsImpactedEntities `json:"roamingAttemptsImpactedEntities,omitempty"` // + + RoamingAttemptsFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingAttemptsFailureImpactedEntities `json:"roamingAttemptsFailureImpactedEntities,omitempty"` // + + RoamingAttemptsFailureMetrics *ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingAttemptsFailureMetrics `json:"roamingAttemptsFailureMetrics,omitempty"` // + + RoamingDurationAverage *int `json:"roamingDurationAverage,omitempty"` // Roaming Duration Average + + RoamingDurationSuccessPercentage *int `json:"roamingDurationSuccessPercentage,omitempty"` // Roaming Duration Success Percentage + + RoamingDurationSuccessCount *int `json:"roamingDurationSuccessCount,omitempty"` // Roaming Duration Success Count + + RoamingDurationTotalCount *int `json:"roamingDurationTotalCount,omitempty"` // Roaming Duration Total Count + + RoamingDurationFailureCount *int `json:"roamingDurationFailureCount,omitempty"` // Roaming Duration Failure Count + + RoamingDurationClientCount *int `json:"roamingDurationClientCount,omitempty"` // Roaming Duration Client Count + + RoamingDurationImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingDurationImpactedEntities `json:"roamingDurationImpactedEntities,omitempty"` // + + RoamingDurationFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingDurationFailureImpactedEntities `json:"roamingDurationFailureImpactedEntities,omitempty"` // + + RoamingDurationFailureMetrics *ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingDurationFailureMetrics `json:"roamingDurationFailureMetrics,omitempty"` // + + ConnectionSpeedAverage *int `json:"connectionSpeedAverage,omitempty"` // Connection Speed Average + + ConnectionSpeedSuccessPercentage *int `json:"connectionSpeedSuccessPercentage,omitempty"` // Connection Speed Success Percentage + + ConnectionSpeedSuccessCount *int `json:"connectionSpeedSuccessCount,omitempty"` // Connection Speed Success Count + + ConnectionSpeedTotalCount *int `json:"connectionSpeedTotalCount,omitempty"` // Connection Speed Total Count + + ConnectionSpeedFailureCount *int `json:"connectionSpeedFailureCount,omitempty"` // Connection Speed Failure Count + + ConnectionSpeedClientCount *int `json:"connectionSpeedClientCount,omitempty"` // Connection Speed Client Count + + ConnectionSpeedImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseConnectionSpeedImpactedEntities `json:"connectionSpeedImpactedEntities,omitempty"` // + + ConnectionSpeedFailureImpactedEntities *ResponseSitesGetSiteAnalyticsForOneSiteResponseConnectionSpeedFailureImpactedEntities `json:"connectionSpeedFailureImpactedEntities,omitempty"` // + + ConnectionSpeedFailureMetrics *ResponseSitesGetSiteAnalyticsForOneSiteResponseConnectionSpeedFailureMetrics `json:"connectionSpeedFailureMetrics,omitempty"` // } -type RequestSitesUpdateSite struct { - Type string `json:"type,omitempty"` // Site type - Site *RequestSitesUpdateSiteSite `json:"site,omitempty"` // +type ResponseSitesGetSiteAnalyticsForOneSiteResponseCoverageImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } -type RequestSitesUpdateSiteSite struct { - Area *RequestSitesUpdateSiteSiteArea `json:"area,omitempty"` // - Building *RequestSitesUpdateSiteSiteBuilding `json:"building,omitempty"` // - Floor *RequestSitesUpdateSiteSiteFloor `json:"floor,omitempty"` // +type ResponseSitesGetSiteAnalyticsForOneSiteResponseCoverageFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count } -type RequestSitesUpdateSiteSiteArea struct { - Name string `json:"name,omitempty"` // Area name - ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA) +type ResponseSitesGetSiteAnalyticsForOneSiteResponseCoverageFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count + + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count + + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } -type RequestSitesUpdateSiteSiteBuilding struct { - Name string `json:"name,omitempty"` // Building name - Address string `json:"address,omitempty"` // Building address (Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States) - ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA/SantaClara) - Latitude *float64 `json:"latitude,omitempty"` // Building latitude (Example: 37.403712) - Longitude *float64 `json:"longitude,omitempty"` // Building longitude (Example: -121.971063) - Country string `json:"country,omitempty"` // Country name. This field is mandatory for air-gapped networks (Example: United States) +type ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingAttemptsImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingAttemptsFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingAttemptsFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count + + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count + + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingDurationImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingDurationFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseOnboardingDurationFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count + + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count + + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingAttemptsImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingAttemptsFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingAttemptsFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count + + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count + + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingDurationImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingDurationFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseRoamingDurationFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count + + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count + + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseConnectionSpeedImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseConnectionSpeedFailureImpactedEntities struct { + BuildingCount *int `json:"buildingCount,omitempty"` // Building Count + + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + + ApCount *int `json:"apCount,omitempty"` // Ap Count +} +type ResponseSitesGetSiteAnalyticsForOneSiteResponseConnectionSpeedFailureMetrics struct { + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count + + FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count + + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage +} +type ResponseSitesAssignDevicesToSite struct { + ExecutionID string `json:"executionId,omitempty"` // Execution Id + + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url + + Message string `json:"message,omitempty"` // Message +} +type ResponseSitesExportMapArchive struct { + Response *ResponseSitesExportMapArchiveResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // +} +type ResponseSitesExportMapArchiveResponse struct { + TaskID string `json:"taskId,omitempty"` // + + URL string `json:"url,omitempty"` // +} // # Review unknown case +type ResponseSitesImportMapArchiveCancelAnImport interface{} +type ResponseSitesImportMapArchivePerformImport interface{} +type ResponseSitesImportMapArchiveImportStatus struct { + AuditLog *ResponseSitesImportMapArchiveImportStatusAuditLog `json:"auditLog,omitempty"` // + + Status string `json:"status,omitempty"` // + + UUID *ResponseSitesImportMapArchiveImportStatusUUID `json:"uuid,omitempty"` // +} +type ResponseSitesImportMapArchiveImportStatusAuditLog struct { + Children *[]ResponseSitesImportMapArchiveImportStatusAuditLogChildren `json:"children,omitempty"` // + + EntitiesCount *[]ResponseSitesImportMapArchiveImportStatusAuditLogEntitiesCount `json:"entitiesCount,omitempty"` // + + EntityName string `json:"entityName,omitempty"` // + + EntityType string `json:"entityType,omitempty"` // + + ErrorEntitiesCount *[]ResponseSitesImportMapArchiveImportStatusAuditLogErrorEntitiesCount `json:"errorEntitiesCount,omitempty"` // + + Errors *[]ResponseSitesImportMapArchiveImportStatusAuditLogErrors `json:"errors,omitempty"` // + + Infos *[]ResponseSitesImportMapArchiveImportStatusAuditLogInfos `json:"infos,omitempty"` // + + MatchingEntitiesCount *[]ResponseSitesImportMapArchiveImportStatusAuditLogMatchingEntitiesCount `json:"matchingEntitiesCount,omitempty"` // + + SubTasksRootTaskID string `json:"subTasksRootTaskId,omitempty"` // + + SuccessfullyImportedFloors []string `json:"successfullyImportedFloors,omitempty"` // + + Warnings *[]ResponseSitesImportMapArchiveImportStatusAuditLogWarnings `json:"warnings,omitempty"` // +} +type ResponseSitesImportMapArchiveImportStatusAuditLogChildren interface{} +type ResponseSitesImportMapArchiveImportStatusAuditLogEntitiesCount struct { + Key *int `json:"key,omitempty"` // +} +type ResponseSitesImportMapArchiveImportStatusAuditLogErrorEntitiesCount struct { + Key *int `json:"key,omitempty"` // +} +type ResponseSitesImportMapArchiveImportStatusAuditLogErrors struct { + Message string `json:"message,omitempty"` // +} +type ResponseSitesImportMapArchiveImportStatusAuditLogInfos struct { + Message string `json:"message,omitempty"` // +} +type ResponseSitesImportMapArchiveImportStatusAuditLogMatchingEntitiesCount struct { + Key *int `json:"key,omitempty"` // +} +type ResponseSitesImportMapArchiveImportStatusAuditLogWarnings struct { + Message string `json:"message,omitempty"` // +} +type ResponseSitesImportMapArchiveImportStatusUUID struct { + LeastSignificantBits *int `json:"leastSignificantBits,omitempty"` // + + MostSignificantBits *int `json:"mostSignificantBits,omitempty"` // +} +type ResponseSitesMapsSupportedAccessPoints []ResponseItemSitesMapsSupportedAccessPoints // Array of ResponseSitesMapsSupportedAccessPoints +type ResponseItemSitesMapsSupportedAccessPoints struct { + AntennaPatterns *[]ResponseItemSitesMapsSupportedAccessPointsAntennaPatterns `json:"antennaPatterns,omitempty"` // + + ApType string `json:"apType,omitempty"` // +} +type ResponseItemSitesMapsSupportedAccessPointsAntennaPatterns struct { + Band string `json:"band,omitempty"` // + + Names []string `json:"names,omitempty"` // +} +type ResponseSitesGetMembership struct { + Site *ResponseSitesGetMembershipSite `json:"site,omitempty"` // + + Device *[]ResponseSitesGetMembershipDevice `json:"device,omitempty"` // +} +type ResponseSitesGetMembershipSite struct { + Response *[]ResponseSitesGetMembershipSiteResponse `json:"response,omitempty"` // Response + + Version string `json:"version,omitempty"` // Version +} +type ResponseSitesGetMembershipSiteResponse interface{} +type ResponseSitesGetMembershipDevice struct { + Response *[]ResponseSitesGetMembershipDeviceResponse `json:"response,omitempty"` // Response + + Version string `json:"version,omitempty"` // Version + + SiteID string `json:"siteId,omitempty"` // Site Id +} +type ResponseSitesGetMembershipDeviceResponse interface{} +type ResponseSitesCreateSite struct { + ExecutionID string `json:"executionId,omitempty"` // Execution Id + + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url + + Message string `json:"message,omitempty"` // Message +} +type ResponseSitesGetSite struct { + Response *[]ResponseSitesGetSiteResponse `json:"response,omitempty"` // +} +type ResponseSitesGetSiteResponse struct { + ParentID string `json:"parentId,omitempty"` // Parent Id + + Name string `json:"name,omitempty"` // Name + + AdditionalInfo []string `json:"additionalInfo,omitempty"` // Additional Info + + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id + + ID string `json:"id,omitempty"` // Id +} +type ResponseSitesGetSiteHealth struct { + Response *[]ResponseSitesGetSiteHealthResponse `json:"response,omitempty"` // +} +type ResponseSitesGetSiteHealthResponse struct { + SiteName string `json:"siteName,omitempty"` // Name of the site + + SiteID string `json:"siteId,omitempty"` // Site UUID + + ParentSiteID string `json:"parentSiteId,omitempty"` // The parent site's UUID of this site + + ParentSiteName string `json:"parentSiteName,omitempty"` // The parent site's name of this site + + SiteType string `json:"siteType,omitempty"` // Site type of this site + + Latitude *float64 `json:"latitude,omitempty"` // Site (building) location's latitude + + Longitude *float64 `json:"longitude,omitempty"` // Site (building) location's longitude + + HealthyNetworkDevicePercentage *int `json:"healthyNetworkDevicePercentage,omitempty"` // Network health of devices on the site + + HealthyClientsPercentage *int `json:"healthyClientsPercentage,omitempty"` // Client health of all clients in the site + + ClientHealthWired *int `json:"clientHealthWired,omitempty"` // Health of all wired clients in the site + + ClientHealthWireless *int `json:"clientHealthWireless,omitempty"` // Health of all wireless clients in the site + + NumberOfClients *int `json:"numberOfClients,omitempty"` // Total number of clients in the site + + NumberOfNetworkDevice *int `json:"numberOfNetworkDevice,omitempty"` // Total number of network devices in the site + + NetworkHealthAverage *int `json:"networkHealthAverage,omitempty"` // Average network health in the site + + NetworkHealthAccess *int `json:"networkHealthAccess,omitempty"` // Network health for access devices in the site + + NetworkHealthCore *int `json:"networkHealthCore,omitempty"` // Network health for core devices in the site + + NetworkHealthDistribution *int `json:"networkHealthDistribution,omitempty"` // Network health for distribution devices in the site + + NetworkHealthRouter *int `json:"networkHealthRouter,omitempty"` // Network health for router devices in the site + + NetworkHealthWireless *int `json:"networkHealthWireless,omitempty"` // Network health for wireless devices in the site + + NetworkHealthAP *int `json:"networkHealthAP,omitempty"` // Network health for AP devices in the site + + NetworkHealthWLC *int `json:"networkHealthWLC,omitempty"` // Network health for WLC devices in the site + + NetworkHealthSwitch *int `json:"networkHealthSwitch,omitempty"` // Network health for switch devices in the site + + NetworkHealthOthers *int `json:"networkHealthOthers,omitempty"` // Network health for other devices in the site + + NumberOfWiredClients *int `json:"numberOfWiredClients,omitempty"` // Number of wired clients in the site + + NumberOfWirelessClients *int `json:"numberOfWirelessClients,omitempty"` // Number of wireless clients in the site + + TotalNumberOfConnectedWiredClients *int `json:"totalNumberOfConnectedWiredClients,omitempty"` // Number of connected wired clients in the site + + TotalNumberOfActiveWirelessClients *int `json:"totalNumberOfActiveWirelessClients,omitempty"` // Number of active wireless clients in the site + + WiredGoodClients *int `json:"wiredGoodClients,omitempty"` // Number of GOOD health wired clients in the site + + WirelessGoodClients *int `json:"wirelessGoodClients,omitempty"` // Number of GOOD health wireless clients in the site + + OverallGoodDevices *int `json:"overallGoodDevices,omitempty"` // Number of GOOD health devices in the site + + AccessGoodCount *int `json:"accessGoodCount,omitempty"` // Number of GOOD health access devices in the site + + AccessTotalCount *int `json:"accessTotalCount,omitempty"` // Number of access devices in the site + + CoreGoodCount *int `json:"coreGoodCount,omitempty"` // Number of GOOD health core devices in the site + + CoreTotalCount *int `json:"coreTotalCount,omitempty"` // Number of core devices in the site + + DistributionGoodCount *int `json:"distributionGoodCount,omitempty"` // Number of GOOD health distribution devices in the site + + DistributionTotalCount *int `json:"distributionTotalCount,omitempty"` // Number of distribution devices in the site + + RouterGoodCount *int `json:"routerGoodCount,omitempty"` // Number of GOOD health router in the site + + RouterTotalCount *int `json:"routerTotalCount,omitempty"` // Number of router devices in the site + + WirelessDeviceGoodCount *int `json:"wirelessDeviceGoodCount,omitempty"` // Number of GOOD health wireless devices in the site + + WirelessDeviceTotalCount *int `json:"wirelessDeviceTotalCount,omitempty"` // Number of wireless devices in the site + + ApDeviceGoodCount *int `json:"apDeviceGoodCount,omitempty"` // Number of GOOD health AP devices in the site + + ApDeviceTotalCount *int `json:"apDeviceTotalCount,omitempty"` // Number of AP devices in the site + + WlcDeviceGoodCount *int `json:"wlcDeviceGoodCount,omitempty"` // Number of GOOD health wireless controller devices in the site + + WlcDeviceTotalCount *int `json:"wlcDeviceTotalCount,omitempty"` // Number of wireless controller devices in the site + + SwitchDeviceGoodCount *int `json:"switchDeviceGoodCount,omitempty"` // Number of GOOD health switch devices in the site + + SwitchDeviceTotalCount *int `json:"switchDeviceTotalCount,omitempty"` // Number of switch devices in the site + + ApplicationHealth *int `json:"applicationHealth,omitempty"` // Average application health in the site + + ApplicationHealthInfo *[]ResponseSitesGetSiteHealthResponseApplicationHealthInfo `json:"applicationHealthInfo,omitempty"` // + + ApplicationGoodCount *int `json:"applicationGoodCount,omitempty"` // Number of GOOD health applications int the site + + ApplicationTotalCount *int `json:"applicationTotalCount,omitempty"` // Number of applications int the site + + ApplicationBytesTotalCount *float64 `json:"applicationBytesTotalCount,omitempty"` // Total application bytes + + DnacInfo *ResponseSitesGetSiteHealthResponseDnacInfo `json:"dnacInfo,omitempty"` // + + Usage *float64 `json:"usage,omitempty"` // Total bits used by all clients in a site + + ApplicationHealthStats *ResponseSitesGetSiteHealthResponseApplicationHealthStats `json:"applicationHealthStats,omitempty"` // +} +type ResponseSitesGetSiteHealthResponseApplicationHealthInfo struct { + TrafficClass string `json:"trafficClass,omitempty"` // Traffic class of the application + + BytesCount *float64 `json:"bytesCount,omitempty"` // Byte count of the application + + HealthScore *int `json:"healthScore,omitempty"` // Health score of the application +} +type ResponseSitesGetSiteHealthResponseDnacInfo struct { + UUID string `json:"uuid,omitempty"` // UUID of the DNAC + + IP string `json:"ip,omitempty"` // IP address of the DNAC + + Status string `json:"status,omitempty"` // Status of the DNAC +} +type ResponseSitesGetSiteHealthResponseApplicationHealthStats struct { + AppTotalCount *float64 `json:"appTotalCount,omitempty"` // Total application count + + BusinessRelevantAppCount *ResponseSitesGetSiteHealthResponseApplicationHealthStatsBusinessRelevantAppCount `json:"businessRelevantAppCount,omitempty"` // + + BusinessIrrelevantAppCount *ResponseSitesGetSiteHealthResponseApplicationHealthStatsBusinessIrrelevantAppCount `json:"businessIrrelevantAppCount,omitempty"` // + + DefaultHealthAppCount *ResponseSitesGetSiteHealthResponseApplicationHealthStatsDefaultHealthAppCount `json:"defaultHealthAppCount,omitempty"` // +} +type ResponseSitesGetSiteHealthResponseApplicationHealthStatsBusinessRelevantAppCount struct { + Poor *float64 `json:"poor,omitempty"` // Poor business relevant application count + + Fair *float64 `json:"fair,omitempty"` // Fair business relevant application count + + Good *float64 `json:"good,omitempty"` // Good business relevant application count +} +type ResponseSitesGetSiteHealthResponseApplicationHealthStatsBusinessIrrelevantAppCount struct { + Poor *float64 `json:"poor,omitempty"` // Poor business irrelevant application count + + Fair *float64 `json:"fair,omitempty"` // Fair business irrelevant application count + + Good *float64 `json:"good,omitempty"` // Good business irrelevant application count +} +type ResponseSitesGetSiteHealthResponseApplicationHealthStatsDefaultHealthAppCount struct { + Poor *float64 `json:"poor,omitempty"` // Poor default application count + + Fair *float64 `json:"fair,omitempty"` // Fair default application count + + Good *float64 `json:"good,omitempty"` // Good default application count +} +type ResponseSitesGetDevicesThatAreAssignedToASite struct { + Response *[]ResponseSitesGetDevicesThatAreAssignedToASiteResponse `json:"response,omitempty"` // +} +type ResponseSitesGetDevicesThatAreAssignedToASiteResponse struct { + InstanceUUID string `json:"instanceUuid,omitempty"` // Device UUID (E.g. 48eebb3e-b3fc-4928-a7df-1c80e216f930) + + InstanceID *int `json:"instanceId,omitempty"` // Device Id (E.g. 230230) + + AuthEntityID *int `json:"authEntityId,omitempty"` // Authentication Entity Id (Internal record) + + AuthEntityClass *int `json:"authEntityClass,omitempty"` // Authentication entity class (Internal record) + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Device tenant Id (E.g. 64472cc32d3bc1658597669c) + + DeployPending string `json:"deployPending,omitempty"` // Deploy pending (Internal record) + + InstanceVersion *int `json:"instanceVersion,omitempty"` // Instance version (Internal record) + + ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // Access Point manager interface IP + + AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wireless Controller IP + + BootDateTime string `json:"bootDateTime,omitempty"` // Device boot date and time + + CollectionInterval string `json:"collectionInterval,omitempty"` // Device resync interval type (E.g. Global Default) + + CollectionIntervalValue string `json:"collectionIntervalValue,omitempty"` // Device resync interval value + + CollectionStatus string `json:"collectionStatus,omitempty"` // Device inventory collection status (E.g. Managed) + + Description string `json:"description,omitempty"` // Device description + + DeviceSupportLevel string `json:"deviceSupportLevel,omitempty"` // Device support level (E.g. Supported) + + DNSResolvedManagementAddress string `json:"dnsResolvedManagementAddress,omitempty"` // DNS resolved management address + + Family string `json:"family,omitempty"` // Device family (E.g. Routers) + + Hostname string `json:"hostname,omitempty"` // Device hostname + + InterfaceCount string `json:"interfaceCount,omitempty"` // Device interface count + + InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Device inventory collection status detail + + LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last update time + + LastUpdated string `json:"lastUpdated,omitempty"` // Last updated date and time + + LineCardCount string `json:"lineCardCount,omitempty"` // Line card count + + LineCardID string `json:"lineCardId,omitempty"` // Line card Id + + LastDeviceResyncStartTime string `json:"lastDeviceResyncStartTime,omitempty"` // Last device inventory resync start date and time + + MacAddress string `json:"macAddress,omitempty"` // MAC address + + ManagedAtleastOnce *bool `json:"managedAtleastOnce,omitempty"` // If device managed atleast once, value will be true otherwise false + + ManagementIPAddress string `json:"managementIpAddress,omitempty"` // Management IP address + + ManagementState string `json:"managementState,omitempty"` // Device management state (E.g. Managed) + + MemorySize string `json:"memorySize,omitempty"` // Memory size + + PaddedMgmtIPAddress string `json:"paddedMgmtIpAddress,omitempty"` // Padded management IP address. Internal record + + PendingSyncRequestsCount string `json:"pendingSyncRequestsCount,omitempty"` // Pending sync requests count. Internal record + + PlatformID string `json:"platformId,omitempty"` // Device platform Id (E.g. CSR1000V) + + ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Device reachability failure reason + + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Device reachability status (E.g. Reachable) + + ReasonsForDeviceResync string `json:"reasonsForDeviceResync,omitempty"` // Reasons for device resync (E.g. Periodic) + + ReasonsForPendingSyncRequests string `json:"reasonsForPendingSyncRequests,omitempty"` // Reasons for pending device sync requests + + Role string `json:"role,omitempty"` // Device role (E.g. BORDER ROUTER) + + RoleSource string `json:"roleSource,omitempty"` // Device role source. Internal record + + SerialNumber string `json:"serialNumber,omitempty"` // Device serial Number + + Series string `json:"series,omitempty"` // Device series + + SNMPContact string `json:"snmpContact,omitempty"` // Device snmp contact. Internal record + + SNMPLocation string `json:"snmpLocation,omitempty"` // Device snmp location + + SoftwareType string `json:"softwareType,omitempty"` // Device software type + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Device software version + + TagCount string `json:"tagCount,omitempty"` // Device tag Count + + Type string `json:"type,omitempty"` // Device type (E.g. Cisco Cloud Services Router 1000V) + + UpTime string `json:"upTime,omitempty"` // Device up time (E.g. 112 days, 6:09:13.86) + + UptimeSeconds *int `json:"uptimeSeconds,omitempty"` // Device uptime in seconds + + Vendor string `json:"vendor,omitempty"` // Vendor (E.g. Cisco) + + DisplayName string `json:"displayName,omitempty"` // Device display name +} +type ResponseSitesGetSiteCount struct { + Response *int `json:"response,omitempty"` // Response + + Version string `json:"version,omitempty"` // Version +} +type ResponseSitesUpdateSite struct { + Result string `json:"result,omitempty"` // Result + + Response *ResponseSitesUpdateSiteResponse `json:"response,omitempty"` // + + Status string `json:"status,omitempty"` // Status +} +type ResponseSitesUpdateSiteResponse struct { + EndTime string `json:"endTime,omitempty"` // End Time + + Version string `json:"version,omitempty"` // Version + + StartTime string `json:"startTime,omitempty"` // Start Time + + Progress string `json:"progress,omitempty"` // Progress + + Data string `json:"data,omitempty"` // Data + + ServiceType string `json:"serviceType,omitempty"` // Service Type + + OperationIDList []string `json:"operationIdList,omitempty"` // Operation Id List + + IsError string `json:"isError,omitempty"` // Is Error + + RootID string `json:"rootId,omitempty"` // Root Id + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id + + ID string `json:"id,omitempty"` // Id +} +type ResponseSitesDeleteSite struct { + ExecutionID string `json:"executionId,omitempty"` // Execution Id + + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url + + Message string `json:"message,omitempty"` // Message +} +type ResponseSitesGetSiteV2 struct { + Response *[]ResponseSitesGetSiteV2Response `json:"response,omitempty"` // +} +type ResponseSitesGetSiteV2Response struct { + ParentID string `json:"parentId,omitempty"` // Parent site Instance UUID (e.g. b27181bb-211b-40ec-ba5d-2603867c3f2c) + + GroupTypeList []string `json:"groupTypeList,omitempty"` // There are different group types like 'RBAC', 'POLICY', 'SITE', 'TAG', 'PORT', 'DEVICE_TYPE'. This API is for site, so list contains 'SITE' only + + GroupHierarchy string `json:"groupHierarchy,omitempty"` // Site hierarchy by instance UUID (e.g. b27181bb-211b-40ec-ba5d-2603867c3f2c/576c7859-e485-4073-a46f-305f475de4c5) + + AdditionalInfo *[]ResponseSitesGetSiteV2ResponseAdditionalInfo `json:"additionalInfo,omitempty"` // + + GroupNameHierarchy string `json:"groupNameHierarchy,omitempty"` // Site hierarchy by name (e.g. Global/USA/CA/San Jose/Building4) + + Name string `json:"name,omitempty"` // Site name (e.g. Building4) + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Tenant instance Id where site created (e.g. 63bf047b64ec9c1c45f9019c) + + ID string `json:"id,omitempty"` // Site instance UUID (e.g. bb5122ce-4527-4af5-8718-44b746a3a3d8) +} +type ResponseSitesGetSiteV2ResponseAdditionalInfo struct { + NameSpace string `json:"nameSpace,omitempty"` // Site name space. Default value is 'Location' + + Attributes *ResponseSitesGetSiteV2ResponseAdditionalInfoAttributes `json:"attributes,omitempty"` // +} +type ResponseSitesGetSiteV2ResponseAdditionalInfoAttributes struct { + AddressInheritedFrom string `json:"addressInheritedFrom,omitempty"` // Site instance UUID from where address inherited (e.g. 576c7859-e485-4073-a46f-305f475de4c5) + + Type string `json:"type,omitempty"` // Site type + + Country string `json:"country,omitempty"` // Site Country (e.g. United States) + + Address string `json:"address,omitempty"` // Site address (e.g. 269 East Tasman Drive, San Jose, California 95134, United States) + + Latitude string `json:"latitude,omitempty"` // Site latitude (e.g. 37.413082) + + Longitude string `json:"longitude,omitempty"` // Site longitude (e.g. -121.933886) +} +type ResponseSitesGetSiteCountV2 struct { + Response *int `json:"response,omitempty"` // Response + + Version string `json:"version,omitempty"` // Version +} +type RequestSitesQueryAnAggregatedSummaryOfSiteHealthData struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Views []string `json:"views,omitempty"` // Views + + Attributes []string `json:"attributes,omitempty"` // Attributes +} +type RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + Views []string `json:"views,omitempty"` // Views + + Page *RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersPage `json:"page,omitempty"` // +} +type RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value +} +type RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + SortBy *RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersPageSortBy `json:"sortBy,omitempty"` // +} +type RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Order string `json:"order,omitempty"` // Order +} +type RequestSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersFilters `json:"filters,omitempty"` // +} +type RequestSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value +} +type RequestSitesSubmitRequestForSiteAnalyticsSummaryData struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + Filters *[]RequestSitesSubmitRequestForSiteAnalyticsSummaryDataFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes +} +type RequestSitesSubmitRequestForSiteAnalyticsSummaryDataFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value +} +type RequestSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalytics struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TopN *int `json:"topN,omitempty"` // Top N + + GroupBy []string `json:"groupBy,omitempty"` // Group By + + Filters *[]RequestSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalyticsFilters `json:"filters,omitempty"` // +} +type RequestSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalyticsFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value +} +type RequestSitesSubmitRequestForSiteAnalyticsTrendData struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + TrendInterval string `json:"trendInterval,omitempty"` // Trend Interval + + Filters *[]RequestSitesSubmitRequestForSiteAnalyticsTrendDataFilters `json:"filters,omitempty"` // + + Attributes []string `json:"attributes,omitempty"` // Attributes + + Page *RequestSitesSubmitRequestForSiteAnalyticsTrendDataPage `json:"page,omitempty"` // +} +type RequestSitesSubmitRequestForSiteAnalyticsTrendDataFilters struct { + Key string `json:"key,omitempty"` // Key + + Operator string `json:"operator,omitempty"` // Operator + + Value string `json:"value,omitempty"` // Value +} +type RequestSitesSubmitRequestForSiteAnalyticsTrendDataPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} +type RequestSitesAssignDevicesToSite struct { + Device *[]RequestSitesAssignDevicesToSiteDevice `json:"device,omitempty"` // +} +type RequestSitesAssignDevicesToSiteDevice struct { + IP string `json:"ip,omitempty"` // Device IP. It can be either IPv4 or IPv6. IPV4 e.g., 10.104.240.64. IPV6 e.g., 2001:420:284:2004:4:181:500:183 +} // # Review unknown case +type RequestSitesCreateSite struct { + Type string `json:"type,omitempty"` // Type of site to create (eg: area, building, floor) + + Site *RequestSitesCreateSiteSite `json:"site,omitempty"` // +} +type RequestSitesCreateSiteSite struct { + Area *RequestSitesCreateSiteSiteArea `json:"area,omitempty"` // + + Building *RequestSitesCreateSiteSiteBuilding `json:"building,omitempty"` // + + Floor *RequestSitesCreateSiteSiteFloor `json:"floor,omitempty"` // +} +type RequestSitesCreateSiteSiteArea struct { + Name string `json:"name,omitempty"` // Name of the area (eg: Area1) + + ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA) +} +type RequestSitesCreateSiteSiteBuilding struct { + Name string `json:"name,omitempty"` // Name of the building (eg: building1) + + Address string `json:"address,omitempty"` // Address of the building to be created + + ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA/SantaClara) + + Latitude *float64 `json:"latitude,omitempty"` // Latitude coordinate of the building (eg:37.338) + + Longitude *float64 `json:"longitude,omitempty"` // Longitude coordinate of the building (eg:-121.832) + + Country string `json:"country,omitempty"` // Country (eg:United States) +} +type RequestSitesCreateSiteSiteFloor struct { + Name string `json:"name,omitempty"` // Name of the floor (eg:floor-1) + + ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA/SantaClara/Academic) + + RfModel string `json:"rfModel,omitempty"` // Type of floor (eg: Cubes And Walled Offices0 + + Width *float64 `json:"width,omitempty"` // Width of the floor. Unit of measure is ft. (eg: 100) + + Length *float64 `json:"length,omitempty"` // Length of the floor. Unit of measure is ft. (eg: 100) + + Height *float64 `json:"height,omitempty"` // Height of the floor. Unit of measure is ft. (eg: 15) + + FloorNumber *float64 `json:"floorNumber,omitempty"` // Floor number. (eg: 5) +} +type RequestSitesUpdateSite struct { + Type string `json:"type,omitempty"` // Site type + + Site *RequestSitesUpdateSiteSite `json:"site,omitempty"` // +} +type RequestSitesUpdateSiteSite struct { + Area *RequestSitesUpdateSiteSiteArea `json:"area,omitempty"` // + + Building *RequestSitesUpdateSiteSiteBuilding `json:"building,omitempty"` // + + Floor *RequestSitesUpdateSiteSiteFloor `json:"floor,omitempty"` // +} +type RequestSitesUpdateSiteSiteArea struct { + Name string `json:"name,omitempty"` // Area name + + ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA) +} +type RequestSitesUpdateSiteSiteBuilding struct { + Name string `json:"name,omitempty"` // Building name + + Address string `json:"address,omitempty"` // Building address (Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States) + + ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA/SantaClara) + + Latitude *float64 `json:"latitude,omitempty"` // Building latitude (Example: 37.403712) + + Longitude *float64 `json:"longitude,omitempty"` // Building longitude (Example: -121.971063) + + Country string `json:"country,omitempty"` // Country name. This field is mandatory for air-gapped networks (Example: United States) +} +type RequestSitesUpdateSiteSiteFloor struct { + Name string `json:"name,omitempty"` // Floor name + + RfModel string `json:"rfModel,omitempty"` // RF model (Example : Cubes And Walled Offices) + + Width *float64 `json:"width,omitempty"` // Floor width in feet (Example: 200) + + Length *float64 `json:"length,omitempty"` // Floor length in feet (Example: 100) + + Height *float64 `json:"height,omitempty"` // Floor height in feet (Example: 10) + + FloorNumber *float64 `json:"floorNumber,omitempty"` // Floor Number (Example: 3) + + ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA/SantaClara/Academic) +} + +//ReadListOfSiteHealthSummaries Read list of site health summaries. - e4b7-1b5e-4099-b15b +/* Get a paginated list of site health summaries. Use the available query parameters to identify a subset of sites you want health summaries for. This API provides the latest health data from a given `endTime` If data is not ready for the provided endTime, the request will fail, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. This API also provides issue data. The `startTime` query param can be used to specify the beginning point of time range to retrieve the active issue counts in. When this param is not provided, the default `startTime` will be 24 hours before endTime. Valid values for `sortBy` param in this API are limited to the attributes provided in the `site` view. Default sortBy is 'siteHierarchy' in order 'asc' (ascending). For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-siteHealthSummaries-1.0.3-resolved.yaml + + +@param ReadListOfSiteHealthSummariesHeaderParams Custom header parameters +@param ReadListOfSiteHealthSummariesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-list-of-site-health-summaries +*/ +func (s *SitesService) ReadListOfSiteHealthSummaries(ReadListOfSiteHealthSummariesHeaderParams *ReadListOfSiteHealthSummariesHeaderParams, ReadListOfSiteHealthSummariesQueryParams *ReadListOfSiteHealthSummariesQueryParams) (*ResponseSitesReadListOfSiteHealthSummaries, *resty.Response, error) { + path := "/dna/data/api/v1/siteHealthSummaries" + + queryString, _ := query.Values(ReadListOfSiteHealthSummariesQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadListOfSiteHealthSummariesHeaderParams != nil { + + if ReadListOfSiteHealthSummariesHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadListOfSiteHealthSummariesHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesReadListOfSiteHealthSummaries{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadListOfSiteHealthSummaries(ReadListOfSiteHealthSummariesHeaderParams, ReadListOfSiteHealthSummariesQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadListOfSiteHealthSummaries") + } + + result := response.Result().(*ResponseSitesReadListOfSiteHealthSummaries) + return result, response, err + +} + +//ReadSiteCount Read site count. - b6ac-283b-4f39-b488 +/* Get a count of sites. Use the available query parameters to get the count of a subset of sites. This API provides the latest data from a given `endTime` If data is not ready for the provided endTime, the request will fail, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-siteHealthSummaries-1.0.3-resolved.yaml + + +@param ReadSiteCountHeaderParams Custom header parameters +@param ReadSiteCountQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-site-count +*/ +func (s *SitesService) ReadSiteCount(ReadSiteCountHeaderParams *ReadSiteCountHeaderParams, ReadSiteCountQueryParams *ReadSiteCountQueryParams) (*ResponseSitesReadSiteCount, *resty.Response, error) { + path := "/dna/data/api/v1/siteHealthSummaries/count" + + queryString, _ := query.Values(ReadSiteCountQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadSiteCountHeaderParams != nil { + + if ReadSiteCountHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadSiteCountHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesReadSiteCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadSiteCount(ReadSiteCountHeaderParams, ReadSiteCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadSiteCount") + } + + result := response.Result().(*ResponseSitesReadSiteCount) + return result, response, err + +} + +//ReadAnAggregatedSummaryOfSiteHealthData Read an aggregated summary of site health data. - e2b7-8b97-4c78-a4f7 +/* Get an aggregated summary of all site health or use the query params to get an aggregated summary of health for a subset of sites. This API provides the latest health data from a given `endTime` If data is not ready for the provided endTime, the request will fail, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. This API also provides issue data. The `startTime` query param can be used to specify the beginning point of time range to retrieve the active issue counts in. When this param is not provided, the default `startTime` will be 24 hours before endTime. Aggregated response data will NOT have unique identifier data populated. List of unique identifier data: [`id`, `siteHierarchy`, `siteHierarchyId`, `siteType`, `latitude`, `longitude`]. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-siteHealthSummaries-1.0.3-resolved.yaml + + +@param ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams Custom header parameters +@param ReadAnAggregatedSummaryOfSiteHealthDataQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-an-aggregated-summary-of-site-health-data +*/ +func (s *SitesService) ReadAnAggregatedSummaryOfSiteHealthData(ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams *ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams, ReadAnAggregatedSummaryOfSiteHealthDataQueryParams *ReadAnAggregatedSummaryOfSiteHealthDataQueryParams) (*ResponseSitesReadAnAggregatedSummaryOfSiteHealthData, *resty.Response, error) { + path := "/dna/data/api/v1/siteHealthSummaries/summaryAnalytics" + + queryString, _ := query.Values(ReadAnAggregatedSummaryOfSiteHealthDataQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams != nil { + + if ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesReadAnAggregatedSummaryOfSiteHealthData{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadAnAggregatedSummaryOfSiteHealthData(ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams, ReadAnAggregatedSummaryOfSiteHealthDataQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadAnAggregatedSummaryOfSiteHealthData") + } + + result := response.Result().(*ResponseSitesReadAnAggregatedSummaryOfSiteHealthData) + return result, response, err + +} + +//ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetwork Read trend analytics data for a grouping of sites in your network - 7285-a858-45aa-b953 +/* Retrieves the time series information of health and issue data for sites specified by query parameters, or all sites. The data will be grouped based on the specified trend time interval. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-siteHealthSummaries-2.0.0-resolved.yaml + + +@param ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkHeaderParams Custom header parameters +@param ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-trend-analytics-data-for-a-grouping-of-sites-in-your-network +*/ +func (s *SitesService) ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetwork(ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkHeaderParams *ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkHeaderParams, ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkQueryParams *ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkQueryParams) (*ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetwork, *resty.Response, error) { + path := "/dna/data/api/v1/siteHealthSummaries/trendAnalytics" + + queryString, _ := query.Values(ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkHeaderParams != nil { + + if ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetwork{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetwork(ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkHeaderParams, ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadTrendAnalyticsDataForAGroupingOfSitesInYourNetwork") + } + + result := response.Result().(*ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetwork) + return result, response, err + +} + +//ReadSiteHealthSummaryDataBySiteID Read site health summary data by site id. - 48aa-094f-423b-bd33 +/* Get a health summary for a specific site by providing the unique site id in the url path. This API provides the latest health data from a given `endTime` If data is not ready for the provided endTime, the request will fail, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. This API also provides issue data. The `startTime` query param can be used to specify the beginning point of time range to retrieve the active issue counts in. When this param is not provided, the default `startTime` will be 24 hours before endTime. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-siteHealthSummaries-1.0.3-resolved.yaml + + +@param id id path parameter. unique site uuid + +@param ReadSiteHealthSummaryDataBySiteIdHeaderParams Custom header parameters +@param ReadSiteHealthSummaryDataBySiteIdQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-site-health-summary-data-by-site-id +*/ +func (s *SitesService) ReadSiteHealthSummaryDataBySiteID(id string, ReadSiteHealthSummaryDataBySiteIdHeaderParams *ReadSiteHealthSummaryDataBySiteIDHeaderParams, ReadSiteHealthSummaryDataBySiteIdQueryParams *ReadSiteHealthSummaryDataBySiteIDQueryParams) (*ResponseSitesReadSiteHealthSummaryDataBySiteID, *resty.Response, error) { + path := "/dna/data/api/v1/siteHealthSummaries/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(ReadSiteHealthSummaryDataBySiteIdQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadSiteHealthSummaryDataBySiteIdHeaderParams != nil { + + if ReadSiteHealthSummaryDataBySiteIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadSiteHealthSummaryDataBySiteIdHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesReadSiteHealthSummaryDataBySiteID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadSiteHealthSummaryDataBySiteID(id, ReadSiteHealthSummaryDataBySiteIdHeaderParams, ReadSiteHealthSummaryDataBySiteIdQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadSiteHealthSummaryDataBySiteId") + } + + result := response.Result().(*ResponseSitesReadSiteHealthSummaryDataBySiteID) + return result, response, err + +} + +//ReadTrendAnalyticsDataForASpecificSiteInYourNetwork Read trend analytics data for a specific site in your network - e1b4-5aa7-47db-b848 +/* Retrieves the time series information of health and issue data for a site specified by the path parameter. The data will be grouped based on the specified trend time interval. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-siteHealthSummaries-2.0.0-resolved.yaml + + +@param id id path parameter. unique site uuid + +@param ReadTrendAnalyticsDataForASpecificSiteInYourNetworkHeaderParams Custom header parameters +@param ReadTrendAnalyticsDataForASpecificSiteInYourNetworkQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-trend-analytics-data-for-a-specific-site-in-your-network +*/ +func (s *SitesService) ReadTrendAnalyticsDataForASpecificSiteInYourNetwork(id string, ReadTrendAnalyticsDataForASpecificSiteInYourNetworkHeaderParams *ReadTrendAnalyticsDataForASpecificSiteInYourNetworkHeaderParams, ReadTrendAnalyticsDataForASpecificSiteInYourNetworkQueryParams *ReadTrendAnalyticsDataForASpecificSiteInYourNetworkQueryParams) (*ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetwork, *resty.Response, error) { + path := "/dna/data/api/v1/siteHealthSummaries/{id}/trendAnalytics" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(ReadTrendAnalyticsDataForASpecificSiteInYourNetworkQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if ReadTrendAnalyticsDataForASpecificSiteInYourNetworkHeaderParams != nil { + + if ReadTrendAnalyticsDataForASpecificSiteInYourNetworkHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadTrendAnalyticsDataForASpecificSiteInYourNetworkHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetwork{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadTrendAnalyticsDataForASpecificSiteInYourNetwork(id, ReadTrendAnalyticsDataForASpecificSiteInYourNetworkHeaderParams, ReadTrendAnalyticsDataForASpecificSiteInYourNetworkQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadTrendAnalyticsDataForASpecificSiteInYourNetwork") + } + + result := response.Result().(*ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetwork) + return result, response, err + +} + +//GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParameters Get site analytics for the child sites of given parent site and other query parameters. - e6b7-0a0e-4709-9fd3 +/* Returns site analytics for all child sites of given parent site. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-SiteKpiSummaries-1.0.0-resolved.yaml + + +@param GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersHeaderParams Custom header parameters +@param GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-analytics-for-the-child-sites-of-given-parent-site-and-other-query-parameters +*/ +func (s *SitesService) GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParameters(GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersHeaderParams *GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersHeaderParams, GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersQueryParams *GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersQueryParams) (*ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParameters, *resty.Response, error) { + path := "/dna/data/api/v1/siteKpiSummaries" + + queryString, _ := query.Values(GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersHeaderParams != nil { + + if GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParameters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParameters(GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersHeaderParams, GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParameters") + } + + result := response.Result().(*ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParameters) + return result, response, err + } -type RequestSitesUpdateSiteSiteFloor struct { - Name string `json:"name,omitempty"` // Floor name - RfModel string `json:"rfModel,omitempty"` // RF model (Example : Cubes And Walled Offices) - Width *float64 `json:"width,omitempty"` // Floor width in feet (Example: 200) - Length *float64 `json:"length,omitempty"` // Floor length in feet (Example: 100) - Height *float64 `json:"height,omitempty"` // Floor height in feet (Example: 10) - FloorNumber *float64 `json:"floorNumber,omitempty"` // Floor Number (Example: 3) + +//GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParameters Get the total number of site analytics records available for for given set of query parameters. - cbb0-1a0d-4bab-940b +/* Returns the total number of site analytics records available for for given set of query parameters. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-SiteKpiSummaries-1.0.0-resolved.yaml + + +@param GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersHeaderParams Custom header parameters +@param GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-total-number-of-site-analytics-records-available-for-for-given-set-of-query-parameters +*/ +func (s *SitesService) GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParameters(GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersHeaderParams *GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersHeaderParams, GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersQueryParams *GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersQueryParams) (*ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParameters, *resty.Response, error) { + path := "/dna/data/api/v1/siteKpiSummaries/count" + + queryString, _ := query.Values(GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersHeaderParams != nil { + + if GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParameters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParameters(GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersHeaderParams, GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParameters") + } + + result := response.Result().(*ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParameters) + return result, response, err + } -//ReadListOfSiteHealthSummaries Read list of site health summaries. - e4b7-1b5e-4099-b15b -/* Get a paginated list of site health summaries. Use the available query parameters to identify a subset of sites you want health summaries for. This API provides the latest health data from a given `endTime` If data is not ready for the provided endTime, the request will fail, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. This API also provides issue data. The `startTime` query param can be used to specify the beginning point of time range to retrieve the active issue counts in. When this param is not provided, the default `startTime` will be 24 hours before endTime. Valid values for `sortBy` param in this API are limited to the attributes provided in the `site` view. Default sortBy is 'siteHierarchy' in order 'asc' (ascending). For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-siteHealthSummaries-1.0.3-resolved.yaml +//GetSiteAnalyticsSummaryDataForTheGivenTaskID Get site analytics summary data for the given task id - a685-a977-4cea-b6e9 +/* Get site analytics summary data for the given task id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-SiteKpiSummaries-1.0.0-resolved.yaml -@param ReadListOfSiteHealthSummariesHeaderParams Custom header parameters -@param ReadListOfSiteHealthSummariesQueryParams Filtering parameter +@param GetSiteAnalyticsSummaryDataForTheGivenTaskIdHeaderParams Custom header parameters +@param GetSiteAnalyticsSummaryDataForTheGivenTaskIdQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-list-of-site-health-summaries-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-analytics-summary-data-for-the-given-task-id */ -func (s *SitesService) ReadListOfSiteHealthSummaries(ReadListOfSiteHealthSummariesHeaderParams *ReadListOfSiteHealthSummariesHeaderParams, ReadListOfSiteHealthSummariesQueryParams *ReadListOfSiteHealthSummariesQueryParams) (*ResponseSitesReadListOfSiteHealthSummaries, *resty.Response, error) { - path := "/dna/data/api/v1/siteHealthSummaries" +func (s *SitesService) GetSiteAnalyticsSummaryDataForTheGivenTaskID(GetSiteAnalyticsSummaryDataForTheGivenTaskIdHeaderParams *GetSiteAnalyticsSummaryDataForTheGivenTaskIDHeaderParams, GetSiteAnalyticsSummaryDataForTheGivenTaskIdQueryParams *GetSiteAnalyticsSummaryDataForTheGivenTaskIDQueryParams) (*ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskID, *resty.Response, error) { + path := "/dna/data/api/v1/siteKpiSummaries/summaryAnalytics" - queryString, _ := query.Values(ReadListOfSiteHealthSummariesQueryParams) + queryString, _ := query.Values(GetSiteAnalyticsSummaryDataForTheGivenTaskIdQueryParams) var response *resty.Response var err error @@ -825,16 +2558,16 @@ func (s *SitesService) ReadListOfSiteHealthSummaries(ReadListOfSiteHealthSummari SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if ReadListOfSiteHealthSummariesHeaderParams != nil { + if GetSiteAnalyticsSummaryDataForTheGivenTaskIdHeaderParams != nil { - if ReadListOfSiteHealthSummariesHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadListOfSiteHealthSummariesHeaderParams.XCaLLERID) + if GetSiteAnalyticsSummaryDataForTheGivenTaskIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetSiteAnalyticsSummaryDataForTheGivenTaskIdHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSitesReadListOfSiteHealthSummaries{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskID{}). SetError(&Error). Get(path) @@ -845,29 +2578,29 @@ func (s *SitesService) ReadListOfSiteHealthSummaries(ReadListOfSiteHealthSummari if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadListOfSiteHealthSummaries(ReadListOfSiteHealthSummariesHeaderParams, ReadListOfSiteHealthSummariesQueryParams) + return s.GetSiteAnalyticsSummaryDataForTheGivenTaskID(GetSiteAnalyticsSummaryDataForTheGivenTaskIdHeaderParams, GetSiteAnalyticsSummaryDataForTheGivenTaskIdQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadListOfSiteHealthSummaries") + return nil, response, fmt.Errorf("error with operation GetSiteAnalyticsSummaryDataForTheGivenTaskId") } - result := response.Result().(*ResponseSitesReadListOfSiteHealthSummaries) + result := response.Result().(*ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskID) return result, response, err } -//ReadSiteCount Read site count. - b6ac-283b-4f39-b488 -/* Get a count of sites. Use the available query parameters to get the count of a subset of sites. This API provides the latest data from a given `endTime` If data is not ready for the provided endTime, the request will fail, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-siteHealthSummaries-1.0.3-resolved.yaml +//GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskID Get Top N entities related to site analytics for the given task id - a29f-d81b-4279-91bb +/* Gets the topN analytics data for a given taskId. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-SiteKpiSummaries-1.0.0-resolved.yaml -@param ReadSiteCountHeaderParams Custom header parameters -@param ReadSiteCountQueryParams Filtering parameter +@param GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIdHeaderParams Custom header parameters +@param GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIdQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-site-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-top-n-entities-related-to-site-analytics-for-the-given-task-id */ -func (s *SitesService) ReadSiteCount(ReadSiteCountHeaderParams *ReadSiteCountHeaderParams, ReadSiteCountQueryParams *ReadSiteCountQueryParams) (*ResponseSitesReadSiteCount, *resty.Response, error) { - path := "/dna/data/api/v1/siteHealthSummaries/count" +func (s *SitesService) GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskID(GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIdHeaderParams *GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDHeaderParams, GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIdQueryParams *GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDQueryParams) (*ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskID, *resty.Response, error) { + path := "/dna/data/api/v1/siteKpiSummaries/topNAnalytics" - queryString, _ := query.Values(ReadSiteCountQueryParams) + queryString, _ := query.Values(GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIdQueryParams) var response *resty.Response var err error @@ -875,16 +2608,16 @@ func (s *SitesService) ReadSiteCount(ReadSiteCountHeaderParams *ReadSiteCountHea SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if ReadSiteCountHeaderParams != nil { + if GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIdHeaderParams != nil { - if ReadSiteCountHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadSiteCountHeaderParams.XCaLLERID) + if GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIdHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSitesReadSiteCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskID{}). SetError(&Error). Get(path) @@ -895,29 +2628,29 @@ func (s *SitesService) ReadSiteCount(ReadSiteCountHeaderParams *ReadSiteCountHea if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadSiteCount(ReadSiteCountHeaderParams, ReadSiteCountQueryParams) + return s.GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskID(GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIdHeaderParams, GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIdQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadSiteCount") + return nil, response, fmt.Errorf("error with operation GetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskId") } - result := response.Result().(*ResponseSitesReadSiteCount) + result := response.Result().(*ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskID) return result, response, err } -//ReadAnAggregatedSummaryOfSiteHealthData Read an aggregated summary of site health data. - e2b7-8b97-4c78-a4f7 -/* Get an aggregated summary of all site health or use the query params to get an aggregated summary of health for a subset of sites. This API provides the latest health data from a given `endTime` If data is not ready for the provided endTime, the request will fail, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. This API also provides issue data. The `startTime` query param can be used to specify the beginning point of time range to retrieve the active issue counts in. When this param is not provided, the default `startTime` will be 24 hours before endTime. Aggregated response data will NOT have unique identifier data populated. List of unique identifier data: [`id`, `siteHierarchy`, `siteHierarchyId`, `siteType`, `latitude`, `longitude`]. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-siteHealthSummaries-1.0.3-resolved.yaml +//GetSiteAnalyticsTrendDataForTheGivenTaskID Get site analytics trend data for the given task id - 4fac-396e-4cc8-993a +/* Gets site analytics trend data for the given task id. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-SiteKpiSummaries-1.0.0-resolved.yaml -@param ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams Custom header parameters -@param ReadAnAggregatedSummaryOfSiteHealthDataQueryParams Filtering parameter +@param GetSiteAnalyticsTrendDataForTheGivenTaskIdHeaderParams Custom header parameters +@param GetSiteAnalyticsTrendDataForTheGivenTaskIdQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-an-aggregated-summary-of-site-health-data-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-analytics-trend-data-for-the-given-task-id */ -func (s *SitesService) ReadAnAggregatedSummaryOfSiteHealthData(ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams *ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams, ReadAnAggregatedSummaryOfSiteHealthDataQueryParams *ReadAnAggregatedSummaryOfSiteHealthDataQueryParams) (*ResponseSitesReadAnAggregatedSummaryOfSiteHealthData, *resty.Response, error) { - path := "/dna/data/api/v1/siteHealthSummaries/summaryAnalytics" +func (s *SitesService) GetSiteAnalyticsTrendDataForTheGivenTaskID(GetSiteAnalyticsTrendDataForTheGivenTaskIdHeaderParams *GetSiteAnalyticsTrendDataForTheGivenTaskIDHeaderParams, GetSiteAnalyticsTrendDataForTheGivenTaskIdQueryParams *GetSiteAnalyticsTrendDataForTheGivenTaskIDQueryParams) (*ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskID, *resty.Response, error) { + path := "/dna/data/api/v1/siteKpiSummaries/trendAnalytics" - queryString, _ := query.Values(ReadAnAggregatedSummaryOfSiteHealthDataQueryParams) + queryString, _ := query.Values(GetSiteAnalyticsTrendDataForTheGivenTaskIdQueryParams) var response *resty.Response var err error @@ -925,16 +2658,16 @@ func (s *SitesService) ReadAnAggregatedSummaryOfSiteHealthData(ReadAnAggregatedS SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams != nil { + if GetSiteAnalyticsTrendDataForTheGivenTaskIdHeaderParams != nil { - if ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams.XCaLLERID) + if GetSiteAnalyticsTrendDataForTheGivenTaskIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetSiteAnalyticsTrendDataForTheGivenTaskIdHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSitesReadAnAggregatedSummaryOfSiteHealthData{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskID{}). SetError(&Error). Get(path) @@ -945,32 +2678,32 @@ func (s *SitesService) ReadAnAggregatedSummaryOfSiteHealthData(ReadAnAggregatedS if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadAnAggregatedSummaryOfSiteHealthData(ReadAnAggregatedSummaryOfSiteHealthDataHeaderParams, ReadAnAggregatedSummaryOfSiteHealthDataQueryParams) + return s.GetSiteAnalyticsTrendDataForTheGivenTaskID(GetSiteAnalyticsTrendDataForTheGivenTaskIdHeaderParams, GetSiteAnalyticsTrendDataForTheGivenTaskIdQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadAnAggregatedSummaryOfSiteHealthData") + return nil, response, fmt.Errorf("error with operation GetSiteAnalyticsTrendDataForTheGivenTaskId") } - result := response.Result().(*ResponseSitesReadAnAggregatedSummaryOfSiteHealthData) + result := response.Result().(*ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskID) return result, response, err } -//ReadSiteHealthSummaryDataBySiteID Read site health summary data by site id. - 48aa-094f-423b-bd33 -/* Get a health summary for a specific site by providing the unique site id in the url path. This API provides the latest health data from a given `endTime` If data is not ready for the provided endTime, the request will fail, and the error message will indicate the recommended endTime to use to retrieve a complete data set. This behavior may occur if the provided endTime=currentTime, since we are not a real time system. When `endTime` is not provided, the API returns the latest data. This API also provides issue data. The `startTime` query param can be used to specify the beginning point of time range to retrieve the active issue counts in. When this param is not provided, the default `startTime` will be 24 hours before endTime. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-siteHealthSummaries-1.0.3-resolved.yaml +//GetSiteAnalyticsForOneSite Get site analytics for one site. - 65be-bad5-48b9-9134 +/* Returns site analytics for the given site. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-SiteKpiSummaries-1.0.0-resolved.yaml -@param id id path parameter. unique site uuid +@param id id path parameter. The Site UUID -@param ReadSiteHealthSummaryDataBySiteIdHeaderParams Custom header parameters -@param ReadSiteHealthSummaryDataBySiteIdQueryParams Filtering parameter +@param GetSiteAnalyticsForOneSiteHeaderParams Custom header parameters +@param GetSiteAnalyticsForOneSiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-site-health-summary-data-by-site-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-analytics-for-one-site */ -func (s *SitesService) ReadSiteHealthSummaryDataBySiteID(id string, ReadSiteHealthSummaryDataBySiteIdHeaderParams *ReadSiteHealthSummaryDataBySiteIDHeaderParams, ReadSiteHealthSummaryDataBySiteIdQueryParams *ReadSiteHealthSummaryDataBySiteIDQueryParams) (*ResponseSitesReadSiteHealthSummaryDataBySiteID, *resty.Response, error) { - path := "/dna/data/api/v1/siteHealthSummaries/{id}" +func (s *SitesService) GetSiteAnalyticsForOneSite(id string, GetSiteAnalyticsForOneSiteHeaderParams *GetSiteAnalyticsForOneSiteHeaderParams, GetSiteAnalyticsForOneSiteQueryParams *GetSiteAnalyticsForOneSiteQueryParams) (*ResponseSitesGetSiteAnalyticsForOneSite, *resty.Response, error) { + path := "/dna/data/api/v1/siteKpiSummaries/{id}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - queryString, _ := query.Values(ReadSiteHealthSummaryDataBySiteIdQueryParams) + queryString, _ := query.Values(GetSiteAnalyticsForOneSiteQueryParams) var response *resty.Response var err error @@ -978,16 +2711,16 @@ func (s *SitesService) ReadSiteHealthSummaryDataBySiteID(id string, ReadSiteHeal SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if ReadSiteHealthSummaryDataBySiteIdHeaderParams != nil { + if GetSiteAnalyticsForOneSiteHeaderParams != nil { - if ReadSiteHealthSummaryDataBySiteIdHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadSiteHealthSummaryDataBySiteIdHeaderParams.XCaLLERID) + if GetSiteAnalyticsForOneSiteHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetSiteAnalyticsForOneSiteHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSitesReadSiteHealthSummaryDataBySiteID{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesGetSiteAnalyticsForOneSite{}). SetError(&Error). Get(path) @@ -998,12 +2731,12 @@ func (s *SitesService) ReadSiteHealthSummaryDataBySiteID(id string, ReadSiteHeal if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadSiteHealthSummaryDataBySiteID(id, ReadSiteHealthSummaryDataBySiteIdHeaderParams, ReadSiteHealthSummaryDataBySiteIdQueryParams) + return s.GetSiteAnalyticsForOneSite(id, GetSiteAnalyticsForOneSiteHeaderParams, GetSiteAnalyticsForOneSiteQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadSiteHealthSummaryDataBySiteId") + return nil, response, fmt.Errorf("error with operation GetSiteAnalyticsForOneSite") } - result := response.Result().(*ResponseSitesReadSiteHealthSummaryDataBySiteID) + result := response.Result().(*ResponseSitesGetSiteAnalyticsForOneSite) return result, response, err } @@ -1015,7 +2748,7 @@ func (s *SitesService) ReadSiteHealthSummaryDataBySiteID(id string, ReadSiteHeal @param importContextUUID importContextUuid path parameter. The unique import context UUID given by a previous and recent call to maps/import/start API -Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-map-archive-import-status-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-map-archive-import-status */ func (s *SitesService) ImportMapArchiveImportStatus(importContextUUID string) (*ResponseSitesImportMapArchiveImportStatus, *resty.Response, error) { path := "/dna/intent/api/v1/maps/import/{importContextUuid}/status" @@ -1050,7 +2783,7 @@ func (s *SitesService) ImportMapArchiveImportStatus(importContextUUID string) (* -Documentation Link: https://developer.cisco.com/docs/dna-center/#!maps-supported-access-points-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!maps-supported-access-points */ func (s *SitesService) MapsSupportedAccessPoints() (*ResponseSitesMapsSupportedAccessPoints, *resty.Response, error) { path := "/dna/intent/api/v1/maps/supported-access-points" @@ -1087,7 +2820,7 @@ func (s *SitesService) MapsSupportedAccessPoints() (*ResponseSitesMapsSupportedA @param GetMembershipQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-membership-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-membership */ func (s *SitesService) GetMembership(siteID string, GetMembershipQueryParams *GetMembershipQueryParams) (*ResponseSitesGetMembership, *resty.Response, error) { path := "/dna/intent/api/v1/membership/{siteId}" @@ -1125,7 +2858,7 @@ func (s *SitesService) GetMembership(siteID string, GetMembershipQueryParams *Ge @param GetSiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site */ func (s *SitesService) GetSite(GetSiteQueryParams *GetSiteQueryParams) (*ResponseSitesGetSite, *resty.Response, error) { path := "/dna/intent/api/v1/site" @@ -1162,7 +2895,7 @@ func (s *SitesService) GetSite(GetSiteQueryParams *GetSiteQueryParams) (*Respons @param GetSiteHealthQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-health-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-health */ func (s *SitesService) GetSiteHealth(GetSiteHealthQueryParams *GetSiteHealthQueryParams) (*ResponseSitesGetSiteHealth, *resty.Response, error) { path := "/dna/intent/api/v1/site-health" @@ -1201,7 +2934,7 @@ func (s *SitesService) GetSiteHealth(GetSiteHealthQueryParams *GetSiteHealthQuer @param GetDevicesThatAreAssignedToASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-devices-that-are-assigned-to-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-devices-that-are-assigned-to-a-site */ func (s *SitesService) GetDevicesThatAreAssignedToASite(id string, GetDevicesThatAreAssignedToASiteQueryParams *GetDevicesThatAreAssignedToASiteQueryParams) (*ResponseSitesGetDevicesThatAreAssignedToASite, *resty.Response, error) { path := "/dna/intent/api/v1/site-member/{id}/member" @@ -1239,7 +2972,7 @@ func (s *SitesService) GetDevicesThatAreAssignedToASite(id string, GetDevicesTha @param GetSiteCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-count */ func (s *SitesService) GetSiteCount(GetSiteCountQueryParams *GetSiteCountQueryParams) (*ResponseSitesGetSiteCount, *resty.Response, error) { path := "/dna/intent/api/v1/site/count" @@ -1355,7 +3088,7 @@ func (s *SitesService) GetSiteCountV2(GetSiteCountV2QueryParams *GetSiteCountV2Q @param QueryAnAggregatedSummaryOfSiteHealthDataQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-an-aggregated-summary-of-site-health-data-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-an-aggregated-summary-of-site-health-data */ func (s *SitesService) QueryAnAggregatedSummaryOfSiteHealthData(requestSitesQueryAnAggregatedSummaryOfSiteHealthData *RequestSitesQueryAnAggregatedSummaryOfSiteHealthData, QueryAnAggregatedSummaryOfSiteHealthDataQueryParams *QueryAnAggregatedSummaryOfSiteHealthDataQueryParams) (*ResponseSitesQueryAnAggregatedSummaryOfSiteHealthData, *resty.Response, error) { path := "/dna/data/api/v1/siteHealthSummaries/summaryAnalytics" @@ -1389,6 +3122,217 @@ func (s *SitesService) QueryAnAggregatedSummaryOfSiteHealthData(requestSitesQuer } +//GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters Get site analytics for the child sites of given parent site and other filters. - 31bb-a81f-467a-b596 +/* Returns site analytics for all child sites of given parent site. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-SiteKpiSummaries-1.0.0-resolved.yaml + + +@param GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-analytics-for-the-child-sites-of-given-parent-site-and-other-filters +*/ +func (s *SitesService) GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters(requestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters *RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters, GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersHeaderParams *GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersHeaderParams) (*ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters, *resty.Response, error) { + path := "/dna/data/api/v1/siteKpiSummaries/query" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersHeaderParams != nil { + + if GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters). + SetResult(&ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters(requestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters, GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation GetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters") + } + + result := response.Result().(*ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters) + return result, response, err + +} + +//GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters Get the total number of site analytics records available for for given set of filters. - f19a-d9e4-4c19-9399 +/* Returns the total number of site analytics records available for for given set of filters. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-SiteKpiSummaries-1.0.0-resolved.yaml + + +@param GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-total-number-of-site-analytics-records-available-for-for-given-set-of-filters +*/ +func (s *SitesService) GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters(requestSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters *RequestSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters, GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersHeaderParams *GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersHeaderParams) (*ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters, *resty.Response, error) { + path := "/dna/data/api/v1/siteKpiSummaries/query/count" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersHeaderParams != nil { + + if GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters). + SetResult(&ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters(requestSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters, GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation GetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters") + } + + result := response.Result().(*ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters) + return result, response, err + +} + +//SubmitRequestForSiteAnalyticsSummaryData Submit request for site analytics summary data - efb8-19ca-4eba-b9d1 +/* Submits the task to get summary analytics data for a given site. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-SiteKpiSummaries-1.0.0-resolved.yaml + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!submit-request-for-site-analytics-summary-data +*/ +func (s *SitesService) SubmitRequestForSiteAnalyticsSummaryData(requestSitesSubmitRequestForSiteAnalyticsSummaryData *RequestSitesSubmitRequestForSiteAnalyticsSummaryData) (*ResponseSitesSubmitRequestForSiteAnalyticsSummaryData, *resty.Response, error) { + path := "/dna/data/api/v1/siteKpiSummaries/summaryAnalytics" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSitesSubmitRequestForSiteAnalyticsSummaryData). + SetResult(&ResponseSitesSubmitRequestForSiteAnalyticsSummaryData{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.SubmitRequestForSiteAnalyticsSummaryData(requestSitesSubmitRequestForSiteAnalyticsSummaryData) + } + + return nil, response, fmt.Errorf("error with operation SubmitRequestForSiteAnalyticsSummaryData") + } + + result := response.Result().(*ResponseSitesSubmitRequestForSiteAnalyticsSummaryData) + return result, response, err + +} + +//SubmitRequestForTopNEntitiesRelatedToSiteAnalytics Submit request for Top N entities related to site analytics - 5a88-0934-4699-8d1c +/* Gets the Top N entites related based on site analytics for a given kpi type. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-SiteKpiSummaries-1.0.0-resolved.yaml + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!submit-request-for-top-n-entities-related-to-site-analytics +*/ +func (s *SitesService) SubmitRequestForTopNEntitiesRelatedToSiteAnalytics(requestSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalytics *RequestSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalytics) (*ResponseSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalytics, *resty.Response, error) { + path := "/dna/data/api/v1/siteKpiSummaries/topNAnalytics" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalytics). + SetResult(&ResponseSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalytics{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.SubmitRequestForTopNEntitiesRelatedToSiteAnalytics(requestSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalytics) + } + + return nil, response, fmt.Errorf("error with operation SubmitRequestForTopNEntitiesRelatedToSiteAnalytics") + } + + result := response.Result().(*ResponseSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalytics) + return result, response, err + +} + +//SubmitRequestForSiteAnalyticsTrendData Submit request for site analytics trend data - 2680-198e-477b-9226 +/* Submits the task to get site analytics trend data for a given site. For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-SiteKpiSummaries-1.0.0-resolved.yaml + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!submit-request-for-site-analytics-trend-data +*/ +func (s *SitesService) SubmitRequestForSiteAnalyticsTrendData(requestSitesSubmitRequestForSiteAnalyticsTrendData *RequestSitesSubmitRequestForSiteAnalyticsTrendData) (*ResponseSitesSubmitRequestForSiteAnalyticsTrendData, *resty.Response, error) { + path := "/dna/data/api/v1/siteKpiSummaries/trendAnalytics" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSitesSubmitRequestForSiteAnalyticsTrendData). + SetResult(&ResponseSitesSubmitRequestForSiteAnalyticsTrendData{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.SubmitRequestForSiteAnalyticsTrendData(requestSitesSubmitRequestForSiteAnalyticsTrendData) + } + + return nil, response, fmt.Errorf("error with operation SubmitRequestForSiteAnalyticsTrendData") + } + + result := response.Result().(*ResponseSitesSubmitRequestForSiteAnalyticsTrendData) + return result, response, err + +} + //AssignDevicesToSite Assign Devices To Site - 98a8-aa5e-40cb-b90b /* Assigns unassigned devices to a site. This API does not move assigned devices to other sites. @@ -1397,7 +3341,7 @@ func (s *SitesService) QueryAnAggregatedSummaryOfSiteHealthData(requestSitesQuer @param AssignDevicesToSiteHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-devices-to-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-devices-to-site */ func (s *SitesService) AssignDevicesToSite(siteID string, requestSitesAssignDevicesToSite *RequestSitesAssignDevicesToSite, AssignDevicesToSiteHeaderParams *AssignDevicesToSiteHeaderParams) (*ResponseSitesAssignDevicesToSite, *resty.Response, error) { path := "/dna/intent/api/v1/assign-device-to-site/{siteId}/device" @@ -1457,7 +3401,7 @@ func (s *SitesService) AssignDevicesToSite(siteID string, requestSitesAssignDevi @param siteHierarchyUUID siteHierarchyUuid path parameter. The site hierarchy element UUID to export, all child elements starting at this hierarchy element will be included. Limited to a hierarchy that contains 500 or fewer maps. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!export-map-archive-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!export-map-archive */ func (s *SitesService) ExportMapArchive(siteHierarchyUUID string) (*ResponseSitesExportMapArchive, *resty.Response, error) { path := "/dna/intent/api/v1/maps/export/{siteHierarchyUuid}" @@ -1494,7 +3438,7 @@ func (s *SitesService) ExportMapArchive(siteHierarchyUUID string) (*ResponseSite -Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-map-archive-start-import-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-map-archive-start-import */ func (s *SitesService) ImportMapArchiveStartImport() (*resty.Response, error) { path := "/dna/intent/api/v1/maps/import/start" @@ -1530,7 +3474,7 @@ func (s *SitesService) ImportMapArchiveStartImport() (*resty.Response, error) { @param importContextUUID importContextUuid path parameter. The unique import context UUID given by a previous call of Start Import API -Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-map-archive-perform-import-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-map-archive-perform-import */ func (s *SitesService) ImportMapArchivePerformImport(importContextUUID string) (*ResponseSitesImportMapArchivePerformImport, *resty.Response, error) { path := "/dna/intent/api/v1/maps/import/{importContextUuid}/perform" @@ -1570,7 +3514,7 @@ func (s *SitesService) ImportMapArchivePerformImport(importContextUUID string) ( @param CreateSiteHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-site */ func (s *SitesService) CreateSite(requestSitesCreateSite *RequestSitesCreateSite, CreateSiteHeaderParams *CreateSiteHeaderParams) (*ResponseSitesCreateSite, *resty.Response, error) { path := "/dna/intent/api/v1/site" @@ -1686,7 +3630,7 @@ func (s *SitesService) UpdateSite(siteID string, requestSitesUpdateSite *Request @param importContextUUID importContextUuid path parameter. The unique import context UUID given by a previous call to Start Import API -Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-map-archive-cancel-an-import-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-map-archive-cancel-an-import */ func (s *SitesService) ImportMapArchiveCancelAnImport(importContextUUID string) (*ResponseSitesImportMapArchiveCancelAnImport, *resty.Response, error) { //importContextUUID string @@ -1707,8 +3651,7 @@ func (s *SitesService) ImportMapArchiveCancelAnImport(importContextUUID string) if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ImportMapArchiveCancelAnImport( - importContextUUID) + return s.ImportMapArchiveCancelAnImport(importContextUUID) } return nil, response, fmt.Errorf("error with operation ImportMapArchiveCancelAnImport") } @@ -1726,7 +3669,7 @@ func (s *SitesService) ImportMapArchiveCancelAnImport(importContextUUID string) @param siteID siteId path parameter. Site id to which site details to be deleted. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-site */ func (s *SitesService) DeleteSite(siteID string) (*ResponseSitesDeleteSite, *resty.Response, error) { //siteID string diff --git a/sdk/software_image_management_swim.go b/sdk/software_image_management_swim.go index f0d5bc5..e2bcb22 100644 --- a/sdk/software_image_management_swim.go +++ b/sdk/software_image_management_swim.go @@ -110,7 +110,7 @@ type GetNetworkDeviceImageUpdatesQueryParams struct { SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. The minimum and maximum values are 1 and 500, respectively } type CountOfNetworkDeviceImageUpdatesQueryParams struct { ID string `url:"id,omitempty"` //Update id which is unique for each network device under the parentId @@ -133,6 +133,9 @@ type CountOfNetworkProductNamesQueryParams struct { ProductName string `url:"productName,omitempty"` //Filter with network device product name. Supports partial case-insensitive search. A minimum of 3 characters are required for search ProductID string `url:"productId,omitempty"` //Filter with product ID (PID) } +type ReturnsTheImageSummaryForTheGivenSiteQueryParams struct { + SiteID string `url:"siteId,omitempty"` //Site identifier to get the aggreagte counts products under the site. The default value is global site id. See [https://developer.cisco.com/docs/dna-center](#!get-site) for `siteId` +} type ReturnsNetworkDeviceProductNamesForASiteQueryParams struct { SiteID string `url:"siteId,omitempty"` //Site identifier to get the list of all available products under the site. The default value is the global site. See https://developer.cisco.com/docs/dna-center/get-site for siteId ProductName string `url:"productName,omitempty"` //Filter with network device product name. Supports partial case-insensitive search. A minimum of 3 characters are required for search @@ -146,407 +149,658 @@ type ReturnsTheCountOfNetworkDeviceProductNamesForASiteQueryParams struct { type ResponseSoftwareImageManagementSwimTriggerSoftwareImageActivation struct { Response *ResponseSoftwareImageManagementSwimTriggerSoftwareImageActivationResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSoftwareImageManagementSwimTriggerSoftwareImageActivationResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseSoftwareImageManagementSwimTriggerSoftwareImageDistribution struct { Response *ResponseSoftwareImageManagementSwimTriggerSoftwareImageDistributionResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSoftwareImageManagementSwimTriggerSoftwareImageDistributionResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseSoftwareImageManagementSwimGetSoftwareImageDetails struct { Response *[]ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponse struct { ApplicableDevicesForImage *[]ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponseApplicableDevicesForImage `json:"applicableDevicesForImage,omitempty"` // - ApplicationType string `json:"applicationType,omitempty"` // - CreatedTime string `json:"createdTime,omitempty"` // - ExtendedAttributes *ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponseExtendedAttributes `json:"extendedAttributes,omitempty"` // - Family string `json:"family,omitempty"` // - Feature string `json:"feature,omitempty"` // - FileServiceID string `json:"fileServiceId,omitempty"` // - FileSize string `json:"fileSize,omitempty"` // - ImageIntegrityStatus string `json:"imageIntegrityStatus,omitempty"` // - ImageName string `json:"imageName,omitempty"` // - ImageSeries []string `json:"imageSeries,omitempty"` // - ImageSource string `json:"imageSource,omitempty"` // - ImageType string `json:"imageType,omitempty"` // - ImageUUID string `json:"imageUuid,omitempty"` // - ImportSourceType string `json:"importSourceType,omitempty"` // - IsTaggedGolden *bool `json:"isTaggedGolden,omitempty"` // - Md5Checksum string `json:"md5Checksum,omitempty"` // - Name string `json:"name,omitempty"` // - ProfileInfo *[]ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponseProfileInfo `json:"profileInfo,omitempty"` // - ShaCheckSum string `json:"shaCheckSum,omitempty"` // - Vendor string `json:"vendor,omitempty"` // - Version string `json:"version,omitempty"` // + + ApplicationType string `json:"applicationType,omitempty"` // + + CreatedTime string `json:"createdTime,omitempty"` // + + ExtendedAttributes *ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponseExtendedAttributes `json:"extendedAttributes,omitempty"` // + + Family string `json:"family,omitempty"` // + + Feature string `json:"feature,omitempty"` // + + FileServiceID string `json:"fileServiceId,omitempty"` // + + FileSize string `json:"fileSize,omitempty"` // + + ImageIntegrityStatus string `json:"imageIntegrityStatus,omitempty"` // + + ImageName string `json:"imageName,omitempty"` // + + ImageSeries []string `json:"imageSeries,omitempty"` // + + ImageSource string `json:"imageSource,omitempty"` // + + ImageType string `json:"imageType,omitempty"` // + + ImageUUID string `json:"imageUuid,omitempty"` // + + ImportSourceType string `json:"importSourceType,omitempty"` // + + IsTaggedGolden *bool `json:"isTaggedGolden,omitempty"` // + + Md5Checksum string `json:"md5Checksum,omitempty"` // + + Name string `json:"name,omitempty"` // + + ProfileInfo *[]ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponseProfileInfo `json:"profileInfo,omitempty"` // + + ShaCheckSum string `json:"shaCheckSum,omitempty"` // + + Vendor string `json:"vendor,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponseApplicableDevicesForImage struct { - MdfID string `json:"mdfId,omitempty"` // - ProductID []string `json:"productId,omitempty"` // - ProductName string `json:"productName,omitempty"` // + MdfID string `json:"mdfId,omitempty"` // + + ProductID []string `json:"productId,omitempty"` // + + ProductName string `json:"productName,omitempty"` // } type ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponseExtendedAttributes interface{} type ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponseProfileInfo struct { - Description string `json:"description,omitempty"` // + Description string `json:"description,omitempty"` // + ExtendedAttributes *ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponseProfileInfoExtendedAttributes `json:"extendedAttributes,omitempty"` // - Memory *int `json:"memory,omitempty"` // - ProductType string `json:"productType,omitempty"` // - ProfileName string `json:"profileName,omitempty"` // - Shares *int `json:"shares,omitempty"` // - VCPU *int `json:"vCpu,omitempty"` // + + Memory *int `json:"memory,omitempty"` // + + ProductType string `json:"productType,omitempty"` // + + ProfileName string `json:"profileName,omitempty"` // + + Shares *int `json:"shares,omitempty"` // + + VCPU *int `json:"vCpu,omitempty"` // } type ResponseSoftwareImageManagementSwimGetSoftwareImageDetailsResponseProfileInfoExtendedAttributes interface{} type ResponseSoftwareImageManagementSwimGetDeviceFamilyIDentifiers struct { - Version string `json:"version,omitempty"` // Response Version + Version string `json:"version,omitempty"` // Response Version + Response *[]ResponseSoftwareImageManagementSwimGetDeviceFamilyIDentifiersResponse `json:"response,omitempty"` // } type ResponseSoftwareImageManagementSwimGetDeviceFamilyIDentifiersResponse struct { - DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family e.g. : Cisco Catalyst 6503 Switch-Catalyst 6500 Series Supervisor Engine 2T + DeviceFamily string `json:"deviceFamily,omitempty"` // Device Family e.g. : Cisco Catalyst 6503 Switch-Catalyst 6500 Series Supervisor Engine 2T + DeviceFamilyIDentifier string `json:"deviceFamilyIdentifier,omitempty"` // Device Family Identifier used for tagging an image golden for certain Device Family e.g. : 277696480-283933147 } type ResponseSoftwareImageManagementSwimTagAsGoldenImage struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSoftwareImageManagementSwimTagAsGoldenImageResponse `json:"response,omitempty"` // } type ResponseSoftwareImageManagementSwimTagAsGoldenImageResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSoftwareImageManagementSwimRemoveGoldenTagForImage struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSoftwareImageManagementSwimRemoveGoldenTagForImageResponse `json:"response,omitempty"` // } type ResponseSoftwareImageManagementSwimRemoveGoldenTagForImageResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSoftwareImageManagementSwimGetGoldenTagStatusOfAnImage struct { - Version string `json:"version,omitempty"` // Response Version. E.G. : 1.0 + Version string `json:"version,omitempty"` // Response Version. E.G. : 1.0 + Response *ResponseSoftwareImageManagementSwimGetGoldenTagStatusOfAnImageResponse `json:"response,omitempty"` // } type ResponseSoftwareImageManagementSwimGetGoldenTagStatusOfAnImageResponse struct { - DeviceRole string `json:"deviceRole,omitempty"` // Device Role. Possible Values : ALL, UNKNOWN, ACCESS, BORDER ROUTER, DISTRIBUTION and CORE. - TaggedGolden *bool `json:"taggedGolden,omitempty"` // Tagged Golden. + DeviceRole string `json:"deviceRole,omitempty"` // Device Role. Possible Values : ALL, UNKNOWN, ACCESS, BORDER ROUTER, DISTRIBUTION and CORE. + + TaggedGolden *bool `json:"taggedGolden,omitempty"` // Tagged Golden. + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name. If the Golden Tag is not tagged for the current site but is inherited from a higher enclosing site, it will contain the name of the site from where the tag is inherited. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. If the Golden Tag is not tagged for the current site but is inherited from a higher enclosing site, it will contain the uuid of the site from where the tag is inherited. In case the golden tag is inherited from the Global site the value will be "-1". + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id. If the Golden Tag is not tagged for the current site but is inherited from a higher enclosing site, it will contain the uuid of the site from where the tag is inherited. In case the golden tag is inherited from the Global site the value will be "-1". } type ResponseSoftwareImageManagementSwimImportLocalSoftwareImage struct { Response *ResponseSoftwareImageManagementSwimImportLocalSoftwareImageResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSoftwareImageManagementSwimImportLocalSoftwareImageResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseSoftwareImageManagementSwimImportSoftwareImageViaURL struct { Response *ResponseSoftwareImageManagementSwimImportSoftwareImageViaURLResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSoftwareImageManagementSwimImportSoftwareImageViaURLResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseSoftwareImageManagementSwimReturnsListOfSoftwareImages struct { Response *[]ResponseSoftwareImageManagementSwimReturnsListOfSoftwareImagesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSoftwareImageManagementSwimReturnsListOfSoftwareImagesResponse struct { - ID string `json:"id,omitempty"` // Software image identifier - Imported *bool `json:"imported,omitempty"` // Flag for image info whether it is imported image or cloud image - Name string `json:"name,omitempty"` // Name of the software image - Version string `json:"version,omitempty"` // Software image version - ImageType string `json:"imageType,omitempty"` // Software image type - Recommended string `json:"recommended,omitempty"` // CISCO if the image is recommended from Cisco.com - CiscoLatest *bool `json:"ciscoLatest,omitempty"` // `true` if the image is latest/suggested from Cisco.com - IntegrityStatus string `json:"integrityStatus,omitempty"` // Image Integrity verification status with Known Good Verification - IsAddonImage *bool `json:"isAddonImage,omitempty"` // The value of `true` will indicate the image as an add-on image, while the value of `false` will indicate software image - HasAddonImages *bool `json:"hasAddonImages,omitempty"` // Software images that have an applicable list of add-on images. The value of `true` will return software images with add-on images, while the value of `false` will return software images without add-on images + ID string `json:"id,omitempty"` // Software image identifier + + Imported *bool `json:"imported,omitempty"` // Flag for image info whether it is imported image or cloud image + + Name string `json:"name,omitempty"` // Name of the software image + + Version string `json:"version,omitempty"` // Software image version + + ImageType string `json:"imageType,omitempty"` // Software image type + + Recommended string `json:"recommended,omitempty"` // CISCO if the image is recommended from Cisco.com + + CiscoLatest *bool `json:"ciscoLatest,omitempty"` // `true` if the image is latest/suggested from Cisco.com + + IntegrityStatus string `json:"integrityStatus,omitempty"` // Image Integrity verification status with Known Good Verification + + IsAddonImage *bool `json:"isAddonImage,omitempty"` // The value of `true` will indicate the image as an add-on image, while the value of `false` will indicate software image + + HasAddonImages *bool `json:"hasAddonImages,omitempty"` // Software images that have an applicable list of add-on images. The value of `true` will return software images with add-on images, while the value of `false` will return software images without add-on images + GoldenTaggingDetails *[]ResponseSoftwareImageManagementSwimReturnsListOfSoftwareImagesResponseGoldenTaggingDetails `json:"goldenTaggingDetails,omitempty"` // - ProductNames *[]ResponseSoftwareImageManagementSwimReturnsListOfSoftwareImagesResponseProductNames `json:"productNames,omitempty"` // - IsGoldenTagged *bool `json:"isGoldenTagged,omitempty"` // The value of `true` will indicate the image marked as golden, while the value of `false` will indicate the image not marked as golden + + ProductNames *[]ResponseSoftwareImageManagementSwimReturnsListOfSoftwareImagesResponseProductNames `json:"productNames,omitempty"` // + + IsGoldenTagged *bool `json:"isGoldenTagged,omitempty"` // The value of `true` will indicate the image marked as golden, while the value of `false` will indicate the image not marked as golden } type ResponseSoftwareImageManagementSwimReturnsListOfSoftwareImagesResponseGoldenTaggingDetails struct { - DeviceRoles []string `json:"deviceRoles,omitempty"` // Golden tagging based on the device roles - DeviceTags []string `json:"deviceTags,omitempty"` // Golden tagging based on the device tags - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // The Site Id of the site that this setting is inherited from. - InheritedSiteName string `json:"inheritedSiteName,omitempty"` // The name of the site that this setting is inherited from + DeviceRoles []string `json:"deviceRoles,omitempty"` // Golden tagging based on the device roles + + DeviceTags []string `json:"deviceTags,omitempty"` // Golden tagging based on the device tags + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // The Site Id of the site that this setting is inherited from. + + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // The name of the site that this setting is inherited from } type ResponseSoftwareImageManagementSwimReturnsListOfSoftwareImagesResponseProductNames struct { - ID string `json:"id,omitempty"` // Product name ordinal is unique value for each network device product - ProductName string `json:"productName,omitempty"` // Network device product name - ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product name ordinal is unique value for each network device product - SupervisorProductName string `json:"supervisorProductName,omitempty"` // Name of the Supervisor Engine Module, supported by the `productName`. Example: The `Cisco Catalyst 9404R Switch` chassis is capable of supporting different supervisor engine modules: the `Cisco Catalyst 9400 Supervisor Engine-1`, the `Cisco Catalyst 9400 Supervisor Engine-1XL`, the `Cisco Catalyst 9400 Supervisor Engine-1XL-Y`, etc. + ID string `json:"id,omitempty"` // Product name ordinal is unique value for each network device product + + ProductName string `json:"productName,omitempty"` // Network device product name + + ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product name ordinal is unique value for each network device product + + SupervisorProductName string `json:"supervisorProductName,omitempty"` // Name of the Supervisor Engine Module, supported by the `productName`. Example: The `Cisco Catalyst 9404R Switch` chassis is capable of supporting different supervisor engine modules: the `Cisco Catalyst 9400 Supervisor Engine-1`, the `Cisco Catalyst 9400 Supervisor Engine-1XL`, the `Cisco Catalyst 9400 Supervisor Engine-1XL-Y`, etc. + SupervisorProductNameOrdinal *float64 `json:"supervisorProductNameOrdinal,omitempty"` // Supervisor Engine Module Ordinal, supported by the `productNameOrdinal`. Example: The `286315691` chassis ordinal is capable of supporting different supervisor engine module ordinals: `286316172`, `286316710`, `286320394` etc. } +type ResponseSoftwareImageManagementSwimInitiatesSyncOfSoftwareImagesFromCiscoCom struct { + Response *ResponseSoftwareImageManagementSwimInitiatesSyncOfSoftwareImagesFromCiscoComResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response version +} +type ResponseSoftwareImageManagementSwimInitiatesSyncOfSoftwareImagesFromCiscoComResponse struct { + TaskID string `json:"taskId,omitempty"` // The UUID of the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task +} type ResponseSoftwareImageManagementSwimReturnsCountOfSoftwareImages struct { Response *ResponseSoftwareImageManagementSwimReturnsCountOfSoftwareImagesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response + + Version string `json:"version,omitempty"` // The version of the response } type ResponseSoftwareImageManagementSwimReturnsCountOfSoftwareImagesResponse struct { Count *int `json:"count,omitempty"` // Reports a count, for example, a total count of records in a given resource. } type ResponseSoftwareImageManagementSwimAddImageDistributionServer struct { Response *ResponseSoftwareImageManagementSwimAddImageDistributionServerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimAddImageDistributionServerResponse struct { TaskID string `json:"taskId,omitempty"` // The UUID of the task - URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task } type ResponseSoftwareImageManagementSwimRetrieveImageDistributionServers struct { Response *[]ResponseSoftwareImageManagementSwimRetrieveImageDistributionServersResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimRetrieveImageDistributionServersResponse struct { - ID string `json:"id,omitempty"` // Unique identifier for the server - Username string `json:"username,omitempty"` // Server username - ServerAddress string `json:"serverAddress,omitempty"` // FQDN or IP address of the server - PortNumber *float64 `json:"portNumber,omitempty"` // Port number - RootLocation string `json:"rootLocation,omitempty"` // Server root location + ID string `json:"id,omitempty"` // Unique identifier for the server + + Username string `json:"username,omitempty"` // Server username + + ServerAddress string `json:"serverAddress,omitempty"` // FQDN or IP address of the server + + PortNumber *float64 `json:"portNumber,omitempty"` // Port number + + RootLocation string `json:"rootLocation,omitempty"` // Server root location } type ResponseSoftwareImageManagementSwimUpdateRemoteImageDistributionServer struct { Response *ResponseSoftwareImageManagementSwimUpdateRemoteImageDistributionServerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimUpdateRemoteImageDistributionServerResponse struct { TaskID string `json:"taskId,omitempty"` // The UUID of the task - URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task } type ResponseSoftwareImageManagementSwimRetrieveSpecificImageDistributionServer struct { Response *ResponseSoftwareImageManagementSwimRetrieveSpecificImageDistributionServerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimRetrieveSpecificImageDistributionServerResponse struct { - ID string `json:"id,omitempty"` // Unique identifier for the server - ServerAddress string `json:"serverAddress,omitempty"` // FQDN or IP address of the server - PortNumber *float64 `json:"portNumber,omitempty"` // Port number - RootLocation string `json:"rootLocation,omitempty"` // Server root location - Username string `json:"username,omitempty"` // Server username + ID string `json:"id,omitempty"` // Unique identifier for the server + + ServerAddress string `json:"serverAddress,omitempty"` // FQDN or IP address of the server + + PortNumber *float64 `json:"portNumber,omitempty"` // Port number + + RootLocation string `json:"rootLocation,omitempty"` // Server root location + + Username string `json:"username,omitempty"` // Server username } type ResponseSoftwareImageManagementSwimRemoveImageDistributionServer struct { Response *ResponseSoftwareImageManagementSwimRemoveImageDistributionServerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimRemoveImageDistributionServerResponse struct { TaskID string `json:"taskId,omitempty"` // The UUID of the task - URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task +} +type ResponseSoftwareImageManagementSwimDeleteImage struct { + Response *ResponseSoftwareImageManagementSwimDeleteImageResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response version +} +type ResponseSoftwareImageManagementSwimDeleteImageResponse struct { + TaskID string `json:"taskId,omitempty"` // The UUID of the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task } type ResponseSoftwareImageManagementSwimRetrieveApplicableAddOnImagesForTheGivenSoftwareImage struct { Response *[]ResponseSoftwareImageManagementSwimRetrieveApplicableAddOnImagesForTheGivenSoftwareImageResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSoftwareImageManagementSwimRetrieveApplicableAddOnImagesForTheGivenSoftwareImageResponse struct { - ID string `json:"id,omitempty"` // Software image identifier - Imported *bool `json:"imported,omitempty"` // Flag for image info whether it is imported image or cloud image - Name string `json:"name,omitempty"` // Name of the software image - Version string `json:"version,omitempty"` // Software image version - ImageType string `json:"imageType,omitempty"` // Software image type - Recommended string `json:"recommended,omitempty"` // CISCO if the image is recommended from Cisco.com - CiscoLatest *bool `json:"ciscoLatest,omitempty"` // `true` if the image is latest/suggested from Cisco.com - IntegrityStatus string `json:"integrityStatus,omitempty"` // Image Integrity verification status with Known Good Verification - IsAddonImage *bool `json:"isAddonImage,omitempty"` // The value of `true` will indicate the image as an add-on image, while the value of `false` will indicate software image - HasAddonImages *bool `json:"hasAddonImages,omitempty"` // Software images that have an applicable list of add-on images. The value of `true` will return software images with add-on images, while the value of `false` will return software images without add-on images + ID string `json:"id,omitempty"` // Software image identifier + + Imported *bool `json:"imported,omitempty"` // Flag for image info whether it is imported image or cloud image + + Name string `json:"name,omitempty"` // Name of the software image + + Version string `json:"version,omitempty"` // Software image version + + ImageType string `json:"imageType,omitempty"` // Software image type + + Recommended string `json:"recommended,omitempty"` // CISCO if the image is recommended from Cisco.com + + CiscoLatest *bool `json:"ciscoLatest,omitempty"` // `true` if the image is latest/suggested from Cisco.com + + IntegrityStatus string `json:"integrityStatus,omitempty"` // Image Integrity verification status with Known Good Verification + + IsAddonImage *bool `json:"isAddonImage,omitempty"` // The value of `true` will indicate the image as an add-on image, while the value of `false` will indicate software image + + HasAddonImages *bool `json:"hasAddonImages,omitempty"` // Software images that have an applicable list of add-on images. The value of `true` will return software images with add-on images, while the value of `false` will return software images without add-on images + GoldenTaggingDetails *[]ResponseSoftwareImageManagementSwimRetrieveApplicableAddOnImagesForTheGivenSoftwareImageResponseGoldenTaggingDetails `json:"goldenTaggingDetails,omitempty"` // - ProductNames *[]ResponseSoftwareImageManagementSwimRetrieveApplicableAddOnImagesForTheGivenSoftwareImageResponseProductNames `json:"productNames,omitempty"` // - IsGoldenTagged *bool `json:"isGoldenTagged,omitempty"` // The value of `true` will indicate the image marked as golden, while the value of `false` will indicate the image not marked as golden + + ProductNames *[]ResponseSoftwareImageManagementSwimRetrieveApplicableAddOnImagesForTheGivenSoftwareImageResponseProductNames `json:"productNames,omitempty"` // + + IsGoldenTagged *bool `json:"isGoldenTagged,omitempty"` // The value of `true` will indicate the image marked as golden, while the value of `false` will indicate the image not marked as golden } type ResponseSoftwareImageManagementSwimRetrieveApplicableAddOnImagesForTheGivenSoftwareImageResponseGoldenTaggingDetails struct { - DeviceRoles []string `json:"deviceRoles,omitempty"` // Golden tagging based on the device roles - DeviceTags []string `json:"deviceTags,omitempty"` // Golden tagging based on the device tags - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // The Site Id of the site that this setting is inherited from. - InheritedSiteName string `json:"inheritedSiteName,omitempty"` // The name of the site that this setting is inherited from + DeviceRoles []string `json:"deviceRoles,omitempty"` // Golden tagging based on the device roles + + DeviceTags []string `json:"deviceTags,omitempty"` // Golden tagging based on the device tags + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // The Site Id of the site that this setting is inherited from. + + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // The name of the site that this setting is inherited from } type ResponseSoftwareImageManagementSwimRetrieveApplicableAddOnImagesForTheGivenSoftwareImageResponseProductNames struct { - ID string `json:"id,omitempty"` // Product name ordinal is unique value for each network device product - ProductName string `json:"productName,omitempty"` // Network device product name - ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product name ordinal is unique value for each network device product - SupervisorProductName string `json:"supervisorProductName,omitempty"` // Name of the Supervisor Engine Module, supported by the `productName`. Example: The `Cisco Catalyst 9404R Switch` chassis is capable of supporting different supervisor engine modules: the `Cisco Catalyst 9400 Supervisor Engine-1`, the `Cisco Catalyst 9400 Supervisor Engine-1XL`, the `Cisco Catalyst 9400 Supervisor Engine-1XL-Y`, etc. + ID string `json:"id,omitempty"` // Product name ordinal is unique value for each network device product + + ProductName string `json:"productName,omitempty"` // Network device product name + + ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product name ordinal is unique value for each network device product + + SupervisorProductName string `json:"supervisorProductName,omitempty"` // Name of the Supervisor Engine Module, supported by the `productName`. Example: The `Cisco Catalyst 9404R Switch` chassis is capable of supporting different supervisor engine modules: the `Cisco Catalyst 9400 Supervisor Engine-1`, the `Cisco Catalyst 9400 Supervisor Engine-1XL`, the `Cisco Catalyst 9400 Supervisor Engine-1XL-Y`, etc. + SupervisorProductNameOrdinal *float64 `json:"supervisorProductNameOrdinal,omitempty"` // Supervisor Engine Module Ordinal, supported by the `productNameOrdinal`. Example: The `286315691` chassis ordinal is capable of supporting different supervisor engine module ordinals: `286316172`, `286316710`, `286320394` etc. } type ResponseSoftwareImageManagementSwimReturnsCountOfAddOnImages struct { Response *ResponseSoftwareImageManagementSwimReturnsCountOfAddOnImagesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response + + Version string `json:"version,omitempty"` // The version of the response } type ResponseSoftwareImageManagementSwimReturnsCountOfAddOnImagesResponse struct { Count *int `json:"count,omitempty"` // Reports a count, for example, a total count of records in a given resource. } type ResponseSoftwareImageManagementSwimDownloadTheSoftwareImage struct { Response *ResponseSoftwareImageManagementSwimDownloadTheSoftwareImageResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimDownloadTheSoftwareImageResponse struct { TaskID string `json:"taskId,omitempty"` // The UUID of the task - URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task +} +type ResponseSoftwareImageManagementSwimTaggingGoldenImage struct { + Response *ResponseSoftwareImageManagementSwimTaggingGoldenImageResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response version +} +type ResponseSoftwareImageManagementSwimTaggingGoldenImageResponse struct { + TaskID string `json:"taskId,omitempty"` // The UUID of the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task +} +type ResponseSoftwareImageManagementSwimUntaggingGoldenImage struct { + Response *ResponseSoftwareImageManagementSwimUntaggingGoldenImageResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response version +} +type ResponseSoftwareImageManagementSwimUntaggingGoldenImageResponse struct { + TaskID string `json:"taskId,omitempty"` // The UUID of the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task } type ResponseSoftwareImageManagementSwimAssignNetworkDeviceProductNameToTheGivenSoftwareImage struct { Response *ResponseSoftwareImageManagementSwimAssignNetworkDeviceProductNameToTheGivenSoftwareImageResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimAssignNetworkDeviceProductNameToTheGivenSoftwareImageResponse struct { TaskID string `json:"taskId,omitempty"` // The UUID of the task - URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task } type ResponseSoftwareImageManagementSwimRetrievesNetworkDeviceProductNamesAssignedToASoftwareImage struct { Response *[]ResponseSoftwareImageManagementSwimRetrievesNetworkDeviceProductNamesAssignedToASoftwareImageResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimRetrievesNetworkDeviceProductNamesAssignedToASoftwareImageResponse struct { - ID string `json:"id,omitempty"` // Product name ordinal is unique value for each network device product - ProductName string `json:"productName,omitempty"` // Network device product name + ID string `json:"id,omitempty"` // Product name ordinal is unique value for each network device product + + ProductName string `json:"productName,omitempty"` // Network device product name + ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product name ordinal is unique value for each network device product - ProductIDs []string `json:"productIds,omitempty"` // Supported PIDs - SiteIDs []string `json:"siteIds,omitempty"` // Sites where all this image is assigned - Recommended string `json:"recommended,omitempty"` // If 'CISCO' network device product recommandation came from Cisco.com and 'USER' manually assigned + + ProductIDs []string `json:"productIds,omitempty"` // Supported PIDs + + SiteIDs []string `json:"siteIds,omitempty"` // Sites where all this image is assigned + + Recommended string `json:"recommended,omitempty"` // If 'CISCO' network device product recommandation came from Cisco.com and 'USER' manually assigned } type ResponseSoftwareImageManagementSwimRetrievesTheCountOfAssignedNetworkDeviceProducts struct { Response *ResponseSoftwareImageManagementSwimRetrievesTheCountOfAssignedNetworkDeviceProductsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response + + Version string `json:"version,omitempty"` // The version of the response } type ResponseSoftwareImageManagementSwimRetrievesTheCountOfAssignedNetworkDeviceProductsResponse struct { Count *int `json:"count,omitempty"` // Reports a count, for example, a total count of records in a given resource. } type ResponseSoftwareImageManagementSwimUnassignNetworkDeviceProductNameFromTheGivenSoftwareImage struct { Response *ResponseSoftwareImageManagementSwimUnassignNetworkDeviceProductNameFromTheGivenSoftwareImageResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimUnassignNetworkDeviceProductNameFromTheGivenSoftwareImageResponse struct { TaskID string `json:"taskId,omitempty"` // The UUID of the task - URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task } type ResponseSoftwareImageManagementSwimUpdateTheListOfSitesForTheNetworkDeviceProductNameAssignedToTheSoftwareImage struct { Response *ResponseSoftwareImageManagementSwimUpdateTheListOfSitesForTheNetworkDeviceProductNameAssignedToTheSoftwareImageResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimUpdateTheListOfSitesForTheNetworkDeviceProductNameAssignedToTheSoftwareImageResponse struct { TaskID string `json:"taskId,omitempty"` // The UUID of the task - URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task } type ResponseSoftwareImageManagementSwimGetNetworkDeviceImageUpdates struct { Response *[]ResponseSoftwareImageManagementSwimGetNetworkDeviceImageUpdatesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // API response version + + Version string `json:"version,omitempty"` // API response version } type ResponseSoftwareImageManagementSwimGetNetworkDeviceImageUpdatesResponse struct { - ID string `json:"id,omitempty"` // Unique identifier for the image update - ParentID string `json:"parentId,omitempty"` // Parent identifier for the image update - StartTime *float64 `json:"startTime,omitempty"` // Image update started after the given time (as milliseconds since UNIX epoch) - EndTime *float64 `json:"endTime,omitempty"` // Image update end time (as milliseconds since UNIX epoch) - Status string `json:"status,omitempty"` // Status of the image update - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device identifier - ManagementAddress string `json:"managementAddress,omitempty"` // Management address of the network device - HostName string `json:"hostName,omitempty"` // Host name of the network device for the image update - UpdateImageVersion string `json:"updateImageVersion,omitempty"` // Software image version - Type string `json:"type,omitempty"` // Type of the image update + ID string `json:"id,omitempty"` // Unique identifier for the image update + + ParentID string `json:"parentId,omitempty"` // Parent identifier for the image update + + StartTime *float64 `json:"startTime,omitempty"` // Image update started after the given time (as milliseconds since UNIX epoch) + + EndTime *float64 `json:"endTime,omitempty"` // Image update end time (as milliseconds since UNIX epoch) + + Status string `json:"status,omitempty"` // Status of the image update + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device identifier + + ManagementAddress string `json:"managementAddress,omitempty"` // Management address of the network device + + HostName string `json:"hostName,omitempty"` // Host name of the network device for the image update + + UpdateImageVersion string `json:"updateImageVersion,omitempty"` // Software image version + + Type string `json:"type,omitempty"` // Type of the image update } type ResponseSoftwareImageManagementSwimCountOfNetworkDeviceImageUpdates struct { Response *ResponseSoftwareImageManagementSwimCountOfNetworkDeviceImageUpdatesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response + + Version string `json:"version,omitempty"` // The version of the response } type ResponseSoftwareImageManagementSwimCountOfNetworkDeviceImageUpdatesResponse struct { Count *int `json:"count,omitempty"` // Reports a count, for example, a total count of records in a given resource. } type ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductNames struct { Response *[]ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductNamesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductNamesResponse struct { - ID string `json:"id,omitempty"` // Product name ordinal is unique value for each network device product - ProductName string `json:"productName,omitempty"` // Network device product name + ID string `json:"id,omitempty"` // Product name ordinal is unique value for each network device product + + ProductName string `json:"productName,omitempty"` // Network device product name + ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product name ordinal is unique value for each network device product - ProductIDs []string `json:"productIds,omitempty"` // Supported PIDs + + ProductIDs []string `json:"productIds,omitempty"` // Supported PIDs } type ResponseSoftwareImageManagementSwimCountOfNetworkProductNames struct { Response *ResponseSoftwareImageManagementSwimCountOfNetworkProductNamesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response + + Version string `json:"version,omitempty"` // The version of the response } type ResponseSoftwareImageManagementSwimCountOfNetworkProductNamesResponse struct { Count *int `json:"count,omitempty"` // Reports a count, for example, a total count of records in a given resource. } type ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductName struct { Response *ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductNameResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductNameResponse struct { - ID string `json:"id,omitempty"` // Product name ordinal is unique value for each network device product - ProductName string `json:"productName,omitempty"` // Network device product name + ID string `json:"id,omitempty"` // Product name ordinal is unique value for each network device product + + ProductName string `json:"productName,omitempty"` // Network device product name + ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product name ordinal is unique value for each network device product - ProductIDs []string `json:"productIds,omitempty"` // Supported PIDs + + ProductIDs []string `json:"productIds,omitempty"` // Supported PIDs +} +type ResponseSoftwareImageManagementSwimReturnsTheImageSummaryForTheGivenSite struct { + Response *ResponseSoftwareImageManagementSwimReturnsTheImageSummaryForTheGivenSiteResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version of the response +} +type ResponseSoftwareImageManagementSwimReturnsTheImageSummaryForTheGivenSiteResponse struct { + ImportedImageCount *float64 `json:"importedImageCount,omitempty"` // Count of images imported + + InstalledImageCount *float64 `json:"installedImageCount,omitempty"` // Count of installed images + + GoldenImageCount *float64 `json:"goldenImageCount,omitempty"` // Count of images marked as golden + + NonGoldenImageCount *float64 `json:"nonGoldenImageCount,omitempty"` // Count of images not marked as golden + + InstalledImageAdvisorCount *float64 `json:"installedImageAdvisorCount,omitempty"` // Advisor count of installed images + + ProductCount *float64 `json:"productCount,omitempty"` // Count of Network device product name + + ProductsWithGoldenCount *float64 `json:"productsWithGoldenCount,omitempty"` // Count of Network device product name marked as golden + + ProductsWithoutGoldenCount *float64 `json:"productsWithoutGoldenCount,omitempty"` // Count of Network device product name not marked as golden } type ResponseSoftwareImageManagementSwimReturnsNetworkDeviceProductNamesForASite struct { Response *ResponseSoftwareImageManagementSwimReturnsNetworkDeviceProductNamesForASiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version + + Version string `json:"version,omitempty"` // Response version } type ResponseSoftwareImageManagementSwimReturnsNetworkDeviceProductNamesForASiteResponse struct { - ID string `json:"id,omitempty"` // The unique identifier for the record is the `id`. If there is no supervisor engine involved, the `id` will be the same as the `productNameOrdinal`. However, if the supervisor engine is applicable, the `id` will be in the form of `-`. - ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product name ordinal - ProductName string `json:"productName,omitempty"` // Name of product - SupervisorProductName string `json:"supervisorProductName,omitempty"` // Name of the Supervisor Engine Module, supported by the `productName`. Example: The `Cisco Catalyst 9404R Switch` chassis is capable of supporting different supervisor engine modules: the `Cisco Catalyst 9400 Supervisor Engine-1`, the `Cisco Catalyst 9400 Supervisor Engine-1XL`, the `Cisco Catalyst 9400 Supervisor Engine-1XL-Y`, etc. - SupervisorProductNameOrdinal *float64 `json:"supervisorProductNameOrdinal,omitempty"` // Supervisor Engine Module Ordinal, supported by the `productNameOrdinal`. Example: The `286315691` chassis ordinal is capable of supporting different supervisor engine module ordinals: `286316172`, `286316710`, `286320394` etc. - NetworkDeviceCount *int `json:"networkDeviceCount,omitempty"` // Count of network devices - ImageSummary *ResponseSoftwareImageManagementSwimReturnsNetworkDeviceProductNamesForASiteResponseImageSummary `json:"imageSummary,omitempty"` // + ID string `json:"id,omitempty"` // The unique identifier for the record is the `id`. If there is no supervisor engine involved, the `id` will be the same as the `productNameOrdinal`. However, if the supervisor engine is applicable, the `id` will be in the form of `-`. + + ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product name ordinal + + ProductName string `json:"productName,omitempty"` // Name of product + + SupervisorProductName string `json:"supervisorProductName,omitempty"` // Name of the Supervisor Engine Module, supported by the `productName`. Example: The `Cisco Catalyst 9404R Switch` chassis is capable of supporting different supervisor engine modules: the `Cisco Catalyst 9400 Supervisor Engine-1`, the `Cisco Catalyst 9400 Supervisor Engine-1XL`, the `Cisco Catalyst 9400 Supervisor Engine-1XL-Y`, etc. + + SupervisorProductNameOrdinal *float64 `json:"supervisorProductNameOrdinal,omitempty"` // Supervisor Engine Module Ordinal, supported by the `productNameOrdinal`. Example: The `286315691` chassis ordinal is capable of supporting different supervisor engine module ordinals: `286316172`, `286316710`, `286320394` etc. + + NetworkDeviceCount *int `json:"networkDeviceCount,omitempty"` // Count of network devices + + ImageSummary *ResponseSoftwareImageManagementSwimReturnsNetworkDeviceProductNamesForASiteResponseImageSummary `json:"imageSummary,omitempty"` // } type ResponseSoftwareImageManagementSwimReturnsNetworkDeviceProductNamesForASiteResponseImageSummary struct { - InstalledImageCount *int `json:"installedImageCount,omitempty"` // Count of installed images - GoldenImageCount *int `json:"goldenImageCount,omitempty"` // Count of golden tagged images + InstalledImageCount *int `json:"installedImageCount,omitempty"` // Count of installed images + + GoldenImageCount *int `json:"goldenImageCount,omitempty"` // Count of golden tagged images + InstalledImageAdvisorCount *int `json:"installedImageAdvisorCount,omitempty"` // Count of advisor on installed images } type ResponseSoftwareImageManagementSwimReturnsTheCountOfNetworkDeviceProductNamesForASite struct { Response *ResponseSoftwareImageManagementSwimReturnsTheCountOfNetworkDeviceProductNamesForASiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response + + Version string `json:"version,omitempty"` // The version of the response } type ResponseSoftwareImageManagementSwimReturnsTheCountOfNetworkDeviceProductNamesForASiteResponse struct { Count *int `json:"count,omitempty"` // Reports a count, for example, a total count of records in a given resource. } type RequestSoftwareImageManagementSwimTriggerSoftwareImageActivation []RequestItemSoftwareImageManagementSwimTriggerSoftwareImageActivation // Array of RequestSoftwareImageManagementSwimTriggerSoftwareImageActivation type RequestItemSoftwareImageManagementSwimTriggerSoftwareImageActivation struct { - ActivateLowerImageVersion *bool `json:"activateLowerImageVersion,omitempty"` // - DeviceUpgradeMode string `json:"deviceUpgradeMode,omitempty"` // - DeviceUUID string `json:"deviceUuid,omitempty"` // - DistributeIfNeeded *bool `json:"distributeIfNeeded,omitempty"` // - ImageUUIDList []string `json:"imageUuidList,omitempty"` // - SmuImageUUIDList []string `json:"smuImageUuidList,omitempty"` // + ActivateLowerImageVersion *bool `json:"activateLowerImageVersion,omitempty"` // + + DeviceUpgradeMode string `json:"deviceUpgradeMode,omitempty"` // + + DeviceUUID string `json:"deviceUuid,omitempty"` // + + DistributeIfNeeded *bool `json:"distributeIfNeeded,omitempty"` // + + ImageUUIDList []string `json:"imageUuidList,omitempty"` // + + SmuImageUUIDList []string `json:"smuImageUuidList,omitempty"` // } type RequestSoftwareImageManagementSwimTriggerSoftwareImageDistribution []RequestItemSoftwareImageManagementSwimTriggerSoftwareImageDistribution // Array of RequestSoftwareImageManagementSwimTriggerSoftwareImageDistribution type RequestItemSoftwareImageManagementSwimTriggerSoftwareImageDistribution struct { DeviceUUID string `json:"deviceUuid,omitempty"` // - ImageUUID string `json:"imageUuid,omitempty"` // + + ImageUUID string `json:"imageUuid,omitempty"` // } type RequestSoftwareImageManagementSwimTagAsGoldenImage struct { - ImageID string `json:"imageId,omitempty"` // imageId in uuid format. - SiteID string `json:"siteId,omitempty"` // SiteId in uuid format. For Global Site "-1" to be used. - DeviceRole string `json:"deviceRole,omitempty"` // Device Role. Permissible Values : ALL, UNKNOWN, ACCESS, BORDER ROUTER, DISTRIBUTION and CORE. + ImageID string `json:"imageId,omitempty"` // imageId in uuid format. + + SiteID string `json:"siteId,omitempty"` // SiteId in uuid format. For Global Site "-1" to be used. + + DeviceRole string `json:"deviceRole,omitempty"` // Device Role. Permissible Values : ALL, UNKNOWN, ACCESS, BORDER ROUTER, DISTRIBUTION and CORE. + DeviceFamilyIDentifier string `json:"deviceFamilyIdentifier,omitempty"` // Device Family Identifier e.g. : 277696480-283933147, 277696480 } type RequestSoftwareImageManagementSwimImportSoftwareImageViaURL []RequestItemSoftwareImageManagementSwimImportSoftwareImageViaURL // Array of RequestSoftwareImageManagementSwimImportSoftwareImageViaURL type RequestItemSoftwareImageManagementSwimImportSoftwareImageViaURL struct { ApplicationType string `json:"applicationType,omitempty"` // - ImageFamily string `json:"imageFamily,omitempty"` // - SourceURL string `json:"sourceURL,omitempty"` // - ThirdParty *bool `json:"thirdParty,omitempty"` // - Vendor string `json:"vendor,omitempty"` // + + ImageFamily string `json:"imageFamily,omitempty"` // + + SourceURL string `json:"sourceURL,omitempty"` // + + ThirdParty *bool `json:"thirdParty,omitempty"` // + + Vendor string `json:"vendor,omitempty"` // } type RequestSoftwareImageManagementSwimAddImageDistributionServer struct { - ServerAddress string `json:"serverAddress,omitempty"` // FQDN or IP address of the server - Username string `json:"username,omitempty"` // Server username - PortNumber *float64 `json:"portNumber,omitempty"` // Port number - RootLocation string `json:"rootLocation,omitempty"` // Server root location - Password string `json:"password,omitempty"` // Server password + ServerAddress string `json:"serverAddress,omitempty"` // FQDN or IP address of the server + + Username string `json:"username,omitempty"` // Server username + + PortNumber *float64 `json:"portNumber,omitempty"` // Port number + + RootLocation string `json:"rootLocation,omitempty"` // Server root location + + Password string `json:"password,omitempty"` // Server password } type RequestSoftwareImageManagementSwimUpdateRemoteImageDistributionServer struct { - Username string `json:"username,omitempty"` // Server username + Username string `json:"username,omitempty"` // Server username + PortNumber *float64 `json:"portNumber,omitempty"` // Port number - Password string `json:"password,omitempty"` // Server password + + Password string `json:"password,omitempty"` // Server password +} +type RequestSoftwareImageManagementSwimTaggingGoldenImage struct { + ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // The product name ordinal is a unique value for each network device product. `productNameOrdinal` can be obtained from the response of API `/dna/intent/api/v1/siteWiseProductNames?siteId=` + + SupervisorProductNameOrdinal *float64 `json:"supervisorProductNameOrdinal,omitempty"` // The supervisor engine module ordinal is a unique value for each supervisor module. `supervisorProductNameOrdinal` can be obtained from the response of API `/dna/intent/api/v1/siteWiseProductNames?siteId=` + + DeviceRoles []string `json:"deviceRoles,omitempty"` // Device Roles. Available value will be [ CORE, DISTRIBUTION, UNKNOWN, ACCESS, BORDER ROUTER ] + + DeviceTags []string `json:"deviceTags,omitempty"` // Device tags can be fetched fom API https://developer.cisco.com/docs/dna-center/#!get-tag +} +type RequestSoftwareImageManagementSwimUntaggingGoldenImage struct { + ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // The product name ordinal is a unique value for each network device product. `productNameOrdinal` can be obtained from the response of API `/dna/intent/api/v1/siteWiseProductNames?siteId=` + + SupervisorProductNameOrdinal *float64 `json:"supervisorProductNameOrdinal,omitempty"` // The supervisor engine module ordinal is a unique value for each supervisor module. `supervisorProductNameOrdinal` can be obtained from the response of API `/dna/intent/api/v1/siteWiseProductNames?siteId=` + + DeviceRoles []string `json:"deviceRoles,omitempty"` // Device Roles. Available value will be [ CORE, DISTRIBUTION, UNKNOWN, ACCESS, BORDER ROUTER ] + + DeviceTags []string `json:"deviceTags,omitempty"` // Device tags can be fetched fom API https://developer.cisco.com/docs/dna-center/#!get-tag } type RequestSoftwareImageManagementSwimAssignNetworkDeviceProductNameToTheGivenSoftwareImage struct { ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product name ordinal is unique value for each network device product - SiteIDs []string `json:"siteIds,omitempty"` // Sites where this image needs to be assigned. Ref https://developer.cisco.com/docs/dna-center/#!sites + + SiteIDs []string `json:"siteIds,omitempty"` // Sites where this image needs to be assigned. Ref https://developer.cisco.com/docs/dna-center/#!sites } type RequestSoftwareImageManagementSwimUpdateTheListOfSitesForTheNetworkDeviceProductNameAssignedToTheSoftwareImage struct { SiteIDs []string `json:"siteIds,omitempty"` // Sites where all this image need to be assigned @@ -558,7 +812,7 @@ type RequestSoftwareImageManagementSwimUpdateTheListOfSitesForTheNetworkDevicePr @param GetSoftwareImageDetailsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-software-image-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-software-image-details */ func (s *SoftwareImageManagementSwimService) GetSoftwareImageDetails(GetSoftwareImageDetailsQueryParams *GetSoftwareImageDetailsQueryParams) (*ResponseSoftwareImageManagementSwimGetSoftwareImageDetails, *resty.Response, error) { path := "/dna/intent/api/v1/image/importation" @@ -594,7 +848,7 @@ func (s *SoftwareImageManagementSwimService) GetSoftwareImageDetails(GetSoftware -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-family-identifiers-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-family-identifiers */ func (s *SoftwareImageManagementSwimService) GetDeviceFamilyIDentifiers() (*ResponseSoftwareImageManagementSwimGetDeviceFamilyIDentifiers, *resty.Response, error) { path := "/dna/intent/api/v1/image/importation/device-family-identifiers" @@ -636,7 +890,7 @@ func (s *SoftwareImageManagementSwimService) GetDeviceFamilyIDentifiers() (*Resp @param imageID imageId path parameter. Image Id in uuid format. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-golden-tag-status-of-an-image-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-golden-tag-status-of-an-image */ func (s *SoftwareImageManagementSwimService) GetGoldenTagStatusOfAnImage(siteID string, deviceFamilyIDentifier string, deviceRole string, imageID string) (*ResponseSoftwareImageManagementSwimGetGoldenTagStatusOfAnImage, *resty.Response, error) { path := "/dna/intent/api/v1/image/importation/golden/site/{siteId}/family/{deviceFamilyIdentifier}/role/{deviceRole}/image/{imageId}" @@ -675,7 +929,7 @@ func (s *SoftwareImageManagementSwimService) GetGoldenTagStatusOfAnImage(siteID @param ReturnsListOfSoftwareImagesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-list-of-software-images-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-list-of-software-images */ func (s *SoftwareImageManagementSwimService) ReturnsListOfSoftwareImages(ReturnsListOfSoftwareImagesQueryParams *ReturnsListOfSoftwareImagesQueryParams) (*ResponseSoftwareImageManagementSwimReturnsListOfSoftwareImages, *resty.Response, error) { path := "/dna/intent/api/v1/images" @@ -712,7 +966,7 @@ func (s *SoftwareImageManagementSwimService) ReturnsListOfSoftwareImages(Returns @param ReturnsCountOfSoftwareImagesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-count-of-software-images-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-count-of-software-images */ func (s *SoftwareImageManagementSwimService) ReturnsCountOfSoftwareImages(ReturnsCountOfSoftwareImagesQueryParams *ReturnsCountOfSoftwareImagesQueryParams) (*ResponseSoftwareImageManagementSwimReturnsCountOfSoftwareImages, *resty.Response, error) { path := "/dna/intent/api/v1/images/count" @@ -748,7 +1002,7 @@ func (s *SoftwareImageManagementSwimService) ReturnsCountOfSoftwareImages(Return -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-image-distribution-servers-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-image-distribution-servers */ func (s *SoftwareImageManagementSwimService) RetrieveImageDistributionServers() (*ResponseSoftwareImageManagementSwimRetrieveImageDistributionServers, *resty.Response, error) { path := "/dna/intent/api/v1/images/distributionServerSettings" @@ -784,7 +1038,7 @@ func (s *SoftwareImageManagementSwimService) RetrieveImageDistributionServers() @param id id path parameter. Server identifier -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-specific-image-distribution-server-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-specific-image-distribution-server */ func (s *SoftwareImageManagementSwimService) RetrieveSpecificImageDistributionServer(id string) (*ResponseSoftwareImageManagementSwimRetrieveSpecificImageDistributionServer, *resty.Response, error) { path := "/dna/intent/api/v1/images/distributionServerSettings/{id}" @@ -821,7 +1075,7 @@ func (s *SoftwareImageManagementSwimService) RetrieveSpecificImageDistributionSe @param id id path parameter. Software image identifier. Check `/dna/intent/api/v1/images?hasAddonImages=true` API to get the same. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-applicable-add-on-images-for-the-given-software-image-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-applicable-add-on-images-for-the-given-software-image */ func (s *SoftwareImageManagementSwimService) RetrieveApplicableAddOnImagesForTheGivenSoftwareImage(id string) (*ResponseSoftwareImageManagementSwimRetrieveApplicableAddOnImagesForTheGivenSoftwareImage, *resty.Response, error) { path := "/dna/intent/api/v1/images/{id}/addonImages" @@ -858,7 +1112,7 @@ func (s *SoftwareImageManagementSwimService) RetrieveApplicableAddOnImagesForThe @param id id path parameter. Software image identifier. Check API `/dna/intent/api/v1/images` for id from response. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-count-of-add-on-images-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-count-of-add-on-images */ func (s *SoftwareImageManagementSwimService) ReturnsCountOfAddOnImages(id string) (*ResponseSoftwareImageManagementSwimReturnsCountOfAddOnImages, *resty.Response, error) { path := "/dna/intent/api/v1/images/{id}/addonImages/count" @@ -896,7 +1150,7 @@ func (s *SoftwareImageManagementSwimService) ReturnsCountOfAddOnImages(id string @param RetrievesNetworkDeviceProductNamesAssignedToASoftwareImageQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-network-device-product-names-assigned-to-a-software-image-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-network-device-product-names-assigned-to-a-software-image */ func (s *SoftwareImageManagementSwimService) RetrievesNetworkDeviceProductNamesAssignedToASoftwareImage(imageID string, RetrievesNetworkDeviceProductNamesAssignedToASoftwareImageQueryParams *RetrievesNetworkDeviceProductNamesAssignedToASoftwareImageQueryParams) (*ResponseSoftwareImageManagementSwimRetrievesNetworkDeviceProductNamesAssignedToASoftwareImage, *resty.Response, error) { path := "/dna/intent/api/v1/images/{imageId}/siteWiseProductNames" @@ -936,7 +1190,7 @@ func (s *SoftwareImageManagementSwimService) RetrievesNetworkDeviceProductNamesA @param RetrievesTheCountOfAssignedNetworkDeviceProductsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-assigned-network-device-products-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-assigned-network-device-products */ func (s *SoftwareImageManagementSwimService) RetrievesTheCountOfAssignedNetworkDeviceProducts(imageID string, RetrievesTheCountOfAssignedNetworkDeviceProductsQueryParams *RetrievesTheCountOfAssignedNetworkDeviceProductsQueryParams) (*ResponseSoftwareImageManagementSwimRetrievesTheCountOfAssignedNetworkDeviceProducts, *resty.Response, error) { path := "/dna/intent/api/v1/images/{imageId}/siteWiseProductNames/count" @@ -974,7 +1228,7 @@ func (s *SoftwareImageManagementSwimService) RetrievesTheCountOfAssignedNetworkD @param GetNetworkDeviceImageUpdatesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-device-image-updates-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-network-device-image-updates */ func (s *SoftwareImageManagementSwimService) GetNetworkDeviceImageUpdates(GetNetworkDeviceImageUpdatesQueryParams *GetNetworkDeviceImageUpdatesQueryParams) (*ResponseSoftwareImageManagementSwimGetNetworkDeviceImageUpdates, *resty.Response, error) { path := "/dna/intent/api/v1/networkDeviceImageUpdates" @@ -1011,7 +1265,7 @@ func (s *SoftwareImageManagementSwimService) GetNetworkDeviceImageUpdates(GetNet @param CountOfNetworkDeviceImageUpdatesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-network-device-image-updates-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-network-device-image-updates */ func (s *SoftwareImageManagementSwimService) CountOfNetworkDeviceImageUpdates(CountOfNetworkDeviceImageUpdatesQueryParams *CountOfNetworkDeviceImageUpdatesQueryParams) (*ResponseSoftwareImageManagementSwimCountOfNetworkDeviceImageUpdates, *resty.Response, error) { path := "/dna/intent/api/v1/networkDeviceImageUpdates/count" @@ -1048,7 +1302,7 @@ func (s *SoftwareImageManagementSwimService) CountOfNetworkDeviceImageUpdates(Co @param RetrievesTheListOfNetworkDeviceProductNamesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-network-device-product-names-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-network-device-product-names */ func (s *SoftwareImageManagementSwimService) RetrievesTheListOfNetworkDeviceProductNames(RetrievesTheListOfNetworkDeviceProductNamesQueryParams *RetrievesTheListOfNetworkDeviceProductNamesQueryParams) (*ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductNames, *resty.Response, error) { path := "/dna/intent/api/v1/productNames" @@ -1085,7 +1339,7 @@ func (s *SoftwareImageManagementSwimService) RetrievesTheListOfNetworkDeviceProd @param CountOfNetworkProductNamesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-network-product-names-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-network-product-names */ func (s *SoftwareImageManagementSwimService) CountOfNetworkProductNames(CountOfNetworkProductNamesQueryParams *CountOfNetworkProductNamesQueryParams) (*ResponseSoftwareImageManagementSwimCountOfNetworkProductNames, *resty.Response, error) { path := "/dna/intent/api/v1/productNames/count" @@ -1123,7 +1377,7 @@ func (s *SoftwareImageManagementSwimService) CountOfNetworkProductNames(CountOfN @param productNameOrdinal productNameOrdinal path parameter. Product name ordinal is unique value for each network device product. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-network-device-product-name-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-network-device-product-name */ func (s *SoftwareImageManagementSwimService) RetrieveNetworkDeviceProductName(productNameOrdinal float64) (*ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductName, *resty.Response, error) { path := "/dna/intent/api/v1/productNames/{productNameOrdinal}" @@ -1153,13 +1407,50 @@ func (s *SoftwareImageManagementSwimService) RetrieveNetworkDeviceProductName(pr } +//ReturnsTheImageSummaryForTheGivenSite Returns the image summary for the given site - 6e96-e84e-43fb-baa8 +/* Returns aggregate counts of network device product names, golden and non-golden tagged products, imported images, golden images tagged, and advisor for a specific site provide, the default value of `siteId` is set to global. + + +@param ReturnsTheImageSummaryForTheGivenSiteQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-the-image-summary-for-the-given-site +*/ +func (s *SoftwareImageManagementSwimService) ReturnsTheImageSummaryForTheGivenSite(ReturnsTheImageSummaryForTheGivenSiteQueryParams *ReturnsTheImageSummaryForTheGivenSiteQueryParams) (*ResponseSoftwareImageManagementSwimReturnsTheImageSummaryForTheGivenSite, *resty.Response, error) { + path := "/dna/intent/api/v1/siteWiseImagesSummary" + + queryString, _ := query.Values(ReturnsTheImageSummaryForTheGivenSiteQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimReturnsTheImageSummaryForTheGivenSite{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReturnsTheImageSummaryForTheGivenSite(ReturnsTheImageSummaryForTheGivenSiteQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReturnsTheImageSummaryForTheGivenSite") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimReturnsTheImageSummaryForTheGivenSite) + return result, response, err + +} + //ReturnsNetworkDeviceProductNamesForASite Returns network device product names for a site - 20b5-5b0c-4518-9a03 /* Provides network device product names for a site. The default value of `siteId` is global. The response will include the network device count and image summary. @param ReturnsNetworkDeviceProductNamesForASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-network-device-product-names-for-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-network-device-product-names-for-a-site */ func (s *SoftwareImageManagementSwimService) ReturnsNetworkDeviceProductNamesForASite(ReturnsNetworkDeviceProductNamesForASiteQueryParams *ReturnsNetworkDeviceProductNamesForASiteQueryParams) (*ResponseSoftwareImageManagementSwimReturnsNetworkDeviceProductNamesForASite, *resty.Response, error) { path := "/dna/intent/api/v1/siteWiseProductNames" @@ -1196,7 +1487,7 @@ func (s *SoftwareImageManagementSwimService) ReturnsNetworkDeviceProductNamesFor @param ReturnsTheCountOfNetworkDeviceProductNamesForASiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-the-count-of-network-device-product-names-for-a-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!returns-the-count-of-network-device-product-names-for-a-site */ func (s *SoftwareImageManagementSwimService) ReturnsTheCountOfNetworkDeviceProductNamesForASite(ReturnsTheCountOfNetworkDeviceProductNamesForASiteQueryParams *ReturnsTheCountOfNetworkDeviceProductNamesForASiteQueryParams) (*ResponseSoftwareImageManagementSwimReturnsTheCountOfNetworkDeviceProductNamesForASite, *resty.Response, error) { path := "/dna/intent/api/v1/siteWiseProductNames/count" @@ -1234,7 +1525,7 @@ func (s *SoftwareImageManagementSwimService) ReturnsTheCountOfNetworkDeviceProdu @param TriggerSoftwareImageActivationHeaderParams Custom header parameters @param TriggerSoftwareImageActivationQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!trigger-software-image-activation-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!trigger-software-image-activation */ func (s *SoftwareImageManagementSwimService) TriggerSoftwareImageActivation(requestSoftwareImageManagementSwimTriggerSoftwareImageActivation *RequestSoftwareImageManagementSwimTriggerSoftwareImageActivation, TriggerSoftwareImageActivationHeaderParams *TriggerSoftwareImageActivationHeaderParams, TriggerSoftwareImageActivationQueryParams *TriggerSoftwareImageActivationQueryParams) (*ResponseSoftwareImageManagementSwimTriggerSoftwareImageActivation, *resty.Response, error) { path := "/dna/intent/api/v1/image/activation/device" @@ -1289,7 +1580,7 @@ func (s *SoftwareImageManagementSwimService) TriggerSoftwareImageActivation(requ -Documentation Link: https://developer.cisco.com/docs/dna-center/#!trigger-software-image-distribution-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!trigger-software-image-distribution */ func (s *SoftwareImageManagementSwimService) TriggerSoftwareImageDistribution(requestSoftwareImageManagementSwimTriggerSoftwareImageDistribution *RequestSoftwareImageManagementSwimTriggerSoftwareImageDistribution) (*ResponseSoftwareImageManagementSwimTriggerSoftwareImageDistribution, *resty.Response, error) { path := "/dna/intent/api/v1/image/distribution" @@ -1326,7 +1617,7 @@ func (s *SoftwareImageManagementSwimService) TriggerSoftwareImageDistribution(re -Documentation Link: https://developer.cisco.com/docs/dna-center/#!tag-as-golden-image-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!tag-as-golden-image */ func (s *SoftwareImageManagementSwimService) TagAsGoldenImage(requestSoftwareImageManagementSwimTagAsGoldenImage *RequestSoftwareImageManagementSwimTagAsGoldenImage) (*ResponseSoftwareImageManagementSwimTagAsGoldenImage, *resty.Response, error) { path := "/dna/intent/api/v1/image/importation/golden" @@ -1364,7 +1655,7 @@ func (s *SoftwareImageManagementSwimService) TagAsGoldenImage(requestSoftwareIma @param ImportLocalSoftwareImageQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-local-software-image-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-local-software-image */ func (s *SoftwareImageManagementSwimService) ImportLocalSoftwareImage(ImportLocalSoftwareImageQueryParams *ImportLocalSoftwareImageQueryParams, ImportLocalSoftwareImageMultipartFields *ImportLocalSoftwareImageMultipartFields) (*ResponseSoftwareImageManagementSwimImportLocalSoftwareImage, *resty.Response, error) { path := "/dna/intent/api/v1/image/importation/source/file" @@ -1412,7 +1703,7 @@ func (s *SoftwareImageManagementSwimService) ImportLocalSoftwareImage(ImportLoca @param ImportSoftwareImageViaURLQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-software-image-via-url-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!import-software-image-via-url */ func (s *SoftwareImageManagementSwimService) ImportSoftwareImageViaURL(requestSoftwareImageManagementSwimImportSoftwareImageViaURL *RequestSoftwareImageManagementSwimImportSoftwareImageViaURL, ImportSoftwareImageViaURLQueryParams *ImportSoftwareImageViaURLQueryParams) (*ResponseSoftwareImageManagementSwimImportSoftwareImageViaURL, *resty.Response, error) { path := "/dna/intent/api/v1/image/importation/source/url" @@ -1446,12 +1737,48 @@ func (s *SoftwareImageManagementSwimService) ImportSoftwareImageViaURL(requestSo } +//InitiatesSyncOfSoftwareImagesFromCiscoCom Initiates sync of software images from Cisco.com - 2b86-48e6-4b2a-b6f6 +/* Initiating the synchronization of the software images from Cisco.com. The latest and suggested images will be retrieved, along with the corresponding product name and PIDs for imported and retrieved images from Cisco.com. Once the task is completed, the API `/intent/api/v1/images?imported=false` will display all the images fetched from Cisco.com. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!initiates-sync-of-software-images-from-cisco-com +*/ +func (s *SoftwareImageManagementSwimService) InitiatesSyncOfSoftwareImagesFromCiscoCom() (*ResponseSoftwareImageManagementSwimInitiatesSyncOfSoftwareImagesFromCiscoCom, *resty.Response, error) { + path := "/dna/intent/api/v1/images/ccoSync" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseSoftwareImageManagementSwimInitiatesSyncOfSoftwareImagesFromCiscoCom{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.InitiatesSyncOfSoftwareImagesFromCiscoCom() + } + + return nil, response, fmt.Errorf("error with operation InitiatesSyncOfSoftwareImagesFromCiscoCom") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimInitiatesSyncOfSoftwareImagesFromCiscoCom) + return result, response, err + +} + //AddImageDistributionServer Add image distribution server - 0699-0a83-4aaa-be15 /* Add remote server for distributing software images. Upto two such distribution servers are supported. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-image-distribution-server-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-image-distribution-server */ func (s *SoftwareImageManagementSwimService) AddImageDistributionServer(requestSoftwareImageManagementSwimAddImageDistributionServer *RequestSoftwareImageManagementSwimAddImageDistributionServer) (*ResponseSoftwareImageManagementSwimAddImageDistributionServer, *resty.Response, error) { path := "/dna/intent/api/v1/images/distributionServerSettings" @@ -1490,7 +1817,7 @@ func (s *SoftwareImageManagementSwimService) AddImageDistributionServer(requestS @param id id path parameter. Software image identifier. Check API `/dna/intent/api/v1/images` for `id` from response. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!download-the-software-image-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!download-the-software-image */ func (s *SoftwareImageManagementSwimService) DownloadTheSoftwareImage(id string) (*ResponseSoftwareImageManagementSwimDownloadTheSoftwareImage, *resty.Response, error) { path := "/dna/intent/api/v1/images/{id}/download" @@ -1522,6 +1849,102 @@ func (s *SoftwareImageManagementSwimService) DownloadTheSoftwareImage(id string) } +//TaggingGoldenImage Tagging golden image - 24b1-da62-4c69-9a8c +/* Creates golden image tagging specifically for a particular device type or supervisor engine module. Conditions for tagging the golden image: +1) The golden tagging of SMU, PISRT_SMU, APSP, and APDP image type depends on the golden tagged applied on the base image. If any discrepancies are identified in the request payload, the golden tagging process will fail. For example: + + a) If the base image is tagged with Device Role: ACCESS, then add-ons can only be done ACCESS role only and the same is applied if any device tag is used. Any other request will fail. + + b) If the base image is tagged at global or any site level then add-ons also need to be tagged at site level. + +2) Tagging of SUBPACKAGE and ROMMON image type is not supported. + + +@param id id path parameter. Software image identifier is used for golden tagging or intent to tag it. The value of `id` can be obtained from the response of the API `/dna/intent/api/v1/images?imported=true&isAddonImages=false` for the base image and `/dna/images/{id}/addonImages` where `id` will be the software image identifier of the base image. + +@param siteID siteId path parameter. Site identifier for tagged image or intent to tag it. The default value is global site id. See [https://developer.cisco.com/docs/dna-center](#!get-site) for `siteId` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!tagging-golden-image +*/ +func (s *SoftwareImageManagementSwimService) TaggingGoldenImage(id string, siteID string, requestSoftwareImageManagementSwimTaggingGoldenImage *RequestSoftwareImageManagementSwimTaggingGoldenImage) (*ResponseSoftwareImageManagementSwimTaggingGoldenImage, *resty.Response, error) { + path := "/dna/intent/api/v1/images/{id}/sites/{siteId}/tagGolden" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSoftwareImageManagementSwimTaggingGoldenImage). + SetResult(&ResponseSoftwareImageManagementSwimTaggingGoldenImage{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.TaggingGoldenImage(id, siteID, requestSoftwareImageManagementSwimTaggingGoldenImage) + } + + return nil, response, fmt.Errorf("error with operation TaggingGoldenImage") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimTaggingGoldenImage) + return result, response, err + +} + +//UntaggingGoldenImage Untagging golden image - 82a0-7b30-422a-b0ff +/* Untag the golden images specifically designed for a particular device type or supervisor engine module. Conditions for untagging the golden image: +1) Untagging the golden image can only be done where the golden tagged is applied. + For example, if golden tagging is applied to a global site, then untagging can only be done on a global site. Even though the same setting will be inherited on native, attempting to untag will fail. +2) Untagging of SUBPACKAGE and ROMMON image type is not supported. + + +@param id id path parameter. Software image identifier is used for golden tagging or intent to tag it. The value of `id` can be obtained from the response of the API `/dna/intent/api/v1/images?imported=true&isAddonImages=false` for the base image and `/dna/images/{id}/addonImages` where `id` will be the software image identifier of the base image. + +@param siteID siteId path parameter. Site identifier for tagged image or intent to tag it. The default value is global site id. See [https://developer.cisco.com/docs/dna-center](#!get-site) for `siteId` + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!untagging-golden-image +*/ +func (s *SoftwareImageManagementSwimService) UntaggingGoldenImage(id string, siteID string, requestSoftwareImageManagementSwimUntaggingGoldenImage *RequestSoftwareImageManagementSwimUntaggingGoldenImage) (*ResponseSoftwareImageManagementSwimUntaggingGoldenImage, *resty.Response, error) { + path := "/dna/intent/api/v1/images/{id}/sites/{siteId}/untagGolden" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSoftwareImageManagementSwimUntaggingGoldenImage). + SetResult(&ResponseSoftwareImageManagementSwimUntaggingGoldenImage{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.UntaggingGoldenImage(id, siteID, requestSoftwareImageManagementSwimUntaggingGoldenImage) + } + + return nil, response, fmt.Errorf("error with operation UntaggingGoldenImage") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimUntaggingGoldenImage) + return result, response, err + +} + //AssignNetworkDeviceProductNameToTheGivenSoftwareImage Assign network device product name to the given software image - 0089-283d-4609-98a5 /* Assign network device product name and sites for the given image identifier. Refer `/dna/intent/api/v1/images` API for obtaining imageId @@ -1529,7 +1952,7 @@ func (s *SoftwareImageManagementSwimService) DownloadTheSoftwareImage(id string) @param imageID imageId path parameter. Software image identifier. Refer `/dna/intent/api/v1/images` API for obtaining `imageId` -Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-network-device-product-name-to-the-given-software-image-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-network-device-product-name-to-the-given-software-image */ func (s *SoftwareImageManagementSwimService) AssignNetworkDeviceProductNameToTheGivenSoftwareImage(imageID string, requestSoftwareImageManagementSwimAssignNetworkDeviceProductNameToTheGivenSoftwareImage *RequestSoftwareImageManagementSwimAssignNetworkDeviceProductNameToTheGivenSoftwareImage) (*ResponseSoftwareImageManagementSwimAssignNetworkDeviceProductNameToTheGivenSoftwareImage, *resty.Response, error) { path := "/dna/intent/api/v1/images/{imageId}/siteWiseProductNames" @@ -1650,7 +2073,7 @@ func (s *SoftwareImageManagementSwimService) UpdateTheListOfSitesForTheNetworkDe @param imageID imageId path parameter. Image Id in uuid format. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-golden-tag-for-image-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-golden-tag-for-image */ func (s *SoftwareImageManagementSwimService) RemoveGoldenTagForImage(siteID string, deviceFamilyIDentifier string, deviceRole string, imageID string) (*ResponseSoftwareImageManagementSwimRemoveGoldenTagForImage, *resty.Response, error) { //siteID string,deviceFamilyIDentifier string,deviceRole string,imageID string @@ -1691,7 +2114,7 @@ func (s *SoftwareImageManagementSwimService) RemoveGoldenTagForImage(siteID stri @param id id path parameter. Remote server identifier. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-image-distribution-server-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-image-distribution-server */ func (s *SoftwareImageManagementSwimService) RemoveImageDistributionServer(id string) (*ResponseSoftwareImageManagementSwimRemoveImageDistributionServer, *resty.Response, error) { //id string @@ -1722,6 +2145,44 @@ func (s *SoftwareImageManagementSwimService) RemoveImageDistributionServer(id st } +//DeleteImage Delete image - 0c82-1b84-44da-8bc0 +/* Delete the image from image repository + + +@param id id path parameter. The software image identifier that needs to be deleted can be obtained from the API `/dna/intent/api/v1/images?imported=true`. Use this API to obtain the `id` of the image. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-image +*/ +func (s *SoftwareImageManagementSwimService) DeleteImage(id string) (*ResponseSoftwareImageManagementSwimDeleteImage, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/images/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseSoftwareImageManagementSwimDeleteImage{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteImage(id) + } + return nil, response, fmt.Errorf("error with operation DeleteImage") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimDeleteImage) + return result, response, err + +} + //UnassignNetworkDeviceProductNameFromTheGivenSoftwareImage Unassign network device product name from the given software image - 3fa4-39e3-4a4b-8eaf /* This API unassigns the network device product name from all the sites for the given software image. Refer to `/dna/intent/api/v1/images` and `/dna/intent/api/v1/images/{imageId}/siteWiseProductNames` GET APIs for obtaining `imageId` and `productNameOrdinal` respectively. @@ -1732,7 +2193,7 @@ func (s *SoftwareImageManagementSwimService) RemoveImageDistributionServer(id st @param productNameOrdinal productNameOrdinal path parameter. The product name ordinal is a unique value for each network device product. Refer `/dna/intent/api/v1/images/{imageId}/siteWiseProductNames` GET API for obtaining `productNameOrdinal` -Documentation Link: https://developer.cisco.com/docs/dna-center/#!unassign-network-device-product-name-from-the-given-software-image-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!unassign-network-device-product-name-from-the-given-software-image */ func (s *SoftwareImageManagementSwimService) UnassignNetworkDeviceProductNameFromTheGivenSoftwareImage(imageID string, productNameOrdinal float64) (*ResponseSoftwareImageManagementSwimUnassignNetworkDeviceProductNameFromTheGivenSoftwareImage, *resty.Response, error) { //imageID string,productNameOrdinal float64 diff --git a/sdk/system_settings.go b/sdk/system_settings.go index 6eba2c7..9240afb 100644 --- a/sdk/system_settings.go +++ b/sdk/system_settings.go @@ -13,61 +13,98 @@ type SystemSettingsService service type GetAuthenticationAndPolicyServersQueryParams struct { IsIseEnabled bool `url:"isIseEnabled,omitempty"` //Valid values are : true, false - State string `url:"state,omitempty"` //Valid values are: ACTIVE, INACTIVE, RBAC_SUCCESS, RBAC_FAILURE, DELETED, FAILED, INPROGRESS + State string `url:"state,omitempty"` //Valid values are: ACTIVE, DELETED, FAILED, INACTIVE, INPROGRESS, RBAC-FAILURE, RBAC-SUCCESS Role string `url:"role,omitempty"` //Authentication and Policy Server Role (Example: primary, secondary) } type ResponseSystemSettingsAddAuthenticationAndPolicyServerAccessConfiguration struct { Response *ResponseSystemSettingsAddAuthenticationAndPolicyServerAccessConfigurationResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSystemSettingsAddAuthenticationAndPolicyServerAccessConfigurationResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseSystemSettingsGetAuthenticationAndPolicyServers struct { Response *[]ResponseSystemSettingsGetAuthenticationAndPolicyServersResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } type ResponseSystemSettingsGetAuthenticationAndPolicyServersResponse struct { - IPAddress string `json:"ipAddress,omitempty"` // IP address of authentication and policy server - SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret between devices and authentication and policy server - Protocol string `json:"protocol,omitempty"` // Type of protocol for authentication and policy server - Role string `json:"role,omitempty"` // Role of authentication and policy server (Example: primary, secondary) - Port *int `json:"port,omitempty"` // Port of TACACS server (Default: 49) - AuthenticationPort *int `json:"authenticationPort,omitempty"` // Authentication port of RADIUS server (Default: 1812) - AccountingPort *int `json:"accountingPort,omitempty"` // Accounting port of RADIUS server (Default: 1813) - Retries *int `json:"retries,omitempty"` // Number of communication retries between devices and authentication and policy server (Default: 3) - TimeoutSeconds *int `json:"timeoutSeconds,omitempty"` // Number of seconds before timing out between devices and authentication and policy server (Default: 4 seconds) - IsIseEnabled *bool `json:"isIseEnabled,omitempty"` // If server type is ISE, value will be true otherwise false - InstanceUUID string `json:"instanceUuid,omitempty"` // Internal record identifier - State string `json:"state,omitempty"` // State of authentication and policy server - CiscoIseDtos *[]ResponseSystemSettingsGetAuthenticationAndPolicyServersResponseCiscoIseDtos `json:"ciscoIseDtos,omitempty"` // - EncryptionScheme string `json:"encryptionScheme,omitempty"` // Type of encryption scheme for additional security - MessageKey string `json:"messageKey,omitempty"` // Message key used to encrypt shared secret - EncryptionKey string `json:"encryptionKey,omitempty"` // Encryption key used to encrypt shared secret - UseDnacCertForPxgrid *bool `json:"useDnacCertForPxgrid,omitempty"` // Use DNAC Certificate For Pxgrid - IseEnabled *bool `json:"iseEnabled,omitempty"` // If server type is ISE, value will be true otherwise false - PxgridEnabled *bool `json:"pxgridEnabled,omitempty"` // If pxgrid enabled, value will be true otherwise false - RbacUUID string `json:"rbacUuid,omitempty"` // Internal use only - MultiDnacEnabled *bool `json:"multiDnacEnabled,omitempty"` // Internal use only + IPAddress string `json:"ipAddress,omitempty"` // IP address of authentication and policy server (readonly) + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret between devices and authentication and policy server (readonly) + + Protocol string `json:"protocol,omitempty"` // Type of protocol for authentication and policy server. If already saved with RADIUS, can update to RADIUS_TACACS. If already saved with TACACS, can update to RADIUS_TACACS + + Role string `json:"role,omitempty"` // Role of authentication and policy server (readonly). E.g. primary, secondary + + Port *int `json:"port,omitempty"` // Port of TACACS server (readonly). The range is from 1 to 65535. Default is 49. + + AuthenticationPort *int `json:"authenticationPort,omitempty"` // Authentication port of RADIUS server (readonly). The range is from 1 to 65535. Default is 1812. E.g. 1812 + + AccountingPort *int `json:"accountingPort,omitempty"` // Accounting port of RADIUS server (readonly). The range is from 1 to 65535. Default is 1813. E.g. 1813 + + Retries *int `json:"retries,omitempty"` // Number of communication retries between devices and authentication and policy server. The range is from 1 to 3. Default is 3 + + TimeoutSeconds *int `json:"timeoutSeconds,omitempty"` // Number of seconds before timing out between devices and authentication and policy server. The range is from 2 to 20 + + IsIseEnabled *bool `json:"isIseEnabled,omitempty"` // Value true for Cisco ISE Server (readonly). Default value is false + + InstanceUUID string `json:"instanceUuid,omitempty"` // Internal record identifier + + State string `json:"state,omitempty"` // State of authentication and policy server + + CiscoIseDtos *[]ResponseSystemSettingsGetAuthenticationAndPolicyServersResponseCiscoIseDtos `json:"ciscoIseDtos,omitempty"` // + + EncryptionScheme string `json:"encryptionScheme,omitempty"` // Type of encryption scheme for additional security (readonly) + + MessageKey string `json:"messageKey,omitempty"` // Encryption key used to encrypt shared secret (readonly) + + EncryptionKey string `json:"encryptionKey,omitempty"` // Encryption key used to encrypt shared secret + + UseDnacCertForPxgrid *bool `json:"useDnacCertForPxgrid,omitempty"` // Value true to use DNAC certificate for Pxgrid. Default value is false + + IseEnabled *bool `json:"iseEnabled,omitempty"` // Value true for Cisco ISE Server (readonly). Default value is false + + PxgridEnabled *bool `json:"pxgridEnabled,omitempty"` // Value true for enable, false for disable. Default value is true + + RbacUUID string `json:"rbacUuid,omitempty"` // Internal use only + + MultiDnacEnabled *bool `json:"multiDnacEnabled,omitempty"` // Internal use only } type ResponseSystemSettingsGetAuthenticationAndPolicyServersResponseCiscoIseDtos struct { - SubscriberName string `json:"subscriberName,omitempty"` // Subscriber name of the ISE server (Example: pxgrid_client_1662589467) - Description string `json:"description,omitempty"` // Description about the ISE server - Password string `json:"password,omitempty"` // For security reasons the value will always be empty - UserName string `json:"userName,omitempty"` // User name of the ISE server - Fqdn string `json:"fqdn,omitempty"` // Fully-qualified domain name of the ISE server (Example: xi-62.my.com) - IPAddress string `json:"ipAddress,omitempty"` // IP Address of the ISE server - TrustState string `json:"trustState,omitempty"` // Trust State between DNAC and the ISE server - InstanceUUID string `json:"instanceUuid,omitempty"` // Internal record identifier - SSHkey string `json:"sshkey,omitempty"` // For security reasons the value will always be empty - Type string `json:"type,omitempty"` // Type (Example: ISE) - FailureReason string `json:"failureReason,omitempty"` // Reason for integration failure between DNAC and the ISE server - Role string `json:"role,omitempty"` // Role of the ISE server + SubscriberName string `json:"subscriberName,omitempty"` // Subscriber name of the Cisco ISE server (readonly). E.g. pxgrid_client_1662589467 + + Description string `json:"description,omitempty"` // Description about the Cisco ISE server + + Password string `json:"password,omitempty"` // Password of the Cisco ISE server. For security reasons the value will always be empty + + UserName string `json:"userName,omitempty"` // User name of the Cisco ISE server + + Fqdn string `json:"fqdn,omitempty"` // Fully-qualified domain name of the Cisco ISE server (readonly). E.g. xi-62.my.com + + IPAddress string `json:"ipAddress,omitempty"` // IP Address of the Cisco ISE Server (readonly) + + TrustState string `json:"trustState,omitempty"` // Trust State between DNAC and the ISE server + + InstanceUUID string `json:"instanceUuid,omitempty"` // Internal record identifier + + SSHkey string `json:"sshkey,omitempty"` // SSH key of the Cisco ISE server. For security reasons the value will always be empty + + Type string `json:"type,omitempty"` // Type (Example: ISE) + + FailureReason string `json:"failureReason,omitempty"` // Reason for integration failure between DNAC and the ISE server + + Role string `json:"role,omitempty"` // Role of the Cisco ISE server + ExternalCiscoIseIPAddrDtos *ResponseSystemSettingsGetAuthenticationAndPolicyServersResponseCiscoIseDtosExternalCiscoIseIPAddrDtos `json:"externalCiscoIseIpAddrDtos,omitempty"` // } type ResponseSystemSettingsGetAuthenticationAndPolicyServersResponseCiscoIseDtosExternalCiscoIseIPAddrDtos struct { - Type string `json:"type,omitempty"` // Type + Type string `json:"type,omitempty"` // Type + ExternalCiscoIseIPAddresses *[]ResponseSystemSettingsGetAuthenticationAndPolicyServersResponseCiscoIseDtosExternalCiscoIseIPAddrDtosExternalCiscoIseIPAddresses `json:"externalCiscoIseIpAddresses,omitempty"` // } type ResponseSystemSettingsGetAuthenticationAndPolicyServersResponseCiscoIseDtosExternalCiscoIseIPAddrDtosExternalCiscoIseIPAddresses struct { @@ -75,137 +112,195 @@ type ResponseSystemSettingsGetAuthenticationAndPolicyServersResponseCiscoIseDtos } type ResponseSystemSettingsDeleteAuthenticationAndPolicyServerAccessConfiguration struct { Response *ResponseSystemSettingsDeleteAuthenticationAndPolicyServerAccessConfigurationResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSystemSettingsDeleteAuthenticationAndPolicyServerAccessConfigurationResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseSystemSettingsEditAuthenticationAndPolicyServerAccessConfiguration struct { Response *ResponseSystemSettingsEditAuthenticationAndPolicyServerAccessConfigurationResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSystemSettingsEditAuthenticationAndPolicyServerAccessConfigurationResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseSystemSettingsAcceptCiscoIseServerCertificateForCiscoIseServerIntegration interface{} type ResponseSystemSettingsCreatesConfigurationDetailsOfTheExternalIPAMServer struct { Response *ResponseSystemSettingsCreatesConfigurationDetailsOfTheExternalIPAMServerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSystemSettingsCreatesConfigurationDetailsOfTheExternalIPAMServerResponse struct { - TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + TaskID string `json:"taskId,omitempty"` // Id of the task for this external IPAM integration process. + + URL string `json:"url,omitempty"` // URL to call to check status of this task. } type ResponseSystemSettingsRetrievesConfigurationDetailsOfTheExternalIPAMServer struct { Response *ResponseSystemSettingsRetrievesConfigurationDetailsOfTheExternalIPAMServerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSystemSettingsRetrievesConfigurationDetailsOfTheExternalIPAMServerResponse struct { - Provider string `json:"provider,omitempty"` // Type of external IPAM. Can be either INFOBLOX, BLUECAT or GENERIC. + Provider string `json:"provider,omitempty"` // Type of external IPAM. Can be either INFOBLOX, BLUECAT or GENERIC. + ServerName string `json:"serverName,omitempty"` // A descriptive name of this external server, used for identification purposes - ServerURL string `json:"serverUrl,omitempty"` // The URL of this external server - State string `json:"state,omitempty"` // State of the the external IPAM.* OK indicates success of most recent periodic communication check with external IPAM.* CRITICAL indicates failure of most recent attempt to communicate with the external IPAM.* SYNCHRONIZING indicates that the process of synchronizing the external IPAM database with the local IPAM database is running and all other IPAM processes will be blocked until the completes.* DISCONNECTED indicates the external IPAM is no longer being used. - UserName string `json:"userName,omitempty"` // The external IPAM server login username - View string `json:"view,omitempty"` // The view under which pools are created in the external IPAM server. + + ServerURL string `json:"serverUrl,omitempty"` // The URL of this external server + + State string `json:"state,omitempty"` // State of the the external IPAM.* OK indicates success of most recent periodic communication check with external IPAM.* CRITICAL indicates failure of most recent attempt to communicate with the external IPAM.* SYNCHRONIZING indicates that the process of synchronizing the external IPAM database with the local IPAM database is running and all other IPAM processes will be blocked until the completes.* DISCONNECTED indicates the external IPAM is no longer being used. + + UserName string `json:"userName,omitempty"` // The external IPAM server login username + + View string `json:"view,omitempty"` // The view under which pools are created in the external IPAM server. } type ResponseSystemSettingsDeletesConfigurationDetailsOfTheExternalIPAMServer struct { Response *ResponseSystemSettingsDeletesConfigurationDetailsOfTheExternalIPAMServerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSystemSettingsDeletesConfigurationDetailsOfTheExternalIPAMServerResponse struct { - TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + TaskID string `json:"taskId,omitempty"` // Id of the task for this external IPAM removal process. + + URL string `json:"url,omitempty"` // URL to call to check status of this task. } type ResponseSystemSettingsUpdatesConfigurationDetailsOfTheExternalIPAMServer struct { Response *ResponseSystemSettingsUpdatesConfigurationDetailsOfTheExternalIPAMServerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSystemSettingsUpdatesConfigurationDetailsOfTheExternalIPAMServerResponse struct { - TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + TaskID string `json:"taskId,omitempty"` // Id of the task for this external IPAM update process. + + URL string `json:"url,omitempty"` // URL to call to check status of this task. } type ResponseSystemSettingsCiscoIseServerIntegrationStatus struct { - AAAServerSettingID string `json:"aaaServerSettingId,omitempty"` // Cisco ISE Server setting identifier (E.g. 867e46c9-f8f5-40b1-8de2-62f7744f75f6) - OverallStatus string `json:"overallStatus,omitempty"` // Cisco ISE Server integration status - OverallErrorMessage string `json:"overallErrorMessage,omitempty"` // Cisco ISE Server integration failure message - Steps *[]ResponseSystemSettingsCiscoIseServerIntegrationStatusSteps `json:"steps,omitempty"` // + AAAServerSettingID string `json:"aaaServerSettingId,omitempty"` // Cisco ISE Server setting identifier (E.g. 867e46c9-f8f5-40b1-8de2-62f7744f75f6) + + OverallStatus string `json:"overallStatus,omitempty"` // Cisco ISE Server integration status + + OverallErrorMessage string `json:"overallErrorMessage,omitempty"` // Cisco ISE Server integration failure message + + Steps *[]ResponseSystemSettingsCiscoIseServerIntegrationStatusSteps `json:"steps,omitempty"` // } type ResponseSystemSettingsCiscoIseServerIntegrationStatusSteps struct { - StepID string `json:"stepId,omitempty"` // Cisco ISE Server integration step identifier (E.g. 1) - StepOrder *int `json:"stepOrder,omitempty"` // Cisco ISE Server integration step order (E.g. 1) - StepName string `json:"stepName,omitempty"` // Cisco ISE Server integration step name - StepDescription string `json:"stepDescription,omitempty"` // Cisco ISE Server step description - StepStatus string `json:"stepStatus,omitempty"` // Cisco ISE Server integration step status - CertAcceptedByUser *bool `json:"certAcceptedByUser,omitempty"` // If user accept Cisco ISE Server certificate, value will be true otherwise it will be false - StepTime *int `json:"stepTime,omitempty"` // Last updated epoc time by the step (E.g. 1677745739314) + StepID string `json:"stepId,omitempty"` // Cisco ISE Server integration step identifier (E.g. 1) + + StepOrder *int `json:"stepOrder,omitempty"` // Cisco ISE Server integration step order (E.g. 1) + + StepName string `json:"stepName,omitempty"` // Cisco ISE Server integration step name + + StepDescription string `json:"stepDescription,omitempty"` // Cisco ISE Server step description + + StepStatus string `json:"stepStatus,omitempty"` // Cisco ISE Server integration step status + + CertAcceptedByUser *bool `json:"certAcceptedByUser,omitempty"` // If user accept Cisco ISE Server certificate, value will be true otherwise it will be false + + StepTime *int `json:"stepTime,omitempty"` // Last updated epoc time by the step (E.g. 1677745739314) } type ResponseSystemSettingsCustomPromptSupportGETAPI struct { Response *ResponseSystemSettingsCustomPromptSupportGETAPIResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSystemSettingsCustomPromptSupportGETAPIResponse struct { - CustomUsernamePrompt string `json:"customUsernamePrompt,omitempty"` // Username for Custom Prompt - CustomPasswordPrompt string `json:"customPasswordPrompt,omitempty"` // Password for Custom Prompt + CustomUsernamePrompt string `json:"customUsernamePrompt,omitempty"` // Username for Custom Prompt + + CustomPasswordPrompt string `json:"customPasswordPrompt,omitempty"` // Password for Custom Prompt + DefaultUsernamePrompt string `json:"defaultUsernamePrompt,omitempty"` // Default Username for Custom Prompt + DefaultPasswordPrompt string `json:"defaultPasswordPrompt,omitempty"` // Default Password for Custom Prompt } type ResponseSystemSettingsCustomPromptPOSTAPI struct { Response *ResponseSystemSettingsCustomPromptPOSTAPIResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseSystemSettingsCustomPromptPOSTAPIResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseSystemSettingsSetProvisioningSettings struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSystemSettingsSetProvisioningSettingsResponse `json:"response,omitempty"` // } type ResponseSystemSettingsSetProvisioningSettingsResponse struct { - URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + URL string `json:"url,omitempty"` // URL to get task details e.g. : /api/v1/task/3200a44a-9186-4caf-8c32-419cd1f3d3f5 + TaskID string `json:"taskId,omitempty"` // Task Id in uuid format. e.g. : 3200a44a-9186-4caf-8c32-419cd1f3d3f5 } type ResponseSystemSettingsGetProvisioningSettings struct { Response *ResponseSystemSettingsGetProvisioningSettingsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseSystemSettingsGetProvisioningSettingsResponse struct { RequireItsmApproval *bool `json:"requireItsmApproval,omitempty"` // If require ITSM approval is enabled, the planned configurations must be submitted for ITSM approval. Also if enabled, requirePreview will default to enabled. - RequirePreview *bool `json:"requirePreview,omitempty"` // If require preview is enabled, the device configurations must be reviewed before deploying them + + RequirePreview *bool `json:"requirePreview,omitempty"` // If require preview is enabled, the device configurations must be reviewed before deploying them } type RequestSystemSettingsAddAuthenticationAndPolicyServerAccessConfiguration struct { - AuthenticationPort *int `json:"authenticationPort,omitempty"` // Authentication port of RADIUS server (readonly). The range is from 1 to 65535. E.g. 1812 - AccountingPort *int `json:"accountingPort,omitempty"` // Accounting port of RADIUS server (readonly). The range is from 1 to 65535. E.g. 1813 - CiscoIseDtos *[]RequestSystemSettingsAddAuthenticationAndPolicyServerAccessConfigurationCiscoIseDtos `json:"ciscoIseDtos,omitempty"` // - IPAddress string `json:"ipAddress,omitempty"` // IP address of authentication and policy server (readonly) - PxgridEnabled *bool `json:"pxgridEnabled,omitempty"` // Value true for enable, false for disable. Default value is true - UseDnacCertForPxgrid *bool `json:"useDnacCertForPxgrid,omitempty"` // Value true to use DNAC certificate for Pxgrid. Default value is false - IsIseEnabled *bool `json:"isIseEnabled,omitempty"` // Value true for Cisco ISE Server (readonly). Default value is false - Port *int `json:"port,omitempty"` // Port of TACACS server (readonly). The range is from 1 to 65535 - Protocol string `json:"protocol,omitempty"` // Type of protocol for authentication and policy server. If already saved with RADIUS, can update to RADIUS_TACACS. If already saved with TACACS, can update to RADIUS_TACACS - Retries string `json:"retries,omitempty"` // Number of communication retries between devices and authentication and policy server. The range is from 1 to 3 - Role string `json:"role,omitempty"` // Role of authentication and policy server (readonly). E.g. primary, secondary - SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret between devices and authentication and policy server (readonly) - TimeoutSeconds string `json:"timeoutSeconds,omitempty"` // Number of seconds before timing out between devices and authentication and policy server. The range is from 2 to 20 - EncryptionScheme string `json:"encryptionScheme,omitempty"` // Type of encryption scheme for additional security (readonly) - MessageKey string `json:"messageKey,omitempty"` // Message key used to encrypt shared secret (readonly) - EncryptionKey string `json:"encryptionKey,omitempty"` // Encryption key used to encrypt shared secret (readonly) + AuthenticationPort *int `json:"authenticationPort,omitempty"` // Authentication port of RADIUS server. It is required for RADIUS server. The range is from 1 to 65535. E.g. 1812 + + AccountingPort *int `json:"accountingPort,omitempty"` // Accounting port of RADIUS server. It is required for RADIUS server. The range is from 1 to 65535. E.g. 1813 + + CiscoIseDtos *[]RequestSystemSettingsAddAuthenticationAndPolicyServerAccessConfigurationCiscoIseDtos `json:"ciscoIseDtos,omitempty"` // + + IPAddress string `json:"ipAddress,omitempty"` // IP address of authentication and policy server + + PxgridEnabled *bool `json:"pxgridEnabled,omitempty"` // Value true for enable, false for disable. Default value is true + + UseDnacCertForPxgrid *bool `json:"useDnacCertForPxgrid,omitempty"` // Value true to use Catalyst Center certificate for Pxgrid. Default value is false + + IsIseEnabled *bool `json:"isIseEnabled,omitempty"` // Value true for Cisco ISE Server. Default value is false + + Port *int `json:"port,omitempty"` // Port of TACACS server. It is required for TACACS server. The range is from 1 to 65535 + + Protocol string `json:"protocol,omitempty"` // Type of protocol for authentication and policy server. If already saved with RADIUS, can update to RADIUS_TACACS. If already saved with TACACS, can update to RADIUS_TACACS + + Retries string `json:"retries,omitempty"` // Number of communication retries between devices and authentication and policy server. The range is from 1 to 3. + + Role string `json:"role,omitempty"` // Role of authentication and policy server. E.g. primary, secondary + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared secret between devices and authentication and policy server + + TimeoutSeconds string `json:"timeoutSeconds,omitempty"` // Number of seconds before timing out between devices and authentication and policy server. The range is from 2 to 20 + + EncryptionScheme string `json:"encryptionScheme,omitempty"` // Type of encryption scheme for additional security + + MessageKey string `json:"messageKey,omitempty"` // Message key used to encrypt shared secret + + EncryptionKey string `json:"encryptionKey,omitempty"` // Encryption key used to encrypt shared secret + ExternalCiscoIseIPAddrDtos *[]RequestSystemSettingsAddAuthenticationAndPolicyServerAccessConfigurationExternalCiscoIseIPAddrDtos `json:"externalCiscoIseIpAddrDtos,omitempty"` // } type RequestSystemSettingsAddAuthenticationAndPolicyServerAccessConfigurationCiscoIseDtos struct { - Description string `json:"description,omitempty"` // Description about the Cisco ISE server - Fqdn string `json:"fqdn,omitempty"` // Fully-qualified domain name of the Cisco ISE server (readonly). E.g. xi-62.my.com - Password string `json:"password,omitempty"` // Password of the Cisco ISE server - SSHkey string `json:"sshkey,omitempty"` // SSH key of the Cisco ISE server - IPAddress string `json:"ipAddress,omitempty"` // IP Address of the Cisco ISE Server (readonly) - SubscriberName string `json:"subscriberName,omitempty"` // Subscriber name of the Cisco ISE server (readonly). E.g. pxgrid_client_1662589467 - UserName string `json:"userName,omitempty"` // User name of the Cisco ISE server + Description string `json:"description,omitempty"` // Description about the Cisco ISE server + + Fqdn string `json:"fqdn,omitempty"` // Fully-qualified domain name of the Cisco ISE server. E.g. xi-62.my.com + + Password string `json:"password,omitempty"` // Password of the Cisco ISE server + + SSHkey string `json:"sshkey,omitempty"` // SSH key of the Cisco ISE server + + IPAddress string `json:"ipAddress,omitempty"` // IP Address of the Cisco ISE Server + + SubscriberName string `json:"subscriberName,omitempty"` // Subscriber name of the Cisco ISE server. E.g. pxgrid_client_1662589467 + + UserName string `json:"userName,omitempty"` // User name of the Cisco ISE server } type RequestSystemSettingsAddAuthenticationAndPolicyServerAccessConfigurationExternalCiscoIseIPAddrDtos struct { ExternalCiscoIseIPAddresses *[]RequestSystemSettingsAddAuthenticationAndPolicyServerAccessConfigurationExternalCiscoIseIPAddrDtosExternalCiscoIseIPAddresses `json:"externalCiscoIseIpAddresses,omitempty"` // - Type string `json:"type,omitempty"` // Type + + Type string `json:"type,omitempty"` // Type } type RequestSystemSettingsAddAuthenticationAndPolicyServerAccessConfigurationExternalCiscoIseIPAddrDtosExternalCiscoIseIPAddresses struct { ExternalIPAddress string `json:"externalIpAddress,omitempty"` // External IP Address @@ -250,28 +345,41 @@ type RequestSystemSettingsAcceptCiscoIseServerCertificateForCiscoIseServerIntegr } type RequestSystemSettingsCreatesConfigurationDetailsOfTheExternalIPAMServer struct { ServerName string `json:"serverName,omitempty"` // A descriptive name of this external server, used for identification purposes - ServerURL string `json:"serverUrl,omitempty"` // The URL of this external server - Password string `json:"password,omitempty"` // The password for the external IPAM server login username - UserName string `json:"userName,omitempty"` // The external IPAM server login username - Provider string `json:"provider,omitempty"` // Type of external IPAM. Can be either INFOBLOX, BLUECAT or GENERIC. - View string `json:"view,omitempty"` // The view under which pools are created in the external IPAM server. - SyncView *bool `json:"syncView,omitempty"` // Synchronize the IP pools from the local IPAM to this external server + + ServerURL string `json:"serverUrl,omitempty"` // The URL of this external server + + Password string `json:"password,omitempty"` // The password for the external IPAM server login username + + UserName string `json:"userName,omitempty"` // The external IPAM server login username + + Provider string `json:"provider,omitempty"` // Type of external IPAM. Can be either INFOBLOX, BLUECAT or GENERIC. + + View string `json:"view,omitempty"` // The view under which pools are created in the external IPAM server. + + SyncView *bool `json:"syncView,omitempty"` // Synchronize the IP pools from the local IPAM to this external server } type RequestSystemSettingsUpdatesConfigurationDetailsOfTheExternalIPAMServer struct { ServerName string `json:"serverName,omitempty"` // A descriptive name of this external server, used for identification purposes - ServerURL string `json:"serverUrl,omitempty"` // The URL of this external server - Password string `json:"password,omitempty"` // The password for the external IPAM server login username - UserName string `json:"userName,omitempty"` // The external IPAM server login username - View string `json:"view,omitempty"` // The view under which pools are created in the external IPAM server. - SyncView *bool `json:"syncView,omitempty"` // Synchronize the IP pools from the local IPAM to this external server + + ServerURL string `json:"serverUrl,omitempty"` // The URL of this external server + + Password string `json:"password,omitempty"` // The password for the external IPAM server login username + + UserName string `json:"userName,omitempty"` // The external IPAM server login username + + View string `json:"view,omitempty"` // The view under which pools are created in the external IPAM server. + + SyncView *bool `json:"syncView,omitempty"` // Synchronize the IP pools from the local IPAM to this external server } type RequestSystemSettingsCustomPromptPOSTAPI struct { UsernamePrompt string `json:"usernamePrompt,omitempty"` // Username for Custom Prompt + PasswordPrompt string `json:"passwordPrompt,omitempty"` // Password for Custom Prompt } type RequestSystemSettingsSetProvisioningSettings struct { RequireItsmApproval *bool `json:"requireItsmApproval,omitempty"` // If require ITSM approval is enabled, the planned configurations must be submitted for ITSM approval. Also if enabled, requirePreview will default to enabled. - RequirePreview *bool `json:"requirePreview,omitempty"` // If require preview is enabled, the device configurations must be reviewed before deploying them + + RequirePreview *bool `json:"requirePreview,omitempty"` // If require preview is enabled, the device configurations must be reviewed before deploying them } //GetAuthenticationAndPolicyServers Get Authentication and Policy Servers - a4b4-c849-4be8-b362 @@ -280,7 +388,7 @@ type RequestSystemSettingsSetProvisioningSettings struct { @param GetAuthenticationAndPolicyServersQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-authentication-and-policy-servers-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-authentication-and-policy-servers */ func (s *SystemSettingsService) GetAuthenticationAndPolicyServers(GetAuthenticationAndPolicyServersQueryParams *GetAuthenticationAndPolicyServersQueryParams) (*ResponseSystemSettingsGetAuthenticationAndPolicyServers, *resty.Response, error) { path := "/dna/intent/api/v1/authentication-policy-servers" @@ -316,7 +424,7 @@ func (s *SystemSettingsService) GetAuthenticationAndPolicyServers(GetAuthenticat -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-configuration-details-of-the-external-ip-a-m-server-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-configuration-details-of-the-external-ip-a-m-server */ func (s *SystemSettingsService) RetrievesConfigurationDetailsOfTheExternalIPAMServer() (*ResponseSystemSettingsRetrievesConfigurationDetailsOfTheExternalIPAMServer, *resty.Response, error) { path := "/dna/intent/api/v1/ipam/serverSetting" @@ -350,7 +458,7 @@ func (s *SystemSettingsService) RetrievesConfigurationDetailsOfTheExternalIPAMSe -Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-ise-server-integration-status-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-ise-server-integration-status */ func (s *SystemSettingsService) CiscoIseServerIntegrationStatus() (*ResponseSystemSettingsCiscoIseServerIntegrationStatus, *resty.Response, error) { path := "/dna/intent/api/v1/ise-integration-status" @@ -384,7 +492,7 @@ func (s *SystemSettingsService) CiscoIseServerIntegrationStatus() (*ResponseSyst -Documentation Link: https://developer.cisco.com/docs/dna-center/#!custom-prompt-support-g-e-t-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!custom-prompt-support-g-e-t-api */ func (s *SystemSettingsService) CustomPromptSupportGETAPI() (*ResponseSystemSettingsCustomPromptSupportGETAPI, *resty.Response, error) { path := "/dna/intent/api/v1/network-device/custom-prompt" @@ -418,7 +526,7 @@ func (s *SystemSettingsService) CustomPromptSupportGETAPI() (*ResponseSystemSett -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioning-settings-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioning-settings */ func (s *SystemSettingsService) GetProvisioningSettings() (*ResponseSystemSettingsGetProvisioningSettings, *resty.Response, error) { path := "/dna/intent/api/v1/provisioningSettings" @@ -452,7 +560,7 @@ func (s *SystemSettingsService) GetProvisioningSettings() (*ResponseSystemSettin -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-authentication-and-policy-server-access-configuration-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-authentication-and-policy-server-access-configuration */ func (s *SystemSettingsService) AddAuthenticationAndPolicyServerAccessConfiguration(requestSystemSettingsAddAuthenticationAndPolicyServerAccessConfiguration *RequestSystemSettingsAddAuthenticationAndPolicyServerAccessConfiguration) (*ResponseSystemSettingsAddAuthenticationAndPolicyServerAccessConfiguration, *resty.Response, error) { path := "/dna/intent/api/v1/authentication-policy-servers" @@ -489,7 +597,7 @@ func (s *SystemSettingsService) AddAuthenticationAndPolicyServerAccessConfigurat -Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-configuration-details-of-the-external-ip-a-m-server-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-configuration-details-of-the-external-ip-a-m-server */ func (s *SystemSettingsService) CreatesConfigurationDetailsOfTheExternalIPAMServer(requestSystemSettingsCreatesConfigurationDetailsOfTheExternalIPAMServer *RequestSystemSettingsCreatesConfigurationDetailsOfTheExternalIPAMServer) (*ResponseSystemSettingsCreatesConfigurationDetailsOfTheExternalIPAMServer, *resty.Response, error) { path := "/dna/intent/api/v1/ipam/serverSetting" @@ -526,7 +634,7 @@ func (s *SystemSettingsService) CreatesConfigurationDetailsOfTheExternalIPAMServ -Documentation Link: https://developer.cisco.com/docs/dna-center/#!custom-prompt-p-o-s-t-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!custom-prompt-p-o-s-t-api */ func (s *SystemSettingsService) CustomPromptPOSTAPI(requestSystemSettingsCustomPromptPOSTAPI *RequestSystemSettingsCustomPromptPOSTAPI) (*ResponseSystemSettingsCustomPromptPOSTAPI, *resty.Response, error) { path := "/dna/intent/api/v1/network-device/custom-prompt" @@ -701,7 +809,7 @@ func (s *SystemSettingsService) SetProvisioningSettings(requestSystemSettingsSet @param id id path parameter. Authentication and Policy Server Identifier. Use 'Get Authentication and Policy Servers' intent API to find the identifier. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-authentication-and-policy-server-access-configuration-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-authentication-and-policy-server-access-configuration */ func (s *SystemSettingsService) DeleteAuthenticationAndPolicyServerAccessConfiguration(id string) (*ResponseSystemSettingsDeleteAuthenticationAndPolicyServerAccessConfiguration, *resty.Response, error) { //id string @@ -737,7 +845,7 @@ func (s *SystemSettingsService) DeleteAuthenticationAndPolicyServerAccessConfigu -Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-configuration-details-of-the-external-ip-a-m-server-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-configuration-details-of-the-external-ip-a-m-server */ func (s *SystemSettingsService) DeletesConfigurationDetailsOfTheExternalIPAMServer() (*ResponseSystemSettingsDeletesConfigurationDetailsOfTheExternalIPAMServer, *resty.Response, error) { // diff --git a/sdk/tag.go b/sdk/tag.go index 7479fd8..e9400a8 100644 --- a/sdk/tag.go +++ b/sdk/tag.go @@ -17,7 +17,7 @@ type GetTagQueryParams struct { AdditionalInfoattributes string `url:"additionalInfo.attributes,omitempty"` //attributeName Level string `url:"level,omitempty"` //levelArg Offset float64 `url:"offset,omitempty"` //offset - Limit float64 `url:"limit,omitempty"` //limit + Limit float64 `url:"limit,omitempty"` //The number of tags to be retrieved. If not specified, the default is 500. The maximum allowed limit is 500. Size string `url:"size,omitempty"` //size in kilobytes(KB) Field string `url:"field,omitempty"` //Available field names are :'name,id,parentId,type,additionalInfo.nameSpace,additionalInfo.attributes' SortBy string `url:"sortBy,omitempty"` //Only supported attribute is name. SortyBy is mandatory when order is used. @@ -34,7 +34,7 @@ type GetTagCountQueryParams struct { type GetTagMembersByIDQueryParams struct { MemberType string `url:"memberType,omitempty"` //Entity type of the member. Possible values can be retrieved by using /tag/member/type API Offset float64 `url:"offset,omitempty"` //Used for pagination. It indicates the starting row number out of available member records - Limit float64 `url:"limit,omitempty"` //Used to Number of maximum members to return in the result + Limit float64 `url:"limit,omitempty"` //The number of members to be retrieved. If not specified, the default is 500. The maximum allowed limit is 500. MemberAssociationType string `url:"memberAssociationType,omitempty"` //Indicates how the member is associated with the tag. Possible values and description. 1) DYNAMIC : The member is associated to the tag through rules. 2) STATIC – The member is associated to the tag manually. 3) MIXED – The member is associated manually and also satisfies the rule defined for the tag Level string `url:"level,omitempty"` //level } @@ -52,193 +52,272 @@ type RetrieveTagsAssociatedWithNetworkDevicesQueryParams struct { } type ResponseTagUpdateTag struct { - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // + Response *ResponseTagUpdateTagResponse `json:"response,omitempty"` // } type ResponseTagUpdateTagResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // + } type ResponseTagGetTag struct { - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // + Response *[]ResponseTagGetTagResponse `json:"response,omitempty"` // } type ResponseTagGetTagResponse struct { - SystemTag *bool `json:"systemTag,omitempty"` // - Description string `json:"description,omitempty"` // - DynamicRules *[]ResponseTagGetTagResponseDynamicRules `json:"dynamicRules,omitempty"` // - Name string `json:"name,omitempty"` // - ID string `json:"id,omitempty"` // - InstanceTenantID string `json:"instanceTenantId,omitempty"` // + SystemTag *bool `json:"systemTag,omitempty"` // + + Description string `json:"description,omitempty"` // + + DynamicRules *[]ResponseTagGetTagResponseDynamicRules `json:"dynamicRules,omitempty"` // + + Name string `json:"name,omitempty"` // + + ID string `json:"id,omitempty"` // + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // } type ResponseTagGetTagResponseDynamicRules struct { - MemberType string `json:"memberType,omitempty"` // - Rules *ResponseTagGetTagResponseDynamicRulesRules `json:"rules,omitempty"` // + MemberType string `json:"memberType,omitempty"` // + + Rules *ResponseTagGetTagResponseDynamicRulesRules `json:"rules,omitempty"` // } type ResponseTagGetTagResponseDynamicRulesRules struct { - Values []string `json:"values,omitempty"` // - Items *[]ResponseTagGetTagResponseDynamicRulesRulesItems `json:"items,omitempty"` // - Operation string `json:"operation,omitempty"` // - Name string `json:"name,omitempty"` // - Value string `json:"value,omitempty"` // + Values []string `json:"values,omitempty"` // + + Items *[]ResponseTagGetTagResponseDynamicRulesRulesItems `json:"items,omitempty"` // + + Operation string `json:"operation,omitempty"` // + + Name string `json:"name,omitempty"` // + + Value string `json:"value,omitempty"` // } type ResponseTagGetTagResponseDynamicRulesRulesItems interface{} type ResponseTagCreateTag struct { - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // + Response *ResponseTagCreateTagResponse `json:"response,omitempty"` // } type ResponseTagCreateTagResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseTagGetTagCount struct { - Version string `json:"version,omitempty"` // - Response *int `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // + + Response *int `json:"response,omitempty"` // } type ResponseTagUpdateTagMembership struct { - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // + Response *ResponseTagUpdateTagMembershipResponse `json:"response,omitempty"` // } type ResponseTagUpdateTagMembershipResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseTagGetTagResourceTypes struct { - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // + Response []string `json:"response,omitempty"` // } type ResponseTagDeleteTag struct { - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // + Response *ResponseTagDeleteTagResponse `json:"response,omitempty"` // } type ResponseTagDeleteTagResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseTagGetTagByID struct { - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // + Response *ResponseTagGetTagByIDResponse `json:"response,omitempty"` // } type ResponseTagGetTagByIDResponse struct { - SystemTag *bool `json:"systemTag,omitempty"` // - Description string `json:"description,omitempty"` // - DynamicRules *[]ResponseTagGetTagByIDResponseDynamicRules `json:"dynamicRules,omitempty"` // - Name string `json:"name,omitempty"` // - ID string `json:"id,omitempty"` // - InstanceTenantID string `json:"instanceTenantId,omitempty"` // + SystemTag *bool `json:"systemTag,omitempty"` // + + Description string `json:"description,omitempty"` // + + DynamicRules *[]ResponseTagGetTagByIDResponseDynamicRules `json:"dynamicRules,omitempty"` // + + Name string `json:"name,omitempty"` // + + ID string `json:"id,omitempty"` // + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // } type ResponseTagGetTagByIDResponseDynamicRules struct { - MemberType string `json:"memberType,omitempty"` // - Rules *ResponseTagGetTagByIDResponseDynamicRulesRules `json:"rules,omitempty"` // + MemberType string `json:"memberType,omitempty"` // + + Rules *ResponseTagGetTagByIDResponseDynamicRulesRules `json:"rules,omitempty"` // } type ResponseTagGetTagByIDResponseDynamicRulesRules struct { - Values []string `json:"values,omitempty"` // - Items *[]ResponseTagGetTagByIDResponseDynamicRulesRulesItems `json:"items,omitempty"` // - Operation string `json:"operation,omitempty"` // - Name string `json:"name,omitempty"` // - Value string `json:"value,omitempty"` // + Values []string `json:"values,omitempty"` // + + Items *[]ResponseTagGetTagByIDResponseDynamicRulesRulesItems `json:"items,omitempty"` // + + Operation string `json:"operation,omitempty"` // + + Name string `json:"name,omitempty"` // + + Value string `json:"value,omitempty"` // } type ResponseTagGetTagByIDResponseDynamicRulesRulesItems interface{} type ResponseTagGetTagMembersByID struct { - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // + Response *[]ResponseTagGetTagMembersByIDResponse `json:"response,omitempty"` // } type ResponseTagGetTagMembersByIDResponse struct { InstanceUUID string `json:"instanceUuid,omitempty"` // } type ResponseTagAddMembersToTheTag struct { - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // + Response *ResponseTagAddMembersToTheTagResponse `json:"response,omitempty"` // } type ResponseTagAddMembersToTheTagResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseTagGetTagMemberCount struct { - Version string `json:"version,omitempty"` // - Response *int `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // + + Response *int `json:"response,omitempty"` // } type ResponseTagRemoveTagMember struct { - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // + Response *ResponseTagRemoveTagMemberResponse `json:"response,omitempty"` // } type ResponseTagRemoveTagMemberResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseTagRetrieveTagsAssociatedWithTheInterfaces struct { Response *[]ResponseTagRetrieveTagsAssociatedWithTheInterfacesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response. + + Version string `json:"version,omitempty"` // The version of the response. } type ResponseTagRetrieveTagsAssociatedWithTheInterfacesResponse struct { - ID string `json:"id,omitempty"` // Id of the member (network device or interface) + ID string `json:"id,omitempty"` // Id of the member (network device or interface) + Tags *[]ResponseTagRetrieveTagsAssociatedWithTheInterfacesResponseTags `json:"tags,omitempty"` // } type ResponseTagRetrieveTagsAssociatedWithTheInterfacesResponseTags struct { - ID string `json:"id,omitempty"` // Tag id + ID string `json:"id,omitempty"` // Tag id + Name string `json:"name,omitempty"` // Tag name } +type ResponseTagUpdateTagsAssociatedWithTheInterfaces struct { + Response *ResponseTagUpdateTagsAssociatedWithTheInterfacesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response version +} +type ResponseTagUpdateTagsAssociatedWithTheInterfacesResponse struct { + TaskID string `json:"taskId,omitempty"` // The UUID of the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task +} type ResponseTagRetrieveTheCountOfInterfacesThatAreAssociatedWithAtLeastOneTag struct { Response *ResponseTagRetrieveTheCountOfInterfacesThatAreAssociatedWithAtLeastOneTagResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response. + + Version string `json:"version,omitempty"` // The version of the response. } type ResponseTagRetrieveTheCountOfInterfacesThatAreAssociatedWithAtLeastOneTagResponse struct { Count *int `json:"count,omitempty"` // The reported count. } type ResponseTagQueryTheTagsAssociatedWithInterfaces struct { Response *[]ResponseTagQueryTheTagsAssociatedWithInterfacesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response. + + Version string `json:"version,omitempty"` // The version of the response. } type ResponseTagQueryTheTagsAssociatedWithInterfacesResponse struct { - ID string `json:"id,omitempty"` // Id of the member (network device or interface) + ID string `json:"id,omitempty"` // Id of the member (network device or interface) + Tags *[]ResponseTagQueryTheTagsAssociatedWithInterfacesResponseTags `json:"tags,omitempty"` // } type ResponseTagQueryTheTagsAssociatedWithInterfacesResponseTags struct { - ID string `json:"id,omitempty"` // Tag id + ID string `json:"id,omitempty"` // Tag id + Name string `json:"name,omitempty"` // Tag name } type ResponseTagRetrieveTagsAssociatedWithNetworkDevices struct { Response *[]ResponseTagRetrieveTagsAssociatedWithNetworkDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response. + + Version string `json:"version,omitempty"` // The version of the response. } type ResponseTagRetrieveTagsAssociatedWithNetworkDevicesResponse struct { - ID string `json:"id,omitempty"` // Id of the member (network device or interface) + ID string `json:"id,omitempty"` // Id of the member (network device or interface) + Tags *[]ResponseTagRetrieveTagsAssociatedWithNetworkDevicesResponseTags `json:"tags,omitempty"` // } type ResponseTagRetrieveTagsAssociatedWithNetworkDevicesResponseTags struct { - ID string `json:"id,omitempty"` // Tag id + ID string `json:"id,omitempty"` // Tag id + Name string `json:"name,omitempty"` // Tag name } +type ResponseTagUpdateTagsAssociatedWithTheNetworkDevices struct { + Response *ResponseTagUpdateTagsAssociatedWithTheNetworkDevicesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response version +} +type ResponseTagUpdateTagsAssociatedWithTheNetworkDevicesResponse struct { + TaskID string `json:"taskId,omitempty"` // The UUID of the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task +} type ResponseTagRetrieveTheCountOfNetworkDevicesThatAreAssociatedWithAtLeastOneTag struct { Response *ResponseTagRetrieveTheCountOfNetworkDevicesThatAreAssociatedWithAtLeastOneTagResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response. + + Version string `json:"version,omitempty"` // The version of the response. } type ResponseTagRetrieveTheCountOfNetworkDevicesThatAreAssociatedWithAtLeastOneTagResponse struct { Count *int `json:"count,omitempty"` // The reported count. } type ResponseTagQueryTheTagsAssociatedWithNetworkDevices struct { Response *[]ResponseTagQueryTheTagsAssociatedWithNetworkDevicesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response. + + Version string `json:"version,omitempty"` // The version of the response. } type ResponseTagQueryTheTagsAssociatedWithNetworkDevicesResponse struct { - ID string `json:"id,omitempty"` // Id of the member (network device or interface) + ID string `json:"id,omitempty"` // Id of the member (network device or interface) + Tags *[]ResponseTagQueryTheTagsAssociatedWithNetworkDevicesResponseTags `json:"tags,omitempty"` // } type ResponseTagQueryTheTagsAssociatedWithNetworkDevicesResponseTags struct { - ID string `json:"id,omitempty"` // Tag id + ID string `json:"id,omitempty"` // Tag id + Name string `json:"name,omitempty"` // Tag name } type RequestTagUpdateTag struct { - SystemTag *bool `json:"systemTag,omitempty"` // true for system created tags, false for user defined tags - Description string `json:"description,omitempty"` // description of the tag. - DynamicRules *[]RequestTagUpdateTagDynamicRules `json:"dynamicRules,omitempty"` // - Name string `json:"name,omitempty"` // name of the tag. - ID string `json:"id,omitempty"` // mandatory instanceUuid of the tag that needs to be updated. - InstanceTenantID string `json:"instanceTenantId,omitempty"` // instanceTenantId generated for the tag. + SystemTag *bool `json:"systemTag,omitempty"` // true for system created tags, false for user defined tags + + Description string `json:"description,omitempty"` // description of the tag. + + DynamicRules *[]RequestTagUpdateTagDynamicRules `json:"dynamicRules,omitempty"` // + + Name string `json:"name,omitempty"` // name of the tag. + + ID string `json:"id,omitempty"` // mandatory instanceUuid of the tag that needs to be updated. + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // instanceTenantId generated for the tag. } type RequestTagUpdateTagDynamicRules struct { - MemberType string `json:"memberType,omitempty"` // memberType of the tag (e.g. networkdevice, interface) - Rules *RequestTagUpdateTagDynamicRulesRules `json:"rules,omitempty"` // + MemberType string `json:"memberType,omitempty"` // memberType of the tag (e.g. networkdevice, interface) + + Rules *RequestTagUpdateTagDynamicRulesRules `json:"rules,omitempty"` // } type RequestTagUpdateTagDynamicRulesRules struct { Values []string `json:"values,omitempty"` // values of the parameter,Only one of the value or values can be used for the given parameter. (for managementIpAddress e.g. ["10.197.124.90","10.197.124.91"]) @@ -249,16 +328,22 @@ type RequestTagUpdateTagDynamicRulesRules struct { } type RequestTagCreateTag struct { - SystemTag *bool `json:"systemTag,omitempty"` // true for system created tags, false for user defined tags - Description string `json:"description,omitempty"` // description of the tag. - DynamicRules *[]RequestTagCreateTagDynamicRules `json:"dynamicRules,omitempty"` // - Name string `json:"name,omitempty"` // name of the tag. - ID string `json:"id,omitempty"` // instanceUuid generated for the tag. - InstanceTenantID string `json:"instanceTenantId,omitempty"` // instanceTenantId generated for the tag. + SystemTag *bool `json:"systemTag,omitempty"` // true for system created tags, false for user defined tags + + Description string `json:"description,omitempty"` // description of the tag. + + DynamicRules *[]RequestTagCreateTagDynamicRules `json:"dynamicRules,omitempty"` // + + Name string `json:"name,omitempty"` // name of the tag. + + ID string `json:"id,omitempty"` // instanceUuid generated for the tag. + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // instanceTenantId generated for the tag. } type RequestTagCreateTagDynamicRules struct { - MemberType string `json:"memberType,omitempty"` // memberType of the tag (e.g. networkdevice, interface) - Rules *RequestTagCreateTagDynamicRulesRules `json:"rules,omitempty"` // + MemberType string `json:"memberType,omitempty"` // memberType of the tag (e.g. networkdevice, interface) + + Rules *RequestTagCreateTagDynamicRulesRules `json:"rules,omitempty"` // } type RequestTagCreateTagDynamicRulesRules struct { Values []string `json:"values,omitempty"` // values of the parameter,Only one of the value or values can be used for the given parameter. (for managementIpAddress e.g. ["10.197.124.90","10.197.124.91"]) @@ -270,15 +355,34 @@ type RequestTagCreateTagDynamicRulesRules struct { type RequestTagUpdateTagMembership struct { MemberToTags map[string][]string `json:"memberToTags,omitempty"` // - MemberType string `json:"memberType,omitempty"` // + + MemberType string `json:"memberType,omitempty"` // } type RequestTagUpdateTagMembershipMemberToTags struct { Key []string `json:"key,omitempty"` // } type RequestTagAddMembersToTheTag map[string][]string +type RequestTagUpdateTagsAssociatedWithTheInterfaces []RequestItemTagUpdateTagsAssociatedWithTheInterfaces // Array of RequestTagUpdateTagsAssociatedWithTheInterfaces +type RequestItemTagUpdateTagsAssociatedWithTheInterfaces struct { + ID string `json:"id,omitempty"` // Interface id + + Tags *[]RequestItemTagUpdateTagsAssociatedWithTheInterfacesTags `json:"tags,omitempty"` // +} +type RequestItemTagUpdateTagsAssociatedWithTheInterfacesTags struct { + ID string `json:"id,omitempty"` // Tag id +} type RequestTagQueryTheTagsAssociatedWithInterfaces struct { IDs []string `json:"ids,omitempty"` // List of member ids (network device or interface), maximum 500 ids can be passed. } +type RequestTagUpdateTagsAssociatedWithTheNetworkDevices []RequestItemTagUpdateTagsAssociatedWithTheNetworkDevices // Array of RequestTagUpdateTagsAssociatedWithTheNetworkDevices +type RequestItemTagUpdateTagsAssociatedWithTheNetworkDevices struct { + ID string `json:"id,omitempty"` // Network device id + + Tags *[]RequestItemTagUpdateTagsAssociatedWithTheNetworkDevicesTags `json:"tags,omitempty"` // +} +type RequestItemTagUpdateTagsAssociatedWithTheNetworkDevicesTags struct { + ID string `json:"id,omitempty"` // Tag id +} type RequestTagQueryTheTagsAssociatedWithNetworkDevices struct { IDs []string `json:"ids,omitempty"` // List of member ids (network device or interface), maximum 500 ids can be passed. } @@ -289,7 +393,7 @@ type RequestTagQueryTheTagsAssociatedWithNetworkDevices struct { @param GetTagQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag */ func (s *TagService) GetTag(GetTagQueryParams *GetTagQueryParams) (*ResponseTagGetTag, *resty.Response, error) { path := "/dna/intent/api/v1/tag" @@ -326,7 +430,7 @@ func (s *TagService) GetTag(GetTagQueryParams *GetTagQueryParams) (*ResponseTagG @param GetTagCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag-count */ func (s *TagService) GetTagCount(GetTagCountQueryParams *GetTagCountQueryParams) (*ResponseTagGetTagCount, *resty.Response, error) { path := "/dna/intent/api/v1/tag/count" @@ -362,7 +466,7 @@ func (s *TagService) GetTagCount(GetTagCountQueryParams *GetTagCountQueryParams) -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag-resource-types-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag-resource-types */ func (s *TagService) GetTagResourceTypes() (*ResponseTagGetTagResourceTypes, *resty.Response, error) { path := "/dna/intent/api/v1/tag/member/type" @@ -398,7 +502,7 @@ func (s *TagService) GetTagResourceTypes() (*ResponseTagGetTagResourceTypes, *re @param id id path parameter. Tag ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag-by-id */ func (s *TagService) GetTagByID(id string) (*ResponseTagGetTagByID, *resty.Response, error) { path := "/dna/intent/api/v1/tag/{id}" @@ -436,7 +540,7 @@ func (s *TagService) GetTagByID(id string) (*ResponseTagGetTagByID, *resty.Respo @param GetTagMembersByIdQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag-members-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag-members-by-id */ func (s *TagService) GetTagMembersByID(id string, GetTagMembersByIdQueryParams *GetTagMembersByIDQueryParams) (*ResponseTagGetTagMembersByID, *resty.Response, error) { path := "/dna/intent/api/v1/tag/{id}/member" @@ -476,7 +580,7 @@ func (s *TagService) GetTagMembersByID(id string, GetTagMembersByIdQueryParams * @param GetTagMemberCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag-member-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tag-member-count */ func (s *TagService) GetTagMemberCount(id string, GetTagMemberCountQueryParams *GetTagMemberCountQueryParams) (*ResponseTagGetTagMemberCount, *resty.Response, error) { path := "/dna/intent/api/v1/tag/{id}/member/count" @@ -514,7 +618,7 @@ func (s *TagService) GetTagMemberCount(id string, GetTagMemberCountQueryParams * @param RetrieveTagsAssociatedWithTheInterfacesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-tags-associated-with-the-interfaces-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-tags-associated-with-the-interfaces */ func (s *TagService) RetrieveTagsAssociatedWithTheInterfaces(RetrieveTagsAssociatedWithTheInterfacesQueryParams *RetrieveTagsAssociatedWithTheInterfacesQueryParams) (*ResponseTagRetrieveTagsAssociatedWithTheInterfaces, *resty.Response, error) { path := "/dna/intent/api/v1/tags/interfaces/membersAssociations" @@ -550,7 +654,7 @@ func (s *TagService) RetrieveTagsAssociatedWithTheInterfaces(RetrieveTagsAssocia -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-count-of-interfaces-that-are-associated-with-at-least-one-tag-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-count-of-interfaces-that-are-associated-with-at-least-one-tag */ func (s *TagService) RetrieveTheCountOfInterfacesThatAreAssociatedWithAtLeastOneTag() (*ResponseTagRetrieveTheCountOfInterfacesThatAreAssociatedWithAtLeastOneTag, *resty.Response, error) { path := "/dna/intent/api/v1/tags/interfaces/membersAssociations/count" @@ -585,7 +689,7 @@ func (s *TagService) RetrieveTheCountOfInterfacesThatAreAssociatedWithAtLeastOne @param RetrieveTagsAssociatedWithNetworkDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-tags-associated-with-network-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-tags-associated-with-network-devices */ func (s *TagService) RetrieveTagsAssociatedWithNetworkDevices(RetrieveTagsAssociatedWithNetworkDevicesQueryParams *RetrieveTagsAssociatedWithNetworkDevicesQueryParams) (*ResponseTagRetrieveTagsAssociatedWithNetworkDevices, *resty.Response, error) { path := "/dna/intent/api/v1/tags/networkDevices/membersAssociations" @@ -621,7 +725,7 @@ func (s *TagService) RetrieveTagsAssociatedWithNetworkDevices(RetrieveTagsAssoci -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-count-of-network-devices-that-are-associated-with-at-least-one-tag-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-count-of-network-devices-that-are-associated-with-at-least-one-tag */ func (s *TagService) RetrieveTheCountOfNetworkDevicesThatAreAssociatedWithAtLeastOneTag() (*ResponseTagRetrieveTheCountOfNetworkDevicesThatAreAssociatedWithAtLeastOneTag, *resty.Response, error) { path := "/dna/intent/api/v1/tags/networkDevices/membersAssociations/count" @@ -655,7 +759,7 @@ func (s *TagService) RetrieveTheCountOfNetworkDevicesThatAreAssociatedWithAtLeas -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-tag-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-tag */ func (s *TagService) CreateTag(requestTagCreateTag *RequestTagCreateTag) (*ResponseTagCreateTag, *resty.Response, error) { path := "/dna/intent/api/v1/tag" @@ -694,7 +798,7 @@ func (s *TagService) CreateTag(requestTagCreateTag *RequestTagCreateTag) (*Respo @param id id path parameter. Tag ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-members-to-the-tag-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-members-to-the-tag */ func (s *TagService) AddMembersToTheTag(id string, requestTagAddMembersToTheTag *RequestTagAddMembersToTheTag) (*ResponseTagAddMembersToTheTag, *resty.Response, error) { path := "/dna/intent/api/v1/tag/{id}/member" @@ -732,7 +836,7 @@ func (s *TagService) AddMembersToTheTag(id string, requestTagAddMembersToTheTag -Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-the-tags-associated-with-interfaces-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-the-tags-associated-with-interfaces */ func (s *TagService) QueryTheTagsAssociatedWithInterfaces(requestTagQueryTheTagsAssociatedWithInterfaces *RequestTagQueryTheTagsAssociatedWithInterfaces) (*ResponseTagQueryTheTagsAssociatedWithInterfaces, *resty.Response, error) { path := "/dna/intent/api/v1/tags/interfaces/membersAssociations/query" @@ -769,7 +873,7 @@ func (s *TagService) QueryTheTagsAssociatedWithInterfaces(requestTagQueryTheTags -Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-the-tags-associated-with-network-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-the-tags-associated-with-network-devices */ func (s *TagService) QueryTheTagsAssociatedWithNetworkDevices(requestTagQueryTheTagsAssociatedWithNetworkDevices *RequestTagQueryTheTagsAssociatedWithNetworkDevices) (*ResponseTagQueryTheTagsAssociatedWithNetworkDevices, *resty.Response, error) { path := "/dna/intent/api/v1/tags/networkDevices/membersAssociations/query" @@ -867,6 +971,72 @@ func (s *TagService) UpdateTagMembership(requestTagUpdateTagMembership *RequestT } +//UpdateTagsAssociatedWithTheInterfaces Update tags associated with the interfaces. - a7a6-db4c-4fba-a60a +/* Updates the tags associated with the interfaces. A tag is a user-defined or system-defined construct to group resources. When an interface is tagged, it is called a member of the tag. A tag can be created by using this POST `/dna/intent/api/v1/tag` API. + + + */ +func (s *TagService) UpdateTagsAssociatedWithTheInterfaces(requestTagUpdateTagsAssociatedWithTheInterfaces *RequestTagUpdateTagsAssociatedWithTheInterfaces) (*ResponseTagUpdateTagsAssociatedWithTheInterfaces, *resty.Response, error) { + path := "/dna/intent/api/v1/tags/interfaces/membersAssociations/bulk" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestTagUpdateTagsAssociatedWithTheInterfaces). + SetResult(&ResponseTagUpdateTagsAssociatedWithTheInterfaces{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdateTagsAssociatedWithTheInterfaces(requestTagUpdateTagsAssociatedWithTheInterfaces) + } + return nil, response, fmt.Errorf("error with operation UpdateTagsAssociatedWithTheInterfaces") + } + + result := response.Result().(*ResponseTagUpdateTagsAssociatedWithTheInterfaces) + return result, response, err + +} + +//UpdateTagsAssociatedWithTheNetworkDevices Update tags associated with the network devices. - 199f-192a-463a-ba34 +/* Updates the tags associated with the devices. A tag is a user-defined or system-defined construct to group resources. When a device is tagged, it is called a member of the tag. A tag can be created by using this POST `/dna/intent/api/v1/tag` API. + + + */ +func (s *TagService) UpdateTagsAssociatedWithTheNetworkDevices(requestTagUpdateTagsAssociatedWithTheNetworkDevices *RequestTagUpdateTagsAssociatedWithTheNetworkDevices) (*ResponseTagUpdateTagsAssociatedWithTheNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/tags/networkDevices/membersAssociations/bulk" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestTagUpdateTagsAssociatedWithTheNetworkDevices). + SetResult(&ResponseTagUpdateTagsAssociatedWithTheNetworkDevices{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdateTagsAssociatedWithTheNetworkDevices(requestTagUpdateTagsAssociatedWithTheNetworkDevices) + } + return nil, response, fmt.Errorf("error with operation UpdateTagsAssociatedWithTheNetworkDevices") + } + + result := response.Result().(*ResponseTagUpdateTagsAssociatedWithTheNetworkDevices) + return result, response, err + +} + //DeleteTag Delete Tag - 429c-2815-4bda-a13d /* Deletes a tag specified by id @@ -874,7 +1044,7 @@ func (s *TagService) UpdateTagMembership(requestTagUpdateTagMembership *RequestT @param id id path parameter. Tag ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-tag-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-tag */ func (s *TagService) DeleteTag(id string) (*ResponseTagDeleteTag, *resty.Response, error) { //id string @@ -914,7 +1084,7 @@ func (s *TagService) DeleteTag(id string) (*ResponseTagDeleteTag, *resty.Respons @param memberID memberId path parameter. TagMember id to be removed from tag -Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-tag-member-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-tag-member */ func (s *TagService) RemoveTagMember(id string, memberID string) (*ResponseTagRemoveTagMember, *resty.Response, error) { //id string,memberID string diff --git a/sdk/task.go b/sdk/task.go index 3831ba7..f7e6e3b 100644 --- a/sdk/task.go +++ b/sdk/task.go @@ -11,21 +11,40 @@ import ( type TaskService service +type RetrieveAListOfAssuranceTasksQueryParams struct { + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Offset float64 `url:"offset,omitempty"` //Specifies the starting point within all records returned by the API. It's one based offset. The starting value is 1. + SortBy string `url:"sortBy,omitempty"` //A field within the response to sort by. + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. + Status string `url:"status,omitempty"` //used to get a subset of tasks by their status +} +type RetrieveAListOfAssuranceTasksHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistQueryParams struct { + Status string `url:"status,omitempty"` //used to get a subset of tasks by their status +} +type RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} +type RetrieveASpecificAssuranceTaskByIDHeaderParams struct { + XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. +} type GetTasksOperationalTasksQueryParams struct { - StartTime string `url:"startTime,omitempty"` //This is the epoch start time from which tasks need to be fetched - EndTime string `url:"endTime,omitempty"` //This is the epoch end time upto which audit records need to be fetched - Data string `url:"data,omitempty"` //Fetch tasks that contains this data - ErrorCode string `url:"errorCode,omitempty"` //Fetch tasks that have this error code - ServiceType string `url:"serviceType,omitempty"` //Fetch tasks with this service type - Username string `url:"username,omitempty"` //Fetch tasks with this username - Progress string `url:"progress,omitempty"` //Fetch tasks that contains this progress - IsError string `url:"isError,omitempty"` //Fetch tasks ended as success or failure. Valid values: true, false - FailureReason string `url:"failureReason,omitempty"` //Fetch tasks that contains this failure reason - ParentID string `url:"parentId,omitempty"` //Fetch tasks that have this parent Id - Offset int `url:"offset,omitempty"` //offset - Limit int `url:"limit,omitempty"` //limit - SortBy string `url:"sortBy,omitempty"` //Sort results by this field - Order string `url:"order,omitempty"` //Sort order - asc or dsc + StartTime string `url:"startTime,omitempty"` //This is the epoch start time from which tasks need to be fetched + EndTime string `url:"endTime,omitempty"` //This is the epoch end time upto which audit records need to be fetched + Data string `url:"data,omitempty"` //Fetch tasks that contains this data + ErrorCode string `url:"errorCode,omitempty"` //Fetch tasks that have this error code + ServiceType string `url:"serviceType,omitempty"` //Fetch tasks with this service type + Username string `url:"username,omitempty"` //Fetch tasks with this username + Progress string `url:"progress,omitempty"` //Fetch tasks that contains this progress + IsError string `url:"isError,omitempty"` //Fetch tasks ended as success or failure. Valid values: true, false + FailureReason string `url:"failureReason,omitempty"` //Fetch tasks that contains this failure reason + ParentID string `url:"parentId,omitempty"` //Fetch tasks that have this parent Id + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + SortBy string `url:"sortBy,omitempty"` //Sort results by this field + Order string `url:"order,omitempty"` //Sort order - asc or dsc } type GetTaskCountQueryParams struct { StartTime string `url:"startTime,omitempty"` //This is the epoch start time from which tasks need to be fetched @@ -40,15 +59,15 @@ type GetTaskCountQueryParams struct { ParentID string `url:"parentId,omitempty"` //Fetch tasks that have this parent Id } type GetTasksQueryParams struct { - Offset int `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit int `url:"limit,omitempty"` //The number of records to show for this page. - SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. - Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. - StartTime int `url:"startTime,omitempty"` //This is the epoch millisecond start time from which tasks need to be fetched - EndTime int `url:"endTime,omitempty"` //This is the epoch millisecond end time upto which task records need to be fetched - ParentID string `url:"parentId,omitempty"` //Fetch tasks that have this parent Id - RootID string `url:"rootId,omitempty"` //Fetch tasks that have this root Id - Status string `url:"status,omitempty"` //Fetch tasks that have this status. Available values : PENDING, FAILURE, SUCCESS + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. + StartTime int `url:"startTime,omitempty"` //This is the epoch millisecond start time from which tasks need to be fetched + EndTime int `url:"endTime,omitempty"` //This is the epoch millisecond end time upto which task records need to be fetched + ParentID string `url:"parentId,omitempty"` //Fetch tasks that have this parent Id + RootID string `url:"rootId,omitempty"` //Fetch tasks that have this root Id + Status string `url:"status,omitempty"` //Fetch tasks that have this status. Available values : PENDING, FAILURE, SUCCESS } type GetTasksCountQueryParams struct { StartTime int `url:"startTime,omitempty"` //This is the epoch millisecond start time from which tasks need to be fetched @@ -58,165 +77,508 @@ type GetTasksCountQueryParams struct { Status string `url:"status,omitempty"` //Fetch tasks that have this status. Available values : PENDING, FAILURE, SUCCESS } +type ResponseTaskRetrieveAListOfAssuranceTasks struct { + Response *[]ResponseTaskRetrieveAListOfAssuranceTasksResponse `json:"response,omitempty"` // + + Page *ResponseTaskRetrieveAListOfAssuranceTasksPage `json:"page,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseTaskRetrieveAListOfAssuranceTasksResponse struct { + ID string `json:"id,omitempty"` // Id + + Status string `json:"status,omitempty"` // Status + + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + UpdateTime *int `json:"updateTime,omitempty"` // Update Time + + Progress string `json:"progress,omitempty"` // Progress + + FailureReason string `json:"failureReason,omitempty"` // Failure Reason + + ErrorCode string `json:"errorCode,omitempty"` // Error Code + + RequestType string `json:"requestType,omitempty"` // Request Type + + Data *ResponseTaskRetrieveAListOfAssuranceTasksResponseData `json:"data,omitempty"` // Data + + ResultURL string `json:"resultUrl,omitempty"` // Result Url +} +type ResponseTaskRetrieveAListOfAssuranceTasksResponseData interface{} +type ResponseTaskRetrieveAListOfAssuranceTasksPage struct { + Limit *int `json:"limit,omitempty"` // Limit + + Offset *int `json:"offset,omitempty"` // Offset + + Count *int `json:"count,omitempty"` // Count + + SortBy *[]ResponseTaskRetrieveAListOfAssuranceTasksPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseTaskRetrieveAListOfAssuranceTasksPageSortBy struct { + Name string `json:"name,omitempty"` // Name + + Order string `json:"order,omitempty"` // Order +} +type ResponseTaskRetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExist struct { + Response *ResponseTaskRetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseTaskRetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseTaskRetrieveASpecificAssuranceTaskByID struct { + Response *ResponseTaskRetrieveASpecificAssuranceTaskByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseTaskRetrieveASpecificAssuranceTaskByIDResponse struct { + ID string `json:"id,omitempty"` // Id + + Status string `json:"status,omitempty"` // Status + + StartTime *int `json:"startTime,omitempty"` // Start Time + + EndTime *int `json:"endTime,omitempty"` // End Time + + UpdateTime *int `json:"updateTime,omitempty"` // Update Time + + Progress string `json:"progress,omitempty"` // Progress + + FailureReason string `json:"failureReason,omitempty"` // Failure Reason + + ErrorCode string `json:"errorCode,omitempty"` // Error Code + + RequestType string `json:"requestType,omitempty"` // Request Type + + Data *ResponseTaskRetrieveASpecificAssuranceTaskByIDResponseData `json:"data,omitempty"` // Data + + ResultURL string `json:"resultUrl,omitempty"` // Result Url +} +type ResponseTaskRetrieveASpecificAssuranceTaskByIDResponseData interface{} type ResponseTaskGetBusinessAPIExecutionDetails struct { - BapiKey string `json:"bapiKey,omitempty"` // Business API Key (UUID) - BapiName string `json:"bapiName,omitempty"` // Name of the Business API - BapiExecutionID string `json:"bapiExecutionId,omitempty"` // Execution Id of the Business API (UUID) - StartTime string `json:"startTime,omitempty"` // Execution Start Time of the Business API (Date Time Format) - StartTimeEpoch *int `json:"startTimeEpoch,omitempty"` // Execution Start Time of the Business API (Epoch Milliseconds) - EndTime string `json:"endTime,omitempty"` // Execution End Time of the Business API (Date Time Format) - EndTimeEpoch *int `json:"endTimeEpoch,omitempty"` // Execution End Time of the Business API (Epoch Milliseconds) - TimeDuration *int `json:"timeDuration,omitempty"` // Time taken for Business API Execution (Milliseconds) - Status string `json:"status,omitempty"` // Execution status of the Business API + BapiKey string `json:"bapiKey,omitempty"` // Business API Key (UUID) + + BapiName string `json:"bapiName,omitempty"` // Name of the Business API + + BapiExecutionID string `json:"bapiExecutionId,omitempty"` // Execution Id of the Business API (UUID) + + StartTime string `json:"startTime,omitempty"` // Execution Start Time of the Business API (Date Time Format) + + StartTimeEpoch *int `json:"startTimeEpoch,omitempty"` // Execution Start Time of the Business API (Epoch Milliseconds) + + EndTime string `json:"endTime,omitempty"` // Execution End Time of the Business API (Date Time Format) + + EndTimeEpoch *int `json:"endTimeEpoch,omitempty"` // Execution End Time of the Business API (Epoch Milliseconds) + + TimeDuration *int `json:"timeDuration,omitempty"` // Time taken for Business API Execution (Milliseconds) + + Status string `json:"status,omitempty"` // Execution status of the Business API + + BapiSyncResponse string `json:"bapiSyncResponse,omitempty"` // Returns the actual response of the original API as a string + + BapiSyncResponseJSON *ResponseTaskGetBusinessAPIExecutionDetailsBapiSyncResponseJSON `json:"bapiSyncResponseJson,omitempty"` // Returns the actual response of the original API as a json + RuntimeInstanceID string `json:"runtimeInstanceId,omitempty"` // Pod Id in which the Business API is executed - BapiError string `json:"bapiError,omitempty"` // Business API error message + + BapiError string `json:"bapiError,omitempty"` // Returns the error response of the original API as a string } +type ResponseTaskGetBusinessAPIExecutionDetailsBapiSyncResponseJSON interface{} type ResponseTaskGetTasksOperationalTasks struct { Response *[]ResponseTaskGetTasksOperationalTasksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTaskGetTasksOperationalTasksResponse struct { - AdditionalStatusURL string `json:"additionalStatusURL,omitempty"` // - Data string `json:"data,omitempty"` // - EndTime *int `json:"endTime,omitempty"` // - ErrorCode string `json:"errorCode,omitempty"` // - ErrorKey string `json:"errorKey,omitempty"` // - FailureReason string `json:"failureReason,omitempty"` // - ID string `json:"id,omitempty"` // - InstanceTenantID string `json:"instanceTenantId,omitempty"` // - IsError *bool `json:"isError,omitempty"` // - LastUpdate *int `json:"lastUpdate,omitempty"` // - OperationIDList []string `json:"operationIdList,omitempty"` // - ParentID string `json:"parentId,omitempty"` // - Progress string `json:"progress,omitempty"` // - RootID string `json:"rootId,omitempty"` // - ServiceType string `json:"serviceType,omitempty"` // - StartTime *int `json:"startTime,omitempty"` // - Username string `json:"username,omitempty"` // - Version *int `json:"version,omitempty"` // + AdditionalStatusURL string `json:"additionalStatusURL,omitempty"` // + + Data string `json:"data,omitempty"` // + + EndTime *int `json:"endTime,omitempty"` // + + ErrorCode string `json:"errorCode,omitempty"` // + + ErrorKey string `json:"errorKey,omitempty"` // + + FailureReason string `json:"failureReason,omitempty"` // + + ID string `json:"id,omitempty"` // + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // + + IsError *bool `json:"isError,omitempty"` // + + LastUpdate *int `json:"lastUpdate,omitempty"` // + + OperationIDList []string `json:"operationIdList,omitempty"` // + + ParentID string `json:"parentId,omitempty"` // + + Progress string `json:"progress,omitempty"` // + + RootID string `json:"rootId,omitempty"` // + + ServiceType string `json:"serviceType,omitempty"` // + + StartTime *int `json:"startTime,omitempty"` // + + Username string `json:"username,omitempty"` // + + Version *int `json:"version,omitempty"` // } type ResponseTaskGetTaskCount struct { - Response *int `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + Response *int `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTaskGetTaskByOperationID struct { Response *[]ResponseTaskGetTaskByOperationIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTaskGetTaskByOperationIDResponse struct { - AdditionalStatusURL string `json:"additionalStatusURL,omitempty"` // - Data string `json:"data,omitempty"` // - EndTime *int `json:"endTime,omitempty"` // - ErrorCode string `json:"errorCode,omitempty"` // - ErrorKey string `json:"errorKey,omitempty"` // - FailureReason string `json:"failureReason,omitempty"` // - ID string `json:"id,omitempty"` // - InstanceTenantID string `json:"instanceTenantId,omitempty"` // - IsError *bool `json:"isError,omitempty"` // - LastUpdate *int `json:"lastUpdate,omitempty"` // - OperationIDList []string `json:"operationIdList,omitempty"` // - ParentID string `json:"parentId,omitempty"` // - Progress string `json:"progress,omitempty"` // - RootID string `json:"rootId,omitempty"` // - ServiceType string `json:"serviceType,omitempty"` // - StartTime *int `json:"startTime,omitempty"` // - Username string `json:"username,omitempty"` // - Version *int `json:"version,omitempty"` // + AdditionalStatusURL string `json:"additionalStatusURL,omitempty"` // + + Data string `json:"data,omitempty"` // + + EndTime *int `json:"endTime,omitempty"` // + + ErrorCode string `json:"errorCode,omitempty"` // + + ErrorKey string `json:"errorKey,omitempty"` // + + FailureReason string `json:"failureReason,omitempty"` // + + ID string `json:"id,omitempty"` // + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // + + IsError *bool `json:"isError,omitempty"` // + + LastUpdate *int `json:"lastUpdate,omitempty"` // + + OperationIDList []string `json:"operationIdList,omitempty"` // + + ParentID string `json:"parentId,omitempty"` // + + Progress string `json:"progress,omitempty"` // + + RootID string `json:"rootId,omitempty"` // + + ServiceType string `json:"serviceType,omitempty"` // + + StartTime *int `json:"startTime,omitempty"` // + + Username string `json:"username,omitempty"` // + + Version *int `json:"version,omitempty"` // } type ResponseTaskGetTaskByID struct { Response *ResponseTaskGetTaskByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTaskGetTaskByIDResponse struct { - AdditionalStatusURL string `json:"additionalStatusURL,omitempty"` // - Data string `json:"data,omitempty"` // - EndTime *int `json:"endTime,omitempty"` // - ErrorCode string `json:"errorCode,omitempty"` // - ErrorKey string `json:"errorKey,omitempty"` // - FailureReason string `json:"failureReason,omitempty"` // - ID string `json:"id,omitempty"` // - InstanceTenantID string `json:"instanceTenantId,omitempty"` // - IsError *bool `json:"isError,omitempty"` // - LastUpdate *int `json:"lastUpdate,omitempty"` // - OperationIDList []string `json:"operationIdList,omitempty"` // - ParentID string `json:"parentId,omitempty"` // - Progress string `json:"progress,omitempty"` // - RootID string `json:"rootId,omitempty"` // - ServiceType string `json:"serviceType,omitempty"` // - StartTime *int `json:"startTime,omitempty"` // - Username string `json:"username,omitempty"` // - Version *int `json:"version,omitempty"` // + AdditionalStatusURL string `json:"additionalStatusURL,omitempty"` // + + Data string `json:"data,omitempty"` // + + EndTime *int `json:"endTime,omitempty"` // + + ErrorCode string `json:"errorCode,omitempty"` // + + ErrorKey string `json:"errorKey,omitempty"` // + + FailureReason string `json:"failureReason,omitempty"` // + + ID string `json:"id,omitempty"` // + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // + + IsError *bool `json:"isError,omitempty"` // + + LastUpdate *int `json:"lastUpdate,omitempty"` // + + OperationIDList []string `json:"operationIdList,omitempty"` // + + ParentID string `json:"parentId,omitempty"` // + + Progress string `json:"progress,omitempty"` // + + RootID string `json:"rootId,omitempty"` // + + ServiceType string `json:"serviceType,omitempty"` // + + StartTime *int `json:"startTime,omitempty"` // + + Username string `json:"username,omitempty"` // + + Version *int `json:"version,omitempty"` // } type ResponseTaskGetTaskTree struct { Response *[]ResponseTaskGetTaskTreeResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTaskGetTaskTreeResponse struct { - AdditionalStatusURL string `json:"additionalStatusURL,omitempty"` // - Data string `json:"data,omitempty"` // - EndTime *int `json:"endTime,omitempty"` // - ErrorCode string `json:"errorCode,omitempty"` // - ErrorKey string `json:"errorKey,omitempty"` // - FailureReason string `json:"failureReason,omitempty"` // - ID string `json:"id,omitempty"` // - InstanceTenantID string `json:"instanceTenantId,omitempty"` // - IsError *bool `json:"isError,omitempty"` // - LastUpdate *int `json:"lastUpdate,omitempty"` // - OperationIDList []string `json:"operationIdList,omitempty"` // - ParentID string `json:"parentId,omitempty"` // - Progress string `json:"progress,omitempty"` // - RootID string `json:"rootId,omitempty"` // - ServiceType string `json:"serviceType,omitempty"` // - StartTime *int `json:"startTime,omitempty"` // - Username string `json:"username,omitempty"` // - Version *int `json:"version,omitempty"` // + AdditionalStatusURL string `json:"additionalStatusURL,omitempty"` // + + Data string `json:"data,omitempty"` // + + EndTime *int `json:"endTime,omitempty"` // + + ErrorCode string `json:"errorCode,omitempty"` // + + ErrorKey string `json:"errorKey,omitempty"` // + + FailureReason string `json:"failureReason,omitempty"` // + + ID string `json:"id,omitempty"` // + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // + + IsError *bool `json:"isError,omitempty"` // + + LastUpdate *int `json:"lastUpdate,omitempty"` // + + OperationIDList []string `json:"operationIdList,omitempty"` // + + ParentID string `json:"parentId,omitempty"` // + + Progress string `json:"progress,omitempty"` // + + RootID string `json:"rootId,omitempty"` // + + ServiceType string `json:"serviceType,omitempty"` // + + StartTime *int `json:"startTime,omitempty"` // + + Username string `json:"username,omitempty"` // + + Version *int `json:"version,omitempty"` // } type ResponseTaskGetTasks struct { Response *[]ResponseTaskGetTasksResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTaskGetTasksResponse struct { - EndTime *int `json:"endTime,omitempty"` // An approximate time of when this task has been marked completed; as measured in Unix epoch time in milliseconds - ID string `json:"id,omitempty"` // The ID of this task - UpdatedTime *int `json:"updatedTime,omitempty"` // A timestamp of when this task was last updated; as measured in Unix epoch time in milliseconds - ParentID string `json:"parentId,omitempty"` // The ID of the parent task if this happens to be a subtask. In case this task is not a subtask, then the parentId is expected to be null. To construct a task tree, this task will be the child of the task with the ID listed here, or the root of the tree if this task has no parentId. + EndTime *int `json:"endTime,omitempty"` // An approximate time of when this task has been marked completed; as measured in Unix epoch time in milliseconds + + ID string `json:"id,omitempty"` // The ID of this task + + UpdatedTime *int `json:"updatedTime,omitempty"` // A timestamp of when this task was last updated; as measured in Unix epoch time in milliseconds + + ParentID string `json:"parentId,omitempty"` // The ID of the parent task if this happens to be a subtask. In case this task is not a subtask, then the parentId is expected to be null. To construct a task tree, this task will be the child of the task with the ID listed here, or the root of the tree if this task has no parentId. + ResultLocation string `json:"resultLocation,omitempty"` // A server-relative URL indicating where additional task-specific details may be found - RootID string `json:"rootId,omitempty"` // The ID of the task representing the root node of the tree which this task belongs to. In some cases, this may be the same as the ID or null, which indicates that this task is the root task. - StartTime *int `json:"startTime,omitempty"` // An approximate time of when the task creation was triggered; as measured in Unix epoch time in milliseconds - Status string `json:"status,omitempty"` // + + RootID string `json:"rootId,omitempty"` // The ID of the task representing the root node of the tree which this task belongs to. In some cases, this may be the same as the ID or null, which indicates that this task is the root task. + + StartTime *int `json:"startTime,omitempty"` // An approximate time of when the task creation was triggered; as measured in Unix epoch time in milliseconds + + Status string `json:"status,omitempty"` // } type ResponseTaskGetTasksCount struct { Response *ResponseTaskGetTasksCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The version of the response + + Version string `json:"version,omitempty"` // The version of the response } type ResponseTaskGetTasksCountResponse struct { Count *int `json:"count,omitempty"` // The reported count. } type ResponseTaskGetTasksByID struct { Response *ResponseTaskGetTasksByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTaskGetTasksByIDResponse struct { - EndTime *int `json:"endTime,omitempty"` // An approximate time of when this task has been marked completed; as measured in Unix epoch time in milliseconds - ID string `json:"id,omitempty"` // The ID of this task - UpdatedTime *int `json:"updatedTime,omitempty"` // A timestamp of when this task was last updated; as measured in Unix epoch time in milliseconds - ParentID string `json:"parentId,omitempty"` // The ID of the parent task if this happens to be a subtask. In case this task is not a subtask, then the parentId is expected to be null. To construct a task tree, this task will be the child of the task with the ID listed here, or the root of the tree if this task has no parentId. + EndTime *int `json:"endTime,omitempty"` // An approximate time of when this task has been marked completed; as measured in Unix epoch time in milliseconds + + ID string `json:"id,omitempty"` // The ID of this task + + UpdatedTime *int `json:"updatedTime,omitempty"` // A timestamp of when this task was last updated; as measured in Unix epoch time in milliseconds + + ParentID string `json:"parentId,omitempty"` // The ID of the parent task if this happens to be a subtask. In case this task is not a subtask, then the parentId is expected to be null. To construct a task tree, this task will be the child of the task with the ID listed here, or the root of the tree if this task has no parentId. + ResultLocation string `json:"resultLocation,omitempty"` // A server-relative URL indicating where additional task-specific details may be found - RootID string `json:"rootId,omitempty"` // The ID of the task representing the root node of the tree which this task belongs to. In some cases, this may be the same as the ID or null, which indicates that this task is the root task. - StartTime *int `json:"startTime,omitempty"` // An approximate time of when the task creation was triggered; as measured in Unix epoch time in milliseconds - Status string `json:"status,omitempty"` // + + RootID string `json:"rootId,omitempty"` // The ID of the task representing the root node of the tree which this task belongs to. In some cases, this may be the same as the ID or null, which indicates that this task is the root task. + + StartTime *int `json:"startTime,omitempty"` // An approximate time of when the task creation was triggered; as measured in Unix epoch time in milliseconds + + Status string `json:"status,omitempty"` // } type ResponseTaskGetTaskDetailsByID struct { Response *ResponseTaskGetTaskDetailsByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTaskGetTaskDetailsByIDResponse struct { - Data string `json:"data,omitempty"` // Any data associated with this task; the value may vary significantly across different tasks - Progress string `json:"progress,omitempty"` // A textual representation which indicates the progress of this task; the value may vary significantly across different tasks - ErrorCode string `json:"errorCode,omitempty"` // An error code if in case this task has failed in its execution + Data string `json:"data,omitempty"` // Any data associated with this task; the value may vary significantly across different tasks + + Progress string `json:"progress,omitempty"` // A textual representation which indicates the progress of this task; the value may vary significantly across different tasks + + ErrorCode string `json:"errorCode,omitempty"` // An error code if in case this task has failed in its execution + FailureReason string `json:"failureReason,omitempty"` // A textual description indicating the reason why a task has failed } +//RetrieveAListOfAssuranceTasks Retrieve a list of assurance tasks - ee8a-e874-40ca-8154 +/* returns all existing tasks in a paginated list +default sorting of list is `startTime`, `asc` +valid field to sort by are [`startTime`,`endTime`,`updateTime`,`status`] For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceTasks-1.0.0-resolved.yaml + + +@param RetrieveAListOfAssuranceTasksHeaderParams Custom header parameters +@param RetrieveAListOfAssuranceTasksQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-a-list-of-assurance-tasks +*/ +func (s *TaskService) RetrieveAListOfAssuranceTasks(RetrieveAListOfAssuranceTasksHeaderParams *RetrieveAListOfAssuranceTasksHeaderParams, RetrieveAListOfAssuranceTasksQueryParams *RetrieveAListOfAssuranceTasksQueryParams) (*ResponseTaskRetrieveAListOfAssuranceTasks, *resty.Response, error) { + path := "/dna/data/api/v1/assuranceTasks" + + queryString, _ := query.Values(RetrieveAListOfAssuranceTasksQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrieveAListOfAssuranceTasksHeaderParams != nil { + + if RetrieveAListOfAssuranceTasksHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrieveAListOfAssuranceTasksHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseTaskRetrieveAListOfAssuranceTasks{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveAListOfAssuranceTasks(RetrieveAListOfAssuranceTasksHeaderParams, RetrieveAListOfAssuranceTasksQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveAListOfAssuranceTasks") + } + + result := response.Result().(*ResponseTaskRetrieveAListOfAssuranceTasks) + return result, response, err + +} + +//RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExist Retrieve a count of the number of assurance tasks that currently exist - b094-0b13-423b-bfb4 +/* returns a count of the number of assurance tasks that are not expired For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceTasks-1.0.0-resolved.yaml + + +@param RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistHeaderParams Custom header parameters +@param RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-a-count-of-the-number-of-assurance-tasks-that-currently-exist +*/ +func (s *TaskService) RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExist(RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistHeaderParams *RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistHeaderParams, RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistQueryParams *RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistQueryParams) (*ResponseTaskRetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExist, *resty.Response, error) { + path := "/dna/data/api/v1/assuranceTasks/count" + + queryString, _ := query.Values(RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistHeaderParams != nil { + + if RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseTaskRetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExist{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExist(RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistHeaderParams, RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExist") + } + + result := response.Result().(*ResponseTaskRetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExist) + return result, response, err + +} + +//RetrieveASpecificAssuranceTaskByID Retrieve a specific assurance task by id - 1e8f-7ae5-4798-88f1 +/* returns a task given a specific task id For detailed information about the usage of the API, please refer to the Open API specification document https://github.com/cisco-en-programmability/catalyst-center-api-specs/blob/main/Assurance/CE_Cat_Center_Org-AssuranceTasks-1.0.0-resolved.yaml + + +@param id id path parameter. unique task id + +@param RetrieveASpecificAssuranceTaskByIdHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-a-specific-assurance-task-by-id +*/ +func (s *TaskService) RetrieveASpecificAssuranceTaskByID(id string, RetrieveASpecificAssuranceTaskByIdHeaderParams *RetrieveASpecificAssuranceTaskByIDHeaderParams) (*ResponseTaskRetrieveASpecificAssuranceTaskByID, *resty.Response, error) { + path := "/dna/data/api/v1/assuranceTasks/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrieveASpecificAssuranceTaskByIdHeaderParams != nil { + + if RetrieveASpecificAssuranceTaskByIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrieveASpecificAssuranceTaskByIdHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetResult(&ResponseTaskRetrieveASpecificAssuranceTaskByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveASpecificAssuranceTaskByID(id, RetrieveASpecificAssuranceTaskByIdHeaderParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveASpecificAssuranceTaskById") + } + + result := response.Result().(*ResponseTaskRetrieveASpecificAssuranceTaskByID) + return result, response, err + +} + //GetBusinessAPIExecutionDetails Get Business API Execution Details - c1bc-a8c1-41fb-9f75 /* Retrieves the execution details of a Business API @@ -224,7 +586,7 @@ type ResponseTaskGetTaskDetailsByIDResponse struct { @param executionID executionId path parameter. Execution Id of API -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-business-api-execution-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-business-api-execution-details */ func (s *TaskService) GetBusinessAPIExecutionDetails(executionID string) (*ResponseTaskGetBusinessAPIExecutionDetails, *resty.Response, error) { path := "/dna/intent/api/v1/dnacaap/management/execution-status/{executionId}" @@ -260,7 +622,7 @@ func (s *TaskService) GetBusinessAPIExecutionDetails(executionID string) (*Respo @param GetTasksOperationalTasksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tasks-operational-tasks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tasks-operational-tasks */ func (s *TaskService) GetTasksOperationalTasks(GetTasksOperationalTasksQueryParams *GetTasksOperationalTasksQueryParams) (*ResponseTaskGetTasksOperationalTasks, *resty.Response, error) { path := "/dna/intent/api/v1/task" @@ -297,7 +659,7 @@ func (s *TaskService) GetTasksOperationalTasks(GetTasksOperationalTasksQueryPara @param GetTaskCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-count */ func (s *TaskService) GetTaskCount(GetTaskCountQueryParams *GetTaskCountQueryParams) (*ResponseTaskGetTaskCount, *resty.Response, error) { path := "/dna/intent/api/v1/task/count" @@ -338,7 +700,7 @@ func (s *TaskService) GetTaskCount(GetTaskCountQueryParams *GetTaskCountQueryPar @param limit limit path parameter. The maximum value of {limit} supported is 500.
Base 1 indexing for {limit}, minimum value is 1 -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-by-operation-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-by-operation-id */ func (s *TaskService) GetTaskByOperationID(operationID string, offset int, limit int) (*ResponseTaskGetTaskByOperationID, *resty.Response, error) { path := "/dna/intent/api/v1/task/operation/{operationId}/{offset}/{limit}" @@ -377,7 +739,7 @@ func (s *TaskService) GetTaskByOperationID(operationID string, offset int, limit @param taskID taskId path parameter. UUID of the Task -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-by-id */ func (s *TaskService) GetTaskByID(taskID string) (*ResponseTaskGetTaskByID, *resty.Response, error) { path := "/dna/intent/api/v1/task/{taskId}" @@ -414,7 +776,7 @@ func (s *TaskService) GetTaskByID(taskID string) (*ResponseTaskGetTaskByID, *res @param taskID taskId path parameter. UUID of the Task -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-tree-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-tree */ func (s *TaskService) GetTaskTree(taskID string) (*ResponseTaskGetTaskTree, *resty.Response, error) { path := "/dna/intent/api/v1/task/{taskId}/tree" @@ -450,7 +812,7 @@ func (s *TaskService) GetTaskTree(taskID string) (*ResponseTaskGetTaskTree, *res @param GetTasksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tasks-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tasks */ func (s *TaskService) GetTasks(GetTasksQueryParams *GetTasksQueryParams) (*ResponseTaskGetTasks, *resty.Response, error) { path := "/dna/intent/api/v1/tasks" @@ -487,7 +849,7 @@ func (s *TaskService) GetTasks(GetTasksQueryParams *GetTasksQueryParams) (*Respo @param GetTasksCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tasks-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tasks-count */ func (s *TaskService) GetTasksCount(GetTasksCountQueryParams *GetTasksCountQueryParams) (*ResponseTaskGetTasksCount, *resty.Response, error) { path := "/dna/intent/api/v1/tasks/count" @@ -525,7 +887,7 @@ func (s *TaskService) GetTasksCount(GetTasksCountQueryParams *GetTasksCountQuery @param id id path parameter. the `id` of the task to retrieve -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tasks-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-tasks-by-id */ func (s *TaskService) GetTasksByID(id string) (*ResponseTaskGetTasksByID, *resty.Response, error) { path := "/dna/intent/api/v1/tasks/{id}" @@ -562,7 +924,7 @@ func (s *TaskService) GetTasksByID(id string) (*ResponseTaskGetTasksByID, *resty @param id id path parameter. the `id` of the task to retrieve details for -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-details-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-task-details-by-id */ func (s *TaskService) GetTaskDetailsByID(id string) (*ResponseTaskGetTaskDetailsByID, *resty.Response, error) { path := "/dna/intent/api/v1/tasks/{id}/detail" diff --git a/sdk/topology.go b/sdk/topology.go index f582ad4..d58d260 100644 --- a/sdk/topology.go +++ b/sdk/topology.go @@ -19,276 +19,473 @@ type GetPhysicalTopologyQueryParams struct { } type ResponseTopologyGetOverallNetworkHealth struct { - Version string `json:"version,omitempty"` // This output's version string - Response *[]ResponseTopologyGetOverallNetworkHealthResponse `json:"response,omitempty"` // - MeasuredBy string `json:"measuredBy,omitempty"` // Overall network health measure by 'global' - LatestMeasuredByEntity string `json:"latestMeasuredByEntity,omitempty"` // Latest measured by entity - LatestHealthScore *int `json:"latestHealthScore,omitempty"` // Latest health score value - MonitoredDevices *int `json:"monitoredDevices,omitempty"` // Number of monitored devices - MonitoredHealthyDevices *int `json:"monitoredHealthyDevices,omitempty"` // Number of healthy devices - MonitoredUnHealthyDevices *int `json:"monitoredUnHealthyDevices,omitempty"` // Number of unhealthy devices - UnMonitoredDevices *int `json:"unMonitoredDevices,omitempty"` // Number of un-monitored devices - NoHealthDevices *int `json:"noHealthDevices,omitempty"` // Number of un-monitored devices - TotalDevices *int `json:"totalDevices,omitempty"` // Total number of devices - MonitoredPoorHealthDevices *int `json:"monitoredPoorHealthDevices,omitempty"` // Number of poor health devices - MonitoredFairHealthDevices *int `json:"monitoredFairHealthDevices,omitempty"` // Number of fair health devices - HealthContributingDevices *int `json:"healthContributingDevices,omitempty"` // Number of health contributing devices - HealthDistirubution *[]ResponseTopologyGetOverallNetworkHealthHealthDistirubution `json:"healthDistirubution,omitempty"` // + Version string `json:"version,omitempty"` // This output's version string + + Response *[]ResponseTopologyGetOverallNetworkHealthResponse `json:"response,omitempty"` // + + MeasuredBy string `json:"measuredBy,omitempty"` // Overall network health measure by 'global' + + LatestMeasuredByEntity string `json:"latestMeasuredByEntity,omitempty"` // Latest measured by entity + + LatestHealthScore *int `json:"latestHealthScore,omitempty"` // Latest health score value + + MonitoredDevices *int `json:"monitoredDevices,omitempty"` // Number of monitored devices + + MonitoredHealthyDevices *int `json:"monitoredHealthyDevices,omitempty"` // Number of healthy devices + + MonitoredUnHealthyDevices *int `json:"monitoredUnHealthyDevices,omitempty"` // Number of unhealthy devices + + UnMonitoredDevices *int `json:"unMonitoredDevices,omitempty"` // Number of un-monitored devices + + NoHealthDevices *int `json:"noHealthDevices,omitempty"` // Number of un-monitored devices + + TotalDevices *int `json:"totalDevices,omitempty"` // Total number of devices + + MonitoredPoorHealthDevices *int `json:"monitoredPoorHealthDevices,omitempty"` // Number of poor health devices + + MonitoredFairHealthDevices *int `json:"monitoredFairHealthDevices,omitempty"` // Number of fair health devices + + HealthContributingDevices *int `json:"healthContributingDevices,omitempty"` // Number of health contributing devices + + HealthDistirubution *[]ResponseTopologyGetOverallNetworkHealthHealthDistirubution `json:"healthDistirubution,omitempty"` // } type ResponseTopologyGetOverallNetworkHealthResponse struct { - Time string `json:"time,omitempty"` // Date-time string - HealthScore *int `json:"healthScore,omitempty"` // Health score - TotalCount *int `json:"totalCount,omitempty"` // Total health count - GoodCount *int `json:"goodCount,omitempty"` // Total good health count - NoHealthCount *int `json:"noHealthCount,omitempty"` // Total no health count - UnmonCount *int `json:"unmonCount,omitempty"` // Total no health count - FairCount *int `json:"fairCount,omitempty"` // Total fair health count - BadCount *int `json:"badCount,omitempty"` // Total bad health count - MaintenanceModeCount *int `json:"maintenanceModeCount,omitempty"` // Total maintenance mode count - Entity string `json:"entity,omitempty"` // Entity of the health data - TimeinMillis *int `json:"timeinMillis,omitempty"` // UTC time value of property 'time' in milliseconds + Time string `json:"time,omitempty"` // Date-time string + + HealthScore *int `json:"healthScore,omitempty"` // Health score + + TotalCount *int `json:"totalCount,omitempty"` // Total health count + + GoodCount *int `json:"goodCount,omitempty"` // Total good health count + + NoHealthCount *int `json:"noHealthCount,omitempty"` // Total no health count + + UnmonCount *int `json:"unmonCount,omitempty"` // Total no health count + + FairCount *int `json:"fairCount,omitempty"` // Total fair health count + + BadCount *int `json:"badCount,omitempty"` // Total bad health count + + MaintenanceModeCount *int `json:"maintenanceModeCount,omitempty"` // Total maintenance mode count + + Entity string `json:"entity,omitempty"` // Entity of the health data + + TimeinMillis *int `json:"timeinMillis,omitempty"` // UTC time value of property 'time' in milliseconds } type ResponseTopologyGetOverallNetworkHealthHealthDistirubution struct { - Category string `json:"category,omitempty"` // Device category in this health data - TotalCount *int `json:"totalCount,omitempty"` // Total device count - HealthScore *int `json:"healthScore,omitempty"` // Health score - GoodPercentage *float64 `json:"goodPercentage,omitempty"` // Good health percent - BadPercentage *float64 `json:"badPercentage,omitempty"` // Poor health percent - FairPercentage *float64 `json:"fairPercentage,omitempty"` // Fair health percent - NoHealthPercentage *float64 `json:"noHealthPercentage,omitempty"` // No health percent - UnmonPercentage *float64 `json:"unmonPercentage,omitempty"` // No health percent - GoodCount *float64 `json:"goodCount,omitempty"` // Good health count - BadCount *float64 `json:"badCount,omitempty"` // Poor health count - FairCount *float64 `json:"fairCount,omitempty"` // Fair health count - NoHealthCount *float64 `json:"noHealthCount,omitempty"` // No health count - UnmonCount *float64 `json:"unmonCount,omitempty"` // No health count - ThirdPartyDeviceCount *float64 `json:"thirdPartyDeviceCount,omitempty"` // Third party device count - KpiMetrics *[]ResponseTopologyGetOverallNetworkHealthHealthDistirubutionKpiMetrics `json:"kpiMetrics,omitempty"` // + Category string `json:"category,omitempty"` // Device category in this health data + + TotalCount *int `json:"totalCount,omitempty"` // Total device count + + HealthScore *int `json:"healthScore,omitempty"` // Health score + + GoodPercentage *float64 `json:"goodPercentage,omitempty"` // Good health percent + + BadPercentage *float64 `json:"badPercentage,omitempty"` // Poor health percent + + FairPercentage *float64 `json:"fairPercentage,omitempty"` // Fair health percent + + NoHealthPercentage *float64 `json:"noHealthPercentage,omitempty"` // No health percent + + UnmonPercentage *float64 `json:"unmonPercentage,omitempty"` // No health percent + + GoodCount *float64 `json:"goodCount,omitempty"` // Good health count + + BadCount *float64 `json:"badCount,omitempty"` // Poor health count + + FairCount *float64 `json:"fairCount,omitempty"` // Fair health count + + NoHealthCount *float64 `json:"noHealthCount,omitempty"` // No health count + + UnmonCount *float64 `json:"unmonCount,omitempty"` // No health count + + ThirdPartyDeviceCount *float64 `json:"thirdPartyDeviceCount,omitempty"` // Third party device count + + KpiMetrics *[]ResponseTopologyGetOverallNetworkHealthHealthDistirubutionKpiMetrics `json:"kpiMetrics,omitempty"` // } type ResponseTopologyGetOverallNetworkHealthHealthDistirubutionKpiMetrics struct { - Key string `json:"key,omitempty"` // Health key + Key string `json:"key,omitempty"` // Health key + Value string `json:"value,omitempty"` // Health value } type ResponseTopologyGetTopologyDetails struct { Response *ResponseTopologyGetTopologyDetailsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTopologyGetTopologyDetailsResponse struct { - ID string `json:"id,omitempty"` // [Deprecated] + ID string `json:"id,omitempty"` // [Deprecated] + Links *[]ResponseTopologyGetTopologyDetailsResponseLinks `json:"links,omitempty"` // + Nodes *[]ResponseTopologyGetTopologyDetailsResponseNodes `json:"nodes,omitempty"` // } type ResponseTopologyGetTopologyDetailsResponseLinks struct { - AdditionalInfo *ResponseTopologyGetTopologyDetailsResponseLinksAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the link - EndPortID string `json:"endPortID,omitempty"` // Device port ID corresponding to the end device - EndPortIPv4Address string `json:"endPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to the end device - EndPortIPv4Mask string `json:"endPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to the end device - EndPortName string `json:"endPortName,omitempty"` // Interface port name corresponding to the end device - EndPortSpeed string `json:"endPortSpeed,omitempty"` // Interface port speed corresponding to end device - GreyOut *bool `json:"greyOut,omitempty"` // Indicates if the link is greyed out - ID string `json:"id,omitempty"` // Id of the link - LinkStatus string `json:"linkStatus,omitempty"` // Indicates whether link is up or down - Source string `json:"source,omitempty"` // Device ID corresponding to the source device - StartPortID string `json:"startPortID,omitempty"` // Device port ID corresponding to start device - StartPortIPv4Address string `json:"startPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to start device - StartPortIPv4Mask string `json:"startPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to start device - StartPortName string `json:"startPortName,omitempty"` // Interface port name corresponding to start device - StartPortSpeed string `json:"startPortSpeed,omitempty"` // Interface port speed corresponding to start device - Tag string `json:"tag,omitempty"` // [Deprecated] - Target string `json:"target,omitempty"` // Device ID corresponding to the target device + AdditionalInfo *ResponseTopologyGetTopologyDetailsResponseLinksAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the link + + EndPortID string `json:"endPortID,omitempty"` // Device port ID corresponding to the end device + + EndPortIPv4Address string `json:"endPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to the end device + + EndPortIPv4Mask string `json:"endPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to the end device + + EndPortName string `json:"endPortName,omitempty"` // Interface port name corresponding to the end device + + EndPortSpeed string `json:"endPortSpeed,omitempty"` // Interface port speed corresponding to end device + + GreyOut *bool `json:"greyOut,omitempty"` // Indicates if the link is greyed out + + ID string `json:"id,omitempty"` // Id of the link + + LinkStatus string `json:"linkStatus,omitempty"` // Indicates whether link is up or down + + Source string `json:"source,omitempty"` // Device ID corresponding to the source device + + StartPortID string `json:"startPortID,omitempty"` // Device port ID corresponding to start device + + StartPortIPv4Address string `json:"startPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to start device + + StartPortIPv4Mask string `json:"startPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to start device + + StartPortName string `json:"startPortName,omitempty"` // Interface port name corresponding to start device + + StartPortSpeed string `json:"startPortSpeed,omitempty"` // Interface port speed corresponding to start device + + Tag string `json:"tag,omitempty"` // [Deprecated] + + Target string `json:"target,omitempty"` // Device ID corresponding to the target device } type ResponseTopologyGetTopologyDetailsResponseLinksAdditionalInfo interface{} type ResponseTopologyGetTopologyDetailsResponseNodes struct { - ACLApplied *bool `json:"aclApplied,omitempty"` // Indicates if the Access Control List (ACL) is applied on the device - AdditionalInfo *ResponseTopologyGetTopologyDetailsResponseNodesAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the node - CustomParam *ResponseTopologyGetTopologyDetailsResponseNodesCustomParam `json:"customParam,omitempty"` // - ConnectedDeviceID string `json:"connectedDeviceId,omitempty"` // ID of the connected device when the nodeType is HOST - DataPathID string `json:"dataPathId,omitempty"` // ID of the path between devices - DeviceType string `json:"deviceType,omitempty"` // Type of the device. - DeviceSeries string `json:"deviceSeries,omitempty"` // The series of the device - Family string `json:"family,omitempty"` // The product family of the device - Fixed *bool `json:"fixed,omitempty"` // Boolean value indicating whether the position is fixed or will use auto layout - GreyOut *bool `json:"greyOut,omitempty"` // Boolean value indicating whether the node is active for the topology view. - ID string `json:"id,omitempty"` // Unique identifier for the device - IP string `json:"ip,omitempty"` // IP address of the device - Label string `json:"label,omitempty"` // Label of the node, typically the hostname of the device - NetworkType string `json:"networkType,omitempty"` // Type of the network - NodeType string `json:"nodeType,omitempty"` // Type of the node can be 'device' or 'HOST' - Order *int `json:"order,omitempty"` // Device order by link number - OsType string `json:"osType,omitempty"` // OS type of the device - PlatformID string `json:"platformId,omitempty"` // Platform description of the device - Role string `json:"role,omitempty"` // Role of the device - RoleSource string `json:"roleSource,omitempty"` // Indicates whether the role is assigned manually or automatically - SoftwareVersion string `json:"softwareVersion,omitempty"` // Device OS version - Tags []string `json:"tags,omitempty"` // [Deprecated] - UpperNode string `json:"upperNode,omitempty"` // ID of the start node - UserID string `json:"userId,omitempty"` // ID of the host - VLANID string `json:"vlanId,omitempty"` // VLAN ID - X *int `json:"x,omitempty"` // [Deprecated] Please refer to customParam.x - Y *int `json:"y,omitempty"` // [Deprecated] Please refer to customerParam.y + ACLApplied *bool `json:"aclApplied,omitempty"` // Indicates if the Access Control List (ACL) is applied on the device + + AdditionalInfo *ResponseTopologyGetTopologyDetailsResponseNodesAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the node + + CustomParam *ResponseTopologyGetTopologyDetailsResponseNodesCustomParam `json:"customParam,omitempty"` // + + ConnectedDeviceID string `json:"connectedDeviceId,omitempty"` // ID of the connected device when the nodeType is HOST + + DataPathID string `json:"dataPathId,omitempty"` // ID of the path between devices + + DeviceType string `json:"deviceType,omitempty"` // Type of the device. + + DeviceSeries string `json:"deviceSeries,omitempty"` // The series of the device + + Family string `json:"family,omitempty"` // The product family of the device + + Fixed *bool `json:"fixed,omitempty"` // Boolean value indicating whether the position is fixed or will use auto layout + + GreyOut *bool `json:"greyOut,omitempty"` // Boolean value indicating whether the node is active for the topology view. + + ID string `json:"id,omitempty"` // Unique identifier for the device + + IP string `json:"ip,omitempty"` // IP address of the device + + Label string `json:"label,omitempty"` // Label of the node, typically the hostname of the device + + NetworkType string `json:"networkType,omitempty"` // Type of the network + + NodeType string `json:"nodeType,omitempty"` // Type of the node can be 'device' or 'HOST' + + Order *int `json:"order,omitempty"` // Device order by link number + + OsType string `json:"osType,omitempty"` // OS type of the device + + PlatformID string `json:"platformId,omitempty"` // Platform description of the device + + Role string `json:"role,omitempty"` // Role of the device + + RoleSource string `json:"roleSource,omitempty"` // Indicates whether the role is assigned manually or automatically + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Device OS version + + Tags []string `json:"tags,omitempty"` // [Deprecated] + + UpperNode string `json:"upperNode,omitempty"` // ID of the start node + + UserID string `json:"userId,omitempty"` // ID of the host + + VLANID string `json:"vlanId,omitempty"` // VLAN ID + + X *int `json:"x,omitempty"` // [Deprecated] Please refer to customParam.x + + Y *int `json:"y,omitempty"` // [Deprecated] Please refer to customerParam.y } type ResponseTopologyGetTopologyDetailsResponseNodesAdditionalInfo interface{} type ResponseTopologyGetTopologyDetailsResponseNodesCustomParam struct { - ID string `json:"id,omitempty"` // [Deprecated] Please refer to nodes.id - Label string `json:"label,omitempty"` // Label of the node + ID string `json:"id,omitempty"` // [Deprecated] Please refer to nodes.id + + Label string `json:"label,omitempty"` // Label of the node + ParentNodeID string `json:"parentNodeId,omitempty"` // Id of the parent node - X *int `json:"x,omitempty"` // X coordinate for this node in the topology view - Y *int `json:"y,omitempty"` // Y coordinate for this node in the topology view + + X *int `json:"x,omitempty"` // X coordinate for this node in the topology view + + Y *int `json:"y,omitempty"` // Y coordinate for this node in the topology view } type ResponseTopologyGetL3TopologyDetails struct { Response *ResponseTopologyGetL3TopologyDetailsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTopologyGetL3TopologyDetailsResponse struct { - ID string `json:"id,omitempty"` // [Deprecated] + ID string `json:"id,omitempty"` // [Deprecated] + Links *[]ResponseTopologyGetL3TopologyDetailsResponseLinks `json:"links,omitempty"` // + Nodes *[]ResponseTopologyGetL3TopologyDetailsResponseNodes `json:"nodes,omitempty"` // } type ResponseTopologyGetL3TopologyDetailsResponseLinks struct { - AdditionalInfo *ResponseTopologyGetL3TopologyDetailsResponseLinksAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the link - EndPortID string `json:"endPortID,omitempty"` // Device port ID corresponding to the end device - EndPortIPv4Address string `json:"endPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to the end device - EndPortIPv4Mask string `json:"endPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to the end device - EndPortName string `json:"endPortName,omitempty"` // Interface port name corresponding to the end device - EndPortSpeed string `json:"endPortSpeed,omitempty"` // Interface port speed corresponding to end device - GreyOut *bool `json:"greyOut,omitempty"` // Indicates if the link is greyed out - ID string `json:"id,omitempty"` // Id of the link - LinkStatus string `json:"linkStatus,omitempty"` // Indicates whether link is up or down - Source string `json:"source,omitempty"` // Device ID corresponding to the source device - StartPortID string `json:"startPortID,omitempty"` // Device port ID corresponding to start device - StartPortIPv4Address string `json:"startPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to start device - StartPortIPv4Mask string `json:"startPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to start device - StartPortName string `json:"startPortName,omitempty"` // Interface port name corresponding to start device - StartPortSpeed string `json:"startPortSpeed,omitempty"` // Interface port speed corresponding to start device - Tag string `json:"tag,omitempty"` // [Deprecated] - Target string `json:"target,omitempty"` // Device ID corresponding to the target device + AdditionalInfo *ResponseTopologyGetL3TopologyDetailsResponseLinksAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the link + + EndPortID string `json:"endPortID,omitempty"` // Device port ID corresponding to the end device + + EndPortIPv4Address string `json:"endPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to the end device + + EndPortIPv4Mask string `json:"endPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to the end device + + EndPortName string `json:"endPortName,omitempty"` // Interface port name corresponding to the end device + + EndPortSpeed string `json:"endPortSpeed,omitempty"` // Interface port speed corresponding to end device + + GreyOut *bool `json:"greyOut,omitempty"` // Indicates if the link is greyed out + + ID string `json:"id,omitempty"` // Id of the link + + LinkStatus string `json:"linkStatus,omitempty"` // Indicates whether link is up or down + + Source string `json:"source,omitempty"` // Device ID corresponding to the source device + + StartPortID string `json:"startPortID,omitempty"` // Device port ID corresponding to start device + + StartPortIPv4Address string `json:"startPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to start device + + StartPortIPv4Mask string `json:"startPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to start device + + StartPortName string `json:"startPortName,omitempty"` // Interface port name corresponding to start device + + StartPortSpeed string `json:"startPortSpeed,omitempty"` // Interface port speed corresponding to start device + + Tag string `json:"tag,omitempty"` // [Deprecated] + + Target string `json:"target,omitempty"` // Device ID corresponding to the target device } type ResponseTopologyGetL3TopologyDetailsResponseLinksAdditionalInfo interface{} type ResponseTopologyGetL3TopologyDetailsResponseNodes struct { - ACLApplied *bool `json:"aclApplied,omitempty"` // Indicates if the Access Control List (ACL) is applied on the device - AdditionalInfo *ResponseTopologyGetL3TopologyDetailsResponseNodesAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the node - CustomParam *ResponseTopologyGetL3TopologyDetailsResponseNodesCustomParam `json:"customParam,omitempty"` // - ConnectedDeviceID string `json:"connectedDeviceId,omitempty"` // ID of the connected device when the nodeType is HOST - DataPathID string `json:"dataPathId,omitempty"` // ID of the path between devices - DeviceType string `json:"deviceType,omitempty"` // Type of the device. - DeviceSeries string `json:"deviceSeries,omitempty"` // The series of the device - Family string `json:"family,omitempty"` // The product family of the device - Fixed *bool `json:"fixed,omitempty"` // Boolean value indicating whether the position is fixed or will use auto layout - GreyOut *bool `json:"greyOut,omitempty"` // Boolean value indicating whether the node is active for the topology view. - ID string `json:"id,omitempty"` // Unique identifier for the device - IP string `json:"ip,omitempty"` // IP address of the device - Label string `json:"label,omitempty"` // Label of the node, typically the hostname of the device - NetworkType string `json:"networkType,omitempty"` // Type of the network - NodeType string `json:"nodeType,omitempty"` // Type of the node can be 'device' or 'HOST' - Order *int `json:"order,omitempty"` // Device order by link number - OsType string `json:"osType,omitempty"` // OS type of the device - PlatformID string `json:"platformId,omitempty"` // Platform description of the device - Role string `json:"role,omitempty"` // Role of the device - RoleSource string `json:"roleSource,omitempty"` // Indicates whether the role is assigned manually or automatically - SoftwareVersion string `json:"softwareVersion,omitempty"` // Device OS version - Tags []string `json:"tags,omitempty"` // [Deprecated] - UpperNode string `json:"upperNode,omitempty"` // ID of the start node - UserID string `json:"userId,omitempty"` // ID of the host - VLANID string `json:"vlanId,omitempty"` // VLAN ID - X *int `json:"x,omitempty"` // [Deprecated] Please refer to customParam.x - Y *int `json:"y,omitempty"` // [Deprecated] Please refer to customerParam.y + ACLApplied *bool `json:"aclApplied,omitempty"` // Indicates if the Access Control List (ACL) is applied on the device + + AdditionalInfo *ResponseTopologyGetL3TopologyDetailsResponseNodesAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the node + + CustomParam *ResponseTopologyGetL3TopologyDetailsResponseNodesCustomParam `json:"customParam,omitempty"` // + + ConnectedDeviceID string `json:"connectedDeviceId,omitempty"` // ID of the connected device when the nodeType is HOST + + DataPathID string `json:"dataPathId,omitempty"` // ID of the path between devices + + DeviceType string `json:"deviceType,omitempty"` // Type of the device. + + DeviceSeries string `json:"deviceSeries,omitempty"` // The series of the device + + Family string `json:"family,omitempty"` // The product family of the device + + Fixed *bool `json:"fixed,omitempty"` // Boolean value indicating whether the position is fixed or will use auto layout + + GreyOut *bool `json:"greyOut,omitempty"` // Boolean value indicating whether the node is active for the topology view. + + ID string `json:"id,omitempty"` // Unique identifier for the device + + IP string `json:"ip,omitempty"` // IP address of the device + + Label string `json:"label,omitempty"` // Label of the node, typically the hostname of the device + + NetworkType string `json:"networkType,omitempty"` // Type of the network + + NodeType string `json:"nodeType,omitempty"` // Type of the node can be 'device' or 'HOST' + + Order *int `json:"order,omitempty"` // Device order by link number + + OsType string `json:"osType,omitempty"` // OS type of the device + + PlatformID string `json:"platformId,omitempty"` // Platform description of the device + + Role string `json:"role,omitempty"` // Role of the device + + RoleSource string `json:"roleSource,omitempty"` // Indicates whether the role is assigned manually or automatically + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Device OS version + + Tags []string `json:"tags,omitempty"` // [Deprecated] + + UpperNode string `json:"upperNode,omitempty"` // ID of the start node + + UserID string `json:"userId,omitempty"` // ID of the host + + VLANID string `json:"vlanId,omitempty"` // VLAN ID + + X *int `json:"x,omitempty"` // [Deprecated] Please refer to customParam.x + + Y *int `json:"y,omitempty"` // [Deprecated] Please refer to customerParam.y } type ResponseTopologyGetL3TopologyDetailsResponseNodesAdditionalInfo interface{} type ResponseTopologyGetL3TopologyDetailsResponseNodesCustomParam struct { - ID string `json:"id,omitempty"` // [Deprecated] Please refer to nodes.id - Label string `json:"label,omitempty"` // Label of the node + ID string `json:"id,omitempty"` // [Deprecated] Please refer to nodes.id + + Label string `json:"label,omitempty"` // Label of the node + ParentNodeID string `json:"parentNodeId,omitempty"` // Id of the parent node - X *int `json:"x,omitempty"` // X coordinate for this node in the topology view - Y *int `json:"y,omitempty"` // Y coordinate for this node in the topology view + + X *int `json:"x,omitempty"` // X coordinate for this node in the topology view + + Y *int `json:"y,omitempty"` // Y coordinate for this node in the topology view } type ResponseTopologyGetPhysicalTopology struct { Response *ResponseTopologyGetPhysicalTopologyResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTopologyGetPhysicalTopologyResponse struct { - ID string `json:"id,omitempty"` // [Deprecated] + ID string `json:"id,omitempty"` // [Deprecated] + Links *[]ResponseTopologyGetPhysicalTopologyResponseLinks `json:"links,omitempty"` // + Nodes *[]ResponseTopologyGetPhysicalTopologyResponseNodes `json:"nodes,omitempty"` // } type ResponseTopologyGetPhysicalTopologyResponseLinks struct { - AdditionalInfo *ResponseTopologyGetPhysicalTopologyResponseLinksAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the link - EndPortID string `json:"endPortID,omitempty"` // Device port ID corresponding to the end device - EndPortIPv4Address string `json:"endPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to the end device - EndPortIPv4Mask string `json:"endPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to the end device - EndPortName string `json:"endPortName,omitempty"` // Interface port name corresponding to the end device - EndPortSpeed string `json:"endPortSpeed,omitempty"` // Interface port speed corresponding to end device - GreyOut *bool `json:"greyOut,omitempty"` // Indicates if the link is greyed out - ID string `json:"id,omitempty"` // Id of the link - LinkStatus string `json:"linkStatus,omitempty"` // Indicates whether link is up or down - Source string `json:"source,omitempty"` // Device ID corresponding to the source device - StartPortID string `json:"startPortID,omitempty"` // Device port ID corresponding to start device - StartPortIPv4Address string `json:"startPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to start device - StartPortIPv4Mask string `json:"startPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to start device - StartPortName string `json:"startPortName,omitempty"` // Interface port name corresponding to start device - StartPortSpeed string `json:"startPortSpeed,omitempty"` // Interface port speed corresponding to start device - Tag string `json:"tag,omitempty"` // [Deprecated] - Target string `json:"target,omitempty"` // Device ID corresponding to the target device + AdditionalInfo *ResponseTopologyGetPhysicalTopologyResponseLinksAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the link + + EndPortID string `json:"endPortID,omitempty"` // Device port ID corresponding to the end device + + EndPortIPv4Address string `json:"endPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to the end device + + EndPortIPv4Mask string `json:"endPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to the end device + + EndPortName string `json:"endPortName,omitempty"` // Interface port name corresponding to the end device + + EndPortSpeed string `json:"endPortSpeed,omitempty"` // Interface port speed corresponding to end device + + GreyOut *bool `json:"greyOut,omitempty"` // Indicates if the link is greyed out + + ID string `json:"id,omitempty"` // Id of the link + + LinkStatus string `json:"linkStatus,omitempty"` // Indicates whether link is up or down + + Source string `json:"source,omitempty"` // Device ID corresponding to the source device + + StartPortID string `json:"startPortID,omitempty"` // Device port ID corresponding to start device + + StartPortIPv4Address string `json:"startPortIpv4Address,omitempty"` // Interface port IPv4 address corresponding to start device + + StartPortIPv4Mask string `json:"startPortIpv4Mask,omitempty"` // Interface port IPv4 mask corresponding to start device + + StartPortName string `json:"startPortName,omitempty"` // Interface port name corresponding to start device + + StartPortSpeed string `json:"startPortSpeed,omitempty"` // Interface port speed corresponding to start device + + Tag string `json:"tag,omitempty"` // [Deprecated] + + Target string `json:"target,omitempty"` // Device ID corresponding to the target device } type ResponseTopologyGetPhysicalTopologyResponseLinksAdditionalInfo interface{} type ResponseTopologyGetPhysicalTopologyResponseNodes struct { - ACLApplied *bool `json:"aclApplied,omitempty"` // Indicates if the Access Control List (ACL) is applied on the device - AdditionalInfo *ResponseTopologyGetPhysicalTopologyResponseNodesAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the node - CustomParam *ResponseTopologyGetPhysicalTopologyResponseNodesCustomParam `json:"customParam,omitempty"` // - ConnectedDeviceID string `json:"connectedDeviceId,omitempty"` // ID of the connected device when the nodeType is HOST - DataPathID string `json:"dataPathId,omitempty"` // ID of the path between devices - DeviceType string `json:"deviceType,omitempty"` // Type of the device. - DeviceSeries string `json:"deviceSeries,omitempty"` // The series of the device - Family string `json:"family,omitempty"` // The product family of the device - Fixed *bool `json:"fixed,omitempty"` // Boolean value indicating whether the position is fixed or will use auto layout - GreyOut *bool `json:"greyOut,omitempty"` // Boolean value indicating whether the node is active for the topology view. - ID string `json:"id,omitempty"` // Unique identifier for the device - IP string `json:"ip,omitempty"` // IP address of the device - Label string `json:"label,omitempty"` // Label of the node, typically the hostname of the device - NetworkType string `json:"networkType,omitempty"` // Type of the network - NodeType string `json:"nodeType,omitempty"` // Type of the node can be 'device' or 'HOST' - Order *int `json:"order,omitempty"` // Device order by link number - OsType string `json:"osType,omitempty"` // OS type of the device - PlatformID string `json:"platformId,omitempty"` // Platform description of the device - Role string `json:"role,omitempty"` // Role of the device - RoleSource string `json:"roleSource,omitempty"` // Indicates whether the role is assigned manually or automatically - SoftwareVersion string `json:"softwareVersion,omitempty"` // Device OS version - Tags []string `json:"tags,omitempty"` // [Deprecated] - UpperNode string `json:"upperNode,omitempty"` // ID of the start node - UserID string `json:"userId,omitempty"` // ID of the host - VLANID string `json:"vlanId,omitempty"` // VLAN ID - X *int `json:"x,omitempty"` // [Deprecated] Please refer to customParam.x - Y *int `json:"y,omitempty"` // [Deprecated] Please refer to customerParam.y + ACLApplied *bool `json:"aclApplied,omitempty"` // Indicates if the Access Control List (ACL) is applied on the device + + AdditionalInfo *ResponseTopologyGetPhysicalTopologyResponseNodesAdditionalInfo `json:"additionalInfo,omitempty"` // Additional information about the node + + CustomParam *ResponseTopologyGetPhysicalTopologyResponseNodesCustomParam `json:"customParam,omitempty"` // + + ConnectedDeviceID string `json:"connectedDeviceId,omitempty"` // ID of the connected device when the nodeType is HOST + + DataPathID string `json:"dataPathId,omitempty"` // ID of the path between devices + + DeviceType string `json:"deviceType,omitempty"` // Type of the device. + + DeviceSeries string `json:"deviceSeries,omitempty"` // The series of the device + + Family string `json:"family,omitempty"` // The product family of the device + + Fixed *bool `json:"fixed,omitempty"` // Boolean value indicating whether the position is fixed or will use auto layout + + GreyOut *bool `json:"greyOut,omitempty"` // Boolean value indicating whether the node is active for the topology view. + + ID string `json:"id,omitempty"` // Unique identifier for the device + + IP string `json:"ip,omitempty"` // IP address of the device + + Label string `json:"label,omitempty"` // Label of the node, typically the hostname of the device + + NetworkType string `json:"networkType,omitempty"` // Type of the network + + NodeType string `json:"nodeType,omitempty"` // Type of the node can be 'device' or 'HOST' + + Order *int `json:"order,omitempty"` // Device order by link number + + OsType string `json:"osType,omitempty"` // OS type of the device + + PlatformID string `json:"platformId,omitempty"` // Platform description of the device + + Role string `json:"role,omitempty"` // Role of the device + + RoleSource string `json:"roleSource,omitempty"` // Indicates whether the role is assigned manually or automatically + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Device OS version + + Tags []string `json:"tags,omitempty"` // [Deprecated] + + UpperNode string `json:"upperNode,omitempty"` // ID of the start node + + UserID string `json:"userId,omitempty"` // ID of the host + + VLANID string `json:"vlanId,omitempty"` // VLAN ID + + X *int `json:"x,omitempty"` // [Deprecated] Please refer to customParam.x + + Y *int `json:"y,omitempty"` // [Deprecated] Please refer to customerParam.y } type ResponseTopologyGetPhysicalTopologyResponseNodesAdditionalInfo interface{} type ResponseTopologyGetPhysicalTopologyResponseNodesCustomParam struct { - ID string `json:"id,omitempty"` // [Deprecated] Please refer to nodes.id - Label string `json:"label,omitempty"` // Label of the node + ID string `json:"id,omitempty"` // [Deprecated] Please refer to nodes.id + + Label string `json:"label,omitempty"` // Label of the node + ParentNodeID string `json:"parentNodeId,omitempty"` // Id of the parent node - X *int `json:"x,omitempty"` // X coordinate for this node in the topology view - Y *int `json:"y,omitempty"` // Y coordinate for this node in the topology view + + X *int `json:"x,omitempty"` // X coordinate for this node in the topology view + + Y *int `json:"y,omitempty"` // Y coordinate for this node in the topology view } type ResponseTopologyGetSiteTopology struct { Response *ResponseTopologyGetSiteTopologyResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseTopologyGetSiteTopologyResponse struct { Sites *[]ResponseTopologyGetSiteTopologyResponseSites `json:"sites,omitempty"` // } type ResponseTopologyGetSiteTopologyResponseSites struct { - DisplayName string `json:"displayName,omitempty"` // Group id of the site + DisplayName string `json:"displayName,omitempty"` // Group id of the site + GroupNameHierarchy string `json:"groupNameHierarchy,omitempty"` // Hierarchy of the site names from the root site to the current site. Each site name is separated by a '/'. Eg. 'Global/Site1/Building1/Floor1' - ID string `json:"id,omitempty"` // Unique identifier of the site - Latitude string `json:"latitude,omitempty"` // Latitude of the site - LocationAddress string `json:"locationAddress,omitempty"` // Address of the site - LocationCountry string `json:"locationCountry,omitempty"` // Country corresponding to the address of the site - LocationType string `json:"locationType,omitempty"` // Type of site, eg. 'building', 'area' or 'floor' - Longitude string `json:"longitude,omitempty"` // Longitude of the site - Name string `json:"name,omitempty"` // Name of the site - ParentID string `json:"parentId,omitempty"` // Unique identifier of the parent site + + ID string `json:"id,omitempty"` // Unique identifier of the site + + Latitude string `json:"latitude,omitempty"` // Latitude of the site + + LocationAddress string `json:"locationAddress,omitempty"` // Address of the site + + LocationCountry string `json:"locationCountry,omitempty"` // Country corresponding to the address of the site + + LocationType string `json:"locationType,omitempty"` // Type of site, eg. 'building', 'area' or 'floor' + + Longitude string `json:"longitude,omitempty"` // Longitude of the site + + Name string `json:"name,omitempty"` // Name of the site + + ParentID string `json:"parentId,omitempty"` // Unique identifier of the parent site } type ResponseTopologyGetVLANDetails struct { Response []string `json:"response,omitempty"` // Lists of all available VLAN names - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } //GetOverallNetworkHealth Get Overall Network Health - 7997-6a34-4409-bfbb @@ -297,7 +494,7 @@ type ResponseTopologyGetVLANDetails struct { @param GetOverallNetworkHealthQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-overall-network-health-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-overall-network-health */ func (s *TopologyService) GetOverallNetworkHealth(GetOverallNetworkHealthQueryParams *GetOverallNetworkHealthQueryParams) (*ResponseTopologyGetOverallNetworkHealth, *resty.Response, error) { path := "/dna/intent/api/v1/network-health" @@ -335,7 +532,7 @@ func (s *TopologyService) GetOverallNetworkHealth(GetOverallNetworkHealthQueryPa @param vlanID vlanID path parameter. Vlan Name for e.g Vlan1, Vlan23 etc -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-topology-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-topology-details */ func (s *TopologyService) GetTopologyDetails(vlanID string) (*ResponseTopologyGetTopologyDetails, *resty.Response, error) { path := "/dna/intent/api/v1/topology/l2/{vlanID}" @@ -372,7 +569,7 @@ func (s *TopologyService) GetTopologyDetails(vlanID string) (*ResponseTopologyGe @param topologyType topologyType path parameter. Type of topology(OSPF,ISIS,etc) -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-l3-topology-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-l3-topology-details */ func (s *TopologyService) GetL3TopologyDetails(topologyType string) (*ResponseTopologyGetL3TopologyDetails, *resty.Response, error) { path := "/dna/intent/api/v1/topology/l3/{topologyType}" @@ -408,7 +605,7 @@ func (s *TopologyService) GetL3TopologyDetails(topologyType string) (*ResponseTo @param GetPhysicalTopologyQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-physical-topology-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-physical-topology */ func (s *TopologyService) GetPhysicalTopology(GetPhysicalTopologyQueryParams *GetPhysicalTopologyQueryParams) (*ResponseTopologyGetPhysicalTopology, *resty.Response, error) { path := "/dna/intent/api/v1/topology/physical-topology" @@ -444,7 +641,7 @@ func (s *TopologyService) GetPhysicalTopology(GetPhysicalTopologyQueryParams *Ge -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-topology-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-topology */ func (s *TopologyService) GetSiteTopology() (*ResponseTopologyGetSiteTopology, *resty.Response, error) { path := "/dna/intent/api/v1/topology/site-topology" @@ -478,7 +675,7 @@ func (s *TopologyService) GetSiteTopology() (*ResponseTopologyGetSiteTopology, * -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-vlan-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-vlan-details */ func (s *TopologyService) GetVLANDetails() (*ResponseTopologyGetVLANDetails, *resty.Response, error) { path := "/dna/intent/api/v1/topology/vlan/vlan-names" diff --git a/sdk/user_and_roles.go b/sdk/user_and_roles.go index 548ea76..d719da8 100644 --- a/sdk/user_and_roles.go +++ b/sdk/user_and_roles.go @@ -26,14 +26,16 @@ type ResponseUserandRolesAddRoleAPI struct { Response *ResponseUserandRolesAddRoleAPIResponse `json:"response,omitempty"` // } type ResponseUserandRolesAddRoleAPIResponse struct { - RoleID string `json:"roleId,omitempty"` // Role Id + RoleID string `json:"roleId,omitempty"` // Role Id + Message string `json:"message,omitempty"` // Message } type ResponseUserandRolesUpdateRoleAPI struct { Response *ResponseUserandRolesUpdateRoleAPIResponse `json:"response,omitempty"` // } type ResponseUserandRolesUpdateRoleAPIResponse struct { - RoleID string `json:"roleId,omitempty"` // Role Id + RoleID string `json:"roleId,omitempty"` // Role Id + Message string `json:"message,omitempty"` // Message } type ResponseUserandRolesGetPermissionsAPI struct { @@ -43,9 +45,12 @@ type ResponseUserandRolesGetPermissionsAPIResponse struct { ResourceTypes *[]ResponseUserandRolesGetPermissionsAPIResponseResourceTypes `json:"resource-types,omitempty"` // } type ResponseUserandRolesGetPermissionsAPIResponseResourceTypes struct { - Type string `json:"type,omitempty"` // Type - DisplayName string `json:"displayName,omitempty"` // Display Name - Description string `json:"description,omitempty"` // Description + Type string `json:"type,omitempty"` // Type + + DisplayName string `json:"displayName,omitempty"` // Display Name + + Description string `json:"description,omitempty"` // Description + DefaultPermission string `json:"defaultPermission,omitempty"` // Default permission } type ResponseUserandRolesDeleteRoleAPI struct { @@ -62,19 +67,27 @@ type ResponseUserandRolesGetRolesAPIResponse struct { } type ResponseUserandRolesGetRolesAPIResponseRoles struct { ResourceTypes *[]ResponseUserandRolesGetRolesAPIResponseRolesResourceTypes `json:"resourceTypes,omitempty"` // - Meta *ResponseUserandRolesGetRolesAPIResponseRolesMeta `json:"meta,omitempty"` // - RoleID string `json:"roleId,omitempty"` // Role Id - Name string `json:"name,omitempty"` // Role name - Description string `json:"description,omitempty"` // Description - Type string `json:"type,omitempty"` // Role type, possible values are: "DEFAULT", "SYSTEM", "CUSTOM" + + Meta *ResponseUserandRolesGetRolesAPIResponseRolesMeta `json:"meta,omitempty"` // + + RoleID string `json:"roleId,omitempty"` // Role Id + + Name string `json:"name,omitempty"` // Role name + + Description string `json:"description,omitempty"` // Description + + Type string `json:"type,omitempty"` // Role type, possible values are: "DEFAULT", "SYSTEM", "CUSTOM" } type ResponseUserandRolesGetRolesAPIResponseRolesResourceTypes struct { Operations []string `json:"operations,omitempty"` // Operations - Type string `json:"type,omitempty"` // Type + + Type string `json:"type,omitempty"` // Type } type ResponseUserandRolesGetRolesAPIResponseRolesMeta struct { - CreatedBy string `json:"createdBy,omitempty"` // The user that creates the resource type - Created string `json:"created,omitempty"` // The timestamp that the resource type was created + CreatedBy string `json:"createdBy,omitempty"` // The user that creates the resource type + + Created string `json:"created,omitempty"` // The timestamp that the resource type was created + LastModified string `json:"lastModified,omitempty"` // The latestest timestamp that the resource type was updated } type ResponseUserandRolesGetUsersAPI struct { @@ -84,21 +97,29 @@ type ResponseUserandRolesGetUsersAPIResponse struct { Users *[]ResponseUserandRolesGetUsersAPIResponseUsers `json:"users,omitempty"` // } type ResponseUserandRolesGetUsersAPIResponseUsers struct { - FirstName string `json:"firstName,omitempty"` // First Name - LastName string `json:"lastName,omitempty"` // Last Name - AuthSource string `json:"authSource,omitempty"` // Authentiction source, internal or external - PassphraseUpdateTime string `json:"passphraseUpdateTime,omitempty"` // Passphrase Update Time - RoleList []string `json:"roleList,omitempty"` // A list of role ids - UserID string `json:"userId,omitempty"` // User Id - Email string `json:"email,omitempty"` // Email - Username string `json:"username,omitempty"` // Username + FirstName string `json:"firstName,omitempty"` // First Name + + LastName string `json:"lastName,omitempty"` // Last Name + + AuthSource string `json:"authSource,omitempty"` // Authentiction source, internal or external + + PassphraseUpdateTime string `json:"passphraseUpdateTime,omitempty"` // Passphrase Update Time + + RoleList []string `json:"roleList,omitempty"` // A list of role ids + + UserID string `json:"userId,omitempty"` // User Id + + Email string `json:"email,omitempty"` // Email + + Username string `json:"username,omitempty"` // Username } type ResponseUserandRolesAddUserAPI struct { Response *ResponseUserandRolesAddUserAPIResponse `json:"response,omitempty"` // } type ResponseUserandRolesAddUserAPIResponse struct { Message string `json:"message,omitempty"` // Message - UserID string `json:"userId,omitempty"` // User Id + + UserID string `json:"userId,omitempty"` // User Id } type ResponseUserandRolesUpdateUserAPI struct { Response *ResponseUserandRolesUpdateUserAPIResponse `json:"response,omitempty"` // @@ -134,16 +155,25 @@ type ResponseUserandRolesGetExternalAuthenticationServersAPIResponse struct { AAAServers *[]ResponseUserandRolesGetExternalAuthenticationServersAPIResponseAAAServers `json:"aaa-servers,omitempty"` // } type ResponseUserandRolesGetExternalAuthenticationServersAPIResponseAAAServers struct { - AccountingPort *int `json:"accountingPort,omitempty"` // RADIUS server accounting requests port - Retries *int `json:"retries,omitempty"` // Retries - Protocol string `json:"protocol,omitempty"` // Protocol - SocketTimeout *int `json:"socketTimeout,omitempty"` // Timeout in seconds - ServerIP string `json:"serverIp,omitempty"` // Server Ip - SharedSecret string `json:"sharedSecret,omitempty"` // Shared Secret - ServerID string `json:"serverId,omitempty"` // Server Id - AuthenticationPort *int `json:"authenticationPort,omitempty"` // RADIUS server authorization requests port - AAAAttribute string `json:"aaaAttribute,omitempty"` // Aaa Attribute - Role string `json:"role,omitempty"` // Role of AAA server, primary or secondary server + AccountingPort *int `json:"accountingPort,omitempty"` // RADIUS server accounting requests port + + Retries *int `json:"retries,omitempty"` // Retries + + Protocol string `json:"protocol,omitempty"` // Protocol + + SocketTimeout *int `json:"socketTimeout,omitempty"` // Timeout in seconds + + ServerIP string `json:"serverIp,omitempty"` // Server Ip + + SharedSecret string `json:"sharedSecret,omitempty"` // Shared Secret + + ServerID string `json:"serverId,omitempty"` // Server Id + + AuthenticationPort *int `json:"authenticationPort,omitempty"` // RADIUS server authorization requests port + + AAAAttribute string `json:"aaaAttribute,omitempty"` // Aaa Attribute + + Role string `json:"role,omitempty"` // Role of AAA server, primary or secondary server } type ResponseUserandRolesAddAndUpdateAAAAttributeAPI struct { Response *ResponseUserandRolesAddAndUpdateAAAAttributeAPIResponse `json:"response,omitempty"` // @@ -167,38 +197,54 @@ type ResponseUserandRolesGetAAAAttributeAPIResponseAAAAttributes struct { AttributeName string `json:"attributeName,omitempty"` // Value of the custom AAA attribute name } type RequestUserandRolesAddRoleAPI struct { - Role string `json:"role,omitempty"` // Name of the role - Description string `json:"description,omitempty"` // Description of role + Role string `json:"role,omitempty"` // Name of the role + + Description string `json:"description,omitempty"` // Description of role + ResourceTypes *[]RequestUserandRolesAddRoleAPIResourceTypes `json:"resourceTypes,omitempty"` // } type RequestUserandRolesAddRoleAPIResourceTypes struct { - Type string `json:"type,omitempty"` // Name of the application in Cisco DNA Center System + Type string `json:"type,omitempty"` // Name of the application in the System + Operations []string `json:"operations,omitempty"` // List of operations allowed for the application. Possible values are "gRead", "gCreate", "gUpdate", "gRemove", or some combination of these. } type RequestUserandRolesUpdateRoleAPI struct { - RoleID string `json:"roleId,omitempty"` // Id of the role - Description string `json:"description,omitempty"` // Description of the role + RoleID string `json:"roleId,omitempty"` // Id of the role + + Description string `json:"description,omitempty"` // Description of the role + ResourceTypes *[]RequestUserandRolesUpdateRoleAPIResourceTypes `json:"resourceTypes,omitempty"` // } type RequestUserandRolesUpdateRoleAPIResourceTypes struct { - Type string `json:"type,omitempty"` // Name of application in Cisco DNA Center System + Type string `json:"type,omitempty"` // Name of application in the System + Operations []string `json:"operations,omitempty"` // List of operations allowed for the application. Possible values are "gRead", "gCreate", "gUpdate", "gRemove", or some combination of these. } type RequestUserandRolesAddUserAPI struct { - FirstName string `json:"firstName,omitempty"` // First Name - LastName string `json:"lastName,omitempty"` // Last Name - Username string `json:"username,omitempty"` // Username - Password string `json:"password,omitempty"` // Password - Email string `json:"email,omitempty"` // Email - RoleList []string `json:"roleList,omitempty"` // Role id list + FirstName string `json:"firstName,omitempty"` // First Name + + LastName string `json:"lastName,omitempty"` // Last Name + + Username string `json:"username,omitempty"` // Username + + Password string `json:"password,omitempty"` // Password + + Email string `json:"email,omitempty"` // Email + + RoleList []string `json:"roleList,omitempty"` // Role id list } type RequestUserandRolesUpdateUserAPI struct { - FirstName string `json:"firstName,omitempty"` // firstName should be set if the original value is not empty - LastName string `json:"lastName,omitempty"` // lastName should be set if the original value is not empty - Email string `json:"email,omitempty"` // email should be set if the original value is not empty - Username string `json:"username,omitempty"` // Username - UserID string `json:"userId,omitempty"` // User Id - RoleList []string `json:"roleList,omitempty"` // Role id list + FirstName string `json:"firstName,omitempty"` // firstName should be set if the original value is not empty + + LastName string `json:"lastName,omitempty"` // lastName should be set if the original value is not empty + + Email string `json:"email,omitempty"` // email should be set if the original value is not empty + + Username string `json:"username,omitempty"` // Username + + UserID string `json:"userId,omitempty"` // User Id + + RoleList []string `json:"roleList,omitempty"` // Role id list } type RequestUserandRolesManageExternalAuthenticationSettingAPI struct { Enable *bool `json:"enable,omitempty"` // Enable/disable External Authentication. @@ -208,11 +254,11 @@ type RequestUserandRolesAddAndUpdateAAAAttributeAPI struct { } //GetPermissionsAPI Get permissions API - 8a9c-6885-455b-a2db -/* Get permissions for a role from Cisco DNA Center System. +/* Get permissions for a role in the system. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-permissions-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-permissions-api */ func (s *UserandRolesService) GetPermissionsAPI() (*ResponseUserandRolesGetPermissionsAPI, *resty.Response, error) { path := "/dna/system/api/v1/role/permissions" @@ -242,12 +288,12 @@ func (s *UserandRolesService) GetPermissionsAPI() (*ResponseUserandRolesGetPermi } //GetRolesAPI Get roles API - 7c86-da3f-4b08-8593 -/* Get all roles for the Cisco DNA Center System. +/* Get all roles in the system @param GetRolesAPIHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-roles-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-roles-api */ func (s *UserandRolesService) GetRolesAPI(GetRolesAPIHeaderParams *GetRolesAPIHeaderParams) (*ResponseUserandRolesGetRolesAPI, *resty.Response, error) { path := "/dna/system/api/v1/roles" @@ -289,12 +335,12 @@ func (s *UserandRolesService) GetRolesAPI(GetRolesAPIHeaderParams *GetRolesAPIHe } //GetUsersAPI Get users API - 918c-89fa-4a98-a528 -/* Get all users for the Cisco DNA Center System. +/* Get all users in the system @param GetUsersAPIQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-users-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-users-api */ func (s *UserandRolesService) GetUsersAPI(GetUsersAPIQueryParams *GetUsersAPIQueryParams) (*ResponseUserandRolesGetUsersAPI, *resty.Response, error) { path := "/dna/system/api/v1/user" @@ -330,7 +376,7 @@ func (s *UserandRolesService) GetUsersAPI(GetUsersAPIQueryParams *GetUsersAPIQue -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-external-authentication-setting-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-external-authentication-setting-api */ func (s *UserandRolesService) GetExternalAuthenticationSettingAPI() (*ResponseUserandRolesGetExternalAuthenticationSettingAPI, *resty.Response, error) { path := "/dna/system/api/v1/users/external-authentication" @@ -365,7 +411,7 @@ func (s *UserandRolesService) GetExternalAuthenticationSettingAPI() (*ResponseUs @param GetExternalAuthenticationServersAPIQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-external-authentication-servers-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-external-authentication-servers-api */ func (s *UserandRolesService) GetExternalAuthenticationServersAPI(GetExternalAuthenticationServersAPIQueryParams *GetExternalAuthenticationServersAPIQueryParams) (*ResponseUserandRolesGetExternalAuthenticationServersAPI, *resty.Response, error) { path := "/dna/system/api/v1/users/external-servers" @@ -401,7 +447,7 @@ func (s *UserandRolesService) GetExternalAuthenticationServersAPI(GetExternalAut -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-a-a-a-attribute-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-a-a-a-attribute-api */ func (s *UserandRolesService) GetAAAAttributeAPI() (*ResponseUserandRolesGetAAAAttributeAPI, *resty.Response, error) { path := "/dna/system/api/v1/users/external-servers/aaa-attribute" @@ -431,11 +477,11 @@ func (s *UserandRolesService) GetAAAAttributeAPI() (*ResponseUserandRolesGetAAAA } //AddRoleAPI Add role API - b697-0a1e-46a9-b542 -/* Add a new role in Cisco DNA Center System. +/* Add a new role in the system -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-role-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-role-api */ func (s *UserandRolesService) AddRoleAPI(requestUserandRolesAddRoleAPI *RequestUserandRolesAddRoleAPI) (*ResponseUserandRolesAddRoleAPI, *resty.Response, error) { path := "/dna/system/api/v1/role" @@ -468,11 +514,11 @@ func (s *UserandRolesService) AddRoleAPI(requestUserandRolesAddRoleAPI *RequestU } //AddUserAPI Add user API - 6c9a-09c4-4a39-9e2b -/* Add a new user for Cisco DNA Center System. +/* Add a new user in the system -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-user-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-user-api */ func (s *UserandRolesService) AddUserAPI(requestUserandRolesAddUserAPI *RequestUserandRolesAddUserAPI) (*ResponseUserandRolesAddUserAPI, *resty.Response, error) { path := "/dna/system/api/v1/user" @@ -505,13 +551,13 @@ func (s *UserandRolesService) AddUserAPI(requestUserandRolesAddUserAPI *RequestU } //ManageExternalAuthenticationSettingAPI Manage External Authentication Setting API - e09c-1806-48da-bb40 -/* Enable or disable external authentication on Cisco DNA Center System. +/* Enable or disable external authentication in the System. Please find the Administrator Guide for your particular release from the list linked below and follow the steps required to enable external authentication before trying to do so from this API. https://www.cisco.com/c/en/us/support/cloud-systems-management/dna-center/products-maintenance-guides-list.html -Documentation Link: https://developer.cisco.com/docs/dna-center/#!manage-external-authentication-setting-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!manage-external-authentication-setting-api */ func (s *UserandRolesService) ManageExternalAuthenticationSettingAPI(requestUserandRolesManageExternalAuthenticationSettingAPI *RequestUserandRolesManageExternalAuthenticationSettingAPI) (*ResponseUserandRolesManageExternalAuthenticationSettingAPI, *resty.Response, error) { path := "/dna/system/api/v1/users/external-authentication" @@ -548,7 +594,7 @@ func (s *UserandRolesService) ManageExternalAuthenticationSettingAPI(requestUser -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-and-update-a-a-a-attribute-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-and-update-a-a-a-attribute-api */ func (s *UserandRolesService) AddAndUpdateAAAAttributeAPI(requestUserandRolesAddAndUpdateAAAAttributeAPI *RequestUserandRolesAddAndUpdateAAAAttributeAPI) (*ResponseUserandRolesAddAndUpdateAAAAttributeAPI, *resty.Response, error) { path := "/dna/system/api/v1/users/external-servers/aaa-attribute" @@ -581,7 +627,7 @@ func (s *UserandRolesService) AddAndUpdateAAAAttributeAPI(requestUserandRolesAdd } //UpdateRoleAPI Update role API - 539c-ea73-400b-bf20 -/* Update a role in Cisco DNA Center System. +/* Update a role in the system */ @@ -614,7 +660,7 @@ func (s *UserandRolesService) UpdateRoleAPI(requestUserandRolesUpdateRoleAPI *Re } //UpdateUserAPI Update user API - f596-6adc-492b-a2ff -/* Update a user for Cisco DNA Center System. +/* Update a user in the system */ @@ -647,13 +693,13 @@ func (s *UserandRolesService) UpdateUserAPI(requestUserandRolesUpdateUserAPI *Re } //DeleteRoleAPI Delete role API - d3b9-8bdc-472b-b236 -/* Delete a role in Cisco DNA Center System +/* Delete a role in the system @param roleID roleId path parameter. The Id of the role to be deleted -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-role-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-role-api */ func (s *UserandRolesService) DeleteRoleAPI(roleID string) (*ResponseUserandRolesDeleteRoleAPI, *resty.Response, error) { //roleID string @@ -674,8 +720,7 @@ func (s *UserandRolesService) DeleteRoleAPI(roleID string) (*ResponseUserandRole if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteRoleAPI( - roleID) + return s.DeleteRoleAPI(roleID) } return nil, response, fmt.Errorf("error with operation DeleteRoleApi") } @@ -686,13 +731,13 @@ func (s *UserandRolesService) DeleteRoleAPI(roleID string) (*ResponseUserandRole } //DeleteUserAPI Delete user API - 69b4-ba37-4aca-8e86 -/* Delete a user from Cisco DNA Center System. +/* Delete a user in the system @param userID userId path parameter. The id of the user to be deleted -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-user-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-user-api */ func (s *UserandRolesService) DeleteUserAPI(userID string) (*ResponseUserandRolesDeleteUserAPI, *resty.Response, error) { //userID string @@ -728,7 +773,7 @@ func (s *UserandRolesService) DeleteUserAPI(userID string) (*ResponseUserandRole -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-a-a-a-attribute-api-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-a-a-a-attribute-api */ func (s *UserandRolesService) DeleteAAAAttributeAPI() (*ResponseUserandRolesDeleteAAAAttributeAPI, *resty.Response, error) { // diff --git a/sdk/users.go b/sdk/users.go index a26f814..791fa3f 100644 --- a/sdk/users.go +++ b/sdk/users.go @@ -12,50 +12,85 @@ type UsersService service type GetUserEnrichmentDetailsHeaderParams struct { EntityType string `url:"entity_type,omitempty"` //Expects type string. User enrichment details can be fetched based on either User ID or Client MAC address. This parameter value must either be network_user_id/mac_address EntityValue string `url:"entity_value,omitempty"` //Expects type string. Contains the actual value for the entity type that has been defined - Persistbapioutput string `url:"__persistbapioutput,omitempty"` //Expects type bool. + Persistbapioutput string `url:"__persistbapioutput,omitempty"` //Expects type bool. For the enrichment details to be made available as part of the API response, this header must be set to true. This header must be explicitly passed when called from client applications outside Catalyst Center } type ResponseUsersGetUserEnrichmentDetails []ResponseItemUsersGetUserEnrichmentDetails // Array of ResponseUsersGetUserEnrichmentDetails type ResponseItemUsersGetUserEnrichmentDetails struct { - UserDetails *ResponseItemUsersGetUserEnrichmentDetailsUserDetails `json:"userDetails,omitempty"` // + UserDetails *ResponseItemUsersGetUserEnrichmentDetailsUserDetails `json:"userDetails,omitempty"` // + ConnectedDevice *[]ResponseItemUsersGetUserEnrichmentDetailsConnectedDevice `json:"connectedDevice,omitempty"` // } type ResponseItemUsersGetUserEnrichmentDetailsUserDetails struct { - ID string `json:"id,omitempty"` // Id - ConnectionStatus string `json:"connectionStatus,omitempty"` // Connection Status - HostType string `json:"hostType,omitempty"` // Host Type - UserID *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsUserID `json:"userId,omitempty"` // User Id - HostName *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostName `json:"hostName,omitempty"` // Host Name - HostOs *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostOs `json:"hostOs,omitempty"` // Host Os - HostVersion *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostVersion `json:"hostVersion,omitempty"` // Host Version - SubType string `json:"subType,omitempty"` // Sub Type - LastUpdated *int `json:"lastUpdated,omitempty"` // Last Updated - HealthScore *[]ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHealthScore `json:"healthScore,omitempty"` // - HostMac string `json:"hostMac,omitempty"` // Host Mac - HostIPV4 string `json:"hostIpV4,omitempty"` // Host Ip V4 - HostIPV6 *[]ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostIPV6 `json:"hostIpV6,omitempty"` // Host Ip V6 - AuthType *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsAuthType `json:"authType,omitempty"` // Auth Type - VLANID string `json:"vlanId,omitempty"` // Vlan Id - SSID *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsSSID `json:"ssid,omitempty"` // Ssid - Frequency *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsFrequency `json:"frequency,omitempty"` // Frequency - Channel *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsChannel `json:"channel,omitempty"` // Channel - ApGroup *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsApGroup `json:"apGroup,omitempty"` // Ap Group - Location *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsLocation `json:"location,omitempty"` // Location - ClientConnection string `json:"clientConnection,omitempty"` // Client Connection - ConnectedDevice *[]ResponseItemUsersGetUserEnrichmentDetailsUserDetailsConnectedDevice `json:"connectedDevice,omitempty"` // Connected Device - IssueCount *float64 `json:"issueCount,omitempty"` // Issue Count - Rssi *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsRssi `json:"rssi,omitempty"` // Rssi - AvgRssi *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsAvgRssi `json:"avgRssi,omitempty"` // Avg Rssi - Snr *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsSnr `json:"snr,omitempty"` // Snr - AvgSnr *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsAvgSnr `json:"avgSnr,omitempty"` // Avg Snr - DataRate *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsDataRate `json:"dataRate,omitempty"` // Data Rate - TxBytes *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsTxBytes `json:"txBytes,omitempty"` // Tx Bytes - RxBytes *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsRxBytes `json:"rxBytes,omitempty"` // Rx Bytes - DNSSuccess *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsDNSSuccess `json:"dnsSuccess,omitempty"` // Dns Success - DNSFailure *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsDNSFailure `json:"dnsFailure,omitempty"` // Dns Failure - Onboarding *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboarding `json:"onboarding,omitempty"` // - OnboardingTime *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingTime `json:"onboardingTime,omitempty"` // Onboarding Time - Port *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsPort `json:"port,omitempty"` // Port + ID string `json:"id,omitempty"` // Id + + ConnectionStatus string `json:"connectionStatus,omitempty"` // Connection Status + + HostType string `json:"hostType,omitempty"` // Host Type + + UserID *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsUserID `json:"userId,omitempty"` // User Id + + HostName *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostName `json:"hostName,omitempty"` // Host Name + + HostOs *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostOs `json:"hostOs,omitempty"` // Host Os + + HostVersion *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostVersion `json:"hostVersion,omitempty"` // Host Version + + SubType string `json:"subType,omitempty"` // Sub Type + + LastUpdated *int `json:"lastUpdated,omitempty"` // Last Updated + + HealthScore *[]ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHealthScore `json:"healthScore,omitempty"` // + + HostMac string `json:"hostMac,omitempty"` // Host Mac + + HostIPV4 string `json:"hostIpV4,omitempty"` // Host Ip V4 + + HostIPV6 *[]ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostIPV6 `json:"hostIpV6,omitempty"` // Host Ip V6 + + AuthType *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsAuthType `json:"authType,omitempty"` // Auth Type + + VLANID string `json:"vlanId,omitempty"` // Vlan Id + + SSID *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsSSID `json:"ssid,omitempty"` // Ssid + + Frequency *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsFrequency `json:"frequency,omitempty"` // Frequency + + Channel *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsChannel `json:"channel,omitempty"` // Channel + + ApGroup *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsApGroup `json:"apGroup,omitempty"` // Ap Group + + Location *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsLocation `json:"location,omitempty"` // Location + + ClientConnection string `json:"clientConnection,omitempty"` // Client Connection + + ConnectedDevice *[]ResponseItemUsersGetUserEnrichmentDetailsUserDetailsConnectedDevice `json:"connectedDevice,omitempty"` // Connected Device + + IssueCount *float64 `json:"issueCount,omitempty"` // Issue Count + + Rssi *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsRssi `json:"rssi,omitempty"` // Rssi + + AvgRssi *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsAvgRssi `json:"avgRssi,omitempty"` // Avg Rssi + + Snr *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsSnr `json:"snr,omitempty"` // Snr + + AvgSnr *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsAvgSnr `json:"avgSnr,omitempty"` // Avg Snr + + DataRate *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsDataRate `json:"dataRate,omitempty"` // Data Rate + + TxBytes *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsTxBytes `json:"txBytes,omitempty"` // Tx Bytes + + RxBytes *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsRxBytes `json:"rxBytes,omitempty"` // Rx Bytes + + DNSSuccess *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsDNSSuccess `json:"dnsSuccess,omitempty"` // Dns Success + + DNSFailure *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsDNSFailure `json:"dnsFailure,omitempty"` // Dns Failure + + Onboarding *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboarding `json:"onboarding,omitempty"` // + + OnboardingTime *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingTime `json:"onboardingTime,omitempty"` // Onboarding Time + + Port *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsPort `json:"port,omitempty"` // Port } type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsUserID interface{} type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostName interface{} @@ -63,8 +98,10 @@ type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostOs interface{} type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostVersion interface{} type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHealthScore struct { HealthType string `json:"healthType,omitempty"` // Health Type - Reason string `json:"reason,omitempty"` // Reason - Score *int `json:"score,omitempty"` // Score + + Reason string `json:"reason,omitempty"` // Reason + + Score *int `json:"score,omitempty"` // Score } type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsHostIPV6 interface{} type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsAuthType interface{} @@ -84,16 +121,25 @@ type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsRxBytes interface{} type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsDNSSuccess interface{} type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsDNSFailure interface{} type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboarding struct { - AverageRunDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingAverageRunDuration `json:"averageRunDuration,omitempty"` // Average Run Duration - MaxRunDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingMaxRunDuration `json:"maxRunDuration,omitempty"` // Max Run Duration + AverageRunDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingAverageRunDuration `json:"averageRunDuration,omitempty"` // Average Run Duration + + MaxRunDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingMaxRunDuration `json:"maxRunDuration,omitempty"` // Max Run Duration + AverageAssocDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingAverageAssocDuration `json:"averageAssocDuration,omitempty"` // Average Assoc Duration - MaxAssocDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingMaxAssocDuration `json:"maxAssocDuration,omitempty"` // Max Assoc Duration - AverageAuthDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingAverageAuthDuration `json:"averageAuthDuration,omitempty"` // Average Auth Duration - MaxAuthDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingMaxAuthDuration `json:"maxAuthDuration,omitempty"` // Max Auth Duration - AverageDhcpDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingAverageDhcpDuration `json:"averageDhcpDuration,omitempty"` // Average Dhcp Duration - MaxDhcpDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingMaxDhcpDuration `json:"maxDhcpDuration,omitempty"` // Max Dhcp Duration - AAAServerIP *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingAAAServerIP `json:"aaaServerIp,omitempty"` // Aaa Server Ip - DhcpServerIP *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingDhcpServerIP `json:"dhcpServerIp,omitempty"` // Dhcp Server Ip + + MaxAssocDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingMaxAssocDuration `json:"maxAssocDuration,omitempty"` // Max Assoc Duration + + AverageAuthDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingAverageAuthDuration `json:"averageAuthDuration,omitempty"` // Average Auth Duration + + MaxAuthDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingMaxAuthDuration `json:"maxAuthDuration,omitempty"` // Max Auth Duration + + AverageDhcpDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingAverageDhcpDuration `json:"averageDhcpDuration,omitempty"` // Average Dhcp Duration + + MaxDhcpDuration *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingMaxDhcpDuration `json:"maxDhcpDuration,omitempty"` // Max Dhcp Duration + + AAAServerIP *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingAAAServerIP `json:"aaaServerIp,omitempty"` // Aaa Server Ip + + DhcpServerIP *ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingDhcpServerIP `json:"dhcpServerIp,omitempty"` // Dhcp Server Ip } type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingAverageRunDuration interface{} type ResponseItemUsersGetUserEnrichmentDetailsUserDetailsOnboardingMaxRunDuration interface{} @@ -111,44 +157,81 @@ type ResponseItemUsersGetUserEnrichmentDetailsConnectedDevice struct { DeviceDetails *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetails `json:"deviceDetails,omitempty"` // } type ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetails struct { - Family string `json:"family,omitempty"` // Family - Type string `json:"type,omitempty"` // Type - Location *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsLocation `json:"location,omitempty"` // Location - ErrorCode *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsErrorCode `json:"errorCode,omitempty"` // Error Code - MacAddress string `json:"macAddress,omitempty"` // Mac Address - Role string `json:"role,omitempty"` // Role - ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // Ap Manager Interface Ip - AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip - BootDateTime string `json:"bootDateTime,omitempty"` // Boot Date Time - CollectionStatus string `json:"collectionStatus,omitempty"` // Collection Status - InterfaceCount string `json:"interfaceCount,omitempty"` // Interface Count - LineCardCount string `json:"lineCardCount,omitempty"` // Line Card Count - LineCardID string `json:"lineCardId,omitempty"` // Line Card Id - ManagementIPAddress string `json:"managementIpAddress,omitempty"` // Management Ip Address - MemorySize string `json:"memorySize,omitempty"` // Memory Size - PlatformID string `json:"platformId,omitempty"` // Platform Id - ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Reachability Failure Reason - ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Reachability Status - SNMPContact string `json:"snmpContact,omitempty"` // Snmp Contact - SNMPLocation string `json:"snmpLocation,omitempty"` // Snmp Location - TunnelUDPPort *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsTunnelUDPPort `json:"tunnelUdpPort,omitempty"` // Tunnel Udp Port - WaasDeviceMode *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsWaasDeviceMode `json:"waasDeviceMode,omitempty"` // Waas Device Mode - Series string `json:"series,omitempty"` // Series - InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Inventory Status Detail - CollectionInterval string `json:"collectionInterval,omitempty"` // Collection Interval - SerialNumber string `json:"serialNumber,omitempty"` // Serial Number - SoftwareVersion string `json:"softwareVersion,omitempty"` // Software Version - RoleSource string `json:"roleSource,omitempty"` // Role Source - Hostname string `json:"hostname,omitempty"` // Hostname - UpTime string `json:"upTime,omitempty"` // Up Time - LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last Update Time - ErrorDescription *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsErrorDescription `json:"errorDescription,omitempty"` // Error Description - LocationName *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsLocationName `json:"locationName,omitempty"` // Location Name - TagCount string `json:"tagCount,omitempty"` // Tag Count - LastUpdated string `json:"lastUpdated,omitempty"` // Last Updated - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid - ID string `json:"id,omitempty"` // Id - NeighborTopology *[]ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsNeighborTopology `json:"neighborTopology,omitempty"` // + Family string `json:"family,omitempty"` // Family + + Type string `json:"type,omitempty"` // Type + + Location *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsLocation `json:"location,omitempty"` // Location + + ErrorCode *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsErrorCode `json:"errorCode,omitempty"` // Error Code + + MacAddress string `json:"macAddress,omitempty"` // Mac Address + + Role string `json:"role,omitempty"` // Role + + ApManagerInterfaceIP string `json:"apManagerInterfaceIp,omitempty"` // Ap Manager Interface Ip + + AssociatedWlcIP string `json:"associatedWlcIp,omitempty"` // Associated Wlc Ip + + BootDateTime string `json:"bootDateTime,omitempty"` // Boot Date Time + + CollectionStatus string `json:"collectionStatus,omitempty"` // Collection Status + + InterfaceCount string `json:"interfaceCount,omitempty"` // Interface Count + + LineCardCount string `json:"lineCardCount,omitempty"` // Line Card Count + + LineCardID string `json:"lineCardId,omitempty"` // Line Card Id + + ManagementIPAddress string `json:"managementIpAddress,omitempty"` // Management Ip Address + + MemorySize string `json:"memorySize,omitempty"` // Memory Size + + PlatformID string `json:"platformId,omitempty"` // Platform Id + + ReachabilityFailureReason string `json:"reachabilityFailureReason,omitempty"` // Reachability Failure Reason + + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Reachability Status + + SNMPContact string `json:"snmpContact,omitempty"` // Snmp Contact + + SNMPLocation string `json:"snmpLocation,omitempty"` // Snmp Location + + TunnelUDPPort *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsTunnelUDPPort `json:"tunnelUdpPort,omitempty"` // Tunnel Udp Port + + WaasDeviceMode *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsWaasDeviceMode `json:"waasDeviceMode,omitempty"` // Waas Device Mode + + Series string `json:"series,omitempty"` // Series + + InventoryStatusDetail string `json:"inventoryStatusDetail,omitempty"` // Inventory Status Detail + + CollectionInterval string `json:"collectionInterval,omitempty"` // Collection Interval + + SerialNumber string `json:"serialNumber,omitempty"` // Serial Number + + SoftwareVersion string `json:"softwareVersion,omitempty"` // Software Version + + RoleSource string `json:"roleSource,omitempty"` // Role Source + + Hostname string `json:"hostname,omitempty"` // Hostname + + UpTime string `json:"upTime,omitempty"` // Up Time + + LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last Update Time + + ErrorDescription *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsErrorDescription `json:"errorDescription,omitempty"` // Error Description + + LocationName *ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsLocationName `json:"locationName,omitempty"` // Location Name + + TagCount string `json:"tagCount,omitempty"` // Tag Count + + LastUpdated string `json:"lastUpdated,omitempty"` // Last Updated + + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid + + ID string `json:"id,omitempty"` // Id + + NeighborTopology *[]ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsNeighborTopology `json:"neighborTopology,omitempty"` // } type ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsLocation interface{} type ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsErrorCode interface{} @@ -157,9 +240,11 @@ type ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsWaasDe type ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsErrorDescription interface{} type ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsLocationName interface{} type ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsNeighborTopology struct { - ErrorCode *int `json:"errorCode,omitempty"` // Error Code - Message string `json:"message,omitempty"` // Message - Detail string `json:"detail,omitempty"` // Detail + ErrorCode *int `json:"errorCode,omitempty"` // Error Code + + Message string `json:"message,omitempty"` // Message + + Detail string `json:"detail,omitempty"` // Detail } //GetUserEnrichmentDetails Get User Enrichment Details - d7a6-3928-45e8-969d @@ -168,7 +253,7 @@ type ResponseItemUsersGetUserEnrichmentDetailsConnectedDeviceDeviceDetailsNeighb @param GetUserEnrichmentDetailsHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-user-enrichment-details-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-user-enrichment-details */ func (s *UsersService) GetUserEnrichmentDetails(GetUserEnrichmentDetailsHeaderParams *GetUserEnrichmentDetailsHeaderParams) (*ResponseUsersGetUserEnrichmentDetails, *resty.Response, error) { path := "/dna/intent/api/v1/user-enrichment-details" diff --git a/sdk/wireless.go b/sdk/wireless.go index 0f0a825..a5692f8 100644 --- a/sdk/wireless.go +++ b/sdk/wireless.go @@ -31,11 +31,35 @@ type GetEnterpriseSSIDQueryParams struct { SSIDName string `url:"ssidName,omitempty"` //Enter the enterprise SSID name that needs to be retrieved. If not entered, all the enterprise SSIDs will be retrieved. } type GetSSIDBySiteQueryParams struct { - Limit float64 `url:"limit,omitempty"` //Limit - Offset float64 `url:"offset,omitempty"` //Offset + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + SSID string `url:"ssid,omitempty"` //SSID Name + WLANType string `url:"wlanType,omitempty"` //Wlan Type + AuthType string `url:"authType,omitempty"` //Auth Type + L3AuthType string `url:"l3authType,omitempty"` //L3 Auth Type +} +type GetSSIDCountBySiteQueryParams struct { + Inherited bool `url:"_inherited,omitempty"` //This query parameter indicates whether the current SSID count at the given 'siteId' is of the SSID(s) it is inheriting or count of non-inheriting SSID(s) +} +type DeleteSSIDQueryParams struct { + RemoveOverrideInHierarchy bool `url:"removeOverrideInHierarchy,omitempty"` //Remove override in hierarchy . Refer Feature tab for details +} +type GetAccessPointConfigurationCountQueryParams struct { + WlcIPAddress string `url:"wlcIpAddress,omitempty"` //WLC IP Address + ApMode string `url:"apMode,omitempty"` //AP Mode. Allowed values are Local, Bridge, Monitor, FlexConnect, Sniffer, Rogue Detector, SE-Connect, Flex+Bridge, Sensor. + ApModel string `url:"apModel,omitempty"` //AP Model + MeshRole string `url:"meshRole,omitempty"` //Mesh Role. Allowed values are RAP or MAP + Provisioned string `url:"provisioned,omitempty"` //Indicate whether AP provisioned or not. Allowed values are True or False } type GetAccessPointConfigurationQueryParams struct { - Key string `url:"key,omitempty"` //The ethernet MAC address of Access point + Key string `url:"key,omitempty"` //The ethernet MAC address of Access point + WlcIPAddress string `url:"wlcIpAddress,omitempty"` //WLC IP Address + ApMode string `url:"apMode,omitempty"` //AP Mode. Allowed values are Local, Bridge, Monitor, FlexConnect, Sniffer, Rogue Detector, SE-Connect, Flex+Bridge, Sensor. + ApModel string `url:"apModel,omitempty"` //AP Model + MeshRole string `url:"meshRole,omitempty"` //Mesh Role. Allowed values are RAP or MAP + Provisioned string `url:"provisioned,omitempty"` //Indicate whether AP provisioned or not. Allowed values are True or False + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. The default is 500 if not specified. The maximum allowed limit is 500. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. } type ApProvisionConnectivityHeaderParams struct { Persistbapioutput string `url:"__persistbapioutput,omitempty"` //Expects type string. @@ -62,26 +86,31 @@ type RetrieveRfProfilesQueryParams struct { type GetAccessPointsFactoryResetStatusQueryParams struct { TaskID string `url:"taskId,omitempty"` //provide the task id which is returned in the response of ap factory reset post api } -type GetAllMobilityGroupsQueryParams struct { +type GetMeshApNeighboursQueryParams struct { + WlcIPAddress string `url:"wlcIpAddress,omitempty"` //Employ this query parameter to obtain the details of the Access points corresponding to the provided WLC IP address. + ApName string `url:"apName,omitempty"` //Employ this query parameter to obtain the details of the Access points corresponding to the provided ap name. + EthernetMacAddress string `url:"ethernetMacAddress,omitempty"` //Employ this query parameter to obtain the details of the Access points corresponding to the provided EthernetMacAddress. +} +type GetMobilityGroupsQueryParams struct { NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Employ this query parameter to obtain the details of the Mobility Group corresponding to the provided networkDeviceId. Obtain the network device ID value by using the API GET call /dna/intent/api/v1/network-device/ip-address/${ipAddress}. } type GetAnchorManagedApLocationsForSpecificWirelessControllerQueryParams struct { - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. } type GetPrimaryManagedApLocationsForSpecificWirelessControllerQueryParams struct { - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. } type GetSecondaryManagedApLocationsForSpecificWirelessControllerQueryParams struct { - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. } type GetSSIDDetailsForSpecificWirelessControllerQueryParams struct { SSIDName string `url:"ssidName,omitempty"` //Employ this query parameter to obtain the details of the SSID corresponding to the provided SSID name. AdminStatus bool `url:"adminStatus,omitempty"` //Utilize this query parameter to obtain the administrative status. A 'true' value signifies that the admin status of the SSID is enabled, while a 'false' value indicates that the admin status of the SSID is disabled. Managed bool `url:"managed,omitempty"` //If value is 'true' means SSIDs are configured through design.If the value is 'false' means out of band configuration from the Wireless Controller. - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. } type GetSSIDCountForSpecificWirelessControllerQueryParams struct { @@ -89,54 +118,110 @@ type GetSSIDCountForSpecificWirelessControllerQueryParams struct { Managed bool `url:"managed,omitempty"` //If value is 'true' means SSIDs are configured through design.If the value is 'false' means out of band configuration from the Wireless Controller. } type GetWirelessProfilesQueryParams struct { - Limit float64 `url:"limit,omitempty"` //Limit - Offset float64 `url:"offset,omitempty"` //Offset -} -type GetAll80211BeProfilesQueryParams struct { - Limit float64 `url:"limit,omitempty"` //Limit - Offset float64 `url:"offset,omitempty"` //Offset + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500 + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1 + WirelessProfileName string `url:"wirelessProfileName,omitempty"` //Wireless Profile Name +} +type RetrieveAllPolicyTagsForAWirelessProfileQueryParams struct { + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. + Offset float64 `url:"offset,omitempty"` //Offset + PolicyTagName string `url:"policyTagName,omitempty"` //PolicyTagName +} +type RetrieveAllSiteTagsForAWirelessProfileQueryParams struct { + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. + Offset float64 `url:"offset,omitempty"` //Offset + SiteTagName string `url:"siteTagName,omitempty"` //SiteTagName +} +type GetApAuthorizationListsQueryParams struct { + ApAuthorizationListName string `url:"apAuthorizationListName,omitempty"` //Employ this query parameter to obtain the details of the AP Authorization List corresponding to the provided apAuthorizationListName. + Offset string `url:"offset,omitempty"` //The first record to show for this page. The first record is numbered 1. + Limit string `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. +} +type GetApProfilesQueryParams struct { + Limit string `url:"limit,omitempty"` //The number of records to show for this page. The default is 500 if not specified. The maximum allowed limit is 500. + Offset string `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + ApProfileName string `url:"apProfileName,omitempty"` //Employ this query parameter to obtain the details of the apProfiles corresponding to the provided apProfileName. +} +type Get80211BeProfilesQueryParams struct { + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page, the first record is numbered 1 + ProfileName string `url:"profileName,omitempty"` //Profile Name + IsOfDmaDownLink bool `url:"isOfDmaDownLink,omitempty"` //OFDMA Downlink + IsOfDmaUpLink bool `url:"isOfDmaUpLink,omitempty"` //OFDMA Uplink + IsMuMimoUpLink bool `url:"isMuMimoUpLink,omitempty"` //MU-MIMO Uplink + IsMuMimoDownLink bool `url:"isMuMimoDownLink,omitempty"` //MU-MIMO Downlink + IsOfDmaMultiRu bool `url:"isOfDmaMultiRu,omitempty"` //OFDMA Multi-RU } type GetInterfacesQueryParams struct { - Limit float64 `url:"limit,omitempty"` //Limit - Offset float64 `url:"offset,omitempty"` //Offset + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page. The first record is numbered 1. + InterfaceName string `url:"interfaceName,omitempty"` //Interface Name + VLANID float64 `url:"vlanId,omitempty"` //Vlan Id +} +type GetPowerProfilesQueryParams struct { + Limit float64 `url:"limit,omitempty"` //Limit + Offset float64 `url:"offset,omitempty"` //Offset + ProfileName string `url:"profileName,omitempty"` //Power Profile Name } type GetRfProfilesQueryParams struct { - Limit float64 `url:"limit,omitempty"` //Limit - Offset float64 `url:"offset,omitempty"` //Offset + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500 + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1 + RfProfileName string `url:"rfProfileName,omitempty"` //RF Profile Name + EnableRadioTypeA bool `url:"enableRadioTypeA,omitempty"` //Enable Radio TypeA + EnableRadioTypeB bool `url:"enableRadioTypeB,omitempty"` //Enable Radio TypeB + EnableRadioType6GHz bool `url:"enableRadioType6GHz,omitempty"` //Enable Radio Type6GHz +} +type RetrieveSitesWithOverriddenSSIDsQueryParams struct { + SiteID string `url:"siteId,omitempty"` //Site UUID + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1 + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 500 if not specified. Maximum allowed limit is 500. } type ResponseWirelessSensorTestResults struct { - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version + Response *ResponseWirelessSensorTestResultsResponse `json:"response,omitempty"` // } type ResponseWirelessSensorTestResultsResponse struct { - Summary *ResponseWirelessSensorTestResultsResponseSummary `json:"summary,omitempty"` // + Summary *ResponseWirelessSensorTestResultsResponseSummary `json:"summary,omitempty"` // + FailureStats *[]ResponseWirelessSensorTestResultsResponseFailureStats `json:"failureStats,omitempty"` // } type ResponseWirelessSensorTestResultsResponseSummary struct { - TotalTestCount *int `json:"totalTestCount,omitempty"` // Total test count - OnBoarding *ResponseWirelessSensorTestResultsResponseSummaryOnBoarding `json:"ONBOARDING,omitempty"` // - PERfORMAncE *ResponseWirelessSensorTestResultsResponseSummaryPERfORMAncE `json:"PERFORMANCE,omitempty"` // + TotalTestCount *int `json:"totalTestCount,omitempty"` // Total test count + + OnBoarding *ResponseWirelessSensorTestResultsResponseSummaryOnBoarding `json:"ONBOARDING,omitempty"` // + + PERfORMAncE *ResponseWirelessSensorTestResultsResponseSummaryPERfORMAncE `json:"PERFORMANCE,omitempty"` // + NETWORKSERVICES *ResponseWirelessSensorTestResultsResponseSummaryNETWORKSERVICES `json:"NETWORK_SERVICES,omitempty"` // + ApPCONNECTIVITY *ResponseWirelessSensorTestResultsResponseSummaryApPCONNECTIVITY `json:"APP_CONNECTIVITY,omitempty"` // - RfASSESSMENT *ResponseWirelessSensorTestResultsResponseSummaryRfASSESSMENT `json:"RF_ASSESSMENT,omitempty"` // - Email *ResponseWirelessSensorTestResultsResponseSummaryEmail `json:"EMAIL,omitempty"` // + + RfASSESSMENT *ResponseWirelessSensorTestResultsResponseSummaryRfASSESSMENT `json:"RF_ASSESSMENT,omitempty"` // + + Email *ResponseWirelessSensorTestResultsResponseSummaryEmail `json:"EMAIL,omitempty"` // } type ResponseWirelessSensorTestResultsResponseSummaryOnBoarding struct { - Auth *ResponseWirelessSensorTestResultsResponseSummaryOnBoardingAuth `json:"AUTH,omitempty"` // - DHCP *ResponseWirelessSensorTestResultsResponseSummaryOnBoardingDHCP `json:"DHCP,omitempty"` // + Auth *ResponseWirelessSensorTestResultsResponseSummaryOnBoardingAuth `json:"AUTH,omitempty"` // + + DHCP *ResponseWirelessSensorTestResultsResponseSummaryOnBoardingDHCP `json:"DHCP,omitempty"` // + Assoc *ResponseWirelessSensorTestResultsResponseSummaryOnBoardingAssoc `json:"ASSOC,omitempty"` // } type ResponseWirelessSensorTestResultsResponseSummaryOnBoardingAuth struct { PassCount *int `json:"passCount,omitempty"` // Total passed test count + FailCount *int `json:"failCount,omitempty"` // Total failed test count } type ResponseWirelessSensorTestResultsResponseSummaryOnBoardingDHCP struct { - PassCount *int `json:"passCount,omitempty"` // Total passed test count + PassCount *int `json:"passCount,omitempty"` // Total passed test count + FailCount *float64 `json:"failCount,omitempty"` // Total failed test count } type ResponseWirelessSensorTestResultsResponseSummaryOnBoardingAssoc struct { PassCount *int `json:"passCount,omitempty"` // Total passed test count + FailCount *int `json:"failCount,omitempty"` // Total failed test count } type ResponseWirelessSensorTestResultsResponseSummaryPERfORMAncE struct { @@ -144,42 +229,52 @@ type ResponseWirelessSensorTestResultsResponseSummaryPERfORMAncE struct { } type ResponseWirelessSensorTestResultsResponseSummaryPERfORMAncEIPSLASENDER struct { PassCount *int `json:"passCount,omitempty"` // Total passed test count + FailCount *int `json:"failCount,omitempty"` // Total failed test count } type ResponseWirelessSensorTestResultsResponseSummaryNETWORKSERVICES struct { DNS *ResponseWirelessSensorTestResultsResponseSummaryNETWORKSERVICESDNS `json:"DNS,omitempty"` // } type ResponseWirelessSensorTestResultsResponseSummaryNETWORKSERVICESDNS struct { - PassCount *int `json:"passCount,omitempty"` // Total passed test count + PassCount *int `json:"passCount,omitempty"` // Total passed test count + FailCount *float64 `json:"failCount,omitempty"` // Total failed test count } type ResponseWirelessSensorTestResultsResponseSummaryApPCONNECTIVITY struct { HOSTREACHABILITY *ResponseWirelessSensorTestResultsResponseSummaryApPCONNECTIVITYHOSTREACHABILITY `json:"HOST_REACHABILITY,omitempty"` // - WebServer *ResponseWirelessSensorTestResultsResponseSummaryApPCONNECTIVITYWebServer `json:"WEBSERVER,omitempty"` // - FileTransfer *ResponseWirelessSensorTestResultsResponseSummaryApPCONNECTIVITYFileTransfer `json:"FILETRANSFER,omitempty"` // + + WebServer *ResponseWirelessSensorTestResultsResponseSummaryApPCONNECTIVITYWebServer `json:"WEBSERVER,omitempty"` // + + FileTransfer *ResponseWirelessSensorTestResultsResponseSummaryApPCONNECTIVITYFileTransfer `json:"FILETRANSFER,omitempty"` // } type ResponseWirelessSensorTestResultsResponseSummaryApPCONNECTIVITYHOSTREACHABILITY struct { - PassCount *int `json:"passCount,omitempty"` // Total passed test count + PassCount *int `json:"passCount,omitempty"` // Total passed test count + FailCount *float64 `json:"failCount,omitempty"` // Total failed test count } type ResponseWirelessSensorTestResultsResponseSummaryApPCONNECTIVITYWebServer struct { PassCount *int `json:"passCount,omitempty"` // Total passed test count + FailCount *int `json:"failCount,omitempty"` // Total failed test count } type ResponseWirelessSensorTestResultsResponseSummaryApPCONNECTIVITYFileTransfer struct { PassCount *float64 `json:"passCount,omitempty"` // Total passed test count - FailCount *int `json:"failCount,omitempty"` // Total failed test count + + FailCount *int `json:"failCount,omitempty"` // Total failed test count } type ResponseWirelessSensorTestResultsResponseSummaryRfASSESSMENT struct { DATARATE *ResponseWirelessSensorTestResultsResponseSummaryRfASSESSMENTDATARATE `json:"DATA_RATE,omitempty"` // - SNR *ResponseWirelessSensorTestResultsResponseSummaryRfASSESSMENTSNR `json:"SNR,omitempty"` // + + SNR *ResponseWirelessSensorTestResultsResponseSummaryRfASSESSMENTSNR `json:"SNR,omitempty"` // } type ResponseWirelessSensorTestResultsResponseSummaryRfASSESSMENTDATARATE struct { PassCount *int `json:"passCount,omitempty"` // Total passed test count + FailCount *int `json:"failCount,omitempty"` // Total failed test count } type ResponseWirelessSensorTestResultsResponseSummaryRfASSESSMENTSNR struct { - PassCount *int `json:"passCount,omitempty"` // Total passed test count + PassCount *int `json:"passCount,omitempty"` // Total passed test count + FailCount *float64 `json:"failCount,omitempty"` // Total failed test count } type ResponseWirelessSensorTestResultsResponseSummaryEmail struct { @@ -187,338 +282,597 @@ type ResponseWirelessSensorTestResultsResponseSummaryEmail struct { } type ResponseWirelessSensorTestResultsResponseSummaryEmailMailServer struct { PassCount *float64 `json:"passCount,omitempty"` // Total passed test count - FailCount *int `json:"failCount,omitempty"` // Total failed test count + + FailCount *int `json:"failCount,omitempty"` // Total failed test count } type ResponseWirelessSensorTestResultsResponseFailureStats struct { - ErrorCode *int `json:"errorCode,omitempty"` // The error code - ErrorTitle string `json:"errorTitle,omitempty"` // The error title - TestType string `json:"testType,omitempty"` // The test type + ErrorCode *int `json:"errorCode,omitempty"` // The error code + + ErrorTitle string `json:"errorTitle,omitempty"` // The error title + + TestType string `json:"testType,omitempty"` // The test type + TestCategory string `json:"testCategory,omitempty"` // The test category } type ResponseWirelessCreateAndProvisionSSID struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessDeleteSSIDAndProvisionItToDevices struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessRebootAccessPoints struct { Response *ResponseWirelessRebootAccessPointsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseWirelessRebootAccessPointsResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseWirelessGetAccessPointRebootTaskResult []ResponseItemWirelessGetAccessPointRebootTaskResult // Array of ResponseWirelessGetAccessPointRebootTaskResult type ResponseItemWirelessGetAccessPointRebootTaskResult struct { - WlcIP string `json:"wlcIP,omitempty"` // + WlcIP string `json:"wlcIP,omitempty"` // + ApList *[]ResponseItemWirelessGetAccessPointRebootTaskResultApList `json:"apList,omitempty"` // } type ResponseItemWirelessGetAccessPointRebootTaskResultApList struct { - ApName string `json:"apName,omitempty"` // - RebootStatus string `json:"rebootStatus,omitempty"` // + ApName string `json:"apName,omitempty"` // + + RebootStatus string `json:"rebootStatus,omitempty"` // + FailureReason *ResponseItemWirelessGetAccessPointRebootTaskResultApListFailureReason `json:"failureReason,omitempty"` // } type ResponseItemWirelessGetAccessPointRebootTaskResultApListFailureReason interface{} type ResponseWirelessGetEnterpriseSSID []ResponseItemWirelessGetEnterpriseSSID // Array of ResponseWirelessGetEnterpriseSSID type ResponseItemWirelessGetEnterpriseSSID struct { - InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid - Version *int `json:"version,omitempty"` // Version - SSIDDetails *[]ResponseItemWirelessGetEnterpriseSSIDSSIDDetails `json:"ssidDetails,omitempty"` // - GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid - InheritedGroupUUID string `json:"inheritedGroupUuid,omitempty"` // Inherited Group Uuid - InheritedGroupName string `json:"inheritedGroupName,omitempty"` // Inherited Group Name + InstanceUUID string `json:"instanceUuid,omitempty"` // Instance Uuid + + Version *int `json:"version,omitempty"` // Version + + SSIDDetails *[]ResponseItemWirelessGetEnterpriseSSIDSSIDDetails `json:"ssidDetails,omitempty"` // + + GroupUUID string `json:"groupUuid,omitempty"` // Group Uuid + + InheritedGroupUUID string `json:"inheritedGroupUuid,omitempty"` // Inherited Group Uuid + + InheritedGroupName string `json:"inheritedGroupName,omitempty"` // Inherited Group Name } type ResponseItemWirelessGetEnterpriseSSIDSSIDDetails struct { - Name string `json:"name,omitempty"` // SSID Name - WLANType string `json:"wlanType,omitempty"` // Wlan Type - EnableFastLane *bool `json:"enableFastLane,omitempty"` // Enable Fast Lane - SecurityLevel string `json:"securityLevel,omitempty"` // Security Level - AuthServer string `json:"authServer,omitempty"` // Auth Server - Passphrase string `json:"passphrase,omitempty"` // Passphrase - TrafficType string `json:"trafficType,omitempty"` // Traffic Type - EnableMacFiltering *bool `json:"enableMACFiltering,omitempty"` // Enable MAC Filtering - IsEnabled *bool `json:"isEnabled,omitempty"` // Is Enabled - IsFabric *bool `json:"isFabric,omitempty"` // Is Fabric - FastTransition string `json:"fastTransition,omitempty"` // Fast Transition - RadioPolicy string `json:"radioPolicy,omitempty"` // Radio Policy - EnableBroadcastSSID *bool `json:"enableBroadcastSSID,omitempty"` // Enable Broadcast SSID - NasOptions []string `json:"nasOptions,omitempty"` // Nas Options - AAAOverride *bool `json:"aaaOverride,omitempty"` // Aaa Override - CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Coverage Hole Detection Enable - ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // Protected Management Frame - MultipSKSettings *[]ResponseItemWirelessGetEnterpriseSSIDSSIDDetailsMultipSKSettings `json:"multiPSKSettings,omitempty"` // - ClientRateLimit *float64 `json:"clientRateLimit,omitempty"` // Client Rate Limit. (in bits per second) - EnableSessionTimeOut *bool `json:"enableSessionTimeOut,omitempty"` // Enable Session Time Out - SessionTimeOut *float64 `json:"sessionTimeOut,omitempty"` // sessionTimeOut - EnableClientExclusion *bool `json:"enableClientExclusion,omitempty"` // Enable Client Exclusion - ClientExclusionTimeout *float64 `json:"clientExclusionTimeout,omitempty"` // Client Exclusion Timeout - EnableBasicServiceSetMaxIDle *bool `json:"enableBasicServiceSetMaxIdle,omitempty"` // Enable Basic Service Set Max Idle - BasicServiceSetClientIDleTimeout *float64 `json:"basicServiceSetClientIdleTimeout,omitempty"` // Basic Service Set ClientIdle Timeout - EnableDirectedMulticastService *bool `json:"enableDirectedMulticastService,omitempty"` // Enable Directed MulticastService - EnableNeighborList *bool `json:"enableNeighborList,omitempty"` // Enable NeighborList - MfpClientProtection string `json:"mfpClientProtection,omitempty"` // Mfp Client Protection + Name string `json:"name,omitempty"` // SSID Name + + WLANType string `json:"wlanType,omitempty"` // Wlan Type + + EnableFastLane *bool `json:"enableFastLane,omitempty"` // Enable Fast Lane + + SecurityLevel string `json:"securityLevel,omitempty"` // Security Level + + AuthServer string `json:"authServer,omitempty"` // Auth Server + + Passphrase string `json:"passphrase,omitempty"` // Passphrase + + TrafficType string `json:"trafficType,omitempty"` // Traffic Type + + EnableMacFiltering *bool `json:"enableMACFiltering,omitempty"` // Enable MAC Filtering + + IsEnabled *bool `json:"isEnabled,omitempty"` // Is Enabled + + IsFabric *bool `json:"isFabric,omitempty"` // Is Fabric + + FastTransition string `json:"fastTransition,omitempty"` // Fast Transition + + RadioPolicy string `json:"radioPolicy,omitempty"` // Radio Policy + + EnableBroadcastSSID *bool `json:"enableBroadcastSSID,omitempty"` // Enable Broadcast SSID + + NasOptions []string `json:"nasOptions,omitempty"` // Nas Options + + AAAOverride *bool `json:"aaaOverride,omitempty"` // Aaa Override + + CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Coverage Hole Detection Enable + + ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // Protected Management Frame + + MultipSKSettings *[]ResponseItemWirelessGetEnterpriseSSIDSSIDDetailsMultipSKSettings `json:"multiPSKSettings,omitempty"` // + + ClientRateLimit *float64 `json:"clientRateLimit,omitempty"` // Client Rate Limit. (in bits per second) + + EnableSessionTimeOut *bool `json:"enableSessionTimeOut,omitempty"` // Enable Session Time Out + + SessionTimeOut *float64 `json:"sessionTimeOut,omitempty"` // sessionTimeOut + + EnableClientExclusion *bool `json:"enableClientExclusion,omitempty"` // Enable Client Exclusion + + ClientExclusionTimeout *float64 `json:"clientExclusionTimeout,omitempty"` // Client Exclusion Timeout + + EnableBasicServiceSetMaxIDle *bool `json:"enableBasicServiceSetMaxIdle,omitempty"` // Enable Basic Service Set Max Idle + + BasicServiceSetClientIDleTimeout *float64 `json:"basicServiceSetClientIdleTimeout,omitempty"` // Basic Service Set ClientIdle Timeout + + EnableDirectedMulticastService *bool `json:"enableDirectedMulticastService,omitempty"` // Enable Directed MulticastService + + EnableNeighborList *bool `json:"enableNeighborList,omitempty"` // Enable NeighborList + + MfpClientProtection string `json:"mfpClientProtection,omitempty"` // Mfp Client Protection } type ResponseItemWirelessGetEnterpriseSSIDSSIDDetailsMultipSKSettings struct { - Priority *int `json:"priority,omitempty"` // Priority + Priority *int `json:"priority,omitempty"` // Priority + PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type - Passphrase string `json:"passphrase,omitempty"` // Passphrase + + Passphrase string `json:"passphrase,omitempty"` // Passphrase } type ResponseWirelessCreateEnterpriseSSID struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessUpdateEnterpriseSSID struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessDeleteEnterpriseSSID struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessCreateSSID struct { Response *ResponseWirelessCreateSSIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessCreateSSIDResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGetSSIDBySite struct { Response *[]ResponseWirelessGetSSIDBySiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version of the response + + Version string `json:"version,omitempty"` // Version of the response } type ResponseWirelessGetSSIDBySiteResponse struct { - SSID string `json:"ssid,omitempty"` // Name of the SSID - AuthType string `json:"authType,omitempty"` // L2 Authentication Type (If authType is not open , then atleast one RSN Cipher Suite and corresponding valid AKM must be enabled) - Passphrase string `json:"passphrase,omitempty"` // Passphrase (Only applicable for SSID with PERSONAL security level). Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters - IsFastLaneEnabled *bool `json:"isFastLaneEnabled,omitempty"` // When set to true, MAC Filtering will be activated, allowing control over network access based on the MAC address of the device - IsMacFilteringEnabled *bool `json:"isMacFilteringEnabled,omitempty"` // True if MAC Filtering is enabled, else False - SSIDRadioType string `json:"ssidRadioType,omitempty"` // Radio Policy Enum (default: Triple band operation(2.4GHz, 5GHz and 6GHz)) - IsBroadcastSSID *bool `json:"isBroadcastSSID,omitempty"` // When activated by setting it to true, the Broadcast SSID feature will make the SSID publicly visible to wireless devices searching for available networks - FastTransition string `json:"fastTransition,omitempty"` // Fast Transition - SessionTimeOutEnable *bool `json:"sessionTimeOutEnable,omitempty"` // Turn on the feature that imposes a time limit on user sessions - SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // This denotes the allotted time span, expressed in seconds, before a session is automatically terminated due to inactivity - ClientExclusionEnable *bool `json:"clientExclusionEnable,omitempty"` // Activate the feature that allows for the exclusion of clients - ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // This refers to the length of time, in seconds, a client is excluded or blocked from accessing the network after a specified number of unsuccessful attempts - BasicServiceSetMaxIDleEnable *bool `json:"basicServiceSetMaxIdleEnable,omitempty"` // Activate the maximum idle feature for the Basic Service Set - BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // This refers to the duration of inactivity, measured in seconds, before a client connected to the Basic Service Set is considered idle and timed out - DirectedMulticastServiceEnable *bool `json:"directedMulticastServiceEnable,omitempty"` // The Directed Multicast Service feature becomes operational when it is set to true - NeighborListEnable *bool `json:"neighborListEnable,omitempty"` // The Neighbor List feature is enabled when it is set to true - ManagementFrameProtectionClientprotection string `json:"managementFrameProtectionClientprotection,omitempty"` // Management Frame Protection Client - NasOptions []string `json:"nasOptions,omitempty"` // Pre-Defined NAS Options : AP ETH Mac Address, AP IP address, AP Location , AP MAC Address, AP Name, AP Policy Tag, AP Site Tag, SSID, System IP Address, System MAC Address, System Name. - ProfileName string `json:"profileName,omitempty"` // WLAN Profile Name, if not passed autogenerated profile name will be assigned - PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name. If not passed, profileName value will be used to populate this parameter - AAAOverride *bool `json:"aaaOverride,omitempty"` // Activate the AAA Override feature when set to true - CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Activate Coverage Hole Detection feature when set to true - ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (REQUIRED is applicable for authType WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (OPTIONAL/REQUIRED is applicable for authType WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) - MultipSKSettings *[]ResponseWirelessGetSSIDBySiteResponseMultipSKSettings `json:"multiPSKSettings,omitempty"` // - ClientRateLimit *int `json:"clientRateLimit,omitempty"` // This pertains to the maximum data transfer rate, specified in bits per second, that a client is permitted to achieve - RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP256 encryption protocol is activated - RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP256 encryption protocol is activated - RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP128 encryption protocol is activated - RsnCipherSuiteCcmp128 *bool `json:"rsnCipherSuiteCcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP128 encryption protocol is activated - Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // True if 6 GHz Policy Client Steering is enabled, else False - IsAuthKey8021X *bool `json:"isAuthKey8021x,omitempty"` // When set to true, the 802.1X authentication key is in use - IsAuthKey8021XPlusFT *bool `json:"isAuthKey8021xPlusFT,omitempty"` // When set to true, the 802.1X-Plus-FT authentication key is in use - IsAuthKey8021XSHA256 *bool `json:"isAuthKey8021x_SHA256,omitempty"` // When set to true, the feature that enables 802.1X authentication using the SHA256 algorithm is turned on - IsAuthKeySae *bool `json:"isAuthKeySae,omitempty"` // When set to true, the feature enabling the Simultaneous Authentication of Equals (SAE) authentication key is activated - IsAuthKeySaePlusFT *bool `json:"isAuthKeySaePlusFT,omitempty"` // Activating this setting by switching it to true turns on the authentication key feature that supports both Simultaneous Authentication of Equals (SAE) and Fast Transition (FT) - IsAuthKeyPSK *bool `json:"isAuthKeyPSK,omitempty"` // When set to true, the Pre-shared Key (PSK) authentication feature is enabled - IsAuthKeyPSKPlusFT *bool `json:"isAuthKeyPSKPlusFT,omitempty"` // When set to true, the feature that enables the combination of Pre-shared Key (PSK) and Fast Transition (FT) authentication keys is activated - IsAuthKeyOWE *bool `json:"isAuthKeyOWE,omitempty"` // When set to true, the Opportunistic Wireless Encryption (OWE) authentication key feature is turned on - IsAuthKeyEasyPSK *bool `json:"isAuthKeyEasyPSK,omitempty"` // When set to true, the feature that enables the use of Easy Pre-shared Key (PSK) authentication is activated - IsAuthKeyPSKSHA256 *bool `json:"isAuthKeyPSKSHA256,omitempty"` // The feature that allows the use of Pre-shared Key (PSK) authentication with the SHA256 algorithm is enabled when it is set to true - OpenSSID string `json:"openSsid,omitempty"` // Open SSID which is already created in the design and not associated to any other OPEN-SECURED SSID - IsCustomNasIDOptions *bool `json:"isCustomNasIdOptions,omitempty"` // Set to true if Custom NAS ID Options provided - WLANBandSelectEnable *bool `json:"wlanBandSelectEnable,omitempty"` // Band select is allowed only when band options selected contains at least 2.4 GHz and 5 GHz band - IsEnabled *bool `json:"isEnabled,omitempty"` // Set SSID's admin status as 'Enabled' when set to true - AuthServers []string `json:"authServers,omitempty"` // List of Authentication/Authorization server IpAddresses - AcctServers []string `json:"acctServers,omitempty"` // List of Accounting server IpAddresses - EgressQos string `json:"egressQos,omitempty"` // Egress QOS - IngressQos string `json:"ingressQos,omitempty"` // Ingress QOS - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Site UUID from where the SSID is inherited - InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Site Name from where the SSID is inherited - WLANType string `json:"wlanType,omitempty"` // Wlan Type - L3AuthType string `json:"l3AuthType,omitempty"` // L3 Authentication Type - AuthServer string `json:"authServer,omitempty"` // Authentication Server, Mandatory for Guest SSIDs with wlanType=Guest and l3AuthType=web_auth - ExternalAuthIPAddress string `json:"externalAuthIpAddress,omitempty"` // External WebAuth URL (Mandatory for Guest SSIDs with wlanType = Guest, l3AuthType = web_auth and authServer = auth_external) - WebPassthrough *bool `json:"webPassthrough,omitempty"` // When set to true, the Web-Passthrough feature will be activated for the Guest SSID, allowing guests to bypass certain login requirements - SleepingClientEnable *bool `json:"sleepingClientEnable,omitempty"` // When set to true, this will activate the timeout settings that apply to clients in sleep mode - SleepingClientTimeout *int `json:"sleepingClientTimeout,omitempty"` // This refers to the amount of time, measured in minutes, before a sleeping (inactive) client is timed out of the network - ACLName string `json:"aclName,omitempty"` // Pre-Auth Access Control List (ACL) Name - IsPosturingEnabled *bool `json:"isPosturingEnabled,omitempty"` // Applicable only for Enterprise SSIDs. When set to True, Posturing will enabled. Required to be set to True if ACL needs to be mapped for Enterprise SSID. - IsAuthKeySuiteB1X *bool `json:"isAuthKeySuiteB1x,omitempty"` // When activated by setting it to true, the SuiteB-1x authentication key feature is engaged. - IsAuthKeySuiteB1921X *bool `json:"isAuthKeySuiteB1921x,omitempty"` // When set to true, the SuiteB192-1x authentication key feature is enabled. - IsAuthKeySaeExt *bool `json:"isAuthKeySaeExt,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) Extended Authentication key feature is turned on. - IsAuthKeySaeExtPlusFT *bool `json:"isAuthKeySaeExtPlusFT,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) combined with Fast Transition (FT) Authentication Key feature is enabled. - IsApBeaconProtectionEnabled *bool `json:"isApBeaconProtectionEnabled,omitempty"` // When set to true, the Access Point (AP) Beacon Protection feature is activated, enhancing the security of the network. - Ghz24Policy string `json:"ghz24Policy,omitempty"` // 2.4 Ghz Band Policy value. Allowed only when 2.4 Radio Band is enabled in ssidRadioType - CckmTsfTolerance *int `json:"cckmTsfTolerance,omitempty"` // Cckm TImestamp Tolerance(in milliseconds) - IsCckmEnabled *bool `json:"isCckmEnabled,omitempty"` // True if CCKM is enabled, else False - IsHex *bool `json:"isHex,omitempty"` // True if passphrase is in Hex format, else False. - IsSensorPnp *bool `json:"isSensorPnp,omitempty"` // True if SSID is a sensor SSID - ID string `json:"id,omitempty"` // SSID ID - IsRandomMacFilterEnabled *bool `json:"isRandomMacFilterEnabled,omitempty"` // Deny clients using randomized MAC addresses when set to true - FastTransitionOverTheDistributedSystemEnable *bool `json:"fastTransitionOverTheDistributedSystemEnable,omitempty"` // Enable Fast Transition over the Distributed System when set to true + SSID string `json:"ssid,omitempty"` // Name of the SSID + + AuthType string `json:"authType,omitempty"` // L2 Authentication Type (If authType is not open , then atleast one RSN Cipher Suite and corresponding valid AKM must be enabled) + + Passphrase string `json:"passphrase,omitempty"` // Passphrase (Only applicable for SSID with PERSONAL security level). Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters + + IsFastLaneEnabled *bool `json:"isFastLaneEnabled,omitempty"` // When set to true, MAC Filtering will be activated, allowing control over network access based on the MAC address of the device + + IsMacFilteringEnabled *bool `json:"isMacFilteringEnabled,omitempty"` // True if MAC Filtering is enabled, else False + + SSIDRadioType string `json:"ssidRadioType,omitempty"` // Radio Policy Enum (default: Triple band operation(2.4GHz, 5GHz and 6GHz)) + + IsBroadcastSSID *bool `json:"isBroadcastSSID,omitempty"` // When activated by setting it to true, the Broadcast SSID feature will make the SSID publicly visible to wireless devices searching for available networks + + FastTransition string `json:"fastTransition,omitempty"` // Fast Transition + + SessionTimeOutEnable *bool `json:"sessionTimeOutEnable,omitempty"` // Turn on the feature that imposes a time limit on user sessions + + SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // This denotes the allotted time span, expressed in seconds, before a session is automatically terminated due to inactivity + + ClientExclusionEnable *bool `json:"clientExclusionEnable,omitempty"` // Activate the feature that allows for the exclusion of clients + + ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // This refers to the length of time, in seconds, a client is excluded or blocked from accessing the network after a specified number of unsuccessful attempts + + BasicServiceSetMaxIDleEnable *bool `json:"basicServiceSetMaxIdleEnable,omitempty"` // Activate the maximum idle feature for the Basic Service Set + + BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // This refers to the duration of inactivity, measured in seconds, before a client connected to the Basic Service Set is considered idle and timed out + + DirectedMulticastServiceEnable *bool `json:"directedMulticastServiceEnable,omitempty"` // The Directed Multicast Service feature becomes operational when it is set to true + + NeighborListEnable *bool `json:"neighborListEnable,omitempty"` // The Neighbor List feature is enabled when it is set to true + + ManagementFrameProtectionClientprotection string `json:"managementFrameProtectionClientprotection,omitempty"` // Management Frame Protection Client + + NasOptions []string `json:"nasOptions,omitempty"` // Pre-Defined NAS Options : AP ETH Mac Address, AP IP address, AP Location , AP MAC Address, AP Name, AP Policy Tag, AP Site Tag, SSID, System IP Address, System MAC Address, System Name. + + ProfileName string `json:"profileName,omitempty"` // WLAN Profile Name, if not passed autogenerated profile name will be assigned + + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name. If not passed, profileName value will be used to populate this parameter + + AAAOverride *bool `json:"aaaOverride,omitempty"` // Activate the AAA Override feature when set to true + + CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Activate Coverage Hole Detection feature when set to true + + ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (REQUIRED is applicable for authType WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (OPTIONAL/REQUIRED is applicable for authType WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) + + MultipSKSettings *[]ResponseWirelessGetSSIDBySiteResponseMultipSKSettings `json:"multiPSKSettings,omitempty"` // + + ClientRateLimit *int `json:"clientRateLimit,omitempty"` // This pertains to the maximum data transfer rate, specified in bits per second, that a client is permitted to achieve + + RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP256 encryption protocol is activated + + RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP256 encryption protocol is activated + + RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP128 encryption protocol is activated + + RsnCipherSuiteCcmp128 *bool `json:"rsnCipherSuiteCcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP128 encryption protocol is activated + + Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // True if 6 GHz Policy Client Steering is enabled, else False + + IsAuthKey8021X *bool `json:"isAuthKey8021x,omitempty"` // When set to true, the 802.1X authentication key is in use + + IsAuthKey8021XPlusFT *bool `json:"isAuthKey8021xPlusFT,omitempty"` // When set to true, the 802.1X-Plus-FT authentication key is in use + + IsAuthKey8021XSHA256 *bool `json:"isAuthKey8021x_SHA256,omitempty"` // When set to true, the feature that enables 802.1X authentication using the SHA256 algorithm is turned on + + IsAuthKeySae *bool `json:"isAuthKeySae,omitempty"` // When set to true, the feature enabling the Simultaneous Authentication of Equals (SAE) authentication key is activated + + IsAuthKeySaePlusFT *bool `json:"isAuthKeySaePlusFT,omitempty"` // Activating this setting by switching it to true turns on the authentication key feature that supports both Simultaneous Authentication of Equals (SAE) and Fast Transition (FT) + + IsAuthKeyPSK *bool `json:"isAuthKeyPSK,omitempty"` // When set to true, the Pre-shared Key (PSK) authentication feature is enabled + + IsAuthKeyPSKPlusFT *bool `json:"isAuthKeyPSKPlusFT,omitempty"` // When set to true, the feature that enables the combination of Pre-shared Key (PSK) and Fast Transition (FT) authentication keys is activated + + IsAuthKeyOWE *bool `json:"isAuthKeyOWE,omitempty"` // When set to true, the Opportunistic Wireless Encryption (OWE) authentication key feature is turned on + + IsAuthKeyEasyPSK *bool `json:"isAuthKeyEasyPSK,omitempty"` // When set to true, the feature that enables the use of Easy Pre-shared Key (PSK) authentication is activated + + IsAuthKeyPSKSHA256 *bool `json:"isAuthKeyPSKSHA256,omitempty"` // The feature that allows the use of Pre-shared Key (PSK) authentication with the SHA256 algorithm is enabled when it is set to true + + OpenSSID string `json:"openSsid,omitempty"` // Open SSID which is already created in the design and not associated to any other OPEN-SECURED SSID + + IsCustomNasIDOptions *bool `json:"isCustomNasIdOptions,omitempty"` // Set to true if Custom NAS ID Options provided + + WLANBandSelectEnable *bool `json:"wlanBandSelectEnable,omitempty"` // Band select is allowed only when band options selected contains at least 2.4 GHz and 5 GHz band + + IsEnabled *bool `json:"isEnabled,omitempty"` // Set SSID's admin status as 'Enabled' when set to true + + AuthServers []string `json:"authServers,omitempty"` // List of Authentication/Authorization server IpAddresses + + AcctServers []string `json:"acctServers,omitempty"` // List of Accounting server IpAddresses + + EgressQos string `json:"egressQos,omitempty"` // Egress QOS + + IngressQos string `json:"ingressQos,omitempty"` // Ingress QOS + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Site UUID from where the SSID is inherited + + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Site Name from where the SSID is inherited + + WLANType string `json:"wlanType,omitempty"` // Wlan Type + + L3AuthType string `json:"l3AuthType,omitempty"` // L3 Authentication Type + + AuthServer string `json:"authServer,omitempty"` // Authentication Server, Mandatory for Guest SSIDs with wlanType=Guest and l3AuthType=web_auth + + ExternalAuthIPAddress string `json:"externalAuthIpAddress,omitempty"` // External WebAuth URL (Mandatory for Guest SSIDs with wlanType = Guest, l3AuthType = web_auth and authServer = auth_external) + + WebPassthrough *bool `json:"webPassthrough,omitempty"` // When set to true, the Web-Passthrough feature will be activated for the Guest SSID, allowing guests to bypass certain login requirements + + SleepingClientEnable *bool `json:"sleepingClientEnable,omitempty"` // When set to true, this will activate the timeout settings that apply to clients in sleep mode + + SleepingClientTimeout *int `json:"sleepingClientTimeout,omitempty"` // This refers to the amount of time, measured in minutes, before a sleeping (inactive) client is timed out of the network + + ACLName string `json:"aclName,omitempty"` // Pre-Auth Access Control List (ACL) Name + + IsPosturingEnabled *bool `json:"isPosturingEnabled,omitempty"` // Applicable only for Enterprise SSIDs. When set to True, Posturing will enabled. Required to be set to True if ACL needs to be mapped for Enterprise SSID. + + IsAuthKeySuiteB1X *bool `json:"isAuthKeySuiteB1x,omitempty"` // When activated by setting it to true, the SuiteB-1x authentication key feature is engaged. + + IsAuthKeySuiteB1921X *bool `json:"isAuthKeySuiteB1921x,omitempty"` // When set to true, the SuiteB192-1x authentication key feature is enabled. + + IsAuthKeySaeExt *bool `json:"isAuthKeySaeExt,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) Extended Authentication key feature is turned on. + + IsAuthKeySaeExtPlusFT *bool `json:"isAuthKeySaeExtPlusFT,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) combined with Fast Transition (FT) Authentication Key feature is enabled. + + IsApBeaconProtectionEnabled *bool `json:"isApBeaconProtectionEnabled,omitempty"` // When set to true, the Access Point (AP) Beacon Protection feature is activated, enhancing the security of the network. + + Ghz24Policy string `json:"ghz24Policy,omitempty"` // 2.4 Ghz Band Policy value. Allowed only when 2.4 Radio Band is enabled in ssidRadioType + + CckmTsfTolerance *int `json:"cckmTsfTolerance,omitempty"` // Cckm TImestamp Tolerance(in milliseconds) + + IsCckmEnabled *bool `json:"isCckmEnabled,omitempty"` // True if CCKM is enabled, else False + + IsHex *bool `json:"isHex,omitempty"` // True if passphrase is in Hex format, else False. + + IsSensorPnp *bool `json:"isSensorPnp,omitempty"` // True if SSID is a sensor SSID + + ID string `json:"id,omitempty"` // SSID ID + + IsRandomMacFilterEnabled *bool `json:"isRandomMacFilterEnabled,omitempty"` // Deny clients using randomized MAC addresses when set to true + + FastTransitionOverTheDistributedSystemEnable *bool `json:"fastTransitionOverTheDistributedSystemEnable,omitempty"` // Enable Fast Transition over the Distributed System when set to true + + InheritedSiteNameHierarchy string `json:"inheritedSiteNameHierarchy,omitempty"` // Inherited Site Name Hierarchy } type ResponseWirelessGetSSIDBySiteResponseMultipSKSettings struct { - Priority *int `json:"priority,omitempty"` // Priority + Priority *int `json:"priority,omitempty"` // Priority + PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type - Passphrase string `json:"passphrase,omitempty"` // Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters + + Passphrase string `json:"passphrase,omitempty"` // Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters } type ResponseWirelessGetSSIDCountBySite struct { Response *ResponseWirelessGetSSIDCountBySiteResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response Version + + Version string `json:"version,omitempty"` // Response Version } type ResponseWirelessGetSSIDCountBySiteResponse struct { Count *int `json:"count,omitempty"` // Count of the requested resource } type ResponseWirelessGetSSIDByID struct { Response *ResponseWirelessGetSSIDByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version of the response + + Version string `json:"version,omitempty"` // Version of the response } type ResponseWirelessGetSSIDByIDResponse struct { - SSID string `json:"ssid,omitempty"` // Name of the SSID - AuthType string `json:"authType,omitempty"` // L2 Authentication Type (If authType is not open , then atleast one RSN Cipher Suite and corresponding valid AKM must be enabled) - Passphrase string `json:"passphrase,omitempty"` // Passphrase (Only applicable for SSID with PERSONAL security level). Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters - IsFastLaneEnabled *bool `json:"isFastLaneEnabled,omitempty"` // True if FastLane is enabled, else False - IsMacFilteringEnabled *bool `json:"isMacFilteringEnabled,omitempty"` // When set to true, MAC Filtering will be activated, allowing control over network access based on the MAC address of the device - SSIDRadioType string `json:"ssidRadioType,omitempty"` // Radio Policy Enum (default: Triple band operation(2.4GHz, 5GHz and 6GHz)) - IsBroadcastSSID *bool `json:"isBroadcastSSID,omitempty"` // When activated by setting it to true, the Broadcast SSID feature will make the SSID publicly visible to wireless devices searching for available networks - FastTransition string `json:"fastTransition,omitempty"` // Fast Transition - SessionTimeOutEnable *bool `json:"sessionTimeOutEnable,omitempty"` // Turn on the feature that imposes a time limit on user sessions - SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // This denotes the allotted time span, expressed in seconds, before a session is automatically terminated due to inactivity - ClientExclusionEnable *bool `json:"clientExclusionEnable,omitempty"` // Activate the feature that allows for the exclusion of clients - ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // This refers to the length of time, in seconds, a client is excluded or blocked from accessing the network after a specified number of unsuccessful attempts - BasicServiceSetMaxIDleEnable *bool `json:"basicServiceSetMaxIdleEnable,omitempty"` // Activate the maximum idle feature for the Basic Service Set - BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // This refers to the duration of inactivity, measured in seconds, before a client connected to the Basic Service Set is considered idle and timed out - DirectedMulticastServiceEnable *bool `json:"directedMulticastServiceEnable,omitempty"` // The Directed Multicast Service feature becomes operational when it is set to true - NeighborListEnable *bool `json:"neighborListEnable,omitempty"` // The Neighbor List feature is enabled when it is set to true - ManagementFrameProtectionClientprotection string `json:"managementFrameProtectionClientprotection,omitempty"` // Management Frame Protection Client - NasOptions []string `json:"nasOptions,omitempty"` // Pre-Defined NAS Options : AP ETH Mac Address, AP IP address, AP Location , AP MAC Address, AP Name, AP Policy Tag, AP Site Tag, SSID, System IP Address, System MAC Address, System Name. - ProfileName string `json:"profileName,omitempty"` // WLAN Profile Name, if not passed autogenerated profile name will be assigned - PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name. If not passed, profileName value will be used to populate this parameter - AAAOverride *bool `json:"aaaOverride,omitempty"` // Activate the AAA Override feature when set to true - CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Activate Coverage Hole Detection feature when set to true - ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (REQUIRED is applicable for authType WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (OPTIONAL/REQUIRED is applicable for authType WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) - MultipSKSettings *[]ResponseWirelessGetSSIDByIDResponseMultipSKSettings `json:"multiPSKSettings,omitempty"` // - ClientRateLimit *int `json:"clientRateLimit,omitempty"` // This pertains to the maximum data transfer rate, specified in bits per second, that a client is permitted to achieve - RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP256 encryption protocol is activated - RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP256 encryption protocol is activated - RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP128 encryption protocol is activatedTrue if RSN Cipher Suite GCMP128 is enabled, else False - RsnCipherSuiteCcmp128 *bool `json:"rsnCipherSuiteCcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP128 encryption protocol is activated - Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // True if 6 GHz Policy Client Steering is enabled, else False - IsAuthKey8021X *bool `json:"isAuthKey8021x,omitempty"` // When set to true, the 802.1X authentication key is in use - IsAuthKey8021XPlusFT *bool `json:"isAuthKey8021xPlusFT,omitempty"` // When set to true, the 802.1X-Plus-FT authentication key is in use - IsAuthKey8021XSHA256 *bool `json:"isAuthKey8021x_SHA256,omitempty"` // When set to true, the feature that enables 802.1X authentication using the SHA256 algorithm is turned on - IsAuthKeySae *bool `json:"isAuthKeySae,omitempty"` // When set to true, the feature enabling the Simultaneous Authentication of Equals (SAE) authentication key is activated - IsAuthKeySaePlusFT *bool `json:"isAuthKeySaePlusFT,omitempty"` // Activating this setting by switching it to true turns on the authentication key feature that supports both Simultaneous Authentication of Equals (SAE) and Fast Transition (FT) - IsAuthKeyPSK *bool `json:"isAuthKeyPSK,omitempty"` // When set to true, the Pre-shared Key (PSK) authentication feature is enabled - IsAuthKeyPSKPlusFT *bool `json:"isAuthKeyPSKPlusFT,omitempty"` // When set to true, the feature that enables the combination of Pre-shared Key (PSK) and Fast Transition (FT) authentication keys is activated - IsAuthKeyOWE *bool `json:"isAuthKeyOWE,omitempty"` // When set to true, the Opportunistic Wireless Encryption (OWE) authentication key feature is turned on - IsAuthKeyEasyPSK *bool `json:"isAuthKeyEasyPSK,omitempty"` // When set to true, the feature that enables the use of Easy Pre-shared Key (PSK) authentication is activated - IsAuthKeyPSKSHA256 *bool `json:"isAuthKeyPSKSHA256,omitempty"` // The feature that allows the use of Pre-shared Key (PSK) authentication with the SHA256 algorithm is enabled when it is set to true - OpenSSID string `json:"openSsid,omitempty"` // Open SSID which is already created in the design and not associated to any other OPEN-SECURED SSID - IsCustomNasIDOptions *bool `json:"isCustomNasIdOptions,omitempty"` // Set to true if Custom NAS ID Options provided - WLANBandSelectEnable *bool `json:"wlanBandSelectEnable,omitempty"` // Band select is allowed only when band options selected contains at least 2.4 GHz and 5 GHz band - IsEnabled *bool `json:"isEnabled,omitempty"` // Set SSID's admin status as 'Enabled' when set to true - AuthServers []string `json:"authServers,omitempty"` // List of Authentication/Authorization server IpAddresses - AcctServers []string `json:"acctServers,omitempty"` // List of Accounting server IpAddresses - EgressQos string `json:"egressQos,omitempty"` // Egress QOS - IngressQos string `json:"ingressQos,omitempty"` // Ingress QOS - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Site UUID from where the SSID is inherited - InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Site Name from where the SSID is inherited - WLANType string `json:"wlanType,omitempty"` // Wlan Type - L3AuthType string `json:"l3AuthType,omitempty"` // L3 Authentication Type - AuthServer string `json:"authServer,omitempty"` // Authentication Server, Mandatory for Guest SSIDs with wlanType=Guest and l3AuthType=web_auth - ExternalAuthIPAddress string `json:"externalAuthIpAddress,omitempty"` // External WebAuth URL (Mandatory for Guest SSIDs with wlanType = Guest, l3AuthType = web_auth and authServer = auth_external) - WebPassthrough *bool `json:"webPassthrough,omitempty"` // When set to true, the Web-Passthrough feature will be activated for the Guest SSID, allowing guests to bypass certain login requirements - SleepingClientEnable *bool `json:"sleepingClientEnable,omitempty"` // When set to true, this will activate the timeout settings that apply to clients in sleep mode - SleepingClientTimeout *int `json:"sleepingClientTimeout,omitempty"` // This refers to the amount of time, measured in minutes, before a sleeping (inactive) client is timed out of the network - ACLName string `json:"aclName,omitempty"` // Pre-Auth Access Control List (ACL) Name - IsPosturingEnabled *bool `json:"isPosturingEnabled,omitempty"` // Applicable only for Enterprise SSIDs. When set to True, Posturing will enabled. Required to be set to True if ACL needs to be mapped for Enterprise SSID. - IsAuthKeySuiteB1X *bool `json:"isAuthKeySuiteB1x,omitempty"` // When activated by setting it to true, the SuiteB-1x authentication key feature is engaged. - IsAuthKeySuiteB1921X *bool `json:"isAuthKeySuiteB1921x,omitempty"` // When set to true, the SuiteB192-1x authentication key feature is enabled. - IsAuthKeySaeExt *bool `json:"isAuthKeySaeExt,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) Extended Authentication key feature is turned on. - IsAuthKeySaeExtPlusFT *bool `json:"isAuthKeySaeExtPlusFT,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) combined with Fast Transition (FT) Authentication Key feature is enabled. - IsApBeaconProtectionEnabled *bool `json:"isApBeaconProtectionEnabled,omitempty"` // When set to true, the Access Point (AP) Beacon Protection feature is activated, enhancing the security of the network. - Ghz24Policy string `json:"ghz24Policy,omitempty"` // 2.4 Ghz Band Policy value. Allowed only when 2.4 Radio Band is enabled in ssidRadioType - CckmTsfTolerance *int `json:"cckmTsfTolerance,omitempty"` // Cckm TImestamp Tolerance(in milliseconds) - IsCckmEnabled *bool `json:"isCckmEnabled,omitempty"` // True if CCKM is enabled, else False - IsHex *bool `json:"isHex,omitempty"` // True if passphrase is in Hex format, else False. - IsSensorPnp *bool `json:"isSensorPnp,omitempty"` // True if SSID is a sensor SSID - ID string `json:"id,omitempty"` // SSID ID - IsRandomMacFilterEnabled *bool `json:"isRandomMacFilterEnabled,omitempty"` // Deny clients using randomized MAC addresses when set to true - FastTransitionOverTheDistributedSystemEnable *bool `json:"fastTransitionOverTheDistributedSystemEnable,omitempty"` // Enable Fast Transition over the Distributed System when set to true + SSID string `json:"ssid,omitempty"` // Name of the SSID + + AuthType string `json:"authType,omitempty"` // L2 Authentication Type (If authType is not open , then atleast one RSN Cipher Suite and corresponding valid AKM must be enabled) + + Passphrase string `json:"passphrase,omitempty"` // Passphrase (Only applicable for SSID with PERSONAL security level). Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters + + IsFastLaneEnabled *bool `json:"isFastLaneEnabled,omitempty"` // True if FastLane is enabled, else False + + IsMacFilteringEnabled *bool `json:"isMacFilteringEnabled,omitempty"` // When set to true, MAC Filtering will be activated, allowing control over network access based on the MAC address of the device + + SSIDRadioType string `json:"ssidRadioType,omitempty"` // Radio Policy Enum (default: Triple band operation(2.4GHz, 5GHz and 6GHz)) + + IsBroadcastSSID *bool `json:"isBroadcastSSID,omitempty"` // When activated by setting it to true, the Broadcast SSID feature will make the SSID publicly visible to wireless devices searching for available networks + + FastTransition string `json:"fastTransition,omitempty"` // Fast Transition + + SessionTimeOutEnable *bool `json:"sessionTimeOutEnable,omitempty"` // Turn on the feature that imposes a time limit on user sessions + + SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // This denotes the allotted time span, expressed in seconds, before a session is automatically terminated due to inactivity + + ClientExclusionEnable *bool `json:"clientExclusionEnable,omitempty"` // Activate the feature that allows for the exclusion of clients + + ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // This refers to the length of time, in seconds, a client is excluded or blocked from accessing the network after a specified number of unsuccessful attempts + + BasicServiceSetMaxIDleEnable *bool `json:"basicServiceSetMaxIdleEnable,omitempty"` // Activate the maximum idle feature for the Basic Service Set + + BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // This refers to the duration of inactivity, measured in seconds, before a client connected to the Basic Service Set is considered idle and timed out + + DirectedMulticastServiceEnable *bool `json:"directedMulticastServiceEnable,omitempty"` // The Directed Multicast Service feature becomes operational when it is set to true + + NeighborListEnable *bool `json:"neighborListEnable,omitempty"` // The Neighbor List feature is enabled when it is set to true + + ManagementFrameProtectionClientprotection string `json:"managementFrameProtectionClientprotection,omitempty"` // Management Frame Protection Client + + NasOptions []string `json:"nasOptions,omitempty"` // Pre-Defined NAS Options : AP ETH Mac Address, AP IP address, AP Location , AP MAC Address, AP Name, AP Policy Tag, AP Site Tag, SSID, System IP Address, System MAC Address, System Name. + + ProfileName string `json:"profileName,omitempty"` // WLAN Profile Name, if not passed autogenerated profile name will be assigned + + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name. If not passed, profileName value will be used to populate this parameter + + AAAOverride *bool `json:"aaaOverride,omitempty"` // Activate the AAA Override feature when set to true + + CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Activate Coverage Hole Detection feature when set to true + + ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (REQUIRED is applicable for authType WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (OPTIONAL/REQUIRED is applicable for authType WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) + + MultipSKSettings *[]ResponseWirelessGetSSIDByIDResponseMultipSKSettings `json:"multiPSKSettings,omitempty"` // + + ClientRateLimit *int `json:"clientRateLimit,omitempty"` // This pertains to the maximum data transfer rate, specified in bits per second, that a client is permitted to achieve + + RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP256 encryption protocol is activated + + RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP256 encryption protocol is activated + + RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP128 encryption protocol is activatedTrue if RSN Cipher Suite GCMP128 is enabled, else False + + RsnCipherSuiteCcmp128 *bool `json:"rsnCipherSuiteCcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP128 encryption protocol is activated + + Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // True if 6 GHz Policy Client Steering is enabled, else False + + IsAuthKey8021X *bool `json:"isAuthKey8021x,omitempty"` // When set to true, the 802.1X authentication key is in use + + IsAuthKey8021XPlusFT *bool `json:"isAuthKey8021xPlusFT,omitempty"` // When set to true, the 802.1X-Plus-FT authentication key is in use + + IsAuthKey8021XSHA256 *bool `json:"isAuthKey8021x_SHA256,omitempty"` // When set to true, the feature that enables 802.1X authentication using the SHA256 algorithm is turned on + + IsAuthKeySae *bool `json:"isAuthKeySae,omitempty"` // When set to true, the feature enabling the Simultaneous Authentication of Equals (SAE) authentication key is activated + + IsAuthKeySaePlusFT *bool `json:"isAuthKeySaePlusFT,omitempty"` // Activating this setting by switching it to true turns on the authentication key feature that supports both Simultaneous Authentication of Equals (SAE) and Fast Transition (FT) + + IsAuthKeyPSK *bool `json:"isAuthKeyPSK,omitempty"` // When set to true, the Pre-shared Key (PSK) authentication feature is enabled + + IsAuthKeyPSKPlusFT *bool `json:"isAuthKeyPSKPlusFT,omitempty"` // When set to true, the feature that enables the combination of Pre-shared Key (PSK) and Fast Transition (FT) authentication keys is activated + + IsAuthKeyOWE *bool `json:"isAuthKeyOWE,omitempty"` // When set to true, the Opportunistic Wireless Encryption (OWE) authentication key feature is turned on + + IsAuthKeyEasyPSK *bool `json:"isAuthKeyEasyPSK,omitempty"` // When set to true, the feature that enables the use of Easy Pre-shared Key (PSK) authentication is activated + + IsAuthKeyPSKSHA256 *bool `json:"isAuthKeyPSKSHA256,omitempty"` // The feature that allows the use of Pre-shared Key (PSK) authentication with the SHA256 algorithm is enabled when it is set to true + + OpenSSID string `json:"openSsid,omitempty"` // Open SSID which is already created in the design and not associated to any other OPEN-SECURED SSID + + IsCustomNasIDOptions *bool `json:"isCustomNasIdOptions,omitempty"` // Set to true if Custom NAS ID Options provided + + WLANBandSelectEnable *bool `json:"wlanBandSelectEnable,omitempty"` // Band select is allowed only when band options selected contains at least 2.4 GHz and 5 GHz band + + IsEnabled *bool `json:"isEnabled,omitempty"` // Set SSID's admin status as 'Enabled' when set to true + + AuthServers []string `json:"authServers,omitempty"` // List of Authentication/Authorization server IpAddresses + + AcctServers []string `json:"acctServers,omitempty"` // List of Accounting server IpAddresses + + EgressQos string `json:"egressQos,omitempty"` // Egress QOS + + IngressQos string `json:"ingressQos,omitempty"` // Ingress QOS + + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Site UUID from where the SSID is inherited + + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Site Name from where the SSID is inherited + + WLANType string `json:"wlanType,omitempty"` // Wlan Type + + L3AuthType string `json:"l3AuthType,omitempty"` // L3 Authentication Type + + AuthServer string `json:"authServer,omitempty"` // Authentication Server, Mandatory for Guest SSIDs with wlanType=Guest and l3AuthType=web_auth + + ExternalAuthIPAddress string `json:"externalAuthIpAddress,omitempty"` // External WebAuth URL (Mandatory for Guest SSIDs with wlanType = Guest, l3AuthType = web_auth and authServer = auth_external) + + WebPassthrough *bool `json:"webPassthrough,omitempty"` // When set to true, the Web-Passthrough feature will be activated for the Guest SSID, allowing guests to bypass certain login requirements + + SleepingClientEnable *bool `json:"sleepingClientEnable,omitempty"` // When set to true, this will activate the timeout settings that apply to clients in sleep mode + + SleepingClientTimeout *int `json:"sleepingClientTimeout,omitempty"` // This refers to the amount of time, measured in minutes, before a sleeping (inactive) client is timed out of the network + + ACLName string `json:"aclName,omitempty"` // Pre-Auth Access Control List (ACL) Name + + IsPosturingEnabled *bool `json:"isPosturingEnabled,omitempty"` // Applicable only for Enterprise SSIDs. When set to True, Posturing will enabled. Required to be set to True if ACL needs to be mapped for Enterprise SSID. + + IsAuthKeySuiteB1X *bool `json:"isAuthKeySuiteB1x,omitempty"` // When activated by setting it to true, the SuiteB-1x authentication key feature is engaged. + + IsAuthKeySuiteB1921X *bool `json:"isAuthKeySuiteB1921x,omitempty"` // When set to true, the SuiteB192-1x authentication key feature is enabled. + + IsAuthKeySaeExt *bool `json:"isAuthKeySaeExt,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) Extended Authentication key feature is turned on. + + IsAuthKeySaeExtPlusFT *bool `json:"isAuthKeySaeExtPlusFT,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) combined with Fast Transition (FT) Authentication Key feature is enabled. + + IsApBeaconProtectionEnabled *bool `json:"isApBeaconProtectionEnabled,omitempty"` // When set to true, the Access Point (AP) Beacon Protection feature is activated, enhancing the security of the network. + + Ghz24Policy string `json:"ghz24Policy,omitempty"` // 2.4 Ghz Band Policy value. Allowed only when 2.4 Radio Band is enabled in ssidRadioType + + CckmTsfTolerance *int `json:"cckmTsfTolerance,omitempty"` // Cckm TImestamp Tolerance(in milliseconds) + + IsCckmEnabled *bool `json:"isCckmEnabled,omitempty"` // True if CCKM is enabled, else False + + IsHex *bool `json:"isHex,omitempty"` // True if passphrase is in Hex format, else False. + + IsSensorPnp *bool `json:"isSensorPnp,omitempty"` // True if SSID is a sensor SSID + + ID string `json:"id,omitempty"` // SSID ID + + IsRandomMacFilterEnabled *bool `json:"isRandomMacFilterEnabled,omitempty"` // Deny clients using randomized MAC addresses when set to true + + FastTransitionOverTheDistributedSystemEnable *bool `json:"fastTransitionOverTheDistributedSystemEnable,omitempty"` // Enable Fast Transition over the Distributed System when set to true + + InheritedSiteNameHierarchy string `json:"inheritedSiteNameHierarchy,omitempty"` // Inherited Site Name Hierarchy + + InheritedSiteUUID string `json:"inheritedSiteUUID,omitempty"` // Inherited Site UUID } type ResponseWirelessGetSSIDByIDResponseMultipSKSettings struct { - Priority *int `json:"priority,omitempty"` // Priority + Priority *int `json:"priority,omitempty"` // Priority + PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type - Passphrase string `json:"passphrase,omitempty"` // Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters + + Passphrase string `json:"passphrase,omitempty"` // Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters } type ResponseWirelessUpdateSSID struct { Response *ResponseWirelessUpdateSSIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessUpdateSSIDResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessDeleteSSID struct { Response *ResponseWirelessDeleteSSIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessDeleteSSIDResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessUpdateOrOverridessid struct { + Response *ResponseWirelessUpdateOrOverridessidResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateOrOverridessidResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessDeleteWirelessProfile struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessConfigureAccessPoints struct { Response *ResponseWirelessConfigureAccessPointsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + Version string `json:"version,omitempty"` // } type ResponseWirelessConfigureAccessPointsResponse struct { TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + + URL string `json:"url,omitempty"` // } -type ResponseWirelessGetAccessPointConfigurationTaskResult []ResponseItemWirelessGetAccessPointConfigurationTaskResult // Array of ResponseWirelessGetAccessPointConfigurationTaskResult -type ResponseItemWirelessGetAccessPointConfigurationTaskResult struct { - InstanceUUID *ResponseItemWirelessGetAccessPointConfigurationTaskResultInstanceUUID `json:"instanceUuid,omitempty"` // - InstanceID *float64 `json:"instanceId,omitempty"` // - AuthEntityID *ResponseItemWirelessGetAccessPointConfigurationTaskResultAuthEntityID `json:"authEntityId,omitempty"` // - DisplayName string `json:"displayName,omitempty"` // - AuthEntityClass *ResponseItemWirelessGetAccessPointConfigurationTaskResultAuthEntityClass `json:"authEntityClass,omitempty"` // - InstanceTenantID string `json:"instanceTenantId,omitempty"` // - OrderedListOEIndex *float64 `json:"_orderedListOEIndex,omitempty"` // - OrderedListOEAssocName *ResponseItemWirelessGetAccessPointConfigurationTaskResultOrderedListOEAssocName `json:"_orderedListOEAssocName,omitempty"` // - CreationOrderIndex *float64 `json:"_creationOrderIndex,omitempty"` // - IsBeingChanged *bool `json:"_isBeingChanged,omitempty"` // - DeployPending string `json:"deployPending,omitempty"` // - InstanceCreatedOn *ResponseItemWirelessGetAccessPointConfigurationTaskResultInstanceCreatedOn `json:"instanceCreatedOn,omitempty"` // - InstanceUpdatedOn *ResponseItemWirelessGetAccessPointConfigurationTaskResultInstanceUpdatedOn `json:"instanceUpdatedOn,omitempty"` // - ChangeLogList *ResponseItemWirelessGetAccessPointConfigurationTaskResultChangeLogList `json:"changeLogList,omitempty"` // - InstanceOrigin *ResponseItemWirelessGetAccessPointConfigurationTaskResultInstanceOrigin `json:"instanceOrigin,omitempty"` // - LazyLoadedEntities *ResponseItemWirelessGetAccessPointConfigurationTaskResultLazyLoadedEntities `json:"lazyLoadedEntities,omitempty"` // - InstanceVersion *float64 `json:"instanceVersion,omitempty"` // - ApName string `json:"apName,omitempty"` // - ControllerName string `json:"controllerName,omitempty"` // - LocationHeirarchy string `json:"locationHeirarchy,omitempty"` // - MacAddress string `json:"macAddress,omitempty"` // - Status string `json:"status,omitempty"` // - StatusDetails string `json:"statusDetails,omitempty"` // - InternalKey *ResponseItemWirelessGetAccessPointConfigurationTaskResultInternalKey `json:"internalKey,omitempty"` // +type ResponseWirelessGetAccessPointConfigurationCount struct { + Response *ResponseWirelessGetAccessPointConfigurationCountResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version +} +type ResponseWirelessGetAccessPointConfigurationCountResponse struct { + Count *int `json:"count,omitempty"` // Count of the requested resource +} +type ResponseWirelessGetAccessPointConfigurationTaskResult []ResponseItemWirelessGetAccessPointConfigurationTaskResult // Array of ResponseWirelessGetAccessPointConfigurationTaskResult +type ResponseItemWirelessGetAccessPointConfigurationTaskResult struct { + InstanceUUID *ResponseItemWirelessGetAccessPointConfigurationTaskResultInstanceUUID `json:"instanceUuid,omitempty"` // + + InstanceID *float64 `json:"instanceId,omitempty"` // + + AuthEntityID *ResponseItemWirelessGetAccessPointConfigurationTaskResultAuthEntityID `json:"authEntityId,omitempty"` // + + DisplayName string `json:"displayName,omitempty"` // + + AuthEntityClass *ResponseItemWirelessGetAccessPointConfigurationTaskResultAuthEntityClass `json:"authEntityClass,omitempty"` // + + InstanceTenantID string `json:"instanceTenantId,omitempty"` // + + OrderedListOEIndex *float64 `json:"_orderedListOEIndex,omitempty"` // + + OrderedListOEAssocName *ResponseItemWirelessGetAccessPointConfigurationTaskResultOrderedListOEAssocName `json:"_orderedListOEAssocName,omitempty"` // + + CreationOrderIndex *float64 `json:"_creationOrderIndex,omitempty"` // + + IsBeingChanged *bool `json:"_isBeingChanged,omitempty"` // + + DeployPending string `json:"deployPending,omitempty"` // + + InstanceCreatedOn *ResponseItemWirelessGetAccessPointConfigurationTaskResultInstanceCreatedOn `json:"instanceCreatedOn,omitempty"` // + + InstanceUpdatedOn *ResponseItemWirelessGetAccessPointConfigurationTaskResultInstanceUpdatedOn `json:"instanceUpdatedOn,omitempty"` // + + ChangeLogList *ResponseItemWirelessGetAccessPointConfigurationTaskResultChangeLogList `json:"changeLogList,omitempty"` // + + InstanceOrigin *ResponseItemWirelessGetAccessPointConfigurationTaskResultInstanceOrigin `json:"instanceOrigin,omitempty"` // + + LazyLoadedEntities *ResponseItemWirelessGetAccessPointConfigurationTaskResultLazyLoadedEntities `json:"lazyLoadedEntities,omitempty"` // + + InstanceVersion *float64 `json:"instanceVersion,omitempty"` // + + ApName string `json:"apName,omitempty"` // + + ControllerName string `json:"controllerName,omitempty"` // + + LocationHeirarchy string `json:"locationHeirarchy,omitempty"` // + + MacAddress string `json:"macAddress,omitempty"` // + + Status string `json:"status,omitempty"` // + + StatusDetails string `json:"statusDetails,omitempty"` // + + InternalKey *ResponseItemWirelessGetAccessPointConfigurationTaskResultInternalKey `json:"internalKey,omitempty"` // } type ResponseItemWirelessGetAccessPointConfigurationTaskResultInstanceUUID interface{} type ResponseItemWirelessGetAccessPointConfigurationTaskResultAuthEntityID interface{} @@ -530,10 +884,13 @@ type ResponseItemWirelessGetAccessPointConfigurationTaskResultChangeLogList inte type ResponseItemWirelessGetAccessPointConfigurationTaskResultInstanceOrigin interface{} type ResponseItemWirelessGetAccessPointConfigurationTaskResultLazyLoadedEntities interface{} type ResponseItemWirelessGetAccessPointConfigurationTaskResultInternalKey struct { - Type string `json:"type,omitempty"` // - ID *float64 `json:"id,omitempty"` // - LongType string `json:"longType,omitempty"` // - URL string `json:"url,omitempty"` // + Type string `json:"type,omitempty"` // + + ID *float64 `json:"id,omitempty"` // + + LongType string `json:"longType,omitempty"` // + + URL string `json:"url,omitempty"` // } type ResponseWirelessGetAccessPointConfiguration struct { InstanceUUID *ResponseWirelessGetAccessPointConfigurationInstanceUUID `json:"instanceUuid,omitempty"` // @@ -644,50 +1001,71 @@ type ResponseWirelessGetAccessPointConfigurationInternalKey struct { URL string `json:"url,omitempty"` // } type ResponseWirelessApProvisionConnectivity struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status URL - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessDeleteDynamicInterface struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status URL - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessCreateUpdateDynamicInterface struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status URL - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessGetDynamicInterface []ResponseItemWirelessGetDynamicInterface // Array of ResponseWirelessGetDynamicInterface type ResponseItemWirelessGetDynamicInterface struct { - InterfaceName string `json:"interfaceName,omitempty"` // dynamic interface name - VLANID *float64 `json:"vlanId,omitempty"` // Vlan id + InterfaceName string `json:"interfaceName,omitempty"` // dynamic interface name + + VLANID *float64 `json:"vlanId,omitempty"` // Vlan id } type ResponseWirelessUpdateWirelessProfile struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessCreateWirelessProfile struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessGetWirelessProfile []ResponseItemWirelessGetWirelessProfile // Array of ResponseWirelessGetWirelessProfile type ResponseItemWirelessGetWirelessProfile struct { ProfileDetails *ResponseItemWirelessGetWirelessProfileProfileDetails `json:"profileDetails,omitempty"` // } type ResponseItemWirelessGetWirelessProfileProfileDetails struct { - Name string `json:"name,omitempty"` // Profile Name - Sites []string `json:"sites,omitempty"` // array of site name hierarchies(eg: ["Global/aaa/zzz", "Global/aaa/zzz"]) + Name string `json:"name,omitempty"` // Profile Name + + Sites []string `json:"sites,omitempty"` // array of site name hierarchies(eg: ["Global/aaa/zzz", "Global/aaa/zzz"]) + SSIDDetails *[]ResponseItemWirelessGetWirelessProfileProfileDetailsSSIDDetails `json:"ssidDetails,omitempty"` // } type ResponseItemWirelessGetWirelessProfileProfileDetailsSSIDDetails struct { - Name string `json:"name,omitempty"` // SSID Name - Type string `json:"type,omitempty"` // SSID Type(enum: Enterprise/Guest) - EnableFabric *bool `json:"enableFabric,omitempty"` // true if fabric is enabled else false - FlexConnect *ResponseItemWirelessGetWirelessProfileProfileDetailsSSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + Name string `json:"name,omitempty"` // SSID Name + + Type string `json:"type,omitempty"` // SSID Type(enum: Enterprise/Guest) + + EnableFabric *bool `json:"enableFabric,omitempty"` // true if fabric is enabled else false + + FlexConnect *ResponseItemWirelessGetWirelessProfileProfileDetailsSSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name + + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name } func (r *ResponseItemWirelessGetWirelessProfileProfileDetailsSSIDDetails) UnmarshalJSON(data []byte) error { @@ -725,1379 +1103,5124 @@ func (r *ResponseItemWirelessGetWirelessProfileProfileDetailsSSIDDetails) Unmars type ResponseItemWirelessGetWirelessProfileProfileDetailsSSIDDetailsFlexConnect struct { EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // true if flex connect is enabled else false - LocalToVLAN *int `json:"localToVlan,omitempty"` // Local To VLAN ID + + LocalToVLAN *int `json:"localToVlan,omitempty"` // Local To VLAN ID } type ResponseWirelessProvisionUpdate struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessProvision struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessPSKOverride struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessRetrieveRfProfiles struct { - Name string `json:"name,omitempty"` // RF Profile Name - DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // is Default Rf Profile - EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // Enable Radio Type A - EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // Enable Radio Type B - ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width - EnableCustom *bool `json:"enableCustom,omitempty"` // Enable Custom - EnableBrownField *bool `json:"enableBrownField,omitempty"` // Enable Brown Field + Name string `json:"name,omitempty"` // RF Profile Name + + DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // is Default Rf Profile + + EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // Enable Radio Type A + + EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // Enable Radio Type B + + ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width + + EnableCustom *bool `json:"enableCustom,omitempty"` // Enable Custom + + EnableBrownField *bool `json:"enableBrownField,omitempty"` // Enable Brown Field + RadioTypeAProperties *ResponseWirelessRetrieveRfProfilesRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // + RadioTypeBProperties *ResponseWirelessRetrieveRfProfilesRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // + RadioTypeCProperties *ResponseWirelessRetrieveRfProfilesRadioTypeCProperties `json:"radioTypeCProperties,omitempty"` // - EnableRadioTypeC *bool `json:"enableRadioTypeC,omitempty"` // Enable Radio Type C (6GHz) + + EnableRadioTypeC *bool `json:"enableRadioTypeC,omitempty"` // Enable Radio Type C (6GHz) } type ResponseWirelessRetrieveRfProfilesRadioTypeAProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) - RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "36,40,44,48,52,56,60,64,149,153,157,161") - DataRates string `json:"dataRates,omitempty"` // Data Rates (Default : "6,9,12,18,24,36,48,54") - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "6,12,24") - PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold ( (Default: -70) - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") - MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Rx Sop Threshold (Default: -10) - MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) + ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) + + RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "36,40,44,48,52,56,60,64,149,153,157,161") + + DataRates string `json:"dataRates,omitempty"` // Data Rates (Default : "6,9,12,18,24,36,48,54") + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "6,12,24") + + PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold ( (Default: -70) + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") + + MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Rx Sop Threshold (Default: -10) + + MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) } type ResponseWirelessRetrieveRfProfilesRadioTypeBProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) - RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "9,11,12,18,24,36,48,54") - DataRates string `json:"dataRates,omitempty"` // Data Rates (Default: "9,11,12,18,24,36,48,54") - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "12") - PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold (Default: -70) - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") - MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Min Power Level (Default: -10) - MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) + ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) + + RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "9,11,12,18,24,36,48,54") + + DataRates string `json:"dataRates,omitempty"` // Data Rates (Default: "9,11,12,18,24,36,48,54") + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "12") + + PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold (Default: -70) + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") + + MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Min Power Level (Default: -10) + + MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) } type ResponseWirelessRetrieveRfProfilesRadioTypeCProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) - RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "5,21,37,53,69,85,101,117,133,149,165,181,197,213,229") - DataRates string `json:"dataRates,omitempty"` // Data Rates (Default: "6,9,12,18,24,36,48,54") - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "6,12,24") - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") - MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Min Power Level (Default: -10) - MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) - PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold (Default: -70) + ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) + + RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "5,21,37,53,69,85,101,117,133,149,165,181,197,213,229") + + DataRates string `json:"dataRates,omitempty"` // Data Rates (Default: "6,9,12,18,24,36,48,54") + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "6,12,24") + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") + + MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Min Power Level (Default: -10) + + MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) + + PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold (Default: -70) } type ResponseWirelessCreateOrUpdateRfProfile struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessDeleteRfProfiles struct { - ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionID string `json:"executionId,omitempty"` // Execution Id + ExecutionStatusURL string `json:"executionStatusUrl,omitempty"` // Execution Status Url - Message string `json:"message,omitempty"` // Message + + Message string `json:"message,omitempty"` // Message } type ResponseWirelessFactoryResetAccessPoints struct { Response *ResponseWirelessFactoryResetAccessPointsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessFactoryResetAccessPointsResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - URL string `json:"url,omitempty"` // Url + + URL string `json:"url,omitempty"` // Url } type ResponseWirelessGetAccessPointsFactoryResetStatus struct { Response *[]ResponseWirelessGetAccessPointsFactoryResetStatusResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessGetAccessPointsFactoryResetStatusResponse struct { - WlcIP string `json:"wlcIP,omitempty"` // Wireless Controller IP address - WlcName string `json:"wlcName,omitempty"` // Wireless Controller name + WlcIP string `json:"wlcIP,omitempty"` // Wireless Controller IP address + + WlcName string `json:"wlcName,omitempty"` // Wireless Controller name + ApResponseInfoList *[]ResponseWirelessGetAccessPointsFactoryResetStatusResponseApResponseInfoList `json:"apResponseInfoList,omitempty"` // } type ResponseWirelessGetAccessPointsFactoryResetStatusResponseApResponseInfoList struct { - ApName string `json:"apName,omitempty"` // Access Point name + ApName string `json:"apName,omitempty"` // Access Point name + ApFactoryResetStatus string `json:"apFactoryResetStatus,omitempty"` // AP factory reset status, "Success" or "Failure" or "In Progress" - FailureReason string `json:"failureReason,omitempty"` // Reason for failure if the factory reset status is "Failure" - RadioMacAddress string `json:"radioMacAddress,omitempty"` // AP Radio Mac Address - EthernetMacAddress string `json:"ethernetMacAddress,omitempty"` // AP Ethernet Mac Address + + FailureReason string `json:"failureReason,omitempty"` // Reason for failure if the factory reset status is "Failure" + + RadioMacAddress string `json:"radioMacAddress,omitempty"` // AP Radio Mac Address + + EthernetMacAddress string `json:"ethernetMacAddress,omitempty"` // AP Ethernet Mac Address } type ResponseWirelessApProvision struct { Response *ResponseWirelessApProvisionResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessApProvisionResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL -} -type ResponseWirelessGetAllMobilityGroups struct { - Response *[]ResponseWirelessGetAllMobilityGroupsResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version. -} -type ResponseWirelessGetAllMobilityGroupsResponse struct { - MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Self device Group Name. Must be alphanumeric without {!,<,space,?/'} and maximum of 31 characters. - MacAddress string `json:"macAddress,omitempty"` // Device mobility MAC Address. Allowed formats are:0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 - ManagementIP string `json:"managementIp,omitempty"` // Self device wireless Management IP. - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. - DtlsHighCipher *bool `json:"dtlsHighCipher,omitempty"` // DTLS High Cipher. - DataLinkEncryption *bool `json:"dataLinkEncryption,omitempty"` // A secure link in which data is encrypted using CAPWAP DTLS protocol can be established between two controllers. This value will be applied to all peers during POST operation. - MobilityPeers *[]ResponseWirelessGetAllMobilityGroupsResponseMobilityPeers `json:"mobilityPeers,omitempty"` // -} -type ResponseWirelessGetAllMobilityGroupsResponseMobilityPeers struct { - MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Peer device mobility group Name. Must be alphanumeric without {!,<,space,?/'} and maximum of 31 characters. + + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetAnchorCapableDevices struct { + DeviceIP string `json:"deviceIp,omitempty"` // Anchor Controller Ip + + DeviceName string `json:"deviceName,omitempty"` // Anchor Controller host name + + WirelessMgmtIP string `json:"wirelessMgmtIP,omitempty"` // Wireless management Ip Address +} +type ResponseWirelessGetMeshApNeighbours struct { + ID string `json:"id,omitempty"` // id + + ApName string `json:"apName,omitempty"` // Name of the Wireless Access point + + EthernetMacAddress string `json:"ethernetMacAddress,omitempty"` // AP Ethernet MacAddress mac + + NeighbourMacAddress string `json:"neighbourMacAddress,omitempty"` // AP Base Radio MacAddress mac. + + WlcIPAddress string `json:"wlcIpAddress,omitempty"` // Device wireless Management IP + + NeighbourType string `json:"neighbourType,omitempty"` // Neighbour Type + + MeshRole string `json:"meshRole,omitempty"` // Mesh Role +} +type ResponseWirelessGetMeshApNeighboursCount struct { + Response *ResponseWirelessGetMeshApNeighboursCountResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version +} +type ResponseWirelessGetMeshApNeighboursCountResponse struct { + Count *int `json:"count,omitempty"` // Count of the requested resource +} +type ResponseWirelessGetMobilityGroups struct { + Response *[]ResponseWirelessGetMobilityGroupsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response version. +} +type ResponseWirelessGetMobilityGroupsResponse struct { + MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Self device Group Name. Must be alphanumeric without {!,<,space,?/'} and maximum of 31 characters. + + MacAddress string `json:"macAddress,omitempty"` // Device mobility MAC Address. Allowed formats are:0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 + + ManagementIP string `json:"managementIp,omitempty"` // Self device wireless Management IP. + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. + + DtlsHighCipher *bool `json:"dtlsHighCipher,omitempty"` // DTLS High Cipher. + + DataLinkEncryption *bool `json:"dataLinkEncryption,omitempty"` // A secure link in which data is encrypted using CAPWAP DTLS protocol can be established between two controllers. This value will be applied to all peers during POST operation. + + MobilityPeers *[]ResponseWirelessGetMobilityGroupsResponseMobilityPeers `json:"mobilityPeers,omitempty"` // +} +type ResponseWirelessGetMobilityGroupsResponseMobilityPeers struct { + MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Peer device mobility group Name. Must be alphanumeric without {!,<,space,?/'} and maximum of 31 characters. + PeerNetworkDeviceID string `json:"peerNetworkDeviceId,omitempty"` // Peer device Id. The possible values are UNKNOWN or valid UUID of Network device ID. UNKNOWN represents out of band device which is not managed internally. Valid UUID represents WLC network device ID. - MemberMacAddress string `json:"memberMacAddress,omitempty"` // Peer device mobility MAC Address. Allowed formats are:0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 - DeviceSeries string `json:"deviceSeries,omitempty"` // Peer device mobility belongs to AireOS or IOX-XE family. 0 - indicates AireOS and 1 - indicates C9800. - DataLinkEncryption *bool `json:"dataLinkEncryption,omitempty"` // A secure link in which data is encrypted using CAPWAP DTLS protocol can be established between two controllers. - HashKey string `json:"hashKey,omitempty"` // SSC hash string must be 40 characters. - Status string `json:"status,omitempty"` // Possible values are - Control and Data Path Down, Data Path Down, Control Path Down, UP. - PeerIP string `json:"peerIp,omitempty"` // This indicates public IP address. - PrivateIPAddress string `json:"privateIpAddress,omitempty"` // This indicates private/management IP address. + + MemberMacAddress string `json:"memberMacAddress,omitempty"` // Peer device mobility MAC Address. Allowed formats are:0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 + + DeviceSeries string `json:"deviceSeries,omitempty"` // Peer device mobility belongs to AireOS or IOX-XE family. 0 - indicates AireOS and 1 - indicates C9800. + + DataLinkEncryption *bool `json:"dataLinkEncryption,omitempty"` // A secure link in which data is encrypted using CAPWAP DTLS protocol can be established between two controllers. + + HashKey string `json:"hashKey,omitempty"` // SSC hash string must be 40 characters. + + Status string `json:"status,omitempty"` // Possible values are - Control and Data Path Down, Data Path Down, Control Path Down, UP. + + PeerIP string `json:"peerIp,omitempty"` // This indicates public IP address. + + PrivateIPAddress string `json:"privateIpAddress,omitempty"` // This indicates private/management IP address. } type ResponseWirelessGetMobilityGroupsCount struct { Response *ResponseWirelessGetMobilityGroupsCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response version. + + Version string `json:"version,omitempty"` // Response version. } type ResponseWirelessGetMobilityGroupsCountResponse struct { Count *int `json:"count,omitempty"` // Total number of mobility groups available. } type ResponseWirelessMobilityProvision struct { Response *ResponseWirelessMobilityProvisionResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessMobilityProvisionResponse struct { TaskID string `json:"taskId,omitempty"` // Asynchronous Task Id - URL string `json:"url,omitempty"` // Asynchronous Task URL for further tracking + + URL string `json:"url,omitempty"` // Asynchronous Task URL for further tracking } type ResponseWirelessMobilityReset struct { Response *ResponseWirelessMobilityResetResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessMobilityResetResponse struct { TaskID string `json:"taskId,omitempty"` // Asynchronous Task Id - URL string `json:"url,omitempty"` // Asynchronous Task URL for further tracking + + URL string `json:"url,omitempty"` // Asynchronous Task URL for further tracking } type ResponseWirelessAssignManagedApLocationsForWLC struct { Response *ResponseWirelessAssignManagedApLocationsForWLCResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessAssignManagedApLocationsForWLCResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessWirelessControllerProvision struct { Response *ResponseWirelessWirelessControllerProvisionResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessWirelessControllerProvisionResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessController struct { Response *[]ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessControllerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessControllerResponse struct { ManagedApLocations *[]ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessControllerResponseManagedApLocations `json:"managedApLocations,omitempty"` // } type ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessControllerResponseManagedApLocations struct { - SiteID string `json:"siteId,omitempty"` // The site id of the managed ap location. + SiteID string `json:"siteId,omitempty"` // The site id of the managed ap location. + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // The site name hierarchy of the managed ap location. } +type ResponseWirelessGetApAuthorizationListByNetworkDeviceID struct { + Response *ResponseWirelessGetApAuthorizationListByNetworkDeviceIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetApAuthorizationListByNetworkDeviceIDResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id + + ApAuthorizationListName string `json:"apAuthorizationListName,omitempty"` // Ap Authorization List Name + + LocalAuthorization *ResponseWirelessGetApAuthorizationListByNetworkDeviceIDResponseLocalAuthorization `json:"localAuthorization,omitempty"` // + + RemoteAuthorization *ResponseWirelessGetApAuthorizationListByNetworkDeviceIDResponseRemoteAuthorization `json:"remoteAuthorization,omitempty"` // +} +type ResponseWirelessGetApAuthorizationListByNetworkDeviceIDResponseLocalAuthorization struct { + ApMacEntries []string `json:"apMacEntries,omitempty"` // Ap Mac Entries + + ApSerialNumberEntries []string `json:"apSerialNumberEntries,omitempty"` // Ap Serial Number Entries +} +type ResponseWirelessGetApAuthorizationListByNetworkDeviceIDResponseRemoteAuthorization struct { + AAAServers []string `json:"aaaServers,omitempty"` // Aaa Servers + + AuthorizeApWithMac *bool `json:"authorizeApWithMac,omitempty"` // Authorize Ap With Mac + + AuthorizeApWithSerialNumber *bool `json:"authorizeApWithSerialNumber,omitempty"` // Authorize Ap With Serial Number +} type ResponseWirelessGetManagedApLocationsCountForSpecificWirelessController struct { Response *ResponseWirelessGetManagedApLocationsCountForSpecificWirelessControllerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessGetManagedApLocationsCountForSpecificWirelessControllerResponse struct { - PrimaryManagedApLocationsCount *int `json:"primaryManagedApLocationsCount,omitempty"` // The count of the Primary managed ap locations. + PrimaryManagedApLocationsCount *int `json:"primaryManagedApLocationsCount,omitempty"` // The count of the Primary managed ap locations. + SecondaryManagedApLocationsCount *int `json:"secondaryManagedApLocationsCount,omitempty"` // The count of the Secondary managed ap locations. - AnchorManagedApLocationsCount *int `json:"anchorManagedApLocationsCount,omitempty"` // The count of the Anchor managed ap locations. + + AnchorManagedApLocationsCount *int `json:"anchorManagedApLocationsCount,omitempty"` // The count of the Anchor managed ap locations. } type ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessController struct { Response *[]ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessControllerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessControllerResponse struct { ManagedApLocations *[]ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessControllerResponseManagedApLocations `json:"managedApLocations,omitempty"` // } type ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessControllerResponseManagedApLocations struct { - SiteID string `json:"siteId,omitempty"` // The site id of the managed ap location. + SiteID string `json:"siteId,omitempty"` // The site id of the managed ap location. + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // The site name hierarchy of the managed ap location. } type ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController struct { Response *[]ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessControllerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessControllerResponse struct { ManagedApLocations *[]ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessControllerResponseManagedApLocations `json:"managedApLocations,omitempty"` // } type ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessControllerResponseManagedApLocations struct { - SiteID string `json:"siteId,omitempty"` // The site id of the managed ap location. + SiteID string `json:"siteId,omitempty"` // The site id of the managed ap location. + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // The site name hierarchy of the managed ap location. } type ResponseWirelessGetSSIDDetailsForSpecificWirelessController struct { Response *[]ResponseWirelessGetSSIDDetailsForSpecificWirelessControllerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessGetSSIDDetailsForSpecificWirelessControllerResponse struct { - SSIDName string `json:"ssidName,omitempty"` // Name of the SSID. - WLANID *int `json:"wlanId,omitempty"` // WLAN ID. + SSIDName string `json:"ssidName,omitempty"` // Name of the SSID. + + WLANID *int `json:"wlanId,omitempty"` // WLAN ID. + WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name. - L2Security string `json:"l2Security,omitempty"` // This represents the identifier for the Layer 2 authentication type. The authentication types supported include wpa2_enterprise, wpa2_personal, open, wpa3_enterprise, wpa3_personal, wpa2_wpa3_personal, wpa2_wpa3_enterprise, and open-secured. - L3Security string `json:"l3Security,omitempty"` // This represents the identifier for the Layer 3 authentication type. The authentication types supported are 'open' and 'webauth'. - RadioPolicy string `json:"radioPolicy,omitempty"` // This represents the identifier for the radio policy. The policies supported include 2.4GHz, 5GHz, and 6GHz. - AdminStatus *bool `json:"adminStatus,omitempty"` // Utilize this query parameter to obtain the administrative status. A 'true' value signifies that the admin status of the SSID is enabled, while a 'false' value indicates that the admin status of the SSID is disabled. - Managed *bool `json:"managed,omitempty"` // If the value is 'true,' the SSID is configured through design; if 'false,' it indicates out-of-band configuration on the Wireless LAN Controller. + + L2Security string `json:"l2Security,omitempty"` // This represents the identifier for the Layer 2 authentication type. The authentication types supported include wpa2_enterprise, wpa2_personal, open, wpa3_enterprise, wpa3_personal, wpa2_wpa3_personal, wpa2_wpa3_enterprise, and open-secured. + + L3Security string `json:"l3Security,omitempty"` // This represents the identifier for the Layer 3 authentication type. The authentication types supported are 'open' and 'webauth'. + + RadioPolicy string `json:"radioPolicy,omitempty"` // This represents the identifier for the radio policy. The policies supported include 2.4GHz, 5GHz, and 6GHz. + + AdminStatus *bool `json:"adminStatus,omitempty"` // Utilize this query parameter to obtain the administrative status. A 'true' value signifies that the admin status of the SSID is enabled, while a 'false' value indicates that the admin status of the SSID is disabled. + + Managed *bool `json:"managed,omitempty"` // If the value is 'true,' the SSID is configured through design; if 'false,' it indicates out-of-band configuration on the Wireless LAN Controller. } type ResponseWirelessGetSSIDCountForSpecificWirelessController struct { Response *ResponseWirelessGetSSIDCountForSpecificWirelessControllerResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessGetSSIDCountForSpecificWirelessControllerResponse struct { Count *int `json:"count,omitempty"` // The count of the SSIDs. } type ResponseWirelessGetWirelessProfiles struct { Response *[]ResponseWirelessGetWirelessProfilesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessGetWirelessProfilesResponse struct { - WirelessProfileName string `json:"wirelessProfileName,omitempty"` // Wireless Profile Name - SSIDDetails *[]ResponseWirelessGetWirelessProfilesResponseSSIDDetails `json:"ssidDetails,omitempty"` // - ID string `json:"id,omitempty"` // Id + WirelessProfileName string `json:"wirelessProfileName,omitempty"` // Wireless Profile Name + + SSIDDetails *[]ResponseWirelessGetWirelessProfilesResponseSSIDDetails `json:"ssidDetails,omitempty"` // + + ID string `json:"id,omitempty"` // Wireless Profile Id + + AdditionalInterfaces []string `json:"additionalInterfaces,omitempty"` // Additional Interfaces + + ApZones *[]ResponseWirelessGetWirelessProfilesResponseApZones `json:"apZones,omitempty"` // } type ResponseWirelessGetWirelessProfilesResponseSSIDDetails struct { - SSIDName string `json:"ssidName,omitempty"` // SSID Name - FlexConnect *ResponseWirelessGetWirelessProfilesResponseSSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // - EnableFabric *bool `json:"enableFabric,omitempty"` // True if fabric is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time - WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name - Dot11BeProfileID string `json:"dot11beProfileId,omitempty"` // 802.11be Profile ID + SSIDName string `json:"ssidName,omitempty"` // SSID Name + + FlexConnect *ResponseWirelessGetWirelessProfilesResponseSSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // + + EnableFabric *bool `json:"enableFabric,omitempty"` // True if fabric is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time + + WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name + + Dot11BeProfileID string `json:"dot11beProfileId,omitempty"` // 802.11be Profile ID + + AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name + + VLANGroupName string `json:"vlanGroupName,omitempty"` // VLAN Group Name } type ResponseWirelessGetWirelessProfilesResponseSSIDDetailsFlexConnect struct { EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // True if flex connect is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time - LocalToVLAN *int `json:"localToVlan,omitempty"` // Local to VLAN ID + + LocalToVLAN *int `json:"localToVlan,omitempty"` // Local to VLAN ID +} +type ResponseWirelessGetWirelessProfilesResponseApZones struct { + ApZoneName string `json:"apZoneName,omitempty"` // AP Zone Name + + RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name + + SSIDs []string `json:"ssids,omitempty"` // ssids part of apZone } type ResponseWirelessCreateWirelessProfileConnectivity struct { Response *ResponseWirelessCreateWirelessProfileConnectivityResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessCreateWirelessProfileConnectivityResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGetWirelessProfilesCount struct { Response *ResponseWirelessGetWirelessProfilesCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response Version + + Version string `json:"version,omitempty"` // Response Version } type ResponseWirelessGetWirelessProfilesCountResponse struct { Count *int `json:"count,omitempty"` // Count of the requested resource } type ResponseWirelessUpdateWirelessProfileConnectivity struct { Response *ResponseWirelessUpdateWirelessProfileConnectivityResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessUpdateWirelessProfileConnectivityResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGetWirelessProfileByID struct { Response *ResponseWirelessGetWirelessProfileByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessGetWirelessProfileByIDResponse struct { - WirelessProfileName string `json:"wirelessProfileName,omitempty"` // Wireless Profile Name - SSIDDetails *[]ResponseWirelessGetWirelessProfileByIDResponseSSIDDetails `json:"ssidDetails,omitempty"` // - ID string `json:"id,omitempty"` // Id + WirelessProfileName string `json:"wirelessProfileName,omitempty"` // Wireless Profile Name + + SSIDDetails *[]ResponseWirelessGetWirelessProfileByIDResponseSSIDDetails `json:"ssidDetails,omitempty"` // + + ID string `json:"id,omitempty"` // Wireless Profile Id + + AdditionalInterfaces []string `json:"additionalInterfaces,omitempty"` // Additional Interfaces + + ApZones *[]ResponseWirelessGetWirelessProfileByIDResponseApZones `json:"apZones,omitempty"` // } type ResponseWirelessGetWirelessProfileByIDResponseSSIDDetails struct { - SSIDName string `json:"ssidName,omitempty"` // SSID Name - FlexConnect *ResponseWirelessGetWirelessProfileByIDResponseSSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // - EnableFabric *bool `json:"enableFabric,omitempty"` // True if fabric is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time - WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name - Dot11BeProfileID string `json:"dot11beProfileId,omitempty"` // 802.11be Profile ID + SSIDName string `json:"ssidName,omitempty"` // SSID Name + + FlexConnect *ResponseWirelessGetWirelessProfileByIDResponseSSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // + + EnableFabric *bool `json:"enableFabric,omitempty"` // True if fabric is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time + + WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name + + Dot11BeProfileID string `json:"dot11beProfileId,omitempty"` // 802.11be Profile ID + + AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name + + VLANGroupName string `json:"vlanGroupName,omitempty"` // VLAN Group Name } type ResponseWirelessGetWirelessProfileByIDResponseSSIDDetailsFlexConnect struct { EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // True if flex connect is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time - LocalToVLAN *int `json:"localToVlan,omitempty"` // Local to VLAN ID + + LocalToVLAN *int `json:"localToVlan,omitempty"` // Local to VLAN ID +} +type ResponseWirelessGetWirelessProfileByIDResponseApZones struct { + ApZoneName string `json:"apZoneName,omitempty"` // AP Zone Name + + RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name + + SSIDs []string `json:"ssids,omitempty"` // ssids part of apZone } type ResponseWirelessDeleteWirelessProfileConnectivity struct { Response *ResponseWirelessDeleteWirelessProfileConnectivityResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version + + Version string `json:"version,omitempty"` // Version } type ResponseWirelessDeleteWirelessProfileConnectivityResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL -} -type ResponseWirelessGetAll80211BeProfiles struct { - Response *[]ResponseWirelessGetAll80211BeProfilesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response Version -} -type ResponseWirelessGetAll80211BeProfilesResponse struct { - ID string `json:"id,omitempty"` // 802.11be Profile ID - ProfileName string `json:"profileName,omitempty"` // 802.11be Profile Name - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink - OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU - Default *bool `json:"default,omitempty"` // 802.11be Profile is marked default or custom (Read only field) + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessCreateA80211BeProfile struct { - Response *ResponseWirelessCreateA80211BeProfileResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfile struct { + Response *[]ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessCreateA80211BeProfileResponse struct { +type ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfileResponse struct { + SiteIDs []string `json:"siteIds,omitempty"` // Site Ids + + PolicyTagName string `json:"policyTagName,omitempty"` // Use English letters, numbers, special characters except <, /, '.*', ? and leading/trailing space. + + ApZones []string `json:"apZones,omitempty"` // Ap Zones + + PolicyTagID string `json:"policyTagId,omitempty"` // Policy Tag Id +} +type ResponseWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk struct { + Response *ResponseWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulkResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulkResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessGet80211BeProfilesCount struct { - Response *ResponseWirelessGet80211BeProfilesCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response Version +type ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfile struct { + Response *ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version } -type ResponseWirelessGet80211BeProfilesCountResponse struct { +type ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfileResponse struct { Count *int `json:"count,omitempty"` // Count of the requested resource } -type ResponseWirelessDeleteA80211BeProfile struct { - Response *ResponseWirelessDeleteA80211BeProfileResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessDeleteASpecificPolicyTagFromAWirelessProfile struct { + Response *ResponseWirelessDeleteASpecificPolicyTagFromAWirelessProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessDeleteA80211BeProfileResponse struct { +type ResponseWirelessDeleteASpecificPolicyTagFromAWirelessProfileResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessUpdate80211BeProfile struct { - Response *ResponseWirelessUpdate80211BeProfileResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfile struct { + Response *ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessUpdate80211BeProfileResponse struct { +type ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfileResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL -} -type ResponseWirelessGet80211BeProfileByID struct { - Response *ResponseWirelessGet80211BeProfileByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response Version + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessGet80211BeProfileByIDResponse struct { - ID string `json:"id,omitempty"` // 802.11be Profile ID - ProfileName string `json:"profileName,omitempty"` // 802.11be Profile Name - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink - OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU - Default *bool `json:"default,omitempty"` // Is 802.11be Profile marked as default in System . (Read only field) +type ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfile struct { + Response *ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessGetInterfaces struct { - Response *[]ResponseWirelessGetInterfacesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfileResponse struct { + SiteIDs []string `json:"siteIds,omitempty"` // Site Ids + + PolicyTagName string `json:"policyTagName,omitempty"` // Policy Tag Name + + ApZones []string `json:"apZones,omitempty"` // Ap Zones + + PolicyTagID string `json:"policyTagId,omitempty"` // Policy Tag Id } -type ResponseWirelessGetInterfacesResponse struct { - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - VLANID *int `json:"vlanId,omitempty"` // VLAN ID - ID string `json:"id,omitempty"` // Interface ID +type ResponseWirelessRetrieveAllSiteTagsForAWirelessProfile struct { + Response *[]ResponseWirelessRetrieveAllSiteTagsForAWirelessProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessCreateInterface struct { - Response *ResponseWirelessCreateInterfaceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessRetrieveAllSiteTagsForAWirelessProfileResponse struct { + SiteIDs []string `json:"siteIds,omitempty"` // Site Ids + + SiteTagName string `json:"siteTagName,omitempty"` // Site Tag Name + + FlexProfileName string `json:"flexProfileName,omitempty"` // Flex Profile Name + + ApProfileName string `json:"apProfileName,omitempty"` // Ap Profile Name + + SiteTagID string `json:"siteTagId,omitempty"` // Site Tag Id } -type ResponseWirelessCreateInterfaceResponse struct { +type ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk struct { + Response *ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulkResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulkResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessGetInterfacesCount struct { - Response *ResponseWirelessGetInterfacesCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response Version +type ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfile struct { + Response *ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version } -type ResponseWirelessGetInterfacesCountResponse struct { +type ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfileResponse struct { Count *int `json:"count,omitempty"` // Count of the requested resource } -type ResponseWirelessGetInterfaceByID struct { - Response *ResponseWirelessGetInterfaceByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version -} -type ResponseWirelessGetInterfaceByIDResponse struct { - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - VLANID *int `json:"vlanId,omitempty"` // VLAN ID - ID string `json:"id,omitempty"` // Interface ID -} -type ResponseWirelessDeleteInterface struct { - Response *ResponseWirelessDeleteInterfaceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessUpdateASpecificSiteTagForAWirelessProfile struct { + Response *ResponseWirelessUpdateASpecificSiteTagForAWirelessProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessDeleteInterfaceResponse struct { +type ResponseWirelessUpdateASpecificSiteTagForAWirelessProfileResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessUpdateInterface struct { - Response *ResponseWirelessUpdateInterfaceResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfile struct { + Response *ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessUpdateInterfaceResponse struct { - TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL +type ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfileResponse struct { + SiteIDs []string `json:"siteIds,omitempty"` // Site Ids + + SiteTagName string `json:"siteTagName,omitempty"` // Use English letters, numbers, special characters except <, /, '.*', ? and leading/trailing space + + FlexProfileName string `json:"flexProfileName,omitempty"` // Flex Profile Name + + ApProfileName string `json:"apProfileName,omitempty"` // Ap Profile Name + + SiteTagID string `json:"siteTagId,omitempty"` // Site Tag Id } -type ResponseWirelessCreateRfProfile struct { - Response *ResponseWirelessCreateRfProfileResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessDeleteASpecificSiteTagFromAWirelessProfile struct { + Response *ResponseWirelessDeleteASpecificSiteTagFromAWirelessProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessCreateRfProfileResponse struct { +type ResponseWirelessDeleteASpecificSiteTagFromAWirelessProfileResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessGetRfProfiles struct { - Response *[]ResponseWirelessGetRfProfilesResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessCreateAnchorGroup struct { + Response *ResponseWirelessCreateAnchorGroupResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessGetRfProfilesResponse struct { - RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name - DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // True if RF Profile is default, else False. Maximum of only 1 RF Profile can be marked as default at any given time - EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // True if 5 GHz radio band is enabled in the RF Profile, else False - EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // True if 2.4 GHz radio band is enabled in the RF Profile, else False - EnableRadioType6GHz *bool `json:"enableRadioType6GHz,omitempty"` // True if 6 GHz radio band is enabled in the RF Profile, else False - EnableCustom *bool `json:"enableCustom,omitempty"` // True if RF Profile is custom, else False for system RF profiles like Low, High and Medium (Typical) - RadioTypeAProperties *ResponseWirelessGetRfProfilesResponseRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // - RadioTypeBProperties *ResponseWirelessGetRfProfilesResponseRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // - RadioType6GHzProperties *ResponseWirelessGetRfProfilesResponseRadioType6GHzProperties `json:"radioType6GHzProperties,omitempty"` // - ID string `json:"id,omitempty"` // RF Profile ID +type ResponseWirelessCreateAnchorGroupResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessGetRfProfilesResponseRadioTypeAProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 5 GHz radio band - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 149, 153, 157, 161, 165, 169, 173 - DataRates string `json:"dataRates,omitempty"` // Data rates of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 5 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 5 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 5 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 5 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 5 GHz radio band - ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width - PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher +type ResponseWirelessGetAnchorGroups struct { + ID string `json:"id,omitempty"` // Anchor Profile unique ID + + AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name. Max length is 32 characters + + MobilityAnchors *[]ResponseWirelessGetAnchorGroupsMobilityAnchors `json:"mobilityAnchors,omitempty"` // } -type ResponseWirelessGetRfProfilesResponseRadioTypeBProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 2.4 GHz radio band - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 - DataRates string `json:"dataRates,omitempty"` // Data rates of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 2.4 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 2.4 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 2.4 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 2.4 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 2.4 GHz radio band +type ResponseWirelessGetAnchorGroupsMobilityAnchors struct { + DeviceName string `json:"deviceName,omitempty"` // Peer Host Name + + IPAddress string `json:"ipAddress,omitempty"` // This indicates Mobility public IP address + + AnchorPriority string `json:"anchorPriority,omitempty"` // This indicates anchor priority. Priority values range from 1 (high) to 3 (low). Primary, secondary or tertiary and defined priority is displayed with guest anchor. Only one priority value is allowed per anchor WLC. + + ManagedAnchorWlc *bool `json:"managedAnchorWlc,omitempty"` // This indicates whether the Wireless LAN Controller supporting Anchor is managed by the Network Controller or not. True means this is managed by Network Controller. + + PeerDeviceType string `json:"peerDeviceType,omitempty"` // Indicates peer device mobility belongs to AireOS or IOS-XE family. + + MacAddress string `json:"macAddress,omitempty"` // Peer Device mobility MAC address. Allowed formats are:0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 + + MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Peer Device mobility group Name. Must be alphanumeric without {!,<,space,?/'} and maximum of 31 characters. + + PrivateIP string `json:"privateIp,omitempty"` // This indicates private management IP address } -type ResponseWirelessGetRfProfilesResponseRadioType6GHzProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 6 GHz radio band - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 233 - DataRates string `json:"dataRates,omitempty"` // Data rates of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 6 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 6 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 6 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 6 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 6 GHz radio band - EnableStandardPowerService *bool `json:"enableStandardPowerService,omitempty"` // True if Standard Power Service is enabled, else False - MultiBssidProperties *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidProperties `json:"multiBssidProperties,omitempty"` // - PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher - MinDbsWidth *int `json:"minDbsWidth,omitempty"` // Minimum DBS Width ( Permissible values : 20,40,80,160,320) - MaxDbsWidth *int `json:"maxDbsWidth,omitempty"` // Maximum DBS Width (Permissible Values: 20,40,80,160,320) +type ResponseWirelessGetCountOfAnchorGroups struct { + Response *ResponseWirelessGetCountOfAnchorGroupsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version } -type ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidProperties struct { - Dot11AxParameters *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters `json:"dot11axParameters,omitempty"` // - Dot11BeParameters *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters `json:"dot11beParameters,omitempty"` // - TargetWakeTime *bool `json:"targetWakeTime,omitempty"` // Target Wake Time - TwtBroadcastSupport *bool `json:"twtBroadcastSupport,omitempty"` // TWT Broadcast Support +type ResponseWirelessGetCountOfAnchorGroupsResponse struct { + Count *int `json:"count,omitempty"` // Count of the requested resource } -type ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters struct { - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink +type ResponseWirelessGetAnchorGroupByID struct { + ID string `json:"id,omitempty"` // Anchor Profile unique ID + + AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name. Max length is 32 characters + + MobilityAnchors *[]ResponseWirelessGetAnchorGroupByIDMobilityAnchors `json:"mobilityAnchors,omitempty"` // } -type ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters struct { - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink - OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU +type ResponseWirelessGetAnchorGroupByIDMobilityAnchors struct { + DeviceName string `json:"deviceName,omitempty"` // Peer Host Name + + IPAddress string `json:"ipAddress,omitempty"` // This indicates Mobility public IP address + + AnchorPriority string `json:"anchorPriority,omitempty"` // This indicates anchor priority. Priority values range from 1 (high) to 3 (low). Primary, secondary or tertiary and defined priority is displayed with guest anchor. Only one priority value is allowed per anchor WLC. + + ManagedAnchorWlc *bool `json:"managedAnchorWlc,omitempty"` // This indicates whether the Wireless LAN Controller supporting Anchor is managed by the Network Controller or not. True means this is managed by Network Controller. + + PeerDeviceType string `json:"peerDeviceType,omitempty"` // Indicates peer device mobility belongs to AireOS or IOS-XE family. + + MacAddress string `json:"macAddress,omitempty"` // Peer Device mobility MAC address. Allowed formats are:0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 + + MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Peer Device mobility group Name. Must be alphanumeric without {!,<,space,?/'} and maximum of 31 characters. + + PrivateIP string `json:"privateIp,omitempty"` // This indicates private management IP address } -type ResponseWirelessGetRfProfilesCount struct { - Response *ResponseWirelessGetRfProfilesCountResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Response Version +type ResponseWirelessDeleteAnchorGroupByID struct { + Response *ResponseWirelessDeleteAnchorGroupByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessGetRfProfilesCountResponse struct { - Count *int `json:"count,omitempty"` // Count of the requested resource +type ResponseWirelessDeleteAnchorGroupByIDResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessDeleteRfProfile struct { - Response *ResponseWirelessDeleteRfProfileResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessUpdateAnchorGroup struct { + Response *ResponseWirelessUpdateAnchorGroupResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessDeleteRfProfileResponse struct { +type ResponseWirelessUpdateAnchorGroupResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessGetRfProfileByID struct { - Response *ResponseWirelessGetRfProfileByIDResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessGetApAuthorizationLists struct { + Response *ResponseWirelessGetApAuthorizationListsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessGetRfProfileByIDResponse struct { - RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name - DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // True if RF Profile is default, else False. Maximum of only 1 RF Profile can be marked as default at any given time - EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // True if 5 GHz radio band is enabled in the RF Profile, else False - EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // True if 2.4 GHz radio band is enabled in the RF Profile, else False - EnableRadioType6GHz *bool `json:"enableRadioType6GHz,omitempty"` // True if 6 GHz radio band is enabled in the RF Profile, else False - EnableCustom *bool `json:"enableCustom,omitempty"` // True if RF Profile is custom, else False for system RF profiles like Low, High and Medium (Typical) - RadioTypeAProperties *ResponseWirelessGetRfProfileByIDResponseRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // - RadioTypeBProperties *ResponseWirelessGetRfProfileByIDResponseRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // - RadioType6GHzProperties *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzProperties `json:"radioType6GHzProperties,omitempty"` // - ID string `json:"id,omitempty"` // RF Profile ID +type ResponseWirelessGetApAuthorizationListsResponse struct { + ID string `json:"id,omitempty"` // Id + + ApAuthorizationListName string `json:"apAuthorizationListName,omitempty"` // Ap Authorization List Name + + LocalAuthorization *ResponseWirelessGetApAuthorizationListsResponseLocalAuthorization `json:"localAuthorization,omitempty"` // + + RemoteAuthorization *ResponseWirelessGetApAuthorizationListsResponseRemoteAuthorization `json:"remoteAuthorization,omitempty"` // } -type ResponseWirelessGetRfProfileByIDResponseRadioTypeAProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 5 GHz radio band - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 149, 153, 157, 161, 165, 169, 173 - DataRates string `json:"dataRates,omitempty"` // Data rates of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 5 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 5 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 5 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 5 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 5 GHz radio band - ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width - PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher +type ResponseWirelessGetApAuthorizationListsResponseLocalAuthorization struct { + ApMacEntries []string `json:"apMacEntries,omitempty"` // AP Mac Addresses + + ApSerialNumberEntries []string `json:"apSerialNumberEntries,omitempty"` // AP Serial Number Entries } -type ResponseWirelessGetRfProfileByIDResponseRadioTypeBProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 2.4 GHz radio band - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 - DataRates string `json:"dataRates,omitempty"` // Data rates of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 2.4 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 2.4 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 2.4 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 2.4 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 2.4 GHz radio band +type ResponseWirelessGetApAuthorizationListsResponseRemoteAuthorization struct { + AAAServers []string `json:"aaaServers,omitempty"` // AAA Servers + + AuthorizeApWithMac *bool `json:"authorizeApWithMac,omitempty"` // Authorize AP With Mac + + AuthorizeApWithSerialNumber *bool `json:"authorizeApWithSerialNumber,omitempty"` // Authorize AP With Serial Number } -type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 6 GHz radio band - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 233 - DataRates string `json:"dataRates,omitempty"` // Data rates of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 6 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 6 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 6 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 6 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 6 GHz radio band - EnableStandardPowerService *bool `json:"enableStandardPowerService,omitempty"` // True if Standard Power Service is enabled, else False - MultiBssidProperties *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidProperties `json:"multiBssidProperties,omitempty"` // - PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher - MinDbsWidth *int `json:"minDbsWidth,omitempty"` // Minimum DBS Width ( Permissible values : 20,40,80,160,320) - MaxDbsWidth *int `json:"maxDbsWidth,omitempty"` // Maximum DBS Width (Permissible Values: 20,40,80,160,320) +type ResponseWirelessCreateApAuthorizationList struct { + Response *ResponseWirelessCreateApAuthorizationListResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidProperties struct { - Dot11AxParameters *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters `json:"dot11axParameters,omitempty"` // - Dot11BeParameters *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters `json:"dot11beParameters,omitempty"` // - TargetWakeTime *bool `json:"targetWakeTime,omitempty"` // Target Wake Time - TwtBroadcastSupport *bool `json:"twtBroadcastSupport,omitempty"` // TWT Broadcast Support +type ResponseWirelessCreateApAuthorizationListResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters struct { - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink +type ResponseWirelessGetApAuthorizationListCount struct { + Response *ResponseWirelessGetApAuthorizationListCountResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version } -type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters struct { - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink - OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU +type ResponseWirelessGetApAuthorizationListCountResponse struct { + Count *int `json:"count,omitempty"` // Count of the requested resource } -type ResponseWirelessUpdateRfProfile struct { - Response *ResponseWirelessUpdateRfProfileResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version +type ResponseWirelessDeleteApAuthorizationList struct { + Response *ResponseWirelessDeleteApAuthorizationListResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessUpdateRfProfileResponse struct { +type ResponseWirelessDeleteApAuthorizationListResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - URL string `json:"url,omitempty"` // Task URL -} -type ResponseWirelessConfigureAccessPointsV2 struct { - Response *ResponseWirelessConfigureAccessPointsV2Response `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // + + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessConfigureAccessPointsV2Response struct { - TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // +type ResponseWirelessUpdateApAuthorizationList struct { + Response *ResponseWirelessUpdateApAuthorizationListResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessCreateAndProvisionSSID struct { - ManagedApLocations []string `json:"managedAPLocations,omitempty"` // Managed AP Locations (Enter entire Site(s) hierarchy) - SSIDDetails *RequestWirelessCreateAndProvisionSSIDSSIDDetails `json:"ssidDetails,omitempty"` // - SSIDType string `json:"ssidType,omitempty"` // SSID Type - EnableFabric *bool `json:"enableFabric,omitempty"` // Enable SSID for Fabric - FlexConnect *RequestWirelessCreateAndProvisionSSIDFlexConnect `json:"flexConnect,omitempty"` // +type ResponseWirelessUpdateApAuthorizationListResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessCreateAndProvisionSSIDSSIDDetails struct { - Name string `json:"name,omitempty"` // SSID Name - SecurityLevel string `json:"securityLevel,omitempty"` // Security Level(For guest SSID OPEN/WEB_AUTH, For Enterprise SSID ENTERPRISE/PERSONAL/OPEN) - EnableFastLane *bool `json:"enableFastLane,omitempty"` // Enable Fast Lane - Passphrase string `json:"passphrase,omitempty"` // Pass Phrase ( Only applicable for SSID with PERSONAL auth type ) - TrafficType string `json:"trafficType,omitempty"` // Traffic Type - EnableBroadcastSSID *bool `json:"enableBroadcastSSID,omitempty"` // Enable Broadcast SSID - RadioPolicy string `json:"radioPolicy,omitempty"` // Radio Policy - EnableMacFiltering *bool `json:"enableMACFiltering,omitempty"` // Enable MAC Filtering - FastTransition string `json:"fastTransition,omitempty"` // Fast Transition - WebAuthURL string `json:"webAuthURL,omitempty"` // Web Auth URL - AuthKeyMgmt []string `json:"authKeyMgmt,omitempty"` // Takes string inputs for the AKMs that should be set true. Possible AKM values : dot1x,dot1x_ft, dot1x_sha, psk, psk_ft, psk_sha, owe, sae, sae_ft - RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // Rsn Cipher Suite Gcmp256 - RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // Rsn Cipher Suite Gcmp128 - RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // Rsn Cipher Suite Ccmp256 - Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // 6 Ghz Client Steering - Ghz24Policy string `json:"ghz24Policy,omitempty"` // 2.4 GHz Policy +type ResponseWirelessGetApAuthorizationListByID struct { + Response *ResponseWirelessGetApAuthorizationListByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessCreateAndProvisionSSIDFlexConnect struct { - EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // Enable Flex Connect - LocalToVLAN *int `json:"localToVlan,omitempty"` // Local To Vlan (range is 1 to 4094) +type ResponseWirelessGetApAuthorizationListByIDResponse struct { + ID string `json:"id,omitempty"` // Id + + ApAuthorizationListName string `json:"apAuthorizationListName,omitempty"` // Ap Authorization List Name + + LocalAuthorization *ResponseWirelessGetApAuthorizationListByIDResponseLocalAuthorization `json:"localAuthorization,omitempty"` // + + RemoteAuthorization *ResponseWirelessGetApAuthorizationListByIDResponseRemoteAuthorization `json:"remoteAuthorization,omitempty"` // } -type RequestWirelessRebootAccessPoints struct { - ApMacAddresses []string `json:"apMacAddresses,omitempty"` // The ethernet MAC address of the access point. +type ResponseWirelessGetApAuthorizationListByIDResponseLocalAuthorization struct { + ApMacEntries []string `json:"apMacEntries,omitempty"` // AP Mac Addresses + + ApSerialNumberEntries []string `json:"apSerialNumberEntries,omitempty"` // AP Serial Number Entries } -type RequestWirelessCreateEnterpriseSSID struct { - Name string `json:"name,omitempty"` // SSID NAME - SecurityLevel string `json:"securityLevel,omitempty"` // Security Level - Passphrase string `json:"passphrase,omitempty"` // Passphrase - EnableFastLane *bool `json:"enableFastLane,omitempty"` // Enable FastLane - EnableMacFiltering *bool `json:"enableMACFiltering,omitempty"` // Enable MAC Filtering - TrafficType string `json:"trafficType,omitempty"` // Traffic Type Enum (voicedata or data ) - RadioPolicy string `json:"radioPolicy,omitempty"` // Radio Policy Enum - EnableBroadcastSSID *bool `json:"enableBroadcastSSID,omitempty"` // Enable Broadcase SSID - FastTransition string `json:"fastTransition,omitempty"` // Fast Transition - EnableSessionTimeOut *bool `json:"enableSessionTimeOut,omitempty"` // Enable Session Timeout - SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // Session Time Out - EnableClientExclusion *bool `json:"enableClientExclusion,omitempty"` // Enable Client Exclusion - ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // Client Exclusion Timeout - EnableBasicServiceSetMaxIDle *bool `json:"enableBasicServiceSetMaxIdle,omitempty"` // Enable Basic Service Set Max Idle - BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // Basic Service Set Client Idle Timeout - EnableDirectedMulticastService *bool `json:"enableDirectedMulticastService,omitempty"` // Enable Directed Multicast Service - EnableNeighborList *bool `json:"enableNeighborList,omitempty"` // Enable Neighbor List - MfpClientProtection string `json:"mfpClientProtection,omitempty"` // Management Frame Protection Client - NasOptions []string `json:"nasOptions,omitempty"` // Nas Options - ProfileName string `json:"profileName,omitempty"` // Profile Name - PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name - AAAOverride *bool `json:"aaaOverride,omitempty"` // Aaa Override - CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Coverage Hole Detection Enable - ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (Required applicable for Security Type WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (Optional, Required Applicable for Security Type WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) - MultipSKSettings *[]RequestWirelessCreateEnterpriseSSIDMultipSKSettings `json:"multiPSKSettings,omitempty"` // - ClientRateLimit *float64 `json:"clientRateLimit,omitempty"` // Client Rate Limit (in bits per second) - AuthKeyMgmt []string `json:"authKeyMgmt,omitempty"` // Takes string inputs for the AKMs that should be set true. Possible AKM values : dot1x,dot1x_ft, dot1x_sha, psk, psk_ft, psk_sha, owe, sae, sae_ft - RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // Rsn Cipher Suite Gcmp256 - RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // Rsn Cipher Suite Ccmp256 - RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // Rsn Cipher Suite Gcmp 128 - Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // Ghz6 Policy Client Steering - Ghz24Policy string `json:"ghz24Policy,omitempty"` // Ghz24 Policy +type ResponseWirelessGetApAuthorizationListByIDResponseRemoteAuthorization struct { + AAAServers []string `json:"aaaServers,omitempty"` // AAA Servers + + AuthorizeApWithMac *bool `json:"authorizeApWithMac,omitempty"` // Authorize AP With Mac + + AuthorizeApWithSerialNumber *bool `json:"authorizeApWithSerialNumber,omitempty"` // Authorize AP With Serial Number } -type RequestWirelessCreateEnterpriseSSIDMultipSKSettings struct { - Priority *int `json:"priority,omitempty"` // Priority - PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type - Passphrase string `json:"passphrase,omitempty"` // Passphrase +type ResponseWirelessCreateApProfile struct { + Response *ResponseWirelessCreateApProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessUpdateEnterpriseSSID struct { - Name string `json:"name,omitempty"` // SSID NAME - SecurityLevel string `json:"securityLevel,omitempty"` // Security Level - Passphrase string `json:"passphrase,omitempty"` // Passphrase - EnableFastLane *bool `json:"enableFastLane,omitempty"` // Enable FastLane - EnableMacFiltering *bool `json:"enableMACFiltering,omitempty"` // Enable MAC Filtering - TrafficType string `json:"trafficType,omitempty"` // Traffic Type Enum (voicedata or data ) - RadioPolicy string `json:"radioPolicy,omitempty"` // Radio Policy Enum - EnableBroadcastSSID *bool `json:"enableBroadcastSSID,omitempty"` // Enable Broadcase SSID - FastTransition string `json:"fastTransition,omitempty"` // Fast Transition - EnableSessionTimeOut *bool `json:"enableSessionTimeOut,omitempty"` // Enable Session Timeout - SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // Session Time Out - EnableClientExclusion *bool `json:"enableClientExclusion,omitempty"` // Enable Client Exclusion - ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // Client Exclusion Timeout - EnableBasicServiceSetMaxIDle *bool `json:"enableBasicServiceSetMaxIdle,omitempty"` // Enable Basic Service Set Max Idle - BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // Basic Service Set Client Idle Timeout - EnableDirectedMulticastService *bool `json:"enableDirectedMulticastService,omitempty"` // Enable Directed Multicast Service - EnableNeighborList *bool `json:"enableNeighborList,omitempty"` // Enable Neighbor List - MfpClientProtection string `json:"mfpClientProtection,omitempty"` // Management Frame Protection Client - NasOptions []string `json:"nasOptions,omitempty"` // Nas Options - ProfileName string `json:"profileName,omitempty"` // Profile Name - PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name - AAAOverride *bool `json:"aaaOverride,omitempty"` // Aaa Override - CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Coverage Hole Detection Enable - ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (Required applicable for Security Type WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (Optional, Required Applicable for Security Type WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) - MultipSKSettings *[]RequestWirelessUpdateEnterpriseSSIDMultipSKSettings `json:"multiPSKSettings,omitempty"` // - ClientRateLimit *float64 `json:"clientRateLimit,omitempty"` // Client Rate Limit (in bits per second) - AuthKeyMgmt []string `json:"authKeyMgmt,omitempty"` // Takes string inputs for the AKMs that should be set true. Possible AKM values : dot1x,dot1x_ft, dot1x_sha, psk, psk_ft, psk_sha, owe, sae, sae_ft - RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // Rsn Cipher Suite Gcmp256 - RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // Rsn Cipher Suite Ccmp256 - RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // Rsn Cipher Suite Gcmp 128 - Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // Ghz6 Policy Client Steering - Ghz24Policy string `json:"ghz24Policy,omitempty"` // Ghz24 Policy +type ResponseWirelessCreateApProfileResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessUpdateEnterpriseSSIDMultipSKSettings struct { - Priority *int `json:"priority,omitempty"` // Priority - PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type - Passphrase string `json:"passphrase,omitempty"` // Passphrase +type ResponseWirelessGetApProfiles struct { + Response *[]ResponseWirelessGetApProfilesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessCreateSSID struct { - SSID string `json:"ssid,omitempty"` // Name of the SSID - AuthType string `json:"authType,omitempty"` // L2 Authentication Type (If authType is not open , then atleast one RSN Cipher Suite and corresponding valid AKM must be enabled) - Passphrase string `json:"passphrase,omitempty"` // Passphrase (Only applicable for SSID with PERSONAL security level). Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters - IsFastLaneEnabled *bool `json:"isFastLaneEnabled,omitempty"` // True if FastLane is enabled, else False - IsMacFilteringEnabled *bool `json:"isMacFilteringEnabled,omitempty"` // When set to true, MAC Filtering will be activated, allowing control over network access based on the MAC address of the device - SSIDRadioType string `json:"ssidRadioType,omitempty"` // Radio Policy Enum (default: Triple band operation(2.4GHz, 5GHz and 6GHz)) - IsBroadcastSSID *bool `json:"isBroadcastSSID,omitempty"` // When activated by setting it to true, the Broadcast SSID feature will make the SSID publicly visible to wireless devices searching for available networks - FastTransition string `json:"fastTransition,omitempty"` // Fast Transition - SessionTimeOutEnable *bool `json:"sessionTimeOutEnable,omitempty"` // Turn on the feature that imposes a time limit on user sessions - SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // This denotes the allotted time span, expressed in seconds, before a session is automatically terminated due to inactivity - ClientExclusionEnable *bool `json:"clientExclusionEnable,omitempty"` // Activate the feature that allows for the exclusion of clients - ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // This refers to the length of time, in seconds, a client is excluded or blocked from accessing the network after a specified number of unsuccessful attempts - BasicServiceSetMaxIDleEnable *bool `json:"basicServiceSetMaxIdleEnable,omitempty"` // Activate the maximum idle feature for the Basic Service Set - BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // This refers to the duration of inactivity, measured in seconds, before a client connected to the Basic Service Set is considered idle and timed out - DirectedMulticastServiceEnable *bool `json:"directedMulticastServiceEnable,omitempty"` // The Directed Multicast Service feature becomes operational when it is set to true - NeighborListEnable *bool `json:"neighborListEnable,omitempty"` // The Neighbor List feature is enabled when it is set to true - ManagementFrameProtectionClientprotection string `json:"managementFrameProtectionClientprotection,omitempty"` // Management Frame Protection Client - NasOptions []string `json:"nasOptions,omitempty"` // Pre-Defined NAS Options : AP ETH Mac Address, AP IP address, AP Location , AP MAC Address, AP Name, AP Policy Tag, AP Site Tag, SSID, System IP Address, System MAC Address, System Name. - ProfileName string `json:"profileName,omitempty"` // WLAN Profile Name, if not passed autogenerated profile name will be assigned. The same wlanProfileName will also be used for policyProfileName - AAAOverride *bool `json:"aaaOverride,omitempty"` // Activate the AAA Override feature when set to true - CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Activate Coverage Hole Detection feature when set to true - ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (REQUIRED is applicable for authType WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (OPTIONAL/REQUIRED is applicable for authType WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) - MultipSKSettings *[]RequestWirelessCreateSSIDMultipSKSettings `json:"multiPSKSettings,omitempty"` // - ClientRateLimit *int `json:"clientRateLimit,omitempty"` // This pertains to the maximum data transfer rate, specified in bits per second, that a client is permitted to achieve - RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP256 encryption protocol is activated - RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP256 encryption protocol is activated - RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP128 encryption protocol is activated - RsnCipherSuiteCcmp128 *bool `json:"rsnCipherSuiteCcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP128 encryption protocol is activated - Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // True if 6 GHz Policy Client Steering is enabled, else False - IsAuthKey8021X *bool `json:"isAuthKey8021x,omitempty"` // When set to true, the 802.1X authentication key is in use - IsAuthKey8021XPlusFT *bool `json:"isAuthKey8021xPlusFT,omitempty"` // When set to true, the 802.1X-Plus-FT authentication key is in use - IsAuthKey8021XSHA256 *bool `json:"isAuthKey8021x_SHA256,omitempty"` // When set to true, the feature that enables 802.1X authentication using the SHA256 algorithm is turned on - IsAuthKeySae *bool `json:"isAuthKeySae,omitempty"` // When set to true, the feature enabling the Simultaneous Authentication of Equals (SAE) authentication key is activated - IsAuthKeySaePlusFT *bool `json:"isAuthKeySaePlusFT,omitempty"` // Activating this setting by switching it to true turns on the authentication key feature that supports both Simultaneous Authentication of Equals (SAE) and Fast Transition (FT) - IsAuthKeyPSK *bool `json:"isAuthKeyPSK,omitempty"` // When set to true, the Pre-shared Key (PSK) authentication feature is enabled - IsAuthKeyPSKPlusFT *bool `json:"isAuthKeyPSKPlusFT,omitempty"` // When set to true, the feature that enables the combination of Pre-shared Key (PSK) and Fast Transition (FT) authentication keys is activated - IsAuthKeyOWE *bool `json:"isAuthKeyOWE,omitempty"` // When set to true, the Opportunistic Wireless Encryption (OWE) authentication key feature is turned on - IsAuthKeyEasyPSK *bool `json:"isAuthKeyEasyPSK,omitempty"` // When set to true, the feature that enables the use of Easy Pre-shared Key (PSK) authentication is activated - IsAuthKeyPSKSHA256 *bool `json:"isAuthKeyPSKSHA256,omitempty"` // The feature that allows the use of Pre-shared Key (PSK) authentication with the SHA256 algorithm is enabled when it is set to true - OpenSSID string `json:"openSsid,omitempty"` // Open SSID which is already created in the design and not associated to any other OPEN-SECURED SSID - WLANBandSelectEnable *bool `json:"wlanBandSelectEnable,omitempty"` // Band select is allowed only when band options selected contains at least 2.4 GHz and 5 GHz band - IsEnabled *bool `json:"isEnabled,omitempty"` // Set SSID's admin status as 'Enabled' when set to true - AuthServers []string `json:"authServers,omitempty"` // List of Authentication/Authorization server IpAddresses - AcctServers []string `json:"acctServers,omitempty"` // List of Accounting server IpAddresses - EgressQos string `json:"egressQos,omitempty"` // Egress QOS - IngressQos string `json:"ingressQos,omitempty"` // Ingress QOS - WLANType string `json:"wlanType,omitempty"` // Wlan Type - L3AuthType string `json:"l3AuthType,omitempty"` // L3 Authentication Type - AuthServer string `json:"authServer,omitempty"` // Authentication Server, Mandatory for Guest SSIDs with wlanType=Guest and l3AuthType=web_auth - ExternalAuthIPAddress string `json:"externalAuthIpAddress,omitempty"` // External WebAuth URL (Mandatory for Guest SSIDs with wlanType = Guest, l3AuthType = web_auth and authServer = auth_external) - WebPassthrough *bool `json:"webPassthrough,omitempty"` // When set to true, the Web-Passthrough feature will be activated for the Guest SSID, allowing guests to bypass certain login requirements - SleepingClientEnable *bool `json:"sleepingClientEnable,omitempty"` // When set to true, this will activate the timeout settings that apply to clients in sleep mode - SleepingClientTimeout *int `json:"sleepingClientTimeout,omitempty"` // This refers to the amount of time, measured in minutes, before a sleeping (inactive) client is timed out of the network - ACLName string `json:"aclName,omitempty"` // Pre-Auth Access Control List (ACL) Name - IsPosturingEnabled *bool `json:"isPosturingEnabled,omitempty"` // Applicable only for Enterprise SSIDs. When set to True, Posturing will enabled. Required to be set to True if ACL needs to be mapped for Enterprise SSID. - IsAuthKeySuiteB1X *bool `json:"isAuthKeySuiteB1x,omitempty"` // When activated by setting it to true, the SuiteB-1x authentication key feature is engaged. - IsAuthKeySuiteB1921X *bool `json:"isAuthKeySuiteB1921x,omitempty"` // When set to true, the SuiteB192-1x authentication key feature is enabled. - IsAuthKeySaeExt *bool `json:"isAuthKeySaeExt,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) Extended Authentication key feature is turned on. - IsAuthKeySaeExtPlusFT *bool `json:"isAuthKeySaeExtPlusFT,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) combined with Fast Transition (FT) Authentication Key feature is enabled. - IsApBeaconProtectionEnabled *bool `json:"isApBeaconProtectionEnabled,omitempty"` // When set to true, the Access Point (AP) Beacon Protection feature is activated, enhancing the security of the network. - Ghz24Policy string `json:"ghz24Policy,omitempty"` // 2.4 Ghz Band Policy value. Allowed only when 2.4 Radio Band is enabled in ssidRadioType - CckmTsfTolerance *int `json:"cckmTsfTolerance,omitempty"` // Cckm TImestamp Tolerance(in milliseconds) - IsCckmEnabled *bool `json:"isCckmEnabled,omitempty"` // True if CCKM is enabled, else False - IsHex *bool `json:"isHex,omitempty"` // True if passphrase is in Hex format, else False. - IsRandomMacFilterEnabled *bool `json:"isRandomMacFilterEnabled,omitempty"` // Deny clients using randomized MAC addresses when set to true - FastTransitionOverTheDistributedSystemEnable *bool `json:"fastTransitionOverTheDistributedSystemEnable,omitempty"` // Enable Fast Transition over the Distributed System when set to true +type ResponseWirelessGetApProfilesResponse struct { + ID string `json:"id,omitempty"` // AP Profile unique ID + + ApProfileName string `json:"apProfileName,omitempty"` // Name of the Access Point profile. Max length is 32 characters. + + Description string `json:"description,omitempty"` // Description of the AP profile. Max length is 241 characters + + RemoteWorkerEnabled *bool `json:"remoteWorkerEnabled,omitempty"` // Indicates if remote worker mode is enabled on the AP. Remote teleworker enabled profile cannot support security features like aWIPS,Forensic Capture Enablement, Rogue Detection and Rogue Containment. + + ManagementSetting *ResponseWirelessGetApProfilesResponseManagementSetting `json:"managementSetting,omitempty"` // + + AwipsEnabled *bool `json:"awipsEnabled,omitempty"` // Indicates if AWIPS is enabled on the AP. + + AwipsForensicEnabled *bool `json:"awipsForensicEnabled,omitempty"` // Indicates if AWIPS forensic is enabled on the AP. Forensic Capture is supported from IOS-XE version 17.4 and above. Forensic Capture can be activated only if aWIPS is enabled. + + RogueDetectionSetting *ResponseWirelessGetApProfilesResponseRogueDetectionSetting `json:"rogueDetectionSetting,omitempty"` // + + PmfDenialEnabled *bool `json:"pmfDenialEnabled,omitempty"` // Indicates if PMF denial is active on the AP. PMF Denial is supported from IOS-XE version 17.12 and above. + + MeshEnabled *bool `json:"meshEnabled,omitempty"` // This indicates whether mesh networking is enabled on the AP. For IOS-XE devices, when mesh networking is enabled, a custom mesh profile with the configured parameters will be created and mapped to the AP join profile on the device. When mesh networking is disabled, any existing custom mesh profile will be deleted from the device, and the AP join profile will be mapped to the default mesh profile on the device. + + MeshSetting *ResponseWirelessGetApProfilesResponseMeshSetting `json:"meshSetting,omitempty"` // + + ApPowerProfileName string `json:"apPowerProfileName,omitempty"` // Name of the existing AP power profile. + + CalendarPowerProfiles *ResponseWirelessGetApProfilesResponseCalendarPowerProfiles `json:"calendarPowerProfiles,omitempty"` // + + CountryCode string `json:"countryCode,omitempty"` // Country Code + + TimeZone string `json:"timeZone,omitempty"` // Time zone of the AP. + + TimeZoneOffsetHour *int `json:"timeZoneOffsetHour,omitempty"` // Hour 'Delta from Controller' for the time zone. The value should be between -12 and 14. + + TimeZoneOffsetMinutes *int `json:"timeZoneOffsetMinutes,omitempty"` // Minute 'Delta from Controller' for the time zone. Value should be between 0 to 59. + + ClientLimit *int `json:"clientLimit,omitempty"` // Number of clients. Value should be between 0-1200. } -type RequestWirelessCreateSSIDMultipSKSettings struct { - Priority *int `json:"priority,omitempty"` // Priority - PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type - Passphrase string `json:"passphrase,omitempty"` // Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters +type ResponseWirelessGetApProfilesResponseManagementSetting struct { + AuthType string `json:"authType,omitempty"` // Authentication type used in the AP profile. These setting are applicable during PnP claim and for day-N authentication of AP. Changing these settings will be service impacting for the PnP onboarded APs and will need a factory-reset for those APs. + + Dot1XUsername string `json:"dot1xUsername,omitempty"` // Username for 802.1X authentication. dot1xUsername must have a minimum of 1 character and a maximum of 32 characters. + + Dot1XPassword string `json:"dot1xPassword,omitempty"` // Password for 802.1X authentication. AP dot1x password length should not exceed 120. + + SSHEnabled *bool `json:"sshEnabled,omitempty"` // Indicates if SSH is enabled on the AP. Enable SSH add credentials for device management. + + TelnetEnabled *bool `json:"telnetEnabled,omitempty"` // Indicates if Telnet is enabled on the AP. Enable Telnet to add credentials for device management. + + ManagementUserName string `json:"managementUserName,omitempty"` // Management username must have a minimum of 1 character and a maximum of 32 characters. + + ManagementPassword string `json:"managementPassword,omitempty"` // Management password for the AP. Length must be 8-120 characters. + + ManagementEnablePassword string `json:"managementEnablePassword,omitempty"` // Enable password for managing the AP. Length must be 8-120 characters. + + CdpState *bool `json:"cdpState,omitempty"` // Indicates if CDP is enabled on the AP. Enable CDP in order to make Cisco Access Points known to its neighboring devices and vice-versa. } -type RequestWirelessUpdateSSID struct { - SSID string `json:"ssid,omitempty"` // Name of the SSID - AuthType string `json:"authType,omitempty"` // L2 Authentication Type (If authType is not open , then atleast one RSN Cipher Suite and corresponding valid AKM must be enabled) - Passphrase string `json:"passphrase,omitempty"` // Passphrase (Only applicable for SSID with PERSONAL security level). Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters - IsFastLaneEnabled *bool `json:"isFastLaneEnabled,omitempty"` // True if FastLane is enabled, else False - IsMacFilteringEnabled *bool `json:"isMacFilteringEnabled,omitempty"` // When set to true, MAC Filtering will be activated, allowing control over network access based on the MAC address of the device - SSIDRadioType string `json:"ssidRadioType,omitempty"` // Radio Policy Enum (default: Triple band operation(2.4GHz, 5GHz and 6GHz)) - IsBroadcastSSID *bool `json:"isBroadcastSSID,omitempty"` // When activated by setting it to true, the Broadcast SSID feature will make the SSID publicly visible to wireless devices searching for available networks - FastTransition string `json:"fastTransition,omitempty"` // Fast Transition - SessionTimeOutEnable *bool `json:"sessionTimeOutEnable,omitempty"` // Turn on the feature that imposes a time limit on user sessions - SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // This denotes the allotted time span, expressed in seconds, before a session is automatically terminated due to inactivity - ClientExclusionEnable *bool `json:"clientExclusionEnable,omitempty"` // Activate the feature that allows for the exclusion of clients - ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // This refers to the length of time, in seconds, a client is excluded or blocked from accessing the network after a specified number of unsuccessful attempts - BasicServiceSetMaxIDleEnable *bool `json:"basicServiceSetMaxIdleEnable,omitempty"` // Activate the maximum idle feature for the Basic Service Set - BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // This refers to the duration of inactivity, measured in seconds, before a client connected to the Basic Service Set is considered idle and timed out - DirectedMulticastServiceEnable *bool `json:"directedMulticastServiceEnable,omitempty"` // The Directed Multicast Service feature becomes operational when it is set to true - NeighborListEnable *bool `json:"neighborListEnable,omitempty"` // The Neighbor List feature is enabled when it is set to true - ManagementFrameProtectionClientprotection string `json:"managementFrameProtectionClientprotection,omitempty"` // Management Frame Protection Client - NasOptions []string `json:"nasOptions,omitempty"` // Pre-Defined NAS Options : AP ETH Mac Address, AP IP address, AP Location , AP MAC Address, AP Name, AP Policy Tag, AP Site Tag, SSID, System IP Address, System MAC Address, System Name. - ProfileName string `json:"profileName,omitempty"` // WLAN Profile Name, if not passed autogenerated profile name will be assigned. The same wlanProfileName will also be used for policyProfileName - AAAOverride *bool `json:"aaaOverride,omitempty"` // Activate the AAA Override feature when set to true - CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Activate Coverage Hole Detection feature when set to true - ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (REQUIRED is applicable for authType WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (OPTIONAL/REQUIRED is applicable for authType WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) - MultipSKSettings *[]RequestWirelessUpdateSSIDMultipSKSettings `json:"multiPSKSettings,omitempty"` // - ClientRateLimit *int `json:"clientRateLimit,omitempty"` // This pertains to the maximum data transfer rate, specified in bits per second, that a client is permitted to achieve - RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP256 encryption protocol is activated - RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP256 encryption protocol is activated - RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP128 encryption protocol is activated - RsnCipherSuiteCcmp128 *bool `json:"rsnCipherSuiteCcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP128 encryption protocol is activated - Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // True if 6 GHz Policy Client Steering is enabled, else False - IsAuthKey8021X *bool `json:"isAuthKey8021x,omitempty"` // When set to true, the 802.1X authentication key is in use - IsAuthKey8021XPlusFT *bool `json:"isAuthKey8021xPlusFT,omitempty"` // When set to true, the 802.1X-Plus-FT authentication key is in use - IsAuthKey8021XSHA256 *bool `json:"isAuthKey8021x_SHA256,omitempty"` // When set to true, the feature that enables 802.1X authentication using the SHA256 algorithm is turned on - IsAuthKeySae *bool `json:"isAuthKeySae,omitempty"` // When set to true, the feature enabling the Simultaneous Authentication of Equals (SAE) authentication key is activated - IsAuthKeySaePlusFT *bool `json:"isAuthKeySaePlusFT,omitempty"` // Activating this setting by switching it to true turns on the authentication key feature that supports both Simultaneous Authentication of Equals (SAE) and Fast Transition (FT) - IsAuthKeyPSK *bool `json:"isAuthKeyPSK,omitempty"` // When set to true, the Pre-shared Key (PSK) authentication feature is enabled - IsAuthKeyPSKPlusFT *bool `json:"isAuthKeyPSKPlusFT,omitempty"` // When set to true, the feature that enables the combination of Pre-shared Key (PSK) and Fast Transition (FT) authentication keys is activated - IsAuthKeyOWE *bool `json:"isAuthKeyOWE,omitempty"` // When set to true, the Opportunistic Wireless Encryption (OWE) authentication key feature is turned on - IsAuthKeyEasyPSK *bool `json:"isAuthKeyEasyPSK,omitempty"` // When set to true, the feature that enables the use of Easy Pre-shared Key (PSK) authentication is activated - IsAuthKeyPSKSHA256 *bool `json:"isAuthKeyPSKSHA256,omitempty"` // The feature that allows the use of Pre-shared Key (PSK) authentication with the SHA256 algorithm is enabled when it is set to true - OpenSSID string `json:"openSsid,omitempty"` // Open SSID which is already created in the design and not associated to any other OPEN-SECURED SSID - WLANBandSelectEnable *bool `json:"wlanBandSelectEnable,omitempty"` // Band select is allowed only when band options selected contains at least 2.4 GHz and 5 GHz band - IsEnabled *bool `json:"isEnabled,omitempty"` // Set SSID's admin status as 'Enabled' when set to true - AuthServers []string `json:"authServers,omitempty"` // List of Authentication/Authorization server IpAddresses - AcctServers []string `json:"acctServers,omitempty"` // List of Accounting server IpAddresses - EgressQos string `json:"egressQos,omitempty"` // Egress QOS - IngressQos string `json:"ingressQos,omitempty"` // Ingress QOS - WLANType string `json:"wlanType,omitempty"` // Wlan Type - L3AuthType string `json:"l3AuthType,omitempty"` // L3 Authentication Type - AuthServer string `json:"authServer,omitempty"` // Authentication Server, Mandatory for Guest SSIDs with wlanType=Guest and l3AuthType=web_auth - ExternalAuthIPAddress string `json:"externalAuthIpAddress,omitempty"` // External WebAuth URL (Mandatory for Guest SSIDs with wlanType = Guest, l3AuthType = web_auth and authServer = auth_external) - WebPassthrough *bool `json:"webPassthrough,omitempty"` // When set to true, the Web-Passthrough feature will be activated for the Guest SSID, allowing guests to bypass certain login requirements - SleepingClientEnable *bool `json:"sleepingClientEnable,omitempty"` // When set to true, this will activate the timeout settings that apply to clients in sleep mode - SleepingClientTimeout *int `json:"sleepingClientTimeout,omitempty"` // This refers to the amount of time, measured in minutes, before a sleeping (inactive) client is timed out of the network - ACLName string `json:"aclName,omitempty"` // Pre-Auth Access Control List (ACL) Name - IsPosturingEnabled *bool `json:"isPosturingEnabled,omitempty"` // Applicable only for Enterprise SSIDs. When set to True, Posturing will enabled. Required to be set to True if ACL needs to be mapped for Enterprise SSID. - IsAuthKeySuiteB1X *bool `json:"isAuthKeySuiteB1x,omitempty"` // When activated by setting it to true, the SuiteB-1x authentication key feature is engaged. - IsAuthKeySuiteB1921X *bool `json:"isAuthKeySuiteB1921x,omitempty"` // When set to true, the SuiteB192-1x authentication key feature is enabled. - IsAuthKeySaeExt *bool `json:"isAuthKeySaeExt,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) Extended Authentication key feature is turned on. - IsAuthKeySaeExtPlusFT *bool `json:"isAuthKeySaeExtPlusFT,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) combined with Fast Transition (FT) Authentication Key feature is enabled. - IsApBeaconProtectionEnabled *bool `json:"isApBeaconProtectionEnabled,omitempty"` // When set to true, the Access Point (AP) Beacon Protection feature is activated, enhancing the security of the network. - Ghz24Policy string `json:"ghz24Policy,omitempty"` // 2.4 Ghz Band Policy value. Allowed only when 2.4 Radio Band is enabled in ssidRadioType - CckmTsfTolerance *int `json:"cckmTsfTolerance,omitempty"` // Cckm TImestamp Tolerance(in milliseconds) - IsCckmEnabled *bool `json:"isCckmEnabled,omitempty"` // True if CCKM is enabled, else False - IsHex *bool `json:"isHex,omitempty"` // True if passphrase is in Hex format, else False. - IsRandomMacFilterEnabled *bool `json:"isRandomMacFilterEnabled,omitempty"` // Deny clients using randomized MAC addresses when set to true - FastTransitionOverTheDistributedSystemEnable *bool `json:"fastTransitionOverTheDistributedSystemEnable,omitempty"` // Enable Fast Transition over the Distributed System when set to true +type ResponseWirelessGetApProfilesResponseRogueDetectionSetting struct { + RogueDetection *bool `json:"rogueDetection,omitempty"` // Indicates if rogue detection is enabled. Detect Access Points that have been installed on a secure network without explicit authorization from a system administrator and configure rogue general configuration parameters + + RogueDetectionMinRssi *int `json:"rogueDetectionMinRssi,omitempty"` // Minimum RSSI for rogue detection. Value should be in range -128 decibel milliwatts and -70 decibel milliwatts + + RogueDetectionTransientInterval *int `json:"rogueDetectionTransientInterval,omitempty"` // Transient interval for rogue detection. Value should be 0 or from 120 to 1800. + + RogueDetectionReportInterval *int `json:"rogueDetectionReportInterval,omitempty"` // Report interval for rogue detection. Value should be in range 10 and 300. } -type RequestWirelessUpdateSSIDMultipSKSettings struct { - Priority *int `json:"priority,omitempty"` // Priority - PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type - Passphrase string `json:"passphrase,omitempty"` // Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters +type ResponseWirelessGetApProfilesResponseMeshSetting struct { + BridgeGroupName string `json:"bridgeGroupName,omitempty"` // Name of the bridge group for mesh settings. If not configured, 'Default' Bridge group name will be used in mesh profile. + + BackhaulClientAccess *bool `json:"backhaulClientAccess,omitempty"` // Indicates if backhaul client access is enabled on the AP. + + Range *int `json:"range,omitempty"` // Range of the mesh network. Value should be between 150-132000 + + Ghz5BackhaulDataRates string `json:"ghz5BackhaulDataRates,omitempty"` // 5GHz backhaul data rates. + + Ghz24BackhaulDataRates string `json:"ghz24BackhaulDataRates,omitempty"` // 2.4GHz backhaul data rates. + + RapDownlinkBackhaul string `json:"rapDownlinkBackhaul,omitempty"` // Type of downlink backhaul used. } -type RequestWirelessConfigureAccessPoints struct { - ApList *[]RequestWirelessConfigureAccessPointsApList `json:"apList,omitempty"` // - ConfigureAdminStatus *bool `json:"configureAdminStatus,omitempty"` // To change the access point's admin status, set this parameter's value to "true". - AdminStatus *bool `json:"adminStatus,omitempty"` // Configure the access point's admin status. Set this parameter's value to "true" to enable it and "false" to disable it. - ConfigureApMode *bool `json:"configureApMode,omitempty"` // To change the access point's mode, set this parameter's value to "true". - ApMode *int `json:"apMode,omitempty"` // Configure the access point's mode: for local/flexconnect mode, set "0"; for monitor mode, set "1"; for sniffer mode, set "4"; and for bridge/flex+bridge mode, set "5". - ConfigureFailoverPriority *bool `json:"configureFailoverPriority,omitempty"` // To change the access point's failover priority, set this parameter's value to "true". - FailoverPriority *int `json:"failoverPriority,omitempty"` // Configure the acess point's failover priority: for low, set "1"; for medium, set "2"; for high, set "3"; and for critical, set "4". - ConfigureLedStatus *bool `json:"configureLedStatus,omitempty"` // To change the access point's LED status, set this parameter's value to "true". - LedStatus *bool `json:"ledStatus,omitempty"` // Configure the access point's LED status. Set "true" to enable its status and "false" to disable it. - ConfigureLedBrightnessLevel *bool `json:"configureLedBrightnessLevel,omitempty"` // To change the access point's LED brightness level, set this parameter's value to "true". - LedBrightnessLevel *int `json:"ledBrightnessLevel,omitempty"` // Configure the access point's LED brightness level by setting a value between 1 and 8. - ConfigureLocation *bool `json:"configureLocation,omitempty"` // To change the access point's location, set this parameter's value to "true". - Location string `json:"location,omitempty"` // Configure the access point's location. - ConfigureHAController *bool `json:"configureHAController,omitempty"` // To change the access point's HA controller, set this parameter's value to "true". - PrimaryControllerName string `json:"primaryControllerName,omitempty"` // Configure the hostname for an access point's primary controller. - PrimaryIPAddress *RequestWirelessConfigureAccessPointsPrimaryIPAddress `json:"primaryIpAddress,omitempty"` // - SecondaryControllerName string `json:"secondaryControllerName,omitempty"` // Configure the hostname for an access point's secondary controller. - SecondaryIPAddress *RequestWirelessConfigureAccessPointsSecondaryIPAddress `json:"secondaryIpAddress,omitempty"` // - TertiaryControllerName string `json:"tertiaryControllerName,omitempty"` // Configure the hostname for an access point's tertiary controller. - TertiaryIPAddress *RequestWirelessConfigureAccessPointsTertiaryIPAddress `json:"tertiaryIpAddress,omitempty"` // - RadioConfigurations *[]RequestWirelessConfigureAccessPointsRadioConfigurations `json:"radioConfigurations,omitempty"` // - IsAssignedSiteAsLocation *bool `json:"isAssignedSiteAsLocation,omitempty"` // If AP is assigned to a site, then to assign AP location as the site name, set this parameter's value to "true". +type ResponseWirelessGetApProfilesResponseCalendarPowerProfiles struct { + PowerProfileName string `json:"powerProfileName,omitempty"` // Name of the existing AP power profile to be mapped to the calendar power profile. The following API is used create AP power profile. API-/intent/api/v1/wirelessSettings/powerProfiles + + SchedulerType string `json:"schedulerType,omitempty"` // Type of the scheduler. + + Duration *ResponseWirelessGetApProfilesResponseCalendarPowerProfilesDuration `json:"duration,omitempty"` // } -type RequestWirelessConfigureAccessPointsApList struct { - ApName string `json:"apName,omitempty"` // The current host name of the access point. - MacAddress string `json:"macAddress,omitempty"` // The ethernet MAC address of the access point. - ApNameNew string `json:"apNameNew,omitempty"` // The modified hostname of the access point. +type ResponseWirelessGetApProfilesResponseCalendarPowerProfilesDuration struct { + SchedulerStartTime string `json:"schedulerStartTime,omitempty"` // Start time of the duration setting. + + SchedulerEndTime string `json:"schedulerEndTime,omitempty"` // End time of the duration setting. + + SchedulerDay string `json:"schedulerDay,omitempty"` // Applies every week on the selected days + + SchedulerDate string `json:"schedulerDate,omitempty"` // Start and End date of the duration setting, applicable for MONTHLY schedulers. } -type RequestWirelessConfigureAccessPointsPrimaryIPAddress struct { - Address string `json:"address,omitempty"` // Configure the IP address for an access point's primary controller. +type ResponseWirelessGetApProfilesCount struct { + Response *ResponseWirelessGetApProfilesCountResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version } -type RequestWirelessConfigureAccessPointsSecondaryIPAddress struct { - Address string `json:"address,omitempty"` // Configure the IP address for an access point's secondary controller. +type ResponseWirelessGetApProfilesCountResponse struct { + Count *int `json:"count,omitempty"` // Count of the requested resource } -type RequestWirelessConfigureAccessPointsTertiaryIPAddress struct { - Address string `json:"address,omitempty"` // Configure the IP address for an access point's tertiary controller. +type ResponseWirelessDeleteApProfileByID struct { + Response *ResponseWirelessDeleteApProfileByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessConfigureAccessPointsRadioConfigurations struct { - ConfigureRadioRoleAssignment *bool `json:"configureRadioRoleAssignment,omitempty"` // To change the radio role on the specified radio for an access point, set this parameter's value to "true". - RadioRoleAssignment string `json:"radioRoleAssignment,omitempty"` // Configure only one of the following roles on the specified radio for an access point as "AUTO", "SERVING", or "MONITOR". Any other string is invalid, including empty string - RadioBand string `json:"radioBand,omitempty"` // Configure the band on the specified radio for an access point: for 2.4 GHz, set "RADIO24"; for 5 GHz, set "RADIO5". Any other string is invalid, including empty string - ConfigureAdminStatus *bool `json:"configureAdminStatus,omitempty"` // To change the admin status on the specified radio for an access point, set this parameter's value to "true". - AdminStatus *bool `json:"adminStatus,omitempty"` // Configure the admin status on the specified radio for an access point. Set this parameter's value to "true" to enable it and "false" to disable it. - ConfigureAntennaPatternName *bool `json:"configureAntennaPatternName,omitempty"` // To change the antenna gain on the specified radio for an access point, set the value for this parameter to "true". - AntennaPatternName string `json:"antennaPatternName,omitempty"` // Specify the antenna name on the specified radio for an access point. The antenna name is used to calculate the gain on the radio slot. - AntennaGain *int `json:"antennaGain,omitempty"` // Configure the antenna gain on the specified radio for an access point by setting a decimal value (in dBi). To configure "antennaGain", set "antennaPatternName" value to "other". - ConfigureAntennaCable *bool `json:"configureAntennaCable,omitempty"` // To change the antenna cable name on the specified radio for an access point, set this parameter's value to "true". - AntennaCableName string `json:"antennaCableName,omitempty"` // Configure the antenna cable name on the specified radio for an access point. If cable loss needs to be configured, set this parameter's value to "other". - CableLoss *float64 `json:"cableLoss,omitempty"` // Configure the cable loss on the specified radio for an access point by setting a decimal value (in dBi). - ConfigureChannel *bool `json:"configureChannel,omitempty"` // To change the channel on the specified radio for an access point, set this parameter's value to "true". - ChannelAssignmentMode *int `json:"channelAssignmentMode,omitempty"` // Configure the channel assignment mode on the specified radio for an access point: for global mode, set "1"; and for custom mode, set "2". - ChannelNumber *int `json:"channelNumber,omitempty"` // Configure the channel number on the specified radio for an access point. - ConfigureChannelWidth *bool `json:"configureChannelWidth,omitempty"` // To change the channel width on the specified radio for an access point, set this parameter's value to "true". - ChannelWidth *int `json:"channelWidth,omitempty"` // Configure the channel width on the specified radio for an access point: for 20 MHz, set "3"; for 40 MHz, set "4"; for 80 MHz, set "5"; for 160 MHz, set "6", and for 320 MHz, set "7". - ConfigurePower *bool `json:"configurePower,omitempty"` // To change the power assignment mode on the specified radio for an access point, set this parameter's value to "true". - PowerAssignmentMode *int `json:"powerAssignmentMode,omitempty"` // Configure the power assignment mode on the specified radio for an access point: for global mode, set "1"; and for custom mode, set "2". - Powerlevel *int `json:"powerlevel,omitempty"` // Configure the power level on the specified radio for an access point by setting a value between 1 and 8. - ConfigureCleanAirSI *bool `json:"configureCleanAirSI,omitempty"` // To enable or disable either CleanAir or Spectrum Intelligence on the specified radio for an access point, set this parameter's value to "true". - CleanAirSI *int `json:"cleanAirSI,omitempty"` // Configure CleanAir or Spectrum Intelligence on the specified radio for an access point. Set this parameter's value to "0" to disable the feature or "1" to enable it. - RadioType *int `json:"radioType,omitempty"` // Configure an access point's radio band: for 2.4 GHz, set "1"; for 5 GHz, set "2"; for XOR, set "3"; and for 6 GHz, set "6". +type ResponseWirelessDeleteApProfileByIDResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessApProvisionConnectivity []RequestItemWirelessApProvisionConnectivity // Array of RequestWirelessAPProvisionConnectivity -type RequestItemWirelessApProvisionConnectivity struct { - RfProfile string `json:"rfProfile,omitempty"` // Radio frequency profile name - DeviceName string `json:"deviceName,omitempty"` // Device name - CustomApGroupName string `json:"customApGroupName,omitempty"` // Custom AP group name - CustomFlexGroupName []string `json:"customFlexGroupName,omitempty"` // ["Custom flex group name"] - Type string `json:"type,omitempty"` // ApWirelessConfiguration - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site name hierarchy(ex: Global/...) +type ResponseWirelessUpdateApProfileByID struct { + Response *ResponseWirelessUpdateApProfileByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessCreateUpdateDynamicInterface struct { - InterfaceName string `json:"interfaceName,omitempty"` // dynamic-interface name - VLANID *float64 `json:"vlanId,omitempty"` // Vlan Id +type ResponseWirelessUpdateApProfileByIDResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessUpdateWirelessProfile struct { - ProfileDetails *RequestWirelessUpdateWirelessProfileProfileDetails `json:"profileDetails,omitempty"` // +type ResponseWirelessGetApProfileByID struct { + Response *[]ResponseWirelessGetApProfileByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessUpdateWirelessProfileProfileDetails struct { - Name string `json:"name,omitempty"` // Profile Name - Sites []string `json:"sites,omitempty"` // array of site name hierarchies(eg: ["Global/aaa/zzz", "Global/aaa/zzz"]) - SSIDDetails *[]RequestWirelessUpdateWirelessProfileProfileDetailsSSIDDetails `json:"ssidDetails,omitempty"` // +type ResponseWirelessGetApProfileByIDResponse struct { + ID string `json:"id,omitempty"` // AP Profile unique ID + + ApProfileName string `json:"apProfileName,omitempty"` // Name of the Access Point profile. Max length is 32 characters. + + Description string `json:"description,omitempty"` // Description of the AP profile. Max length is 241 characters + + RemoteWorkerEnabled *bool `json:"remoteWorkerEnabled,omitempty"` // Indicates if remote worker mode is enabled on the AP. Remote teleworker enabled profile cannot support security features like aWIPS,Forensic Capture Enablement, Rogue Detection and Rogue Containment. + + ManagementSetting *ResponseWirelessGetApProfileByIDResponseManagementSetting `json:"managementSetting,omitempty"` // + + AwipsEnabled *bool `json:"awipsEnabled,omitempty"` // Indicates if AWIPS is enabled on the AP. + + AwipsForensicEnabled *bool `json:"awipsForensicEnabled,omitempty"` // Indicates if AWIPS forensic is enabled on the AP. Forensic Capture is supported from IOS-XE version 17.4 and above. Forensic Capture can be activated only if aWIPS is enabled. + + RogueDetectionSetting *ResponseWirelessGetApProfileByIDResponseRogueDetectionSetting `json:"rogueDetectionSetting,omitempty"` // + + PmfDenialEnabled *bool `json:"pmfDenialEnabled,omitempty"` // Indicates if PMF denial is active on the AP. PMF Denial is supported from IOS-XE version 17.12 and above. + + MeshEnabled *bool `json:"meshEnabled,omitempty"` // This indicates whether mesh networking is enabled on the AP. For IOS-XE devices, when mesh networking is enabled, a custom mesh profile with the configured parameters will be created and mapped to the AP join profile on the device. When mesh networking is disabled, any existing custom mesh profile will be deleted from the device, and the AP join profile will be mapped to the default mesh profile on the device. + + MeshSetting *ResponseWirelessGetApProfileByIDResponseMeshSetting `json:"meshSetting,omitempty"` // + + ApPowerProfileName string `json:"apPowerProfileName,omitempty"` // Name of the existing AP power profile. + + CalendarPowerProfiles *ResponseWirelessGetApProfileByIDResponseCalendarPowerProfiles `json:"calendarPowerProfiles,omitempty"` // + + CountryCode string `json:"countryCode,omitempty"` // Country Code + + TimeZone string `json:"timeZone,omitempty"` // In the Time Zone area, choose one of the following options. Not Configured - APs operate in the UTC time zone. Controller - APs operate in the Cisco Wireless Controller time zone. Delta from Controller - APs operate in the offset time from the wireless controller time zone. + + TimeZoneOffsetHour *int `json:"timeZoneOffsetHour,omitempty"` // Enter the hour value (HH). The valid range is from -12 through 14. + + TimeZoneOffsetMinutes *int `json:"timeZoneOffsetMinutes,omitempty"` // Enter the minute value (MM). The valid range is from 0 through 59. + + ClientLimit *int `json:"clientLimit,omitempty"` // Number of clients. Value should be between 0-1200. } -type RequestWirelessUpdateWirelessProfileProfileDetailsSSIDDetails struct { - Name string `json:"name,omitempty"` // Ssid Name - EnableFabric *bool `json:"enableFabric,omitempty"` // true if ssid is fabric else false - FlexConnect *RequestWirelessUpdateWirelessProfileProfileDetailsSSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name - PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name +type ResponseWirelessGetApProfileByIDResponseManagementSetting struct { + AuthType string `json:"authType,omitempty"` // Authentication type used in the AP profile. These setting are applicable during PnP claim and for day-N authentication of AP. Changing these settings will be service impacting for the PnP onboarded APs and will need a factory-reset for those APs. + + Dot1XUsername string `json:"dot1xUsername,omitempty"` // Username for 802.1X authentication. dot1xUsername must have a minimum of 1 character and a maximum of 32 characters. + + Dot1XPassword string `json:"dot1xPassword,omitempty"` // Password for 802.1X authentication. AP dot1x password length should not exceed 120. + + SSHEnabled *bool `json:"sshEnabled,omitempty"` // Indicates if SSH is enabled on the AP. Enable SSH add credentials for device management. + + TelnetEnabled *bool `json:"telnetEnabled,omitempty"` // Indicates if Telnet is enabled on the AP. Enable Telnet to add credentials for device management. + + ManagementUserName string `json:"managementUserName,omitempty"` // Management username must have a minimum of 1 character and a maximum of 32 characters. + + ManagementPassword string `json:"managementPassword,omitempty"` // Management password for the AP. Length must be 8-120 characters. + + ManagementEnablePassword string `json:"managementEnablePassword,omitempty"` // Enable password for managing the AP. Length must be 8-120 characters. + + CdpState *bool `json:"cdpState,omitempty"` // Indicates if CDP is enabled on the AP. Enable CDP in order to make Cisco Access Points known to its neighboring devices and vice-versa. } -type RequestWirelessUpdateWirelessProfileProfileDetailsSSIDDetailsFlexConnect struct { - EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // true if flex connect is enabled else false - LocalToVLAN *int `json:"localToVlan,omitempty"` // Local To Vlan Id +type ResponseWirelessGetApProfileByIDResponseRogueDetectionSetting struct { + RogueDetection *bool `json:"rogueDetection,omitempty"` // Indicates if rogue detection is enabled on the AP. Detect Access Points that have been installed on a secure network without explicit authorization from a system administrator and configure rogue general configuration parameters + + RogueDetectionMinRssi *int `json:"rogueDetectionMinRssi,omitempty"` // Minimum RSSI for rogue detection. Value should be in range -128 decibel milliwatts and -70 decibel milliwatts + + RogueDetectionTransientInterval *int `json:"rogueDetectionTransientInterval,omitempty"` // Transient interval for rogue detection. Value should be 0 or from 120 to 1800. + + RogueDetectionReportInterval *int `json:"rogueDetectionReportInterval,omitempty"` // Report interval for rogue detection. Value should be in range 10 and 300. } -type RequestWirelessCreateWirelessProfile struct { - ProfileDetails *RequestWirelessCreateWirelessProfileProfileDetails `json:"profileDetails,omitempty"` // +type ResponseWirelessGetApProfileByIDResponseMeshSetting struct { + BridgeGroupName string `json:"bridgeGroupName,omitempty"` // Name of the bridge group for mesh settings. If not configured, 'Default' Bridge group name will be used in mesh profile. + + BackhaulClientAccess *bool `json:"backhaulClientAccess,omitempty"` // Indicates if backhaul client access is enabled on the AP. + + Range *int `json:"range,omitempty"` // Range of the mesh network. Value should be between 150-132000 + + Ghz5BackhaulDataRates string `json:"ghz5BackhaulDataRates,omitempty"` // 5GHz backhaul data rates. + + Ghz24BackhaulDataRates string `json:"ghz24BackhaulDataRates,omitempty"` // 2.4GHz backhaul data rates. + + RapDownlinkBackhaul string `json:"rapDownlinkBackhaul,omitempty"` // Type of downlink backhaul used. } -type RequestWirelessCreateWirelessProfileProfileDetails struct { - Name string `json:"name,omitempty"` // Profile Name - Sites []string `json:"sites,omitempty"` // array of site name hierarchies(eg: ["Global/aaa/zzz", "Global/aaa/zzz"]) - SSIDDetails *[]RequestWirelessCreateWirelessProfileProfileDetailsSSIDDetails `json:"ssidDetails,omitempty"` // +type ResponseWirelessGetApProfileByIDResponseCalendarPowerProfiles struct { + PowerProfileName string `json:"powerProfileName,omitempty"` // Name of the existing AP power profile to be mapped to the calendar power profile. API-/intent/api/v1/wirelessSettings/powerProfiles. + + SchedulerType string `json:"schedulerType,omitempty"` // Type of the scheduler. + + Duration *ResponseWirelessGetApProfileByIDResponseCalendarPowerProfilesDuration `json:"duration,omitempty"` // } -type RequestWirelessCreateWirelessProfileProfileDetailsSSIDDetails struct { - Name string `json:"name,omitempty"` // Ssid Name - EnableFabric *bool `json:"enableFabric,omitempty"` // true if ssid is fabric else false - FlexConnect *RequestWirelessCreateWirelessProfileProfileDetailsSSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name - PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name +type ResponseWirelessGetApProfileByIDResponseCalendarPowerProfilesDuration struct { + SchedulerStartTime string `json:"schedulerStartTime,omitempty"` // Start time of the duration setting. + + SchedulerEndTime string `json:"schedulerEndTime,omitempty"` // End time of the duration setting. + + SchedulerDay string `json:"schedulerDay,omitempty"` // Applies every week on the selected days + + SchedulerDate string `json:"schedulerDate,omitempty"` // Start and End date of the duration setting, applicable for MONTHLY schedulers. } -type RequestWirelessCreateWirelessProfileProfileDetailsSSIDDetailsFlexConnect struct { - EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // true if flex connect is enabled else false - LocalToVLAN *int `json:"localToVlan,omitempty"` // Local To Vlan Id +type ResponseWirelessGet80211BeProfiles struct { + Response *[]ResponseWirelessGet80211BeProfilesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version } -type RequestWirelessProvisionUpdate []RequestItemWirelessProvisionUpdate // Array of RequestWirelessProvisionUpdate -type RequestItemWirelessProvisionUpdate struct { - DeviceName string `json:"deviceName,omitempty"` // Controller Name - ManagedApLocations []string `json:"managedAPLocations,omitempty"` // List of managed AP locations (Site Hierarchies) - DynamicInterfaces *[]RequestItemWirelessProvisionUpdateDynamicInterfaces `json:"dynamicInterfaces,omitempty"` // +type ResponseWirelessGet80211BeProfilesResponse struct { + ID string `json:"id,omitempty"` // 802.11be Profile ID + + ProfileName string `json:"profileName,omitempty"` // 802.11be Profile Name + + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink + + OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU + + Default *bool `json:"default,omitempty"` // 802.11be Profile is marked default or custom (Read only field) } -type RequestItemWirelessProvisionUpdateDynamicInterfaces struct { - InterfaceIPAddress string `json:"interfaceIPAddress,omitempty"` // Interface IP Address. Required for AireOS. - InterfaceNetmaskInCIDR *int `json:"interfaceNetmaskInCIDR,omitempty"` // Interface Netmask In CIDR. Required for AireOS. - InterfaceGateway string `json:"interfaceGateway,omitempty"` // Interface Gateway. Required for AireOS. - LagOrPortNumber *int `json:"lagOrPortNumber,omitempty"` // Lag Or Port Number. Required for AireOS. - VLANID *int `json:"vlanId,omitempty"` // VLAN ID. Required for AireOS and EWLC. - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name. Required for AireOS and EWLC. +type ResponseWirelessCreateA80211BeProfile struct { + Response *ResponseWirelessCreateA80211BeProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessProvision []RequestItemWirelessProvision // Array of RequestWirelessProvision -type RequestItemWirelessProvision struct { - DeviceName string `json:"deviceName,omitempty"` // Controller Name - Site string `json:"site,omitempty"` // Full Site Hierarchy where device has to be assigned - ManagedApLocations []string `json:"managedAPLocations,omitempty"` // List of managed AP locations (Site Hierarchies) - DynamicInterfaces *[]RequestItemWirelessProvisionDynamicInterfaces `json:"dynamicInterfaces,omitempty"` // +type ResponseWirelessCreateA80211BeProfileResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestItemWirelessProvisionDynamicInterfaces struct { - InterfaceIPAddress string `json:"interfaceIPAddress,omitempty"` // Interface IP Address. Required for AireOS. - InterfaceNetmaskInCIDR *int `json:"interfaceNetmaskInCIDR,omitempty"` // Interface Netmask In CIDR. Required for AireOS. - InterfaceGateway string `json:"interfaceGateway,omitempty"` // Interface Gateway. Required for AireOS. - LagOrPortNumber *int `json:"lagOrPortNumber,omitempty"` // Lag Or Port Number. Required for AireOS. - VLANID *int `json:"vlanId,omitempty"` // VLAN ID. Required for both AireOS and EWLC. - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name. Required for both AireOS and EWLC. +type ResponseWirelessGet80211BeProfilesCount struct { + Response *ResponseWirelessGet80211BeProfilesCountResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version } -type RequestWirelessPSKOverride []RequestItemWirelessPSKOverride // Array of RequestWirelessPSKOverride -type RequestItemWirelessPSKOverride struct { - SSID string `json:"ssid,omitempty"` // enterprise ssid name(already created/present) - Site string `json:"site,omitempty"` // site name hierarchy (ex: Global/aaa/zzz/...) - PassPhrase string `json:"passPhrase,omitempty"` // Pass phrase (create/update) - WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name +type ResponseWirelessGet80211BeProfilesCountResponse struct { + Count *int `json:"count,omitempty"` // Count of the requested resource } -type RequestWirelessCreateOrUpdateRfProfile struct { - Name string `json:"name,omitempty"` // RF Profile Name - DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // is Default Rf Profile - EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // Enable Radio Type A - EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // Enable Radio Type B - ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width - EnableCustom *bool `json:"enableCustom,omitempty"` // Enable Custom - EnableBrownField *bool `json:"enableBrownField,omitempty"` // Enable Brown Field - RadioTypeAProperties *RequestWirelessCreateOrUpdateRfProfileRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // - RadioTypeBProperties *RequestWirelessCreateOrUpdateRfProfileRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // - RadioTypeCProperties *RequestWirelessCreateOrUpdateRfProfileRadioTypeCProperties `json:"radioTypeCProperties,omitempty"` // - EnableRadioTypeC *bool `json:"enableRadioTypeC,omitempty"` // Enable Radio Type C (6GHz) +type ResponseWirelessDeleteA80211BeProfile struct { + Response *ResponseWirelessDeleteA80211BeProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessCreateOrUpdateRfProfileRadioTypeAProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) - RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "36,40,44,48,52,56,60,64,149,153,157,161") - DataRates string `json:"dataRates,omitempty"` // Data Rates (Default : "6,9,12,18,24,36,48,54") - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "6,12,24") - PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold ( (Default: -70) - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") - MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Rx Sop Threshold (Default: -10) - MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) +type ResponseWirelessDeleteA80211BeProfileResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessCreateOrUpdateRfProfileRadioTypeBProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) - RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "9,11,12,18,24,36,48,54") - DataRates string `json:"dataRates,omitempty"` // Data Rates (Default: "9,11,12,18,24,36,48,54") - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "12") - PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold (Default: -70) - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") - MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Min Power Level (Default: -10) - MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) +type ResponseWirelessUpdate80211BeProfile struct { + Response *ResponseWirelessUpdate80211BeProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessCreateOrUpdateRfProfileRadioTypeCProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) - RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "5,21,37,53,69,85,101,117,133,149,165,181,197,213,229") - DataRates string `json:"dataRates,omitempty"` // Data Rates (Default: "6,9,12,18,24,36,48,54") - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "6,12,24") - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") - MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Min Power Level (Default: -10) - MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) - PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold (Default: -70) +type ResponseWirelessUpdate80211BeProfileResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessFactoryResetAccessPoints struct { - KeepStaticIPConfig *bool `json:"keepStaticIPConfig,omitempty"` // Set the value of keepStaticIPConfig to false, to clear all configurations from Access Points and set the value of keepStaticIPConfig to true, to clear all configurations from Access Points without clearing static IP configuration. - ApMacAddresses []string `json:"apMacAddresses,omitempty"` // List of Access Point's Ethernet MAC addresses, set maximum 100 ethernet MAC addresses per request. +type ResponseWirelessGet80211BeProfileByID struct { + Response *ResponseWirelessGet80211BeProfileByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version } -type RequestWirelessApProvision struct { - NetworkDevices *[]RequestWirelessApProvisionNetworkDevices `json:"networkDevices,omitempty"` // - RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name. RF Profile is not allowed for custom AP Zones. - ApZoneName string `json:"apZoneName,omitempty"` // AP Zone Name. A custom AP Zone should be passed if no rfProfileName is provided. - SiteID string `json:"siteId,omitempty"` // Site ID +type ResponseWirelessGet80211BeProfileByIDResponse struct { + ID string `json:"id,omitempty"` // 802.11be Profile ID + + ProfileName string `json:"profileName,omitempty"` // 802.11be Profile Name + + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink + + OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU + + Default *bool `json:"default,omitempty"` // Is 802.11be Profile marked as default in System . (Read only field) } -type RequestWirelessApProvisionNetworkDevices struct { - DeviceID string `json:"deviceId,omitempty"` // Network device ID of access points - MeshRole string `json:"meshRole,omitempty"` // Mesh Role (Applicable only when AP is in Bridge Mode) +type ResponseWirelessGetInterfaces struct { + Response *[]ResponseWirelessGetInterfacesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessMobilityProvision struct { - MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Self device Group Name. Must be alphanumeric without {!,<,space,?/'}
and maximum of 31 characters. - MacAddress string `json:"macAddress,omitempty"` // Device mobility MAC Address. Allowed formats are: 0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 - ManagementIP string `json:"managementIp,omitempty"` // Self device wireless Management IP. - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. - DtlsHighCipher *bool `json:"dtlsHighCipher,omitempty"` // DTLS High Cipher. - DataLinkEncryption *bool `json:"dataLinkEncryption,omitempty"` // A secure link in which data is encrypted using CAPWAP DTLS protocol can be established between two controllers. This value will be applied to all peers during POST operation. - MobilityPeers *[]RequestWirelessMobilityProvisionMobilityPeers `json:"mobilityPeers,omitempty"` // +type ResponseWirelessGetInterfacesResponse struct { + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + VLANID *int `json:"vlanId,omitempty"` // VLAN ID + + ID string `json:"id,omitempty"` // Interface ID } -type RequestWirelessMobilityProvisionMobilityPeers struct { - PeerIP string `json:"peerIp,omitempty"` // This indicates public ip address. - PrivateIPAddress string `json:"privateIpAddress,omitempty"` // This indicates private/management ip address. - PeerDeviceName string `json:"peerDeviceName,omitempty"` // Peer device Host Name. - PeerNetworkDeviceID string `json:"peerNetworkDeviceId,omitempty"` // The possible values are: UNKNOWN or valid UUID of Network device Id. UNKNOWN represents out of band device which is not managed internally. Valid UUID represents WLC network device id. - MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Peer Device mobility group Name. Must be alphanumeric without {!,<,space,?/'}
and maximum of 31 characters. - MemberMacAddress string `json:"memberMacAddress,omitempty"` // Peer device mobility MAC Address. Allowed formats are: 0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 - DeviceSeries string `json:"deviceSeries,omitempty"` // Indicates peer device mobility belongs to AireOS or IOX-XE family. 0 - indicates AireOS and 1 - indicates C9800. - HashKey string `json:"hashKey,omitempty"` // SSC hash string must be 40 characters. +type ResponseWirelessCreateInterface struct { + Response *ResponseWirelessCreateInterfaceResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessMobilityReset struct { - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device Id of Cisco wireless controller.Obtain the network device ID value by using the API call GET - /dna/intent/api/v1/network-device/ip-address/${ipAddress}. +type ResponseWirelessCreateInterfaceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessAssignManagedApLocationsForWLC struct { - PrimaryManagedApLocationsSiteIDs []string `json:"primaryManagedAPLocationsSiteIds,omitempty"` // Site IDs of Primary Managed AP Locations. These values can be obtained by using the API call GET: /dna/intent/api/v1/site - SecondaryManagedApLocationsSiteIDs []string `json:"secondaryManagedAPLocationsSiteIds,omitempty"` // Site IDs of Secondary Managed AP Locations. These values can be obtained by using the API call GET: /dna/intent/api/v1/site +type ResponseWirelessGetInterfacesCount struct { + Response *ResponseWirelessGetInterfacesCountResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version } -type RequestWirelessWirelessControllerProvision struct { - Interfaces *[]RequestWirelessWirelessControllerProvisionInterfaces `json:"interfaces,omitempty"` // - SkipApProvision *bool `json:"skipApProvision,omitempty"` // True if Skip AP Provision is enabled, else False - RollingApUpgrade *RequestWirelessWirelessControllerProvisionRollingApUpgrade `json:"rollingApUpgrade,omitempty"` // +type ResponseWirelessGetInterfacesCountResponse struct { + Count *int `json:"count,omitempty"` // Count of the requested resource } -type RequestWirelessWirelessControllerProvisionInterfaces struct { - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - VLANID *int `json:"vlanId,omitempty"` // VLAN ID range is 1 - 4094 - InterfaceIPAddress string `json:"interfaceIPAddress,omitempty"` // Interface IP Address - InterfaceNetmaskInCIDR *int `json:"interfaceNetmaskInCIDR,omitempty"` // Interface Netmask In CIDR, range is 1-30 - InterfaceGateway string `json:"interfaceGateway,omitempty"` // Interface Gateway - LagOrPortNumber *int `json:"lagOrPortNumber,omitempty"` // Lag Or Port Number +type ResponseWirelessGetInterfaceByID struct { + Response *ResponseWirelessGetInterfaceByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessWirelessControllerProvisionRollingApUpgrade struct { - EnableRollingApUpgrade *bool `json:"enableRollingApUpgrade,omitempty"` // True if Rolling AP Upgrade is enabled, else False - ApRebootPercentage *int `json:"apRebootPercentage,omitempty"` // AP Reboot Percentage. Permissible values - 5, 15, 25 +type ResponseWirelessGetInterfaceByIDResponse struct { + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + VLANID *int `json:"vlanId,omitempty"` // VLAN ID + + ID string `json:"id,omitempty"` // Interface ID } -type RequestWirelessCreateWirelessProfileConnectivity struct { - WirelessProfileName string `json:"wirelessProfileName,omitempty"` // Wireless Network Profile Name - SSIDDetails *[]RequestWirelessCreateWirelessProfileConnectivitySSIDDetails `json:"ssidDetails,omitempty"` // +type ResponseWirelessDeleteInterface struct { + Response *ResponseWirelessDeleteInterfaceResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessCreateWirelessProfileConnectivitySSIDDetails struct { - SSIDName string `json:"ssidName,omitempty"` // SSID Name - FlexConnect *RequestWirelessCreateWirelessProfileConnectivitySSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // - EnableFabric *bool `json:"enableFabric,omitempty"` // True if fabric is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time - WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name. Default Value: management - Dot11BeProfileID string `json:"dot11beProfileId,omitempty"` // 802.11be Profile Id. Applicable to IOS controllers with version 17.15 and higher. 802.11be Profiles if passed, should be same across all SSIDs in network profile being configured +type ResponseWirelessDeleteInterfaceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessCreateWirelessProfileConnectivitySSIDDetailsFlexConnect struct { - EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // True if flex connect is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time - LocalToVLAN *int `json:"localToVlan,omitempty"` // Local to VLAN ID +type ResponseWirelessUpdateInterface struct { + Response *ResponseWirelessUpdateInterfaceResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessUpdateWirelessProfileConnectivity struct { - WirelessProfileName string `json:"wirelessProfileName,omitempty"` // Wireless Network Profile Name - SSIDDetails *[]RequestWirelessUpdateWirelessProfileConnectivitySSIDDetails `json:"ssidDetails,omitempty"` // +type ResponseWirelessUpdateInterfaceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessUpdateWirelessProfileConnectivitySSIDDetails struct { - SSIDName string `json:"ssidName,omitempty"` // SSID Name - FlexConnect *RequestWirelessUpdateWirelessProfileConnectivitySSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // - EnableFabric *bool `json:"enableFabric,omitempty"` // True if fabric is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time - WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name. Default Value: management - Dot11BeProfileID string `json:"dot11beProfileId,omitempty"` // 802.11be Profile Id. Applicable to IOS controllers with version 17.15 and higher. 802.11be Profiles if passed, should be same across all SSIDs in network profile being configured +type ResponseWirelessCreatePowerProfile struct { + Response *ResponseWirelessCreatePowerProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessUpdateWirelessProfileConnectivitySSIDDetailsFlexConnect struct { - EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // True if flex connect is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time - LocalToVLAN *int `json:"localToVlan,omitempty"` // Local to VLAN ID +type ResponseWirelessCreatePowerProfileResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessCreateA80211BeProfile struct { - ProfileName string `json:"profileName,omitempty"` // 802.11be Profile Name - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink (Default: true) - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink (Default: true) - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink (Default: false) - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink (Default: false) - OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU (Default: false) +type ResponseWirelessGetPowerProfiles struct { + Response *[]ResponseWirelessGetPowerProfilesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessUpdate80211BeProfile struct { - ProfileName string `json:"profileName,omitempty"` // 802.11be Profile Name - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink (Default: true) - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink (Default: true) - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink (Default: false) - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink (Default: false) - OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU (Default: false) +type ResponseWirelessGetPowerProfilesResponse struct { + ID string `json:"id,omitempty"` // Unique Identifier of the power profile. + + ProfileName string `json:"profileName,omitempty"` // The Name of the Power Profile. + + Description string `json:"description,omitempty"` // The description of the Power Profile. + + Rules *[]ResponseWirelessGetPowerProfilesResponseRules `json:"rules,omitempty"` // } -type RequestWirelessCreateInterface struct { - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - VLANID *int `json:"vlanId,omitempty"` // VLAN ID range is 1-4094 +type ResponseWirelessGetPowerProfilesResponseRules struct { + Sequence *int `json:"sequence,omitempty"` // The sequence of the power profile rule. + + InterfaceType string `json:"interfaceType,omitempty"` // Interface Type for the rule. + + InterfaceID string `json:"interfaceId,omitempty"` // Interface Id for the rule. + + ParameterType string `json:"parameterType,omitempty"` // Parameter Type for the rule. + + ParameterValue string `json:"parameterValue,omitempty"` // Parameter Value for the rule. } -type RequestWirelessUpdateInterface struct { - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - VLANID *int `json:"vlanId,omitempty"` // VLAN ID range is 1-4094 +type ResponseWirelessGetPowerProfilesCount struct { + Response *ResponseWirelessGetPowerProfilesCountResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version } -type RequestWirelessCreateRfProfile struct { - RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name - DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // True if RF Profile is default, else False. Maximum of only 1 RF Profile can be marked as default at any given time - EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // True if 5 GHz radio band is enabled in the RF Profile, else False - EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // True if 2.4 GHz radio band is enabled in the RF Profile, else False - EnableRadioType6GHz *bool `json:"enableRadioType6GHz,omitempty"` // True if 6 GHz radio band is enabled in the RF Profile, else False - RadioTypeAProperties *RequestWirelessCreateRfProfileRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // - RadioTypeBProperties *RequestWirelessCreateRfProfileRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // - RadioType6GHzProperties *RequestWirelessCreateRfProfileRadioType6GHzProperties `json:"radioType6GHzProperties,omitempty"` // +type ResponseWirelessGetPowerProfilesCountResponse struct { + Count *int `json:"count,omitempty"` // Count of the requested resource } -type RequestWirelessCreateRfProfileRadioTypeAProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 5 GHz radio band - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 149, 153, 157, 161, 165, 169, 173 - DataRates string `json:"dataRates,omitempty"` // Data rates of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 5 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 5 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 5 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 5 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 5 GHz radio band - ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width - PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher +type ResponseWirelessDeletePowerProfileByID struct { + Response *ResponseWirelessDeletePowerProfileByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessCreateRfProfileRadioTypeBProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 2.4 GHz radio band - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 - DataRates string `json:"dataRates,omitempty"` // Data rates of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 2.4 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 2.4 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 2.4 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 2.4 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 2.4 GHz radio band +type ResponseWirelessDeletePowerProfileByIDResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessCreateRfProfileRadioType6GHzProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 6 GHz radio band - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 233 - DataRates string `json:"dataRates,omitempty"` // Data rates of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 6 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 6 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 6 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 6 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 6 GHz radio band - EnableStandardPowerService *bool `json:"enableStandardPowerService,omitempty"` // True if Standard Power Service is enabled, else False - MultiBssidProperties *RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidProperties `json:"multiBssidProperties,omitempty"` // - PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher - MinDbsWidth *int `json:"minDbsWidth,omitempty"` // Minimum DBS Width (Permissible Values:20,40,80,160,320) - MaxDbsWidth *int `json:"maxDbsWidth,omitempty"` // Maximum DBS Width (Permissible Values:20,40,80,160,320) +type ResponseWirelessUpdatePowerProfileByID struct { + Response *ResponseWirelessUpdatePowerProfileByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidProperties struct { - Dot11AxParameters *RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters `json:"dot11axParameters,omitempty"` // - Dot11BeParameters *RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters `json:"dot11beParameters,omitempty"` // - TargetWakeTime *bool `json:"targetWakeTime,omitempty"` // Target Wake Time - TwtBroadcastSupport *bool `json:"twtBroadcastSupport,omitempty"` // TWT Broadcast Support +type ResponseWirelessUpdatePowerProfileByIDResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters struct { - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink +type ResponseWirelessGetPowerProfileByID struct { + Response *ResponseWirelessGetPowerProfileByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters struct { - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink - OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU +type ResponseWirelessGetPowerProfileByIDResponse struct { + ID string `json:"id,omitempty"` // Unique Identifier of the power profile. + + ProfileName string `json:"profileName,omitempty"` // The Name of the Power Profile. + + Description string `json:"description,omitempty"` // The description of the Power Profile. + + Rules *[]ResponseWirelessGetPowerProfileByIDResponseRules `json:"rules,omitempty"` // } -type RequestWirelessUpdateRfProfile struct { - RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name - DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // True if RF Profile is default, else False. Maximum of only 1 RF Profile can be marked as default at any given time - EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // True if 5 GHz radio band is enabled in the RF Profile, else False - EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // True if 2.4 GHz radio band is enabled in the RF Profile, else False - EnableRadioType6GHz *bool `json:"enableRadioType6GHz,omitempty"` // True if 6 GHz radio band is enabled in the RF Profile, else False - RadioTypeAProperties *RequestWirelessUpdateRfProfileRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // - RadioTypeBProperties *RequestWirelessUpdateRfProfileRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // - RadioType6GHzProperties *RequestWirelessUpdateRfProfileRadioType6GHzProperties `json:"radioType6GHzProperties,omitempty"` // +type ResponseWirelessGetPowerProfileByIDResponseRules struct { + Sequence *int `json:"sequence,omitempty"` // Sequential Ordered List of rules for Power Profile. + + InterfaceType string `json:"interfaceType,omitempty"` // Interface Type for the rule. + + InterfaceID string `json:"interfaceId,omitempty"` // Interface Id for the rule. + + ParameterType string `json:"parameterType,omitempty"` // Parameter Type for the rule. + + ParameterValue string `json:"parameterValue,omitempty"` // Parameter Value for the rule. } -type RequestWirelessUpdateRfProfileRadioTypeAProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 5 GHz radio band. In case of brownfield learnt RF Profile if the parent profile is GLOBAL, any change in RF Profile configurations will not be provisioned to device. Existing parent profile with values of HIGH, TYPICAL, LOW or CUSTOM cannot be modified to GLOBAL - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 149, 153, 157, 161, 165, 169, 173 - DataRates string `json:"dataRates,omitempty"` // Data rates of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 5 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 5 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 5 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 5 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 5 GHz radio band - ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width - PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher +type ResponseWirelessCreateRfProfile struct { + Response *ResponseWirelessCreateRfProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessUpdateRfProfileRadioTypeBProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 2.4 GHz radio band. In case of brownfield learnt RF Profile if the parent profile is GLOBAL, any change in RF Profile configurations will not be provisioned to device. Existing parent profile with values of HIGH, TYPICAL, LOW or CUSTOM cannot be modified to GLOBAL - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 - DataRates string `json:"dataRates,omitempty"` // Data rates of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 2.4 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 2.4 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 2.4 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 2.4 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 2.4 GHz radio band +type ResponseWirelessCreateRfProfileResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL } -type RequestWirelessUpdateRfProfileRadioType6GHzProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 6 GHz radio band - RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 233 - DataRates string `json:"dataRates,omitempty"` // Data rates of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 6 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 6 GHz radio band - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 6 GHz radio band - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 6 GHz radio band - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 6 GHz radio band - EnableStandardPowerService *bool `json:"enableStandardPowerService,omitempty"` // True if Standard Power Service is enabled, else False - MultiBssidProperties *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidProperties `json:"multiBssidProperties,omitempty"` // - PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher - MinDbsWidth *int `json:"minDbsWidth,omitempty"` // Minimum DBS Width (Permissible Values:20,40,80,160,320) - MaxDbsWidth *int `json:"maxDbsWidth,omitempty"` // Maximum DBS Width (Permissible Values:20,40,80,160,320) +type ResponseWirelessGetRfProfiles struct { + Response *[]ResponseWirelessGetRfProfilesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version } -type RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidProperties struct { - Dot11AxParameters *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters `json:"dot11axParameters,omitempty"` // - Dot11BeParameters *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters `json:"dot11beParameters,omitempty"` // - TargetWakeTime *bool `json:"targetWakeTime,omitempty"` // Target Wake Time - TwtBroadcastSupport *bool `json:"twtBroadcastSupport,omitempty"` // TWT Broadcast Support +type ResponseWirelessGetRfProfilesResponse struct { + RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name + + DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // True if RF Profile is default, else False. Maximum of only 1 RF Profile can be marked as default at any given time + + EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // True if 5 GHz radio band is enabled in the RF Profile, else False + + EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // True if 2.4 GHz radio band is enabled in the RF Profile, else False + + EnableRadioType6GHz *bool `json:"enableRadioType6GHz,omitempty"` // True if 6 GHz radio band is enabled in the RF Profile, else False + + EnableCustom *bool `json:"enableCustom,omitempty"` // True if RF Profile is custom, else False for system RF profiles like Low, High and Medium (Typical) + + RadioTypeAProperties *ResponseWirelessGetRfProfilesResponseRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // + + RadioTypeBProperties *ResponseWirelessGetRfProfilesResponseRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // + + RadioType6GHzProperties *ResponseWirelessGetRfProfilesResponseRadioType6GHzProperties `json:"radioType6GHzProperties,omitempty"` // + + ID string `json:"id,omitempty"` // RF Profile ID } -type RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters struct { - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink +type ResponseWirelessGetRfProfilesResponseRadioTypeAProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 5 GHz radio band + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 149, 153, 157, 161, 165, 169, 173 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 5 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 5 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 5 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 5 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 5 GHz radio band + + ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width + + PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher + + ZeroWaitDfsEnable *bool `json:"zeroWaitDfsEnable,omitempty"` // Zero Wait DFS is applicable only for IOS-XE based Wireless Controllers running 17.9.1 and above versions + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 5 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 5 GHz radio band + + FraProperties *ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesFraProperties `json:"fraProperties,omitempty"` // + + CoverageHoleDetectionProperties *ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // } -type RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters struct { - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink - OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU +type ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesFraProperties struct { + ClientAware *bool `json:"clientAware,omitempty"` // Client Aware of 5 GHz radio band + + ClientSelect *int `json:"clientSelect,omitempty"` // Client Select(%) of 5 GHz radio band + + ClientReset *int `json:"clientReset,omitempty"` // Client Reset(%) of 5 GHz radio band } -type RequestWirelessConfigureAccessPointsV2 struct { - ApList *[]RequestWirelessConfigureAccessPointsV2ApList `json:"apList,omitempty"` // - ConfigureAdminStatus *bool `json:"configureAdminStatus,omitempty"` // To change the access point's admin status, set this parameter's value to "true". - AdminStatus *bool `json:"adminStatus,omitempty"` // Configure the access point's admin status. Set this parameter's value to "true" to enable it and "false" to disable it. - ConfigureApMode *bool `json:"configureApMode,omitempty"` // To change the access point's mode, set this parameter's value to "true". - ApMode *int `json:"apMode,omitempty"` // Configure the access point's mode: for local/flexconnect mode, set "0"; for monitor mode, set "1"; for sniffer mode, set "4"; and for bridge/flex+bridge mode, set "5". - ConfigureFailoverPriority *bool `json:"configureFailoverPriority,omitempty"` // To change the access point's failover priority, set this parameter's value to "true". - FailoverPriority *int `json:"failoverPriority,omitempty"` // Configure the acess point's failover priority: for low, set "1"; for medium, set "2"; for high, set "3"; and for critical, set "4". - ConfigureLedStatus *bool `json:"configureLedStatus,omitempty"` // To change the access point's LED status, set this parameter's value to "true". - LedStatus *bool `json:"ledStatus,omitempty"` // Configure the access point's LED status. Set "true" to enable its status and "false" to disable it. - ConfigureLedBrightnessLevel *bool `json:"configureLedBrightnessLevel,omitempty"` // To change the access point's LED brightness level, set this parameter's value to "true". - LedBrightnessLevel *int `json:"ledBrightnessLevel,omitempty"` // Configure the access point's LED brightness level by setting a value between 1 and 8. - ConfigureLocation *bool `json:"configureLocation,omitempty"` // To change the access point's location, set this parameter's value to "true". - Location string `json:"location,omitempty"` // Configure the access point's location. - ConfigureHAController *bool `json:"configureHAController,omitempty"` // To change the access point's HA controller, set this parameter's value to "true". - PrimaryControllerName string `json:"primaryControllerName,omitempty"` // Configure the hostname for an access point's primary controller. - PrimaryIPAddress *RequestWirelessConfigureAccessPointsV2PrimaryIPAddress `json:"primaryIpAddress,omitempty"` // - SecondaryControllerName string `json:"secondaryControllerName,omitempty"` // Configure the hostname for an access point's secondary controller. - SecondaryIPAddress *RequestWirelessConfigureAccessPointsV2SecondaryIPAddress `json:"secondaryIpAddress,omitempty"` // - TertiaryControllerName string `json:"tertiaryControllerName,omitempty"` // Configure the hostname for an access point's tertiary controller. - TertiaryIPAddress *RequestWirelessConfigureAccessPointsV2TertiaryIPAddress `json:"tertiaryIpAddress,omitempty"` // - RadioConfigurations *[]RequestWirelessConfigureAccessPointsV2RadioConfigurations `json:"radioConfigurations,omitempty"` // - ConfigureCleanAirSI24Ghz *bool `json:"configureCleanAirSI24Ghz,omitempty"` // To change the clean air status for radios that are in 2.4 Ghz band, set this parameter's value to "true". - CleanAirSI24 *bool `json:"cleanAirSI24,omitempty"` // Configure clean air status for radios that are in 2.4 Ghz band. Set this parameter's value to "true" to enable it and "false" to disable it. - ConfigureCleanAirSI5Ghz *bool `json:"configureCleanAirSI5Ghz,omitempty"` // To change the clean air status for radios that are in 5 Ghz band, set this parameter's value to "true". - CleanAirSI5 *bool `json:"cleanAirSI5,omitempty"` // Configure clean air status for radios that are in 5 Ghz band. Set this parameter's value to "true" to enable it and "false" to disable it. - ConfigureCleanAirSI6Ghz *bool `json:"configureCleanAirSI6Ghz,omitempty"` // To change the clean air status for radios that are in 6 Ghz band, set this parameter's value to "true". - CleanAirSI6 *bool `json:"cleanAirSI6,omitempty"` // Configure clean air status for radios that are in 6 Ghz band. Set this parameter's value to "true" to enable it and "false" to disable it. - IsAssignedSiteAsLocation *bool `json:"isAssignedSiteAsLocation,omitempty"` // To configure the access point's location as the site assigned to the access point, set this parameter's value to "true". +type ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) } -type RequestWirelessConfigureAccessPointsV2ApList struct { - ApName string `json:"apName,omitempty"` // The current host name of the access point. - MacAddress string `json:"macAddress,omitempty"` // The ethernet MAC address of the access point. - ApNameNew string `json:"apNameNew,omitempty"` // The modified hostname of the access point. +type ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type ResponseWirelessGetRfProfilesResponseRadioTypeBProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 2.4 GHz radio band + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 2.4 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 2.4 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 2.4 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 2.4 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 2.4 GHz radio band + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 2.4 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 2.4 GHz radio band + + CoverageHoleDetectionProperties *ResponseWirelessGetRfProfilesResponseRadioTypeBPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *ResponseWirelessGetRfProfilesResponseRadioTypeBPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type ResponseWirelessGetRfProfilesResponseRadioTypeBPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) +} +type ResponseWirelessGetRfProfilesResponseRadioTypeBPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type ResponseWirelessGetRfProfilesResponseRadioType6GHzProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 6 GHz radio band + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 233 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 6 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 6 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 6 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 6 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 6 GHz radio band + + EnableStandardPowerService *bool `json:"enableStandardPowerService,omitempty"` // True if Standard Power Service is enabled, else False + + MultiBssidProperties *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidProperties `json:"multiBssidProperties,omitempty"` // + + PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher + + MinDbsWidth *int `json:"minDbsWidth,omitempty"` // Minimum DBS Width ( Permissible values : 20,40,80,160,320) + + MaxDbsWidth *int `json:"maxDbsWidth,omitempty"` // Maximum DBS Width (Permissible Values: 20,40,80,160,320) + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 6 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 6 GHz radio band + + PscEnforcingEnabled *bool `json:"pscEnforcingEnabled,omitempty"` // PSC Enforcing Enable for 6 GHz radio band + + DiscoveryFrames6GHz string `json:"discoveryFrames6GHz,omitempty"` // Discovery Frames of 6 GHz radio band + + BroadcastProbeResponseInterval *int `json:"broadcastProbeResponseInterval,omitempty"` // Broadcast Probe Response Interval of 6 GHz radio band + + FraProperties *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesFraProperties `json:"fraProperties,omitempty"` // + + CoverageHoleDetectionProperties *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidProperties struct { + Dot11AxParameters *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters `json:"dot11axParameters,omitempty"` // + + Dot11BeParameters *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters `json:"dot11beParameters,omitempty"` // + + TargetWakeTime *bool `json:"targetWakeTime,omitempty"` // Target Wake Time + + TwtBroadcastSupport *bool `json:"twtBroadcastSupport,omitempty"` // TWT Broadcast Support +} +type ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters struct { + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink +} +type ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters struct { + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink + + OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU +} +type ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesFraProperties struct { + ClientResetCount *int `json:"clientResetCount,omitempty"` // Client Reset Count of 6 GHz radio band + + ClientUtilizationThreshold *int `json:"clientUtilizationThreshold,omitempty"` // Client Utilization Threshold of 6 GHz radio band +} +type ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) +} +type ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type ResponseWirelessGetRfProfilesCount struct { + Response *ResponseWirelessGetRfProfilesCountResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response Version +} +type ResponseWirelessGetRfProfilesCountResponse struct { + Count *int `json:"count,omitempty"` // Count of the requested resource +} +type ResponseWirelessDeleteRfProfile struct { + Response *ResponseWirelessDeleteRfProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteRfProfileResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetRfProfileByID struct { + Response *ResponseWirelessGetRfProfileByIDResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetRfProfileByIDResponse struct { + RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name + + DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // True if RF Profile is default, else False. Maximum of only 1 RF Profile can be marked as default at any given time + + EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // True if 5 GHz radio band is enabled in the RF Profile, else False + + EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // True if 2.4 GHz radio band is enabled in the RF Profile, else False + + EnableRadioType6GHz *bool `json:"enableRadioType6GHz,omitempty"` // True if 6 GHz radio band is enabled in the RF Profile, else False + + EnableCustom *bool `json:"enableCustom,omitempty"` // True if RF Profile is custom, else False for system RF profiles like Low, High and Medium (Typical) + + RadioTypeAProperties *ResponseWirelessGetRfProfileByIDResponseRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // + + RadioTypeBProperties *ResponseWirelessGetRfProfileByIDResponseRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // + + RadioType6GHzProperties *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzProperties `json:"radioType6GHzProperties,omitempty"` // + + ID string `json:"id,omitempty"` // RF Profile ID +} +type ResponseWirelessGetRfProfileByIDResponseRadioTypeAProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 5 GHz radio band + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 149, 153, 157, 161, 165, 169, 173 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 5 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 5 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 5 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 5 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 5 GHz radio band + + ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width + + PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher + + ZeroWaitDfsEnable *bool `json:"zeroWaitDfsEnable,omitempty"` // Zero Wait DFS is applicable only for IOS-XE based Wireless Controllers running 17.9.1 and above versions + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 5 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 5 GHz radio band + + FraProperties *ResponseWirelessGetRfProfileByIDResponseRadioTypeAPropertiesFraProperties `json:"fraProperties,omitempty"` // + + CoverageHoleDetectionProperties *ResponseWirelessGetRfProfileByIDResponseRadioTypeAPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *ResponseWirelessGetRfProfileByIDResponseRadioTypeAPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type ResponseWirelessGetRfProfileByIDResponseRadioTypeAPropertiesFraProperties struct { + ClientAware *bool `json:"clientAware,omitempty"` // Client Aware of 5 GHz radio band + + ClientSelect *int `json:"clientSelect,omitempty"` // Client Select(%) of 5 GHz radio band + + ClientReset *int `json:"clientReset,omitempty"` // Client Reset(%) of 5 GHz radio band +} +type ResponseWirelessGetRfProfileByIDResponseRadioTypeAPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) +} +type ResponseWirelessGetRfProfileByIDResponseRadioTypeAPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type ResponseWirelessGetRfProfileByIDResponseRadioTypeBProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 2.4 GHz radio band + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 2.4 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 2.4 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 2.4 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 2.4 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 2.4 GHz radio band + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 2.4 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 2.4 GHz radio band + + CoverageHoleDetectionProperties *ResponseWirelessGetRfProfileByIDResponseRadioTypeBPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *ResponseWirelessGetRfProfileByIDResponseRadioTypeBPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type ResponseWirelessGetRfProfileByIDResponseRadioTypeBPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) +} +type ResponseWirelessGetRfProfileByIDResponseRadioTypeBPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 6 GHz radio band + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 233 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 6 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 6 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 6 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 6 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 6 GHz radio band + + EnableStandardPowerService *bool `json:"enableStandardPowerService,omitempty"` // True if Standard Power Service is enabled, else False + + MultiBssidProperties *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidProperties `json:"multiBssidProperties,omitempty"` // + + PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher + + MinDbsWidth *int `json:"minDbsWidth,omitempty"` // Minimum DBS Width ( Permissible values : 20,40,80,160,320) + + MaxDbsWidth *int `json:"maxDbsWidth,omitempty"` // Maximum DBS Width (Permissible Values: 20,40,80,160,320) + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 6 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 6 GHz radio band + + PscEnforcingEnabled *bool `json:"pscEnforcingEnabled,omitempty"` // PSC Enforcing Enable for 6 GHz radio band + + DiscoveryFrames6GHz string `json:"discoveryFrames6GHz,omitempty"` // Discovery Frames of 6 GHz radio band + + BroadcastProbeResponseInterval *int `json:"broadcastProbeResponseInterval,omitempty"` // Broadcast Probe Response Interval of 6 GHz radio band + + FraProperties *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesFraProperties `json:"fraProperties,omitempty"` // + + CoverageHoleDetectionProperties *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidProperties struct { + Dot11AxParameters *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters `json:"dot11axParameters,omitempty"` // + + Dot11BeParameters *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters `json:"dot11beParameters,omitempty"` // + + TargetWakeTime *bool `json:"targetWakeTime,omitempty"` // Target Wake Time + + TwtBroadcastSupport *bool `json:"twtBroadcastSupport,omitempty"` // TWT Broadcast Support +} +type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters struct { + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink +} +type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters struct { + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink + + OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU +} +type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesFraProperties struct { + ClientResetCount *int `json:"clientResetCount,omitempty"` // Client Reset Count of 6 GHz radio band + + ClientUtilizationThreshold *int `json:"clientUtilizationThreshold,omitempty"` // Client Utilization Threshold of 6 GHz radio band +} +type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) +} +type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type ResponseWirelessUpdateRfProfile struct { + Response *ResponseWirelessUpdateRfProfileResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateRfProfileResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessRetrieveSitesWithOverriddenSSIDs struct { + Response *[]ResponseWirelessRetrieveSitesWithOverriddenSSIDsResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Response version +} +type ResponseWirelessRetrieveSitesWithOverriddenSSIDsResponse struct { + SiteID string `json:"siteId,omitempty"` // Site ID + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + + SSIDs *[]ResponseWirelessRetrieveSitesWithOverriddenSSIDsResponseSSIDs `json:"ssids,omitempty"` // +} +type ResponseWirelessRetrieveSitesWithOverriddenSSIDsResponseSSIDs struct { + ID string `json:"id,omitempty"` // SSID ID + + SSID string `json:"ssid,omitempty"` // SSID +} +type ResponseWirelessAssignAnchorManagedApLocationsForWLC struct { + Response *ResponseWirelessAssignAnchorManagedApLocationsForWLCResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // Version of the response +} +type ResponseWirelessAssignAnchorManagedApLocationsForWLCResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task + + URL string `json:"url,omitempty"` // URL for the task +} +type ResponseWirelessConfigureAccessPointsV2 struct { + Response *ResponseWirelessConfigureAccessPointsV2Response `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // +} +type ResponseWirelessConfigureAccessPointsV2Response struct { + TaskID string `json:"taskId,omitempty"` // + + URL string `json:"url,omitempty"` // +} +type RequestWirelessCreateAndProvisionSSID struct { + ManagedApLocations []string `json:"managedAPLocations,omitempty"` // Managed AP Locations (Enter entire Site(s) hierarchy) + + SSIDDetails *RequestWirelessCreateAndProvisionSSIDSSIDDetails `json:"ssidDetails,omitempty"` // + + SSIDType string `json:"ssidType,omitempty"` // SSID Type + + EnableFabric *bool `json:"enableFabric,omitempty"` // Enable SSID for Fabric + + FlexConnect *RequestWirelessCreateAndProvisionSSIDFlexConnect `json:"flexConnect,omitempty"` // +} +type RequestWirelessCreateAndProvisionSSIDSSIDDetails struct { + Name string `json:"name,omitempty"` // SSID Name + + SecurityLevel string `json:"securityLevel,omitempty"` // Security Level(For guest SSID OPEN/WEB_AUTH, For Enterprise SSID ENTERPRISE/PERSONAL/OPEN) + + EnableFastLane *bool `json:"enableFastLane,omitempty"` // Enable Fast Lane + + Passphrase string `json:"passphrase,omitempty"` // Pass Phrase ( Only applicable for SSID with PERSONAL auth type ) + + TrafficType string `json:"trafficType,omitempty"` // Traffic Type + + EnableBroadcastSSID *bool `json:"enableBroadcastSSID,omitempty"` // Enable Broadcast SSID + + RadioPolicy string `json:"radioPolicy,omitempty"` // Radio Policy + + EnableMacFiltering *bool `json:"enableMACFiltering,omitempty"` // Enable MAC Filtering + + FastTransition string `json:"fastTransition,omitempty"` // Fast Transition + + WebAuthURL string `json:"webAuthURL,omitempty"` // Web Auth URL + + AuthKeyMgmt []string `json:"authKeyMgmt,omitempty"` // Takes string inputs for the AKMs that should be set true. Possible AKM values : dot1x,dot1x_ft, dot1x_sha, psk, psk_ft, psk_sha, owe, sae, sae_ft + + RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // Rsn Cipher Suite Gcmp256 + + RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // Rsn Cipher Suite Gcmp128 + + RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // Rsn Cipher Suite Ccmp256 + + Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // 6 Ghz Client Steering + + Ghz24Policy string `json:"ghz24Policy,omitempty"` // 2.4 GHz Policy +} +type RequestWirelessCreateAndProvisionSSIDFlexConnect struct { + EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // Enable Flex Connect + + LocalToVLAN *int `json:"localToVlan,omitempty"` // Local To Vlan (range is 1 to 4094) +} +type RequestWirelessRebootAccessPoints struct { + ApMacAddresses []string `json:"apMacAddresses,omitempty"` // The ethernet MAC address of the access point. +} +type RequestWirelessCreateEnterpriseSSID struct { + Name string `json:"name,omitempty"` // SSID NAME + + SecurityLevel string `json:"securityLevel,omitempty"` // Security Level + + Passphrase string `json:"passphrase,omitempty"` // Passphrase + + EnableFastLane *bool `json:"enableFastLane,omitempty"` // Enable FastLane + + EnableMacFiltering *bool `json:"enableMACFiltering,omitempty"` // Enable MAC Filtering + + TrafficType string `json:"trafficType,omitempty"` // Traffic Type Enum (voicedata or data ) + + RadioPolicy string `json:"radioPolicy,omitempty"` // Radio Policy Enum + + EnableBroadcastSSID *bool `json:"enableBroadcastSSID,omitempty"` // Enable Broadcase SSID + + FastTransition string `json:"fastTransition,omitempty"` // Fast Transition + + EnableSessionTimeOut *bool `json:"enableSessionTimeOut,omitempty"` // Enable Session Timeout + + SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // Session Time Out + + EnableClientExclusion *bool `json:"enableClientExclusion,omitempty"` // Enable Client Exclusion + + ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // Client Exclusion Timeout + + EnableBasicServiceSetMaxIDle *bool `json:"enableBasicServiceSetMaxIdle,omitempty"` // Enable Basic Service Set Max Idle + + BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // Basic Service Set Client Idle Timeout + + EnableDirectedMulticastService *bool `json:"enableDirectedMulticastService,omitempty"` // Enable Directed Multicast Service + + EnableNeighborList *bool `json:"enableNeighborList,omitempty"` // Enable Neighbor List + + MfpClientProtection string `json:"mfpClientProtection,omitempty"` // Management Frame Protection Client + + NasOptions []string `json:"nasOptions,omitempty"` // Nas Options + + ProfileName string `json:"profileName,omitempty"` // Profile Name + + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name + + AAAOverride *bool `json:"aaaOverride,omitempty"` // Aaa Override + + CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Coverage Hole Detection Enable + + ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (Required applicable for Security Type WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (Optional, Required Applicable for Security Type WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) + + MultipSKSettings *[]RequestWirelessCreateEnterpriseSSIDMultipSKSettings `json:"multiPSKSettings,omitempty"` // + + ClientRateLimit *float64 `json:"clientRateLimit,omitempty"` // Client Rate Limit (in bits per second) + + AuthKeyMgmt []string `json:"authKeyMgmt,omitempty"` // Takes string inputs for the AKMs that should be set true. Possible AKM values : dot1x,dot1x_ft, dot1x_sha, psk, psk_ft, psk_sha, owe, sae, sae_ft + + RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // Rsn Cipher Suite Gcmp256 + + RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // Rsn Cipher Suite Ccmp256 + + RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // Rsn Cipher Suite Gcmp 128 + + Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // Ghz6 Policy Client Steering + + Ghz24Policy string `json:"ghz24Policy,omitempty"` // Ghz24 Policy +} +type RequestWirelessCreateEnterpriseSSIDMultipSKSettings struct { + Priority *int `json:"priority,omitempty"` // Priority + + PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type + + Passphrase string `json:"passphrase,omitempty"` // Passphrase +} +type RequestWirelessUpdateEnterpriseSSID struct { + Name string `json:"name,omitempty"` // SSID NAME + + SecurityLevel string `json:"securityLevel,omitempty"` // Security Level + + Passphrase string `json:"passphrase,omitempty"` // Passphrase + + EnableFastLane *bool `json:"enableFastLane,omitempty"` // Enable FastLane + + EnableMacFiltering *bool `json:"enableMACFiltering,omitempty"` // Enable MAC Filtering + + TrafficType string `json:"trafficType,omitempty"` // Traffic Type Enum (voicedata or data ) + + RadioPolicy string `json:"radioPolicy,omitempty"` // Radio Policy Enum + + EnableBroadcastSSID *bool `json:"enableBroadcastSSID,omitempty"` // Enable Broadcase SSID + + FastTransition string `json:"fastTransition,omitempty"` // Fast Transition + + EnableSessionTimeOut *bool `json:"enableSessionTimeOut,omitempty"` // Enable Session Timeout + + SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // Session Time Out + + EnableClientExclusion *bool `json:"enableClientExclusion,omitempty"` // Enable Client Exclusion + + ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // Client Exclusion Timeout + + EnableBasicServiceSetMaxIDle *bool `json:"enableBasicServiceSetMaxIdle,omitempty"` // Enable Basic Service Set Max Idle + + BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // Basic Service Set Client Idle Timeout + + EnableDirectedMulticastService *bool `json:"enableDirectedMulticastService,omitempty"` // Enable Directed Multicast Service + + EnableNeighborList *bool `json:"enableNeighborList,omitempty"` // Enable Neighbor List + + MfpClientProtection string `json:"mfpClientProtection,omitempty"` // Management Frame Protection Client + + NasOptions []string `json:"nasOptions,omitempty"` // Nas Options + + ProfileName string `json:"profileName,omitempty"` // Profile Name + + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name + + AAAOverride *bool `json:"aaaOverride,omitempty"` // Aaa Override + + CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Coverage Hole Detection Enable + + ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (Required applicable for Security Type WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (Optional, Required Applicable for Security Type WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) + + MultipSKSettings *[]RequestWirelessUpdateEnterpriseSSIDMultipSKSettings `json:"multiPSKSettings,omitempty"` // + + ClientRateLimit *float64 `json:"clientRateLimit,omitempty"` // Client Rate Limit (in bits per second) + + AuthKeyMgmt []string `json:"authKeyMgmt,omitempty"` // Takes string inputs for the AKMs that should be set true. Possible AKM values : dot1x,dot1x_ft, dot1x_sha, psk, psk_ft, psk_sha, owe, sae, sae_ft + + RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // Rsn Cipher Suite Gcmp256 + + RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // Rsn Cipher Suite Ccmp256 + + RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // Rsn Cipher Suite Gcmp 128 + + Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // Ghz6 Policy Client Steering + + Ghz24Policy string `json:"ghz24Policy,omitempty"` // Ghz24 Policy +} +type RequestWirelessUpdateEnterpriseSSIDMultipSKSettings struct { + Priority *int `json:"priority,omitempty"` // Priority + + PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type + + Passphrase string `json:"passphrase,omitempty"` // Passphrase +} +type RequestWirelessCreateSSID struct { + SSID string `json:"ssid,omitempty"` // Name of the SSID + + AuthType string `json:"authType,omitempty"` // L2 Authentication Type (If authType is not open , then atleast one RSN Cipher Suite and corresponding valid AKM must be enabled). Default is L2 Authentication Type if exists else . + + Passphrase string `json:"passphrase,omitempty"` // Passphrase (Only applicable for SSID with PERSONAL security level). Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters + + IsFastLaneEnabled *bool `json:"isFastLaneEnabled,omitempty"` // True if FastLane is enabled, else False + + IsMacFilteringEnabled *bool `json:"isMacFilteringEnabled,omitempty"` // When set to true, MAC Filtering will be activated, allowing control over network access based on the MAC address of the device + + SSIDRadioType string `json:"ssidRadioType,omitempty"` // Radio Policy Enum (default: Triple band operation(2.4GHz, 5GHz and 6GHz)) + + IsBroadcastSSID *bool `json:"isBroadcastSSID,omitempty"` // When activated by setting it to true, the Broadcast SSID feature will make the SSID publicly visible to wireless devices searching for available networks + + FastTransition string `json:"fastTransition,omitempty"` // Fast Transition + + SessionTimeOutEnable *bool `json:"sessionTimeOutEnable,omitempty"` // Turn on the feature that imposes a time limit on user sessions + + SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // This denotes the allotted time span, expressed in seconds, before a session is automatically terminated due to inactivity. Default sessionTimeOut is 1800. + + ClientExclusionEnable *bool `json:"clientExclusionEnable,omitempty"` // Activate the feature that allows for the exclusion of clients + + ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // This refers to the length of time, in seconds, a client is excluded or blocked from accessing the network after a specified number of unsuccessful attempts. Default is Client Exclusion Timeout if exists else 180. + + BasicServiceSetMaxIDleEnable *bool `json:"basicServiceSetMaxIdleEnable,omitempty"` // Activate the maximum idle feature for the Basic Service Set + + BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // This refers to the duration of inactivity, measured in seconds, before a client connected to the Basic Service Set is considered idle and timed out. Default is Basic ServiceSet ClientIdle Timeout if exists else 300. + + DirectedMulticastServiceEnable *bool `json:"directedMulticastServiceEnable,omitempty"` // The Directed Multicast Service feature becomes operational when it is set to true + + NeighborListEnable *bool `json:"neighborListEnable,omitempty"` // The Neighbor List feature is enabled when it is set to true + + ManagementFrameProtectionClientprotection string `json:"managementFrameProtectionClientprotection,omitempty"` // Default is Management Frame Protection Client if exists else Optional. + + NasOptions []string `json:"nasOptions,omitempty"` // Pre-Defined NAS Options : AP ETH Mac Address, AP IP address, AP Location , AP MAC Address, AP Name, AP Policy Tag, AP Site Tag, SSID, System IP Address, System MAC Address, System Name. + + ProfileName string `json:"profileName,omitempty"` // WLAN Profile Name, if not passed autogenerated profile name will be assigned. The same wlanProfileName will also be used for policyProfileName + + AAAOverride *bool `json:"aaaOverride,omitempty"` // Activate the AAA Override feature when set to true + + CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Activate Coverage Hole Detection feature when set to true + + ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (REQUIRED is applicable for authType WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (OPTIONAL/REQUIRED is applicable for authType WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) + + MultipSKSettings *[]RequestWirelessCreateSSIDMultipSKSettings `json:"multiPSKSettings,omitempty"` // + + ClientRateLimit *int `json:"clientRateLimit,omitempty"` // This pertains to the maximum data transfer rate, specified in bits per second, that a client is permitted to achieve. It should be in mutliples of 500 . Default is Client Rate Limit if exists else 0. + + RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP256 encryption protocol is activated + + RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP256 encryption protocol is activated + + RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP128 encryption protocol is activated + + RsnCipherSuiteCcmp128 *bool `json:"rsnCipherSuiteCcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP128 encryption protocol is activated + + Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // True if 6 GHz Policy Client Steering is enabled, else False + + IsAuthKey8021X *bool `json:"isAuthKey8021x,omitempty"` // When set to true, the 802.1X authentication key is in use + + IsAuthKey8021XPlusFT *bool `json:"isAuthKey8021xPlusFT,omitempty"` // When set to true, the 802.1X-Plus-FT authentication key is in use + + IsAuthKey8021XSHA256 *bool `json:"isAuthKey8021x_SHA256,omitempty"` // When set to true, the feature that enables 802.1X authentication using the SHA256 algorithm is turned on + + IsAuthKeySae *bool `json:"isAuthKeySae,omitempty"` // When set to true, the feature enabling the Simultaneous Authentication of Equals (SAE) authentication key is activated + + IsAuthKeySaePlusFT *bool `json:"isAuthKeySaePlusFT,omitempty"` // Activating this setting by switching it to true turns on the authentication key feature that supports both Simultaneous Authentication of Equals (SAE) and Fast Transition (FT) + + IsAuthKeyPSK *bool `json:"isAuthKeyPSK,omitempty"` // When set to true, the Pre-shared Key (PSK) authentication feature is enabled + + IsAuthKeyPSKPlusFT *bool `json:"isAuthKeyPSKPlusFT,omitempty"` // When set to true, the feature that enables the combination of Pre-shared Key (PSK) and Fast Transition (FT) authentication keys is activated + + IsAuthKeyOWE *bool `json:"isAuthKeyOWE,omitempty"` // When set to true, the Opportunistic Wireless Encryption (OWE) authentication key feature is turned on + + IsAuthKeyEasyPSK *bool `json:"isAuthKeyEasyPSK,omitempty"` // When set to true, the feature that enables the use of Easy Pre-shared Key (PSK) authentication is activated + + IsAuthKeyPSKSHA256 *bool `json:"isAuthKeyPSKSHA256,omitempty"` // The feature that allows the use of Pre-shared Key (PSK) authentication with the SHA256 algorithm is enabled when it is set to true + + OpenSSID string `json:"openSsid,omitempty"` // Open SSID which is already created in the design and not associated to any other OPEN-SECURED SSID + + WLANBandSelectEnable *bool `json:"wlanBandSelectEnable,omitempty"` // Band select is allowed only when band options selected contains at least 2.4 GHz and 5 GHz band else false. + + IsEnabled *bool `json:"isEnabled,omitempty"` // Set SSID's admin status as 'Enabled' when set to true + + AuthServers []string `json:"authServers,omitempty"` // List of Authentication/Authorization server IpAddresses + + AcctServers []string `json:"acctServers,omitempty"` // List of Accounting server IpAddresses + + EgressQos string `json:"egressQos,omitempty"` // Egress QOS + + IngressQos string `json:"ingressQos,omitempty"` // Ingress QOS + + WLANType string `json:"wlanType,omitempty"` // Wlan Type + + L3AuthType string `json:"l3AuthType,omitempty"` // Default is L3 Authentication Type if exists else . + + AuthServer string `json:"authServer,omitempty"` // Authentication Server, Mandatory for Guest SSIDs with wlanType=Guest and l3AuthType=web_auth + + ExternalAuthIPAddress string `json:"externalAuthIpAddress,omitempty"` // External WebAuth URL (Mandatory for Guest SSIDs with wlanType = Guest, l3AuthType = web_auth and authServer = auth_external) + + WebPassthrough *bool `json:"webPassthrough,omitempty"` // When set to true, the Web-Passthrough feature will be activated for the Guest SSID, allowing guests to bypass certain login requirements + + SleepingClientEnable *bool `json:"sleepingClientEnable,omitempty"` // When set to true, this will activate the timeout settings that apply to clients in sleep mode + + SleepingClientTimeout *int `json:"sleepingClientTimeout,omitempty"` // This refers to the amount of time, measured in minutes, before a sleeping (inactive) client is timed out of the network. Default is Sleeping Client Timeout if exists else 720. + + ACLName string `json:"aclName,omitempty"` // Pre-Auth Access Control List (ACL) Name + + IsPosturingEnabled *bool `json:"isPosturingEnabled,omitempty"` // Applicable only for Enterprise SSIDs. When set to True, Posturing will enabled. Required to be set to True if ACL needs to be mapped for Enterprise SSID. + + IsAuthKeySuiteB1X *bool `json:"isAuthKeySuiteB1x,omitempty"` // When activated by setting it to true, the SuiteB-1x authentication key feature is engaged. + + IsAuthKeySuiteB1921X *bool `json:"isAuthKeySuiteB1921x,omitempty"` // When set to true, the SuiteB192-1x authentication key feature is enabled. + + IsAuthKeySaeExt *bool `json:"isAuthKeySaeExt,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) Extended Authentication key feature is turned on. + + IsAuthKeySaeExtPlusFT *bool `json:"isAuthKeySaeExtPlusFT,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) combined with Fast Transition (FT) Authentication Key feature is enabled. + + IsApBeaconProtectionEnabled *bool `json:"isApBeaconProtectionEnabled,omitempty"` // When set to true, the Access Point (AP) Beacon Protection feature is activated, enhancing the security of the network. + + Ghz24Policy string `json:"ghz24Policy,omitempty"` // 2.4 Ghz Band Policy value. Allowed only when 2.4 Radio Band is enabled in ssidRadioType + + CckmTsfTolerance *int `json:"cckmTsfTolerance,omitempty"` // he default value is the Cckm Timestamp Tolerance (in milliseconds, if specified); otherwise, it is 0. + + IsCckmEnabled *bool `json:"isCckmEnabled,omitempty"` // True if CCKM is enabled, else False + + IsHex *bool `json:"isHex,omitempty"` // True if passphrase is in Hex format, else False. + + IsRandomMacFilterEnabled *bool `json:"isRandomMacFilterEnabled,omitempty"` // Deny clients using randomized MAC addresses when set to true + + FastTransitionOverTheDistributedSystemEnable *bool `json:"fastTransitionOverTheDistributedSystemEnable,omitempty"` // Enable Fast Transition over the Distributed System when set to true +} +type RequestWirelessCreateSSIDMultipSKSettings struct { + Priority *int `json:"priority,omitempty"` // Priority + + PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type(default: ASCII) + + Passphrase string `json:"passphrase,omitempty"` // Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters +} +type RequestWirelessUpdateSSID struct { + SSID string `json:"ssid,omitempty"` // Name of the SSID + + AuthType string `json:"authType,omitempty"` // L2 Authentication Type (If authType is not open , then atleast one RSN Cipher Suite and corresponding valid AKM must be enabled). Default is L2 Authentication Type if exists else . + + Passphrase string `json:"passphrase,omitempty"` // Passphrase (Only applicable for SSID with PERSONAL security level). Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters + + IsFastLaneEnabled *bool `json:"isFastLaneEnabled,omitempty"` // True if FastLane is enabled, else False + + IsMacFilteringEnabled *bool `json:"isMacFilteringEnabled,omitempty"` // When set to true, MAC Filtering will be activated, allowing control over network access based on the MAC address of the device + + SSIDRadioType string `json:"ssidRadioType,omitempty"` // Radio Policy Enum (default: Triple band operation(2.4GHz, 5GHz and 6GHz)) + + IsBroadcastSSID *bool `json:"isBroadcastSSID,omitempty"` // When activated by setting it to true, the Broadcast SSID feature will make the SSID publicly visible to wireless devices searching for available networks + + FastTransition string `json:"fastTransition,omitempty"` // Fast Transition + + SessionTimeOutEnable *bool `json:"sessionTimeOutEnable,omitempty"` // Turn on the feature that imposes a time limit on user sessions + + SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // This denotes the allotted time span, expressed in seconds, before a session is automatically terminated due to inactivity. Default sessionTimeOut is 1800. + + ClientExclusionEnable *bool `json:"clientExclusionEnable,omitempty"` // Activate the feature that allows for the exclusion of clients + + ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // This refers to the length of time, in seconds, a client is excluded or blocked from accessing the network after a specified number of unsuccessful attempts. Default is Client Exclusion Timeout if exists else 180. + + BasicServiceSetMaxIDleEnable *bool `json:"basicServiceSetMaxIdleEnable,omitempty"` // Activate the maximum idle feature for the Basic Service Set + + BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // This refers to the duration of inactivity, measured in seconds, before a client connected to the Basic Service Set is considered idle and timed out. Default is Basic ServiceSet ClientIdle Timeout if exists else 300. + + DirectedMulticastServiceEnable *bool `json:"directedMulticastServiceEnable,omitempty"` // The Directed Multicast Service feature becomes operational when it is set to true + + NeighborListEnable *bool `json:"neighborListEnable,omitempty"` // The Neighbor List feature is enabled when it is set to true + + ManagementFrameProtectionClientprotection string `json:"managementFrameProtectionClientprotection,omitempty"` // Default is Management Frame Protection Client if exists else Optional. + + NasOptions []string `json:"nasOptions,omitempty"` // Pre-Defined NAS Options : AP ETH Mac Address, AP IP address, AP Location , AP MAC Address, AP Name, AP Policy Tag, AP Site Tag, SSID, System IP Address, System MAC Address, System Name. + + ProfileName string `json:"profileName,omitempty"` // WLAN Profile Name, if not passed autogenerated profile name will be assigned. The same wlanProfileName will also be used for policyProfileName + + AAAOverride *bool `json:"aaaOverride,omitempty"` // Activate the AAA Override feature when set to true + + CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Activate Coverage Hole Detection feature when set to true + + ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (REQUIRED is applicable for authType WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (OPTIONAL/REQUIRED is applicable for authType WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) + + MultipSKSettings *[]RequestWirelessUpdateSSIDMultipSKSettings `json:"multiPSKSettings,omitempty"` // + + ClientRateLimit *int `json:"clientRateLimit,omitempty"` // This pertains to the maximum data transfer rate, specified in bits per second, that a client is permitted to achieve. It should be in mutliples of 500 . Default is Client Rate Limit if exists else 0. + + RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP256 encryption protocol is activated + + RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP256 encryption protocol is activated + + RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP128 encryption protocol is activated + + RsnCipherSuiteCcmp128 *bool `json:"rsnCipherSuiteCcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP128 encryption protocol is activated + + Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // True if 6 GHz Policy Client Steering is enabled, else False + + IsAuthKey8021X *bool `json:"isAuthKey8021x,omitempty"` // When set to true, the 802.1X authentication key is in use + + IsAuthKey8021XPlusFT *bool `json:"isAuthKey8021xPlusFT,omitempty"` // When set to true, the 802.1X-Plus-FT authentication key is in use + + IsAuthKey8021XSHA256 *bool `json:"isAuthKey8021x_SHA256,omitempty"` // When set to true, the feature that enables 802.1X authentication using the SHA256 algorithm is turned on + + IsAuthKeySae *bool `json:"isAuthKeySae,omitempty"` // When set to true, the feature enabling the Simultaneous Authentication of Equals (SAE) authentication key is activated + + IsAuthKeySaePlusFT *bool `json:"isAuthKeySaePlusFT,omitempty"` // Activating this setting by switching it to true turns on the authentication key feature that supports both Simultaneous Authentication of Equals (SAE) and Fast Transition (FT) + + IsAuthKeyPSK *bool `json:"isAuthKeyPSK,omitempty"` // When set to true, the Pre-shared Key (PSK) authentication feature is enabled + + IsAuthKeyPSKPlusFT *bool `json:"isAuthKeyPSKPlusFT,omitempty"` // When set to true, the feature that enables the combination of Pre-shared Key (PSK) and Fast Transition (FT) authentication keys is activated + + IsAuthKeyOWE *bool `json:"isAuthKeyOWE,omitempty"` // When set to true, the Opportunistic Wireless Encryption (OWE) authentication key feature is turned on + + IsAuthKeyEasyPSK *bool `json:"isAuthKeyEasyPSK,omitempty"` // When set to true, the feature that enables the use of Easy Pre-shared Key (PSK) authentication is activated + + IsAuthKeyPSKSHA256 *bool `json:"isAuthKeyPSKSHA256,omitempty"` // The feature that allows the use of Pre-shared Key (PSK) authentication with the SHA256 algorithm is enabled when it is set to true + + OpenSSID string `json:"openSsid,omitempty"` // Open SSID which is already created in the design and not associated to any other OPEN-SECURED SSID + + WLANBandSelectEnable *bool `json:"wlanBandSelectEnable,omitempty"` // Band select is allowed only when band options selected contains at least 2.4 GHz and 5 GHz band else false. + + IsEnabled *bool `json:"isEnabled,omitempty"` // Set SSID's admin status as 'Enabled' when set to true + + AuthServers []string `json:"authServers,omitempty"` // List of Authentication/Authorization server IpAddresses + + AcctServers []string `json:"acctServers,omitempty"` // List of Accounting server IpAddresses + + EgressQos string `json:"egressQos,omitempty"` // Egress QOS + + IngressQos string `json:"ingressQos,omitempty"` // Ingress QOS + + WLANType string `json:"wlanType,omitempty"` // Wlan Type + + L3AuthType string `json:"l3AuthType,omitempty"` // Default is L3 Authentication Type if exists else . + + AuthServer string `json:"authServer,omitempty"` // Authentication Server, Mandatory for Guest SSIDs with wlanType=Guest and l3AuthType=web_auth + + ExternalAuthIPAddress string `json:"externalAuthIpAddress,omitempty"` // External WebAuth URL (Mandatory for Guest SSIDs with wlanType = Guest, l3AuthType = web_auth and authServer = auth_external) + + WebPassthrough *bool `json:"webPassthrough,omitempty"` // When set to true, the Web-Passthrough feature will be activated for the Guest SSID, allowing guests to bypass certain login requirements + + SleepingClientEnable *bool `json:"sleepingClientEnable,omitempty"` // When set to true, this will activate the timeout settings that apply to clients in sleep mode + + SleepingClientTimeout *int `json:"sleepingClientTimeout,omitempty"` // This refers to the amount of time, measured in minutes, before a sleeping (inactive) client is timed out of the network. Default is Sleeping Client Timeout if exists else 720. + + ACLName string `json:"aclName,omitempty"` // Pre-Auth Access Control List (ACL) Name + + IsPosturingEnabled *bool `json:"isPosturingEnabled,omitempty"` // Applicable only for Enterprise SSIDs. When set to True, Posturing will enabled. Required to be set to True if ACL needs to be mapped for Enterprise SSID. + + IsAuthKeySuiteB1X *bool `json:"isAuthKeySuiteB1x,omitempty"` // When activated by setting it to true, the SuiteB-1x authentication key feature is engaged. + + IsAuthKeySuiteB1921X *bool `json:"isAuthKeySuiteB1921x,omitempty"` // When set to true, the SuiteB192-1x authentication key feature is enabled. + + IsAuthKeySaeExt *bool `json:"isAuthKeySaeExt,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) Extended Authentication key feature is turned on. + + IsAuthKeySaeExtPlusFT *bool `json:"isAuthKeySaeExtPlusFT,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) combined with Fast Transition (FT) Authentication Key feature is enabled. + + IsApBeaconProtectionEnabled *bool `json:"isApBeaconProtectionEnabled,omitempty"` // When set to true, the Access Point (AP) Beacon Protection feature is activated, enhancing the security of the network. + + Ghz24Policy string `json:"ghz24Policy,omitempty"` // 2.4 Ghz Band Policy value. Allowed only when 2.4 Radio Band is enabled in ssidRadioType + + CckmTsfTolerance *int `json:"cckmTsfTolerance,omitempty"` // he default value is the Cckm Timestamp Tolerance (in milliseconds, if specified); otherwise, it is 0. + + IsCckmEnabled *bool `json:"isCckmEnabled,omitempty"` // True if CCKM is enabled, else False + + IsHex *bool `json:"isHex,omitempty"` // True if passphrase is in Hex format, else False. + + IsRandomMacFilterEnabled *bool `json:"isRandomMacFilterEnabled,omitempty"` // Deny clients using randomized MAC addresses when set to true + + FastTransitionOverTheDistributedSystemEnable *bool `json:"fastTransitionOverTheDistributedSystemEnable,omitempty"` // Enable Fast Transition over the Distributed System when set to true +} +type RequestWirelessUpdateSSIDMultipSKSettings struct { + Priority *int `json:"priority,omitempty"` // Priority + + PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type(default: ASCII) + + Passphrase string `json:"passphrase,omitempty"` // Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters +} +type RequestWirelessUpdateOrOverridessid struct { + SSID string `json:"ssid,omitempty"` // Name of the SSID + + AuthType string `json:"authType,omitempty"` // L2 Authentication Type (If authType is not open , then atleast one RSN Cipher Suite and corresponding valid AKM must be enabled) + + Passphrase string `json:"passphrase,omitempty"` // Passphrase (Only applicable for SSID with PERSONAL security level). Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters + + IsFastLaneEnabled *bool `json:"isFastLaneEnabled,omitempty"` // True if FastLane is enabled, else False + + IsMacFilteringEnabled *bool `json:"isMacFilteringEnabled,omitempty"` // When set to true, MAC Filtering will be activated, allowing control over network access based on the MAC address of the device + + SSIDRadioType string `json:"ssidRadioType,omitempty"` // Radio Policy Enum (default: Triple band operation(2.4GHz, 5GHz and 6GHz)) + + IsBroadcastSSID *bool `json:"isBroadcastSSID,omitempty"` // When activated by setting it to true, the Broadcast SSID feature will make the SSID publicly visible to wireless devices searching for available networks + + FastTransition string `json:"fastTransition,omitempty"` // Fast Transition + + SessionTimeOutEnable *bool `json:"sessionTimeOutEnable,omitempty"` // Turn on the feature that imposes a time limit on user sessions + + SessionTimeOut *int `json:"sessionTimeOut,omitempty"` // This denotes the allotted time span, expressed in seconds, before a session is automatically terminated due to inactivity. Default sessionTimeOut is 1800. + + ClientExclusionEnable *bool `json:"clientExclusionEnable,omitempty"` // Activate the feature that allows for the exclusion of clients + + ClientExclusionTimeout *int `json:"clientExclusionTimeout,omitempty"` // This refers to the length of time, in seconds, a client is excluded or blocked from accessing the network after a specified number of unsuccessful attempts + + BasicServiceSetMaxIDleEnable *bool `json:"basicServiceSetMaxIdleEnable,omitempty"` // Activate the maximum idle feature for the Basic Service Set + + BasicServiceSetClientIDleTimeout *int `json:"basicServiceSetClientIdleTimeout,omitempty"` // This refers to the duration of inactivity, measured in seconds, before a client connected to the Basic Service Set is considered idle and timed out + + DirectedMulticastServiceEnable *bool `json:"directedMulticastServiceEnable,omitempty"` // The Directed Multicast Service feature becomes operational when it is set to true + + NeighborListEnable *bool `json:"neighborListEnable,omitempty"` // The Neighbor List feature is enabled when it is set to true + + ManagementFrameProtectionClientprotection string `json:"managementFrameProtectionClientprotection,omitempty"` // Management Frame Protection Client + + NasOptions []string `json:"nasOptions,omitempty"` // Pre-Defined NAS Options : AP ETH Mac Address, AP IP address, AP Location , AP MAC Address, AP Name, AP Policy Tag, AP Site Tag, SSID, System IP Address, System MAC Address, System Name. + + ProfileName string `json:"profileName,omitempty"` // WLAN Profile Name, if not passed autogenerated profile name will be assigned. The same wlanProfileName will also be used for policyProfileName + + AAAOverride *bool `json:"aaaOverride,omitempty"` // Activate the AAA Override feature when set to true + + CoverageHoleDetectionEnable *bool `json:"coverageHoleDetectionEnable,omitempty"` // Activate Coverage Hole Detection feature when set to true + + ProtectedManagementFrame string `json:"protectedManagementFrame,omitempty"` // (REQUIRED is applicable for authType WPA3_PERSONAL, WPA3_ENTERPRISE, OPEN_SECURED) and (OPTIONAL/REQUIRED is applicable for authType WPA2_WPA3_PERSONAL and WPA2_WPA3_ENTERPRISE) + + MultipSKSettings *[]RequestWirelessUpdateOrOverridessidMultipSKSettings `json:"multiPSKSettings,omitempty"` // + + ClientRateLimit *int `json:"clientRateLimit,omitempty"` // This pertains to the maximum data transfer rate, specified in bits per second, that a client is permitted to achieve + + RsnCipherSuiteGcmp256 *bool `json:"rsnCipherSuiteGcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP256 encryption protocol is activated + + RsnCipherSuiteCcmp256 *bool `json:"rsnCipherSuiteCcmp256,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP256 encryption protocol is activated + + RsnCipherSuiteGcmp128 *bool `json:"rsnCipherSuiteGcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite GCMP128 encryption protocol is activated + + RsnCipherSuiteCcmp128 *bool `json:"rsnCipherSuiteCcmp128,omitempty"` // When set to true, the Robust Security Network (RSN) Cipher Suite CCMP128 encryption protocol is activated + + Ghz6PolicyClientSteering *bool `json:"ghz6PolicyClientSteering,omitempty"` // True if 6 GHz Policy Client Steering is enabled, else False + + IsAuthKey8021X *bool `json:"isAuthKey8021x,omitempty"` // When set to true, the 802.1X authentication key is in use + + IsAuthKey8021XPlusFT *bool `json:"isAuthKey8021xPlusFT,omitempty"` // When set to true, the 802.1X-Plus-FT authentication key is in use + + IsAuthKey8021XSHA256 *bool `json:"isAuthKey8021x_SHA256,omitempty"` // When set to true, the feature that enables 802.1X authentication using the SHA256 algorithm is turned on + + IsAuthKeySae *bool `json:"isAuthKeySae,omitempty"` // When set to true, the feature enabling the Simultaneous Authentication of Equals (SAE) authentication key is activated + + IsAuthKeySaePlusFT *bool `json:"isAuthKeySaePlusFT,omitempty"` // Activating this setting by switching it to true turns on the authentication key feature that supports both Simultaneous Authentication of Equals (SAE) and Fast Transition (FT) + + IsAuthKeyPSK *bool `json:"isAuthKeyPSK,omitempty"` // When set to true, the Pre-shared Key (PSK) authentication feature is enabled + + IsAuthKeyPSKPlusFT *bool `json:"isAuthKeyPSKPlusFT,omitempty"` // When set to true, the feature that enables the combination of Pre-shared Key (PSK) and Fast Transition (FT) authentication keys is activated + + IsAuthKeyOWE *bool `json:"isAuthKeyOWE,omitempty"` // When set to true, the Opportunistic Wireless Encryption (OWE) authentication key feature is turned on + + IsAuthKeyEasyPSK *bool `json:"isAuthKeyEasyPSK,omitempty"` // When set to true, the feature that enables the use of Easy Pre-shared Key (PSK) authentication is activated + + IsAuthKeyPSKSHA256 *bool `json:"isAuthKeyPSKSHA256,omitempty"` // The feature that allows the use of Pre-shared Key (PSK) authentication with the SHA256 algorithm is enabled when it is set to true + + OpenSSID string `json:"openSsid,omitempty"` // Open SSID which is already created in the design and not associated to any other OPEN-SECURED SSID + + WLANBandSelectEnable *bool `json:"wlanBandSelectEnable,omitempty"` // Band select is allowed only when band options selected contains at least 2.4 GHz and 5 GHz band + + IsEnabled *bool `json:"isEnabled,omitempty"` // Set SSID's admin status as 'Enabled' when set to true + + AuthServers []string `json:"authServers,omitempty"` // List of Authentication/Authorization server IpAddresses + + AcctServers []string `json:"acctServers,omitempty"` // List of Accounting server IpAddresses + + EgressQos string `json:"egressQos,omitempty"` // Egress QOS + + IngressQos string `json:"ingressQos,omitempty"` // Ingress QOS + + WLANType string `json:"wlanType,omitempty"` // Wlan Type + + L3AuthType string `json:"l3AuthType,omitempty"` // L3 Authentication Type + + AuthServer string `json:"authServer,omitempty"` // Authentication Server, Mandatory for Guest SSIDs with wlanType=Guest and l3AuthType=web_auth + + ExternalAuthIPAddress string `json:"externalAuthIpAddress,omitempty"` // External WebAuth URL (Mandatory for Guest SSIDs with wlanType = Guest, l3AuthType = web_auth and authServer = auth_external) + + WebPassthrough *bool `json:"webPassthrough,omitempty"` // When set to true, the Web-Passthrough feature will be activated for the Guest SSID, allowing guests to bypass certain login requirements + + SleepingClientEnable *bool `json:"sleepingClientEnable,omitempty"` // When set to true, this will activate the timeout settings that apply to clients in sleep mode + + SleepingClientTimeout *int `json:"sleepingClientTimeout,omitempty"` // This refers to the amount of time, measured in minutes, before a sleeping (inactive) client is timed out of the network + + ACLName string `json:"aclName,omitempty"` // Pre-Auth Access Control List (ACL) Name + + IsPosturingEnabled *bool `json:"isPosturingEnabled,omitempty"` // Applicable only for Enterprise SSIDs. When set to True, Posturing will enabled. Required to be set to True if ACL needs to be mapped for Enterprise SSID. + + IsAuthKeySuiteB1X *bool `json:"isAuthKeySuiteB1x,omitempty"` // When activated by setting it to true, the SuiteB-1x authentication key feature is engaged. + + IsAuthKeySuiteB1921X *bool `json:"isAuthKeySuiteB1921x,omitempty"` // When set to true, the SuiteB192-1x authentication key feature is enabled. + + IsAuthKeySaeExt *bool `json:"isAuthKeySaeExt,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) Extended Authentication key feature is turned on. + + IsAuthKeySaeExtPlusFT *bool `json:"isAuthKeySaeExtPlusFT,omitempty"` // When set to true, the Simultaneous Authentication of Equals (SAE) combined with Fast Transition (FT) Authentication Key feature is enabled. + + IsApBeaconProtectionEnabled *bool `json:"isApBeaconProtectionEnabled,omitempty"` // When set to true, the Access Point (AP) Beacon Protection feature is activated, enhancing the security of the network. + + Ghz24Policy string `json:"ghz24Policy,omitempty"` // 2.4 Ghz Band Policy value. Allowed only when 2.4 Radio Band is enabled in ssidRadioType + + CckmTsfTolerance *int `json:"cckmTsfTolerance,omitempty"` // The default value is the Cckm Timestamp Tolerance (in milliseconds, if specified); otherwise, it is 0. + + IsCckmEnabled *bool `json:"isCckmEnabled,omitempty"` // True if CCKM is enabled, else False + + IsHex *bool `json:"isHex,omitempty"` // True if passphrase is in Hex format, else False. + + IsRandomMacFilterEnabled *bool `json:"isRandomMacFilterEnabled,omitempty"` // Deny clients using randomized MAC addresses when set to true + + FastTransitionOverTheDistributedSystemEnable *bool `json:"fastTransitionOverTheDistributedSystemEnable,omitempty"` // Enable Fast Transition over the Distributed System when set to true + + IsRadiusProfilingEnabled *bool `json:"isRadiusProfilingEnabled,omitempty"` // Enable Radius Profiling. At least one AAA/PSN server is required to enable Radius Profiling on WLAN. +} +type RequestWirelessUpdateOrOverridessidMultipSKSettings struct { + Priority *int `json:"priority,omitempty"` // Priority + + PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type(default:ASCII) + + Passphrase string `json:"passphrase,omitempty"` // Passphrase needs to be between 8 and 63 characters for ASCII type. HEX passphrase needs to be 64 characters +} +type RequestWirelessConfigureAccessPoints struct { + ApList *[]RequestWirelessConfigureAccessPointsApList `json:"apList,omitempty"` // + + ConfigureAdminStatus *bool `json:"configureAdminStatus,omitempty"` // To change the access point's admin status, set this parameter's value to "true". + + AdminStatus *bool `json:"adminStatus,omitempty"` // Configure the access point's admin status. Set this parameter's value to "true" to enable it and "false" to disable it. + + ConfigureApMode *bool `json:"configureApMode,omitempty"` // To change the access point's mode, set this parameter's value to "true". + + ApMode *int `json:"apMode,omitempty"` // Configure the access point's mode: for local/flexconnect mode, set "0"; for monitor mode, set "1"; for sniffer mode, set "4"; and for bridge/flex+bridge mode, set "5". + + ConfigureFailoverPriority *bool `json:"configureFailoverPriority,omitempty"` // To change the access point's failover priority, set this parameter's value to "true". + + FailoverPriority *int `json:"failoverPriority,omitempty"` // Configure the acess point's failover priority: for low, set "1"; for medium, set "2"; for high, set "3"; and for critical, set "4". + + ConfigureLedStatus *bool `json:"configureLedStatus,omitempty"` // To change the access point's LED status, set this parameter's value to "true". + + LedStatus *bool `json:"ledStatus,omitempty"` // Configure the access point's LED status. Set "true" to enable its status and "false" to disable it. + + ConfigureLedBrightnessLevel *bool `json:"configureLedBrightnessLevel,omitempty"` // To change the access point's LED brightness level, set this parameter's value to "true". + + LedBrightnessLevel *int `json:"ledBrightnessLevel,omitempty"` // Configure the access point's LED brightness level by setting a value between 1 and 8. + + ConfigureLocation *bool `json:"configureLocation,omitempty"` // To change the access point's location, set this parameter's value to "true". + + Location string `json:"location,omitempty"` // Configure the access point's location. + + ConfigureHAController *bool `json:"configureHAController,omitempty"` // To change the access point's HA controller, set this parameter's value to "true". + + PrimaryControllerName string `json:"primaryControllerName,omitempty"` // Configure the hostname for an access point's primary controller. + + PrimaryIPAddress *RequestWirelessConfigureAccessPointsPrimaryIPAddress `json:"primaryIpAddress,omitempty"` // + + SecondaryControllerName string `json:"secondaryControllerName,omitempty"` // Configure the hostname for an access point's secondary controller. + + SecondaryIPAddress *RequestWirelessConfigureAccessPointsSecondaryIPAddress `json:"secondaryIpAddress,omitempty"` // + + TertiaryControllerName string `json:"tertiaryControllerName,omitempty"` // Configure the hostname for an access point's tertiary controller. + + TertiaryIPAddress *RequestWirelessConfigureAccessPointsTertiaryIPAddress `json:"tertiaryIpAddress,omitempty"` // + + RadioConfigurations *[]RequestWirelessConfigureAccessPointsRadioConfigurations `json:"radioConfigurations,omitempty"` // + + IsAssignedSiteAsLocation *bool `json:"isAssignedSiteAsLocation,omitempty"` // If AP is assigned to a site, then to assign AP location as the site name, set this parameter's value to "true". +} +type RequestWirelessConfigureAccessPointsApList struct { + ApName string `json:"apName,omitempty"` // The current host name of the access point. + + MacAddress string `json:"macAddress,omitempty"` // The ethernet MAC address of the access point. + + ApNameNew string `json:"apNameNew,omitempty"` // The modified hostname of the access point. +} +type RequestWirelessConfigureAccessPointsPrimaryIPAddress struct { + Address string `json:"address,omitempty"` // Configure the IP address for an access point's primary controller. +} +type RequestWirelessConfigureAccessPointsSecondaryIPAddress struct { + Address string `json:"address,omitempty"` // Configure the IP address for an access point's secondary controller. +} +type RequestWirelessConfigureAccessPointsTertiaryIPAddress struct { + Address string `json:"address,omitempty"` // Configure the IP address for an access point's tertiary controller. +} +type RequestWirelessConfigureAccessPointsRadioConfigurations struct { + ConfigureRadioRoleAssignment *bool `json:"configureRadioRoleAssignment,omitempty"` // To change the radio role on the specified radio for an access point, set this parameter's value to "true". + + RadioRoleAssignment string `json:"radioRoleAssignment,omitempty"` // Configure only one of the following roles on the specified radio for an access point as "AUTO", "SERVING", or "MONITOR". Any other string is invalid, including empty string + + RadioBand string `json:"radioBand,omitempty"` // Configure the band on the specified radio for an access point: for 2.4 GHz, set "RADIO24"; for 5 GHz, set "RADIO5". Any other string is invalid, including empty string + + ConfigureAdminStatus *bool `json:"configureAdminStatus,omitempty"` // To change the admin status on the specified radio for an access point, set this parameter's value to "true". + + AdminStatus *bool `json:"adminStatus,omitempty"` // Configure the admin status on the specified radio for an access point. Set this parameter's value to "true" to enable it and "false" to disable it. + + ConfigureAntennaPatternName *bool `json:"configureAntennaPatternName,omitempty"` // To change the antenna gain on the specified radio for an access point, set the value for this parameter to "true". + + AntennaPatternName string `json:"antennaPatternName,omitempty"` // Specify the antenna name on the specified radio for an access point. The antenna name is used to calculate the gain on the radio slot. + + AntennaGain *int `json:"antennaGain,omitempty"` // Configure the antenna gain on the specified radio for an access point by setting a decimal value (in dBi). To configure "antennaGain", set "antennaPatternName" value to "other". + + ConfigureAntennaCable *bool `json:"configureAntennaCable,omitempty"` // To change the antenna cable name on the specified radio for an access point, set this parameter's value to "true". + + AntennaCableName string `json:"antennaCableName,omitempty"` // Configure the antenna cable name on the specified radio for an access point. If cable loss needs to be configured, set this parameter's value to "other". + + CableLoss *float64 `json:"cableLoss,omitempty"` // Configure the cable loss on the specified radio for an access point by setting a decimal value (in dBi). + + ConfigureChannel *bool `json:"configureChannel,omitempty"` // To change the channel on the specified radio for an access point, set this parameter's value to "true". + + ChannelAssignmentMode *int `json:"channelAssignmentMode,omitempty"` // Configure the channel assignment mode on the specified radio for an access point: for global mode, set "1"; and for custom mode, set "2". + + ChannelNumber *int `json:"channelNumber,omitempty"` // Configure the channel number on the specified radio for an access point. + + ConfigureChannelWidth *bool `json:"configureChannelWidth,omitempty"` // To change the channel width on the specified radio for an access point, set this parameter's value to "true". + + ChannelWidth *int `json:"channelWidth,omitempty"` // Configure the channel width on the specified radio for an access point: for 20 MHz, set "3"; for 40 MHz, set "4"; for 80 MHz, set "5"; for 160 MHz, set "6", and for 320 MHz, set "7". + + ConfigurePower *bool `json:"configurePower,omitempty"` // To change the power assignment mode on the specified radio for an access point, set this parameter's value to "true". + + PowerAssignmentMode *int `json:"powerAssignmentMode,omitempty"` // Configure the power assignment mode on the specified radio for an access point: for global mode, set "1"; and for custom mode, set "2". + + Powerlevel *int `json:"powerlevel,omitempty"` // Configure the power level on the specified radio for an access point by setting a value between 1 and 8. + + ConfigureCleanAirSI *bool `json:"configureCleanAirSI,omitempty"` // To enable or disable either CleanAir or Spectrum Intelligence on the specified radio for an access point, set this parameter's value to "true". + + CleanAirSI *int `json:"cleanAirSI,omitempty"` // Configure CleanAir or Spectrum Intelligence on the specified radio for an access point. Set this parameter's value to "0" to disable the feature or "1" to enable it. + + RadioType *int `json:"radioType,omitempty"` // Configure an access point's radio band: for 2.4 GHz, set "1"; for 5 GHz, set "2"; for XOR, set "3"; and for 6 GHz, set "6". +} +type RequestWirelessApProvisionConnectivity []RequestItemWirelessApProvisionConnectivity // Array of RequestWirelessAPProvisionConnectivity +type RequestItemWirelessApProvisionConnectivity struct { + RfProfile string `json:"rfProfile,omitempty"` // Radio frequency profile name + + DeviceName string `json:"deviceName,omitempty"` // Device name + + CustomApGroupName string `json:"customApGroupName,omitempty"` // Custom AP group name + + CustomFlexGroupName []string `json:"customFlexGroupName,omitempty"` // ["Custom flex group name"] + + Type string `json:"type,omitempty"` // ApWirelessConfiguration + + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site name hierarchy(ex: Global/...) +} +type RequestWirelessCreateUpdateDynamicInterface struct { + InterfaceName string `json:"interfaceName,omitempty"` // dynamic-interface name + + VLANID *float64 `json:"vlanId,omitempty"` // Vlan Id +} +type RequestWirelessUpdateWirelessProfile struct { + ProfileDetails *RequestWirelessUpdateWirelessProfileProfileDetails `json:"profileDetails,omitempty"` // +} +type RequestWirelessUpdateWirelessProfileProfileDetails struct { + Name string `json:"name,omitempty"` // Profile Name + + Sites []string `json:"sites,omitempty"` // array of site name hierarchies(eg: ["Global/aaa/zzz", "Global/aaa/zzz"]) + + SSIDDetails *[]RequestWirelessUpdateWirelessProfileProfileDetailsSSIDDetails `json:"ssidDetails,omitempty"` // +} +type RequestWirelessUpdateWirelessProfileProfileDetailsSSIDDetails struct { + Name string `json:"name,omitempty"` // Ssid Name + + EnableFabric *bool `json:"enableFabric,omitempty"` // true if ssid is fabric else false + + FlexConnect *RequestWirelessUpdateWirelessProfileProfileDetailsSSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name + + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name +} +type RequestWirelessUpdateWirelessProfileProfileDetailsSSIDDetailsFlexConnect struct { + EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // true if flex connect is enabled else false + + LocalToVLAN *int `json:"localToVlan,omitempty"` // Local to VLAN ID. Required if enableFlexConnect is true. +} +type RequestWirelessCreateWirelessProfile struct { + ProfileDetails *RequestWirelessCreateWirelessProfileProfileDetails `json:"profileDetails,omitempty"` // +} +type RequestWirelessCreateWirelessProfileProfileDetails struct { + Name string `json:"name,omitempty"` // Profile Name + + Sites []string `json:"sites,omitempty"` // array of site name hierarchies(eg: ["Global/aaa/zzz", "Global/aaa/zzz"]) + + SSIDDetails *[]RequestWirelessCreateWirelessProfileProfileDetailsSSIDDetails `json:"ssidDetails,omitempty"` // +} +type RequestWirelessCreateWirelessProfileProfileDetailsSSIDDetails struct { + Name string `json:"name,omitempty"` // Ssid Name + + EnableFabric *bool `json:"enableFabric,omitempty"` // true if ssid is fabric else false + + FlexConnect *RequestWirelessCreateWirelessProfileProfileDetailsSSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name + + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name +} +type RequestWirelessCreateWirelessProfileProfileDetailsSSIDDetailsFlexConnect struct { + EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // true if flex connect is enabled else false + + LocalToVLAN *int `json:"localToVlan,omitempty"` // Local to VLAN ID. Required if enableFlexConnect is true. +} +type RequestWirelessProvisionUpdate []RequestItemWirelessProvisionUpdate // Array of RequestWirelessProvisionUpdate +type RequestItemWirelessProvisionUpdate struct { + DeviceName string `json:"deviceName,omitempty"` // Controller Name + + ManagedApLocations []string `json:"managedAPLocations,omitempty"` // List of managed AP locations (Site Hierarchies) + + DynamicInterfaces *[]RequestItemWirelessProvisionUpdateDynamicInterfaces `json:"dynamicInterfaces,omitempty"` // +} +type RequestItemWirelessProvisionUpdateDynamicInterfaces struct { + InterfaceIPAddress string `json:"interfaceIPAddress,omitempty"` // Interface IP Address. Required for AireOS. + + InterfaceNetmaskInCIDR *int `json:"interfaceNetmaskInCIDR,omitempty"` // Interface Netmask In CIDR. Required for AireOS. + + InterfaceGateway string `json:"interfaceGateway,omitempty"` // Interface Gateway. Required for AireOS. + + LagOrPortNumber *int `json:"lagOrPortNumber,omitempty"` // Lag Or Port Number. Required for AireOS. + + VLANID *int `json:"vlanId,omitempty"` // VLAN ID. Required for AireOS and EWLC. + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name. Required for AireOS and EWLC. +} +type RequestWirelessProvision []RequestItemWirelessProvision // Array of RequestWirelessProvision +type RequestItemWirelessProvision struct { + DeviceName string `json:"deviceName,omitempty"` // Controller Name + + Site string `json:"site,omitempty"` // Full Site Hierarchy where device has to be assigned + + ManagedApLocations []string `json:"managedAPLocations,omitempty"` // List of managed AP locations (Site Hierarchies) + + DynamicInterfaces *[]RequestItemWirelessProvisionDynamicInterfaces `json:"dynamicInterfaces,omitempty"` // +} +type RequestItemWirelessProvisionDynamicInterfaces struct { + InterfaceIPAddress string `json:"interfaceIPAddress,omitempty"` // Interface IP Address. Required for AireOS. + + InterfaceNetmaskInCIDR *int `json:"interfaceNetmaskInCIDR,omitempty"` // Interface Netmask In CIDR. Required for AireOS. + + InterfaceGateway string `json:"interfaceGateway,omitempty"` // Interface Gateway. Required for AireOS. + + LagOrPortNumber *int `json:"lagOrPortNumber,omitempty"` // Lag Or Port Number. Required for AireOS. + + VLANID *int `json:"vlanId,omitempty"` // VLAN ID. Required for both AireOS and EWLC. + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name. Required for both AireOS and EWLC. +} +type RequestWirelessPSKOverride []RequestItemWirelessPSKOverride // Array of RequestWirelessPSKOverride +type RequestItemWirelessPSKOverride struct { + SSID string `json:"ssid,omitempty"` // enterprise ssid name(already created/present) + + Site string `json:"site,omitempty"` // site name hierarchy (ex: Global/aaa/zzz/...) + + PassPhrase string `json:"passPhrase,omitempty"` // Pass phrase (create/update) + + WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name +} +type RequestWirelessCreateOrUpdateRfProfile struct { + Name string `json:"name,omitempty"` // RF Profile Name + + DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // is Default Rf Profile + + EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // Enable Radio Type A + + EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // Enable Radio Type B + + ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width + + EnableCustom *bool `json:"enableCustom,omitempty"` // Enable Custom + + EnableBrownField *bool `json:"enableBrownField,omitempty"` // Enable Brown Field + + RadioTypeAProperties *RequestWirelessCreateOrUpdateRfProfileRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // + + RadioTypeBProperties *RequestWirelessCreateOrUpdateRfProfileRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // + + RadioTypeCProperties *RequestWirelessCreateOrUpdateRfProfileRadioTypeCProperties `json:"radioTypeCProperties,omitempty"` // + + EnableRadioTypeC *bool `json:"enableRadioTypeC,omitempty"` // Enable Radio Type C (6GHz) +} +type RequestWirelessCreateOrUpdateRfProfileRadioTypeAProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) + + RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "36,40,44,48,52,56,60,64,149,153,157,161") + + DataRates string `json:"dataRates,omitempty"` // Data Rates (Default : "6,9,12,18,24,36,48,54") + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "6,12,24") + + PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold ( (Default: -70) + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") + + MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Rx Sop Threshold (Default: -10) + + MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) +} +type RequestWirelessCreateOrUpdateRfProfileRadioTypeBProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) + + RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "9,11,12,18,24,36,48,54") + + DataRates string `json:"dataRates,omitempty"` // Data Rates (Default: "9,11,12,18,24,36,48,54") + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "12") + + PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold (Default: -70) + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") + + MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Min Power Level (Default: -10) + + MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) +} +type RequestWirelessCreateOrUpdateRfProfileRadioTypeCProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) + + RadioChannels string `json:"radioChannels,omitempty"` // Radio Channels (Default : "5,21,37,53,69,85,101,117,133,149,165,181,197,213,229") + + DataRates string `json:"dataRates,omitempty"` // Data Rates (Default: "6,9,12,18,24,36,48,54") + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "6,12,24") + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") + + MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Min Power Level (Default: -10) + + MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) + + PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold (Default: -70) +} +type RequestWirelessFactoryResetAccessPoints struct { + KeepStaticIPConfig *bool `json:"keepStaticIPConfig,omitempty"` // Set the value of keepStaticIPConfig to false, to clear all configurations from Access Points and set the value of keepStaticIPConfig to true, to clear all configurations from Access Points without clearing static IP configuration. + + ApMacAddresses []string `json:"apMacAddresses,omitempty"` // List of Access Point's Ethernet MAC addresses, set maximum 100 ethernet MAC addresses per request. +} +type RequestWirelessApProvision struct { + NetworkDevices *[]RequestWirelessApProvisionNetworkDevices `json:"networkDevices,omitempty"` // + + RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name. RF Profile is not allowed for custom AP Zones. + + ApZoneName string `json:"apZoneName,omitempty"` // AP Zone Name. A custom AP Zone should be passed if no rfProfileName is provided. + + SiteID string `json:"siteId,omitempty"` // Site ID +} +type RequestWirelessApProvisionNetworkDevices struct { + DeviceID string `json:"deviceId,omitempty"` // Network device ID of access points + + MeshRole string `json:"meshRole,omitempty"` // Mesh Role (Applicable only when AP is in Bridge Mode) +} +type RequestWirelessMobilityProvision struct { + MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Self device Group Name. Must be alphanumeric without {!,<,space,?/'} and maximum of 31 characters. + + MacAddress string `json:"macAddress,omitempty"` // Device mobility MAC Address. Allowed formats are: 0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 + + ManagementIP string `json:"managementIp,omitempty"` // Self device wireless Management IP. + + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. + + DtlsHighCipher *bool `json:"dtlsHighCipher,omitempty"` // DTLS High Cipher. + + DataLinkEncryption *bool `json:"dataLinkEncryption,omitempty"` // A secure link in which data is encrypted using CAPWAP DTLS protocol can be established between two controllers. This value will be applied to all peers during POST operation. + + MobilityPeers *[]RequestWirelessMobilityProvisionMobilityPeers `json:"mobilityPeers,omitempty"` // +} +type RequestWirelessMobilityProvisionMobilityPeers struct { + PeerIP string `json:"peerIp,omitempty"` // This indicates public ip address. + + PrivateIPAddress string `json:"privateIpAddress,omitempty"` // This indicates private/management ip address. + + PeerDeviceName string `json:"peerDeviceName,omitempty"` // Peer device Host Name. + + PeerNetworkDeviceID string `json:"peerNetworkDeviceId,omitempty"` // The possible values are: UNKNOWN or valid UUID of Network device Id. UNKNOWN represents out of band device which is not managed internally. Valid UUID represents WLC network device id. + + MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Peer Device mobility group Name. Must be alphanumeric without {!,<,space,?/'}
and maximum of 31 characters. + + MemberMacAddress string `json:"memberMacAddress,omitempty"` // Peer device mobility MAC Address. Allowed formats are: 0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 + + DeviceSeries string `json:"deviceSeries,omitempty"` // Indicates peer device mobility belongs to AireOS or IOX-XE family. 0 - indicates AireOS and 1 - indicates C9800. + + HashKey string `json:"hashKey,omitempty"` // SSC hash string must be 40 characters. +} +type RequestWirelessMobilityReset struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device Id of Cisco wireless controller. Obtain the network device ID value by using the API call GET - /dna/intent/api/v1/network-device/ip-address/${ipAddress}. +} +type RequestWirelessAssignManagedApLocationsForWLC struct { + PrimaryManagedApLocationsSiteIDs []string `json:"primaryManagedAPLocationsSiteIds,omitempty"` // Site IDs of Primary Managed AP Locations. These values can be obtained by using the API call GET: /dna/intent/api/v1/site + + SecondaryManagedApLocationsSiteIDs []string `json:"secondaryManagedAPLocationsSiteIds,omitempty"` // Site IDs of Secondary Managed AP Locations. These values can be obtained by using the API call GET: /dna/intent/api/v1/site +} +type RequestWirelessWirelessControllerProvision struct { + Interfaces *[]RequestWirelessWirelessControllerProvisionInterfaces `json:"interfaces,omitempty"` // + + SkipApProvision *bool `json:"skipApProvision,omitempty"` // True if Skip AP Provision is enabled, else False + + RollingApUpgrade *RequestWirelessWirelessControllerProvisionRollingApUpgrade `json:"rollingApUpgrade,omitempty"` // + + ApAuthorizationListName string `json:"apAuthorizationListName,omitempty"` // AP Authorization List name. 'Obtain the AP Authorization List names by using the API call GET: /intent/api/v1/wirelessSettings/apAuthorizationLists. During re-provision, obtain the AP Authorization List configured for the given provisioned network device Id using the API call GET: /intent/api/v1/wireless/apAuthorizationLists/{networkDeviceId}' + + AuthorizeMeshAndNonMeshAccessPoints *bool `json:"authorizeMeshAndNonMeshAccessPoints,omitempty"` // True if AP Authorization List should authorize against All Mesh/Non-Mesh APs, else false if AP Authorization List should only authorize against Mesh APs (Applicable only when Mesh is enabled on sites) +} +type RequestWirelessWirelessControllerProvisionInterfaces struct { + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + VLANID *int `json:"vlanId,omitempty"` // VLAN ID range is 1 - 4094 + + InterfaceIPAddress string `json:"interfaceIPAddress,omitempty"` // Interface IP Address + + InterfaceNetmaskInCIDR *int `json:"interfaceNetmaskInCIDR,omitempty"` // Interface Netmask In CIDR, range is 1-30 + + InterfaceGateway string `json:"interfaceGateway,omitempty"` // Interface Gateway + + LagOrPortNumber *int `json:"lagOrPortNumber,omitempty"` // Lag Or Port Number +} +type RequestWirelessWirelessControllerProvisionRollingApUpgrade struct { + EnableRollingApUpgrade *bool `json:"enableRollingApUpgrade,omitempty"` // True if Rolling AP Upgrade is enabled, else False + + ApRebootPercentage *int `json:"apRebootPercentage,omitempty"` // AP Reboot Percentage. Permissible values - 5, 15, 25 +} +type RequestWirelessCreateWirelessProfileConnectivity struct { + WirelessProfileName string `json:"wirelessProfileName,omitempty"` // Wireless Network Profile Name + + SSIDDetails *[]RequestWirelessCreateWirelessProfileConnectivitySSIDDetails `json:"ssidDetails,omitempty"` // + + AdditionalInterfaces []string `json:"additionalInterfaces,omitempty"` // These additional interfaces will be configured on the device as independent interfaces in addition to the interfaces mapped to SSIDs. Max Limit 4094 + + ApZones *[]RequestWirelessCreateWirelessProfileConnectivityApZones `json:"apZones,omitempty"` // +} +type RequestWirelessCreateWirelessProfileConnectivitySSIDDetails struct { + SSIDName string `json:"ssidName,omitempty"` // SSID Name + + FlexConnect *RequestWirelessCreateWirelessProfileConnectivitySSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // + + EnableFabric *bool `json:"enableFabric,omitempty"` // True if fabric is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time + + WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name. + + Dot11BeProfileID string `json:"dot11beProfileId,omitempty"` // 802.11be Profile Id. Applicable to IOS controllers with version 17.15 and higher. 802.11be Profiles if passed, should be same across all SSIDs in network profile being configured + + AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name + + VLANGroupName string `json:"vlanGroupName,omitempty"` // VLAN Group Name +} +type RequestWirelessCreateWirelessProfileConnectivitySSIDDetailsFlexConnect struct { + EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // True if flex connect is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time + + LocalToVLAN *int `json:"localToVlan,omitempty"` // Local to VLAN ID +} +type RequestWirelessCreateWirelessProfileConnectivityApZones struct { + ApZoneName string `json:"apZoneName,omitempty"` // AP Zone Name + + RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name + + SSIDs []string `json:"ssids,omitempty"` // ssids part of apZone +} +type RequestWirelessUpdateWirelessProfileConnectivity struct { + WirelessProfileName string `json:"wirelessProfileName,omitempty"` // Wireless Network Profile Name + + SSIDDetails *[]RequestWirelessUpdateWirelessProfileConnectivitySSIDDetails `json:"ssidDetails,omitempty"` // + + AdditionalInterfaces []string `json:"additionalInterfaces,omitempty"` // These additional interfaces will be configured on the device as independent interfaces in addition to the interfaces mapped to SSIDs. Max Limit 4094 + + ApZones *[]RequestWirelessUpdateWirelessProfileConnectivityApZones `json:"apZones,omitempty"` // +} +type RequestWirelessUpdateWirelessProfileConnectivitySSIDDetails struct { + SSIDName string `json:"ssidName,omitempty"` // SSID Name + + FlexConnect *RequestWirelessUpdateWirelessProfileConnectivitySSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // + + EnableFabric *bool `json:"enableFabric,omitempty"` // True if fabric is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time + + WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name + + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name. + + Dot11BeProfileID string `json:"dot11beProfileId,omitempty"` // 802.11be Profile Id. Applicable to IOS controllers with version 17.15 and higher. 802.11be Profiles if passed, should be same across all SSIDs in network profile being configured + + AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name + + VLANGroupName string `json:"vlanGroupName,omitempty"` // VLAN Group Name +} +type RequestWirelessUpdateWirelessProfileConnectivitySSIDDetailsFlexConnect struct { + EnableFlexConnect *bool `json:"enableFlexConnect,omitempty"` // True if flex connect is enabled, else False. Flex and fabric cannot be enabled simultaneously and a profile can only contain either flex SSIDs or fabric SSIDs and not both at the same time + + LocalToVLAN *int `json:"localToVlan,omitempty"` // Local to VLAN ID +} +type RequestWirelessUpdateWirelessProfileConnectivityApZones struct { + ApZoneName string `json:"apZoneName,omitempty"` // AP Zone Name + + RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name + + SSIDs []string `json:"ssids,omitempty"` // ssids part of apZone +} +type RequestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type RequestWirelessUpdateASpecificPolicyTagForAWirelessProfile struct { + SiteIDs []string `json:"siteIds,omitempty"` // Site Ids + + PolicyTagName string `json:"policyTagName,omitempty"` // Policy Tag Name + + ApZones []string `json:"apZones,omitempty"` // Ap Zones +} +type RequestWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk struct { + Items *[][]string `json:"items,omitempty"` // Root +} +type RequestWirelessUpdateASpecificSiteTagForAWirelessProfile struct { + SiteIDs []string `json:"siteIds,omitempty"` // Site Ids + + SiteTagName string `json:"siteTagName,omitempty"` // Use English letters, numbers, special characters except <, /, '.*', ? and leading/trailing space. + + FlexProfileName string `json:"flexProfileName,omitempty"` // Flex Profile Name + + ApProfileName string `json:"apProfileName,omitempty"` // Ap Profile Name +} +type RequestWirelessCreateAnchorGroup struct { + AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name. Max length is 32 characters + + MobilityAnchors *[]RequestWirelessCreateAnchorGroupMobilityAnchors `json:"mobilityAnchors,omitempty"` // +} +type RequestWirelessCreateAnchorGroupMobilityAnchors struct { + DeviceName string `json:"deviceName,omitempty"` // Peer Host Name + + IPAddress string `json:"ipAddress,omitempty"` // This indicates Mobility public IP address. Allowed formats are 192.168.0.1, 10.0.0.1, 255.255.255.255 + + AnchorPriority string `json:"anchorPriority,omitempty"` // This indicates anchor priority. Priority values range from 1 (high) to 3 (low). Primary, secondary or tertiary and defined priority is displayed with guest anchor. Only one priority value is allowed per anchor WLC. + + ManagedAnchorWlc *bool `json:"managedAnchorWlc,omitempty"` // This indicates whether the Wireless LAN Controller supporting Anchor is managed by the Network Controller or not. True means this is managed by Network Controller. + + PeerDeviceType string `json:"peerDeviceType,omitempty"` // Indicates peer device mobility belongs to AireOS or IOS-XE family. + + MacAddress string `json:"macAddress,omitempty"` // Peer Device mobility MAC address. Allowed formats are:0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 + + MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Peer Device mobility group Name. Must be alphanumeric without {!,<,space,?/'} and maximum of 31 characters. + + PrivateIP string `json:"privateIp,omitempty"` // This indicates private management IP address. Allowed formats are 192.168.0.1, 10.0.0.1, 255.255.255.255 +} +type RequestWirelessUpdateAnchorGroup struct { + AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name. Max length is 32 characters + + MobilityAnchors *[]RequestWirelessUpdateAnchorGroupMobilityAnchors `json:"mobilityAnchors,omitempty"` // +} +type RequestWirelessUpdateAnchorGroupMobilityAnchors struct { + DeviceName string `json:"deviceName,omitempty"` // Peer Host Name + + IPAddress string `json:"ipAddress,omitempty"` // This indicates Mobility public IP address. Allowed formats are 192.168.0.1, 10.0.0.1, 255.255.255.255 + + AnchorPriority string `json:"anchorPriority,omitempty"` // This indicates anchor priority. Priority values range from 1 (high) to 3 (low). Primary, secondary or tertiary and defined priority is displayed with guest anchor. Only one priority value is allowed per anchor WLC. + + ManagedAnchorWlc *bool `json:"managedAnchorWlc,omitempty"` // This indicates whether the Wireless LAN Controller supporting Anchor is managed by the Network Controller or not. True means this is managed by Network Controller. + + PeerDeviceType string `json:"peerDeviceType,omitempty"` // Indicates peer device mobility belongs to AireOS or IOS-XE family. + + MacAddress string `json:"macAddress,omitempty"` // Peer Device mobility MAC address. Allowed formats are:0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 + + MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Peer Device mobility group Name. Must be alphanumeric without {!,<,space,?/'} and maximum of 31 characters. + + PrivateIP string `json:"privateIp,omitempty"` // This indicates private management IP address. Allowed formats are 192.168.0.1, 10.0.0.1, 255.255.255.255 +} +type RequestWirelessCreateApAuthorizationList struct { + ApAuthorizationListName string `json:"apAuthorizationListName,omitempty"` // AP Authorization List Name. For a AP Authorization List to be created successfully, either Local Authorization or Remote Authorization is mandatory. + + LocalAuthorization *RequestWirelessCreateApAuthorizationListLocalAuthorization `json:"localAuthorization,omitempty"` // + + RemoteAuthorization *RequestWirelessCreateApAuthorizationListRemoteAuthorization `json:"remoteAuthorization,omitempty"` // +} +type RequestWirelessCreateApAuthorizationListLocalAuthorization struct { + ApMacEntries []string `json:"apMacEntries,omitempty"` // List of Access Point's Ethernet MAC addresses. Allowed formats are:0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 + + ApSerialNumberEntries []string `json:"apSerialNumberEntries,omitempty"` // List of Access Point's Serial Numbers. +} +type RequestWirelessCreateApAuthorizationListRemoteAuthorization struct { + AAAServers []string `json:"aaaServers,omitempty"` // List of Authorization server IpAddresses. Obtain the AAA servers by using the API GET call '/dna/intent/api/v1/authentication-policy-servers'. + + AuthorizeApWithMac *bool `json:"authorizeApWithMac,omitempty"` // True if AP Authorization List should authorise APs With MAC addresses, else False. (For Non-Mesh Access Points, either of Authorize AP With MAC Address or Serial Number is required to be set to true) + + AuthorizeApWithSerialNumber *bool `json:"authorizeApWithSerialNumber,omitempty"` // True if server IpAddresses are added and AP Authorization List should authorise APs With Serial Numbers, else False (For Non-Mesh Access Points, either of Authorize AP With MAC Address or Serial Number is required to be set to true) +} +type RequestWirelessUpdateApAuthorizationList struct { + ApAuthorizationListName string `json:"apAuthorizationListName,omitempty"` // AP Authorization List Name. For a AP Authorization List to be created successfully, either Local Authorization or Remote Authorization is mandatory. + + LocalAuthorization *RequestWirelessUpdateApAuthorizationListLocalAuthorization `json:"localAuthorization,omitempty"` // + + RemoteAuthorization *RequestWirelessUpdateApAuthorizationListRemoteAuthorization `json:"remoteAuthorization,omitempty"` // +} +type RequestWirelessUpdateApAuthorizationListLocalAuthorization struct { + ApMacEntries []string `json:"apMacEntries,omitempty"` // List of Access Point's Ethernet MAC addresses. Allowed formats are:0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 + + ApSerialNumberEntries []string `json:"apSerialNumberEntries,omitempty"` // List of Access Point's Serial Numbers. +} +type RequestWirelessUpdateApAuthorizationListRemoteAuthorization struct { + AAAServers []string `json:"aaaServers,omitempty"` // List of Authorization server IpAddresses. Obtain the AAA servers by using the API GET call '/dna/intent/api/v1/authentication-policy-servers'. + + AuthorizeApWithMac *bool `json:"authorizeApWithMac,omitempty"` // True if AP Authorization List should authorise APs With MAC addresses, else False. (For Non-Mesh Access Points, either of Authorize AP With MAC Address or Serial Number is required to be set to true) + + AuthorizeApWithSerialNumber *bool `json:"authorizeApWithSerialNumber,omitempty"` // True if server IpAddresses are added and AP Authorization List should authorise APs With Serial Numbers, else False (For Non-Mesh Access Points, either of Authorize AP With MAC Address or Serial Number is required to be set to true) +} +type RequestWirelessCreateApProfile struct { + ApProfileName string `json:"apProfileName,omitempty"` // Name of the Access Point profile. Max length is 32 characters. + + Description string `json:"description,omitempty"` // Description of the AP profile. Max length is 241 characters + + RemoteWorkerEnabled *bool `json:"remoteWorkerEnabled,omitempty"` // Indicates if remote worker mode is enabled on the AP. Remote teleworker enabled profile cannot support security features like aWIPS,Forensic Capture Enablement, Rogue Detection and Rogue Containment. + + ManagementSetting *RequestWirelessCreateApProfileManagementSetting `json:"managementSetting,omitempty"` // + + AwipsEnabled *bool `json:"awipsEnabled,omitempty"` // Indicates if AWIPS is enabled on the AP. + + AwipsForensicEnabled *bool `json:"awipsForensicEnabled,omitempty"` // Indicates if AWIPS forensic is enabled on the AP. Forensic Capture is supported from IOS-XE version 17.4 and above. Forensic Capture can be activated only if aWIPS is enabled. + + RogueDetectionSetting *RequestWirelessCreateApProfileRogueDetectionSetting `json:"rogueDetectionSetting,omitempty"` // + + PmfDenialEnabled *bool `json:"pmfDenialEnabled,omitempty"` // Indicates if PMF denial is active on the AP. PMF Denial is supported from IOS-XE version 17.12 and above. + + MeshEnabled *bool `json:"meshEnabled,omitempty"` // This indicates whether mesh networking is enabled on the AP. For IOS-XE devices, when mesh networking is enabled, a custom mesh profile with the configured parameters will be created and mapped to the AP join profile on the device. When mesh networking is disabled, any existing custom mesh profile will be deleted from the device, and the AP join profile will be mapped to the default mesh profile on the device. + + MeshSetting *RequestWirelessCreateApProfileMeshSetting `json:"meshSetting,omitempty"` // + + ApPowerProfileName string `json:"apPowerProfileName,omitempty"` // Name of the existing AP power profile. + + CalendarPowerProfiles *RequestWirelessCreateApProfileCalendarPowerProfiles `json:"calendarPowerProfiles,omitempty"` // + + CountryCode string `json:"countryCode,omitempty"` // Country Code + + TimeZone string `json:"timeZone,omitempty"` // In the Time Zone area, choose one of the following options. Not Configured - APs operate in the UTC time zone. Controller - APs operate in the Cisco Wireless Controller time zone. Delta from Controller - APs operate in the offset time from the wireless controller time zone. + + TimeZoneOffsetHour *int `json:"timeZoneOffsetHour,omitempty"` // Enter the hour value (HH). The valid range is from -12 through 14. + + TimeZoneOffsetMinutes *int `json:"timeZoneOffsetMinutes,omitempty"` // Enter the minute value (MM). The valid range is from 0 through 59. + + ClientLimit *int `json:"clientLimit,omitempty"` // Number of clients. Value should be between 0-1200. +} +type RequestWirelessCreateApProfileManagementSetting struct { + AuthType string `json:"authType,omitempty"` // Authentication type used in the AP profile. These setting are applicable during PnP claim and for day-N authentication of AP. Changing these settings will be service impacting for the PnP onboarded APs and will need a factory-reset for those APs. + + Dot1XUsername string `json:"dot1xUsername,omitempty"` // Username for 802.1X authentication. dot1xUsername must have a minimum of 1 character and a maximum of 32 characters. + + Dot1XPassword string `json:"dot1xPassword,omitempty"` // Password for 802.1X authentication. AP dot1x password length should not exceed 120. + + SSHEnabled *bool `json:"sshEnabled,omitempty"` // Indicates if SSH is enabled on the AP. Enable SSH add credentials for device management. + + TelnetEnabled *bool `json:"telnetEnabled,omitempty"` // Indicates if Telnet is enabled on the AP. Enable Telnet to add credentials for device management. + + ManagementUserName string `json:"managementUserName,omitempty"` // Management username must have a minimum of 1 character and a maximum of 32 characters. + + ManagementPassword string `json:"managementPassword,omitempty"` // Management password for the AP. Length must be 8-120 characters. + + ManagementEnablePassword string `json:"managementEnablePassword,omitempty"` // Enable password for managing the AP. Length must be 8-120 characters. + + CdpState *bool `json:"cdpState,omitempty"` // Indicates if CDP is enabled on the AP. Enable CDP in order to make Cisco Access Points known to its neighboring devices and vice-versa. +} +type RequestWirelessCreateApProfileRogueDetectionSetting struct { + RogueDetection *bool `json:"rogueDetection,omitempty"` // Indicates if rogue detection is enabled on the AP. Detect Access Points that have been installed on a secure network without explicit authorization from a system administrator and configure rogue general configuration parameters + + RogueDetectionMinRssi *int `json:"rogueDetectionMinRssi,omitempty"` // Minimum RSSI for rogue detection. Value should be in range -128 decibel milliwatts and -70 decibel milliwatts + + RogueDetectionTransientInterval *int `json:"rogueDetectionTransientInterval,omitempty"` // Transient interval for rogue detection. Value should be 0 or from 120 to 1800. + + RogueDetectionReportInterval *int `json:"rogueDetectionReportInterval,omitempty"` // Report interval for rogue detection. Value should be in range 10 and 300. +} +type RequestWirelessCreateApProfileMeshSetting struct { + BridgeGroupName string `json:"bridgeGroupName,omitempty"` // Name of the bridge group for mesh settings. If not configured, 'Default' Bridge group name will be used in mesh profile. + + BackhaulClientAccess *bool `json:"backhaulClientAccess,omitempty"` // Indicates if backhaul client access is enabled on the AP. + + Range *int `json:"range,omitempty"` // Range of the mesh network. Value should be between 150-132000 + + Ghz5BackhaulDataRates string `json:"ghz5BackhaulDataRates,omitempty"` // 5GHz backhaul data rates. + + Ghz24BackhaulDataRates string `json:"ghz24BackhaulDataRates,omitempty"` // 2.4GHz backhaul data rates. + + RapDownlinkBackhaul string `json:"rapDownlinkBackhaul,omitempty"` // Type of downlink backhaul used. +} +type RequestWirelessCreateApProfileCalendarPowerProfiles struct { + PowerProfileName string `json:"powerProfileName,omitempty"` // Name of the existing AP power profile to be mapped to the calendar power profile. API-/intent/api/v1/wirelessSettings/powerProfiles. + + SchedulerType string `json:"schedulerType,omitempty"` // Type of the scheduler. + + Duration *RequestWirelessCreateApProfileCalendarPowerProfilesDuration `json:"duration,omitempty"` // +} +type RequestWirelessCreateApProfileCalendarPowerProfilesDuration struct { + SchedulerStartTime string `json:"schedulerStartTime,omitempty"` // Start time of the duration setting. + + SchedulerEndTime string `json:"schedulerEndTime,omitempty"` // End time of the duration setting. + + SchedulerDay string `json:"schedulerDay,omitempty"` // Applies every week on the selected days + + SchedulerDate string `json:"schedulerDate,omitempty"` // Start and End date of the duration setting, applicable for MONTHLY schedulers. +} +type RequestWirelessUpdateApProfileByID struct { + ApProfileName string `json:"apProfileName,omitempty"` // Name of the Access Point profile. Max length is 32 characters. + + Description string `json:"description,omitempty"` // Description of the AP profile. Max length is 241 characters + + RemoteWorkerEnabled *bool `json:"remoteWorkerEnabled,omitempty"` // Indicates if remote worker mode is enabled on the AP. Remote teleworker enabled profile cannot support security features like aWIPS,Forensic Capture Enablement, Rogue Detection and Rogue Containment. + + ManagementSetting *RequestWirelessUpdateApProfileByIDManagementSetting `json:"managementSetting,omitempty"` // + + AwipsEnabled *bool `json:"awipsEnabled,omitempty"` // Indicates if AWIPS is enabled on the AP. + + AwipsForensicEnabled *bool `json:"awipsForensicEnabled,omitempty"` // Indicates if AWIPS forensic is enabled on the AP. Forensic Capture is supported from IOS-XE version 17.4 and above. Forensic Capture can be activated only if aWIPS is enabled. + + RogueDetectionSetting *RequestWirelessUpdateApProfileByIDRogueDetectionSetting `json:"rogueDetectionSetting,omitempty"` // + + PmfDenialEnabled *bool `json:"pmfDenialEnabled,omitempty"` // Indicates if PMF denial is active on the AP. PMF Denial is supported from IOS-XE version 17.12 and above. + + MeshEnabled *bool `json:"meshEnabled,omitempty"` // This indicates whether mesh networking is enabled on the AP. For IOS-XE devices, when mesh networking is enabled, a custom mesh profile with the configured parameters will be created and mapped to the AP join profile on the device. When mesh networking is disabled, any existing custom mesh profile will be deleted from the device, and the AP join profile will be mapped to the default mesh profile on the device. + + MeshSetting *RequestWirelessUpdateApProfileByIDMeshSetting `json:"meshSetting,omitempty"` // + + ApPowerProfileName string `json:"apPowerProfileName,omitempty"` // Name of the existing AP power profile. + + CalendarPowerProfiles *RequestWirelessUpdateApProfileByIDCalendarPowerProfiles `json:"calendarPowerProfiles,omitempty"` // + + CountryCode string `json:"countryCode,omitempty"` // Country Code + + TimeZone string `json:"timeZone,omitempty"` // In the Time Zone area, choose one of the following options. Not Configured - APs operate in the UTC time zone. Controller - APs operate in the Cisco Wireless Controller time zone. Delta from Controller - APs operate in the offset time from the wireless controller time zone. + + TimeZoneOffsetHour *int `json:"timeZoneOffsetHour,omitempty"` // Enter the hour value (HH). The valid range is from -12 through 14. + + TimeZoneOffsetMinutes *int `json:"timeZoneOffsetMinutes,omitempty"` // Enter the minute value (MM). The valid range is from 0 through 59. + + ClientLimit *int `json:"clientLimit,omitempty"` // Number of clients. Value should be between 0-1200. +} +type RequestWirelessUpdateApProfileByIDManagementSetting struct { + AuthType string `json:"authType,omitempty"` // Authentication type used in the AP profile. These setting are applicable during PnP claim and for day-N authentication of AP. Changing these settings will be service impacting for the PnP onboarded APs and will need a factory-reset for those APs. + + Dot1XUsername string `json:"dot1xUsername,omitempty"` // Username for 802.1X authentication. dot1xUsername must have a minimum of 1 character and a maximum of 32 characters. + + Dot1XPassword string `json:"dot1xPassword,omitempty"` // Password for 802.1X authentication. AP dot1x password length should not exceed 120. + + SSHEnabled *bool `json:"sshEnabled,omitempty"` // Indicates if SSH is enabled on the AP. Enable SSH add credentials for device management. + + TelnetEnabled *bool `json:"telnetEnabled,omitempty"` // Indicates if Telnet is enabled on the AP. Enable Telnet to add credentials for device management. + + ManagementUserName string `json:"managementUserName,omitempty"` // Management username must have a minimum of 1 character and a maximum of 32 characters. + + ManagementPassword string `json:"managementPassword,omitempty"` // Management password for the AP. Length must be 8-120 characters. + + ManagementEnablePassword string `json:"managementEnablePassword,omitempty"` // Enable password for managing the AP. Length must be 8-120 characters. + + CdpState *bool `json:"cdpState,omitempty"` // Indicates if CDP is enabled on the AP. Enable CDP in order to make Cisco Access Points known to its neighboring devices and vice-versa. +} +type RequestWirelessUpdateApProfileByIDRogueDetectionSetting struct { + RogueDetection *bool `json:"rogueDetection,omitempty"` // Indicates if rogue detection is enabled on the AP. Detect Access Points that have been installed on a secure network without explicit authorization from a system administrator and configure rogue general configuration parameters + + RogueDetectionMinRssi *int `json:"rogueDetectionMinRssi,omitempty"` // Minimum RSSI for rogue detection. Value should be in range -128 decibel milliwatts and -70 decibel milliwatts + + RogueDetectionTransientInterval *int `json:"rogueDetectionTransientInterval,omitempty"` // Transient interval for rogue detection. Value should be 0 or from 120 to 1800. + + RogueDetectionReportInterval *int `json:"rogueDetectionReportInterval,omitempty"` // Report interval for rogue detection. Value should be in range 10 and 300. +} +type RequestWirelessUpdateApProfileByIDMeshSetting struct { + BridgeGroupName string `json:"bridgeGroupName,omitempty"` // Name of the bridge group for mesh settings. If not configured, 'Default' Bridge group name will be used in mesh profile. + + BackhaulClientAccess *bool `json:"backhaulClientAccess,omitempty"` // Indicates if backhaul client access is enabled on the AP. + + Range *int `json:"range,omitempty"` // Range of the mesh network. Value should be between 150-132000 + + Ghz5BackhaulDataRates string `json:"ghz5BackhaulDataRates,omitempty"` // 5GHz backhaul data rates. + + Ghz24BackhaulDataRates string `json:"ghz24BackhaulDataRates,omitempty"` // 2.4GHz backhaul data rates. + + RapDownlinkBackhaul string `json:"rapDownlinkBackhaul,omitempty"` // Type of downlink backhaul used. Available values 5 GHz, 2.4 GHz. +} +type RequestWirelessUpdateApProfileByIDCalendarPowerProfiles struct { + PowerProfileName string `json:"powerProfileName,omitempty"` // Name of the existing AP power profile to be mapped to the calendar power profile. API-/intent/api/v1/wirelessSettings/powerProfiles. + + SchedulerType string `json:"schedulerType,omitempty"` // Type of the scheduler. + + Duration *RequestWirelessUpdateApProfileByIDCalendarPowerProfilesDuration `json:"duration,omitempty"` // +} +type RequestWirelessUpdateApProfileByIDCalendarPowerProfilesDuration struct { + SchedulerStartTime string `json:"schedulerStartTime,omitempty"` // Start time of the duration setting. + + SchedulerEndTime string `json:"schedulerEndTime,omitempty"` // End time of the duration setting. + + SchedulerDay string `json:"schedulerDay,omitempty"` // Applies every week on the selected days + + SchedulerDate string `json:"schedulerDate,omitempty"` // Start and End date of the duration setting, applicable for MONTHLY schedulers. +} +type RequestWirelessCreateA80211BeProfile struct { + ProfileName string `json:"profileName,omitempty"` // 802.11be Profile Name + + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink (Default: true) + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink (Default: true) + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink (Default: false) + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink (Default: false) + + OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU (Default: false) +} +type RequestWirelessUpdate80211BeProfile struct { + ProfileName string `json:"profileName,omitempty"` // 802.11be Profile Name + + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink (Default: true) + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink (Default: true) + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink (Default: false) + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink (Default: false) + + OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU (Default: false) +} +type RequestWirelessCreateInterface struct { + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + VLANID *int `json:"vlanId,omitempty"` // VLAN ID range is 1-4094 +} +type RequestWirelessUpdateInterface struct { + InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + + VLANID *int `json:"vlanId,omitempty"` // VLAN ID range is 1-4094 +} +type RequestWirelessCreatePowerProfile struct { + ProfileName string `json:"profileName,omitempty"` // Name of the Power Profile. Max allowed characters is 128 + + Description string `json:"description,omitempty"` // Description of the Power Profile. Max allowed characters is 128 + + Rules *[]RequestWirelessCreatePowerProfileRules `json:"rules,omitempty"` // +} +type RequestWirelessCreatePowerProfileRules struct { + InterfaceType string `json:"interfaceType,omitempty"` // Interface Type for the rule. + + InterfaceID string `json:"interfaceId,omitempty"` // Interface Id for the rule. + + ParameterType string `json:"parameterType,omitempty"` // Parameter Type for the rule. + + ParameterValue string `json:"parameterValue,omitempty"` // Parameter Value for the rule. +} +type RequestWirelessUpdatePowerProfileByID struct { + ProfileName string `json:"profileName,omitempty"` // Name of the Power Profile. Max length is 32 characters + + Description string `json:"description,omitempty"` // Description of the Power Profile. Max length is 32 characters + + Rules *[]RequestWirelessUpdatePowerProfileByIDRules `json:"rules,omitempty"` // +} +type RequestWirelessUpdatePowerProfileByIDRules struct { + InterfaceType string `json:"interfaceType,omitempty"` // Interface Type + + InterfaceID string `json:"interfaceID,omitempty"` // Interface ID + + ParameterType string `json:"parameterType,omitempty"` // Parameter Type + + ParameterValue string `json:"parameterValue,omitempty"` // Parameter Value +} +type RequestWirelessCreateRfProfile struct { + RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name + + DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // True if RF Profile is default, else False. Maximum of only 1 RF Profile can be marked as default at any given time + + EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // True if 5 GHz radio band is enabled in the RF Profile, else False + + EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // True if 2.4 GHz radio band is enabled in the RF Profile, else False + + EnableRadioType6GHz *bool `json:"enableRadioType6GHz,omitempty"` // True if 6 GHz radio band is enabled in the RF Profile, else False + + RadioTypeAProperties *RequestWirelessCreateRfProfileRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // + + RadioTypeBProperties *RequestWirelessCreateRfProfileRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // + + RadioType6GHzProperties *RequestWirelessCreateRfProfileRadioType6GHzProperties `json:"radioType6GHzProperties,omitempty"` // +} +type RequestWirelessCreateRfProfileRadioTypeAProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 5 GHz radio band + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 149, 153, 157, 161, 165, 169, 173 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 5 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 5 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 5 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 5 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 5 GHz radio band + + ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width + + PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher + + ZeroWaitDfsEnable *bool `json:"zeroWaitDfsEnable,omitempty"` // Zero Wait DFS is applicable only for IOS-XE based Wireless Controllers running 17.9.1 and above versions + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 5 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 5 GHz radio band + + FraProperties *RequestWirelessCreateRfProfileRadioTypeAPropertiesFraProperties `json:"fraProperties,omitempty"` // + + CoverageHoleDetectionProperties *RequestWirelessCreateRfProfileRadioTypeAPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *RequestWirelessCreateRfProfileRadioTypeAPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type RequestWirelessCreateRfProfileRadioTypeAPropertiesFraProperties struct { + ClientAware *bool `json:"clientAware,omitempty"` // Client Aware of 5 GHz radio band + + ClientSelect *int `json:"clientSelect,omitempty"` // Client Select(%) of 5 GHz radio band + + ClientReset *int `json:"clientReset,omitempty"` // Client Reset(%) of 5 GHz radio band +} +type RequestWirelessCreateRfProfileRadioTypeAPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) +} +type RequestWirelessCreateRfProfileRadioTypeAPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type RequestWirelessCreateRfProfileRadioTypeBProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 2.4 GHz radio band + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 2.4 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 2.4 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 2.4 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 2.4 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 2.4 GHz radio band + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 2.4 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 2.4 GHz radio band + + CoverageHoleDetectionProperties *RequestWirelessCreateRfProfileRadioTypeBPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *RequestWirelessCreateRfProfileRadioTypeBPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type RequestWirelessCreateRfProfileRadioTypeBPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) +} +type RequestWirelessCreateRfProfileRadioTypeBPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type RequestWirelessCreateRfProfileRadioType6GHzProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 6 GHz radio band + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 233 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 6 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 6 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 6 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 6 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 6 GHz radio band + + EnableStandardPowerService *bool `json:"enableStandardPowerService,omitempty"` // True if Standard Power Service is enabled, else False + + MultiBssidProperties *RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidProperties `json:"multiBssidProperties,omitempty"` // + + PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher + + MinDbsWidth *int `json:"minDbsWidth,omitempty"` // Minimum DBS Width (Permissible Values:20,40,80,160,320) + + MaxDbsWidth *int `json:"maxDbsWidth,omitempty"` // Maximum DBS Width (Permissible Values:20,40,80,160,320) + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 6 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 6 GHz radio band + + PscEnforcingEnabled *bool `json:"pscEnforcingEnabled,omitempty"` // PSC Enforcing Enable for 6 GHz radio band + + DiscoveryFrames6GHz string `json:"discoveryFrames6GHz,omitempty"` // Discovery Frames of 6 GHz radio band + + BroadcastProbeResponseInterval *int `json:"broadcastProbeResponseInterval,omitempty"` // Broadcast Probe Response Interval of 6 GHz radio band + + FraProperties *RequestWirelessCreateRfProfileRadioType6GHzPropertiesFraProperties `json:"fraProperties,omitempty"` // + + CoverageHoleDetectionProperties *RequestWirelessCreateRfProfileRadioType6GHzPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *RequestWirelessCreateRfProfileRadioType6GHzPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidProperties struct { + Dot11AxParameters *RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters `json:"dot11axParameters,omitempty"` // + + Dot11BeParameters *RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters `json:"dot11beParameters,omitempty"` // + + TargetWakeTime *bool `json:"targetWakeTime,omitempty"` // Target Wake Time + + TwtBroadcastSupport *bool `json:"twtBroadcastSupport,omitempty"` // TWT Broadcast Support +} +type RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters struct { + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink +} +type RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters struct { + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink + + OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU +} +type RequestWirelessCreateRfProfileRadioType6GHzPropertiesFraProperties struct { + ClientResetCount *int `json:"clientResetCount,omitempty"` // Client Reset Count of 6 GHz radio band + + ClientUtilizationThreshold *int `json:"clientUtilizationThreshold,omitempty"` // Client Utilization Threshold of 6 GHz radio band +} +type RequestWirelessCreateRfProfileRadioType6GHzPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) +} +type RequestWirelessCreateRfProfileRadioType6GHzPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type RequestWirelessUpdateRfProfile struct { + RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name + + DefaultRfProfile *bool `json:"defaultRfProfile,omitempty"` // True if RF Profile is default, else False. Maximum of only 1 RF Profile can be marked as default at any given time + + EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // True if 5 GHz radio band is enabled in the RF Profile, else False + + EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // True if 2.4 GHz radio band is enabled in the RF Profile, else False + + EnableRadioType6GHz *bool `json:"enableRadioType6GHz,omitempty"` // True if 6 GHz radio band is enabled in the RF Profile, else False + + RadioTypeAProperties *RequestWirelessUpdateRfProfileRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // + + RadioTypeBProperties *RequestWirelessUpdateRfProfileRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // + + RadioType6GHzProperties *RequestWirelessUpdateRfProfileRadioType6GHzProperties `json:"radioType6GHzProperties,omitempty"` // +} +type RequestWirelessUpdateRfProfileRadioTypeAProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 5 GHz radio band. In case of brownfield learnt RF Profile if the parent profile is GLOBAL, any change in RF Profile configurations will not be provisioned to device. Existing parent profile with values of HIGH, TYPICAL, LOW or CUSTOM cannot be modified to GLOBAL + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 149, 153, 157, 161, 165, 169, 173 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 5 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 5 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 5 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 5 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 5 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 5 GHz radio band + + ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width + + PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher + + ZeroWaitDfsEnable *bool `json:"zeroWaitDfsEnable,omitempty"` // Zero Wait DFS is applicable only for IOS-XE based Wireless Controllers running 17.9.1 and above versions + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 5 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 5 GHz radio band + + FraProperties *RequestWirelessUpdateRfProfileRadioTypeAPropertiesFraProperties `json:"fraProperties,omitempty"` // + + CoverageHoleDetectionProperties *RequestWirelessUpdateRfProfileRadioTypeAPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *RequestWirelessUpdateRfProfileRadioTypeAPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type RequestWirelessUpdateRfProfileRadioTypeAPropertiesFraProperties struct { + ClientAware *bool `json:"clientAware,omitempty"` // Client Aware of 5 GHz radio band + + ClientSelect *int `json:"clientSelect,omitempty"` // Client Select(%) of 5 GHz radio band + + ClientReset *int `json:"clientReset,omitempty"` // Client Reset(%) of 5 GHz radio band +} +type RequestWirelessUpdateRfProfileRadioTypeAPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) +} +type RequestWirelessUpdateRfProfileRadioTypeAPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type RequestWirelessUpdateRfProfileRadioTypeBProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 2.4 GHz radio band. In case of brownfield learnt RF Profile if the parent profile is GLOBAL, any change in RF Profile configurations will not be provisioned to device. Existing parent profile with values of HIGH, TYPICAL, LOW or CUSTOM cannot be modified to GLOBAL + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 2.4 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 2.4 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 2.4 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 2.4 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 2.4 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 2.4 GHz radio band + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 2.4 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 2.4 GHz radio band + + CoverageHoleDetectionProperties *RequestWirelessUpdateRfProfileRadioTypeBPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *RequestWirelessUpdateRfProfileRadioTypeBPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type RequestWirelessUpdateRfProfileRadioTypeBPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) +} +type RequestWirelessUpdateRfProfileRadioTypeBPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type RequestWirelessUpdateRfProfileRadioType6GHzProperties struct { + ParentProfile string `json:"parentProfile,omitempty"` // Parent profile of 6 GHz radio band + + RadioChannels string `json:"radioChannels,omitempty"` // DCA channels of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 233 + + DataRates string `json:"dataRates,omitempty"` // Data rates of 6 GHz radio band passed in comma separated format without any spaces. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory data rates of 6 GHz radio band passed in comma separated format without any spaces and must be a subset of selected dataRates with maximum of 2 values. Permissible values: 6, 9, 12, 18, 24, 36, 48, 54 + + PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 6 GHz radio band + + RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 6 GHz radio band + + MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 6 GHz radio band + + MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 6 GHz radio band + + EnableStandardPowerService *bool `json:"enableStandardPowerService,omitempty"` // True if Standard Power Service is enabled, else False + + MultiBssidProperties *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidProperties `json:"multiBssidProperties,omitempty"` // + + PreamblePuncture *bool `json:"preamblePuncture,omitempty"` // Enable or Disable Preamble Puncturing. This Wifi 7 configuration is applicable to wireless IOS devices supporting 17.15 and higher + + MinDbsWidth *int `json:"minDbsWidth,omitempty"` // Minimum DBS Width (Permissible Values:20,40,80,160,320) + + MaxDbsWidth *int `json:"maxDbsWidth,omitempty"` // Maximum DBS Width (Permissible Values:20,40,80,160,320) + + CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 6 GHz radio band + + MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 6 GHz radio band + + PscEnforcingEnabled *bool `json:"pscEnforcingEnabled,omitempty"` // PSC Enforcing Enable for 6 GHz radio band + + DiscoveryFrames6GHz string `json:"discoveryFrames6GHz,omitempty"` // Discovery Frames of 6 GHz radio band + + BroadcastProbeResponseInterval *int `json:"broadcastProbeResponseInterval,omitempty"` // Broadcast Probe Response Interval of 6 GHz radio band + + FraProperties *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesFraProperties `json:"fraProperties,omitempty"` // + + CoverageHoleDetectionProperties *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + + SpatialReuseProperties *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidProperties struct { + Dot11AxParameters *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters `json:"dot11axParameters,omitempty"` // + + Dot11BeParameters *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters `json:"dot11beParameters,omitempty"` // + + TargetWakeTime *bool `json:"targetWakeTime,omitempty"` // Target Wake Time + + TwtBroadcastSupport *bool `json:"twtBroadcastSupport,omitempty"` // TWT Broadcast Support +} +type RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters struct { + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink +} +type RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters struct { + OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink + + OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink + + MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink + + MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink + + OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU +} +type RequestWirelessUpdateRfProfileRadioType6GHzPropertiesFraProperties struct { + ClientResetCount *int `json:"clientResetCount,omitempty"` // Client Reset Count of 6 GHz radio band + + ClientUtilizationThreshold *int `json:"clientUtilizationThreshold,omitempty"` // Client Utilization Threshold of 6 GHz radio band +} +type RequestWirelessUpdateRfProfileRadioType6GHzPropertiesCoverageHoleDetectionProperties struct { + ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level + + ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + + ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) +} +type RequestWirelessUpdateRfProfileRadioType6GHzPropertiesSpatialReuseProperties struct { + Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + + Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + + Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + + Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + + Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold +} +type RequestWirelessAssignAnchorManagedApLocationsForWLC struct { + AnchorManagedApLocationsSiteIDs []string `json:"anchorManagedAPLocationsSiteIds,omitempty"` // This API allows user to assign Anchor Managed AP Locations for WLC by device ID. The payload should always be a complete list. The Managed AP Locations included in the payload will be fully processed for both addition and deletion. - When anchor managed location array present then it will add the anchor managed locations. +} +type RequestWirelessConfigureAccessPointsV2 struct { + ApList *[]RequestWirelessConfigureAccessPointsV2ApList `json:"apList,omitempty"` // + + ConfigureAdminStatus *bool `json:"configureAdminStatus,omitempty"` // To change the access point's admin status, set this parameter's value to "true". + + AdminStatus *bool `json:"adminStatus,omitempty"` // Configure the access point's admin status. Set this parameter's value to "true" to enable it and "false" to disable it. + + ConfigureApMode *bool `json:"configureApMode,omitempty"` // To change the access point's mode, set this parameter's value to "true". + + ApMode *int `json:"apMode,omitempty"` // Configure the access point's mode: for local/flexconnect mode, set "0"; for monitor mode, set "1"; for sniffer mode, set "4"; and for bridge/flex+bridge mode, set "5". + + ConfigureFailoverPriority *bool `json:"configureFailoverPriority,omitempty"` // To change the access point's failover priority, set this parameter's value to "true". + + FailoverPriority *int `json:"failoverPriority,omitempty"` // Configure the acess point's failover priority: for low, set "1"; for medium, set "2"; for high, set "3"; and for critical, set "4". + + ConfigureLedStatus *bool `json:"configureLedStatus,omitempty"` // To change the access point's LED status, set this parameter's value to "true". + + LedStatus *bool `json:"ledStatus,omitempty"` // Configure the access point's LED status. Set "true" to enable its status and "false" to disable it. + + ConfigureLedBrightnessLevel *bool `json:"configureLedBrightnessLevel,omitempty"` // To change the access point's LED brightness level, set this parameter's value to "true". + + LedBrightnessLevel *int `json:"ledBrightnessLevel,omitempty"` // Configure the access point's LED brightness level by setting a value between 1 and 8. + + ConfigureLocation *bool `json:"configureLocation,omitempty"` // To change the access point's location, set this parameter's value to "true". + + Location string `json:"location,omitempty"` // Configure the access point's location. + + ConfigureHAController *bool `json:"configureHAController,omitempty"` // To change the access point's HA controller, set this parameter's value to "true". + + PrimaryControllerName string `json:"primaryControllerName,omitempty"` // Configure the hostname for an access point's primary controller. + + PrimaryIPAddress *RequestWirelessConfigureAccessPointsV2PrimaryIPAddress `json:"primaryIpAddress,omitempty"` // + + SecondaryControllerName string `json:"secondaryControllerName,omitempty"` // Configure the hostname for an access point's secondary controller. + + SecondaryIPAddress *RequestWirelessConfigureAccessPointsV2SecondaryIPAddress `json:"secondaryIpAddress,omitempty"` // + + TertiaryControllerName string `json:"tertiaryControllerName,omitempty"` // Configure the hostname for an access point's tertiary controller. + + TertiaryIPAddress *RequestWirelessConfigureAccessPointsV2TertiaryIPAddress `json:"tertiaryIpAddress,omitempty"` // + + RadioConfigurations *[]RequestWirelessConfigureAccessPointsV2RadioConfigurations `json:"radioConfigurations,omitempty"` // + + ConfigureCleanAirSI24Ghz *bool `json:"configureCleanAirSI24Ghz,omitempty"` // To change the clean air status for radios that are in 2.4 Ghz band, set this parameter's value to "true". + + CleanAirSI24 *bool `json:"cleanAirSI24,omitempty"` // Configure clean air status for radios that are in 2.4 Ghz band. Set this parameter's value to "true" to enable it and "false" to disable it. + + ConfigureCleanAirSI5Ghz *bool `json:"configureCleanAirSI5Ghz,omitempty"` // To change the clean air status for radios that are in 5 Ghz band, set this parameter's value to "true". + + CleanAirSI5 *bool `json:"cleanAirSI5,omitempty"` // Configure clean air status for radios that are in 5 Ghz band. Set this parameter's value to "true" to enable it and "false" to disable it. + + ConfigureCleanAirSI6Ghz *bool `json:"configureCleanAirSI6Ghz,omitempty"` // To change the clean air status for radios that are in 6 Ghz band, set this parameter's value to "true". + + CleanAirSI6 *bool `json:"cleanAirSI6,omitempty"` // Configure clean air status for radios that are in 6 Ghz band. Set this parameter's value to "true" to enable it and "false" to disable it. + + IsAssignedSiteAsLocation *bool `json:"isAssignedSiteAsLocation,omitempty"` // To configure the access point's location as the site assigned to the access point, set this parameter's value to "true". +} +type RequestWirelessConfigureAccessPointsV2ApList struct { + ApName string `json:"apName,omitempty"` // The current host name of the access point. + + MacAddress string `json:"macAddress,omitempty"` // The ethernet MAC address of the access point. + + ApNameNew string `json:"apNameNew,omitempty"` // The modified hostname of the access point. +} +type RequestWirelessConfigureAccessPointsV2PrimaryIPAddress struct { + Address string `json:"address,omitempty"` // Configure the IP address for an access point's primary controller. +} +type RequestWirelessConfigureAccessPointsV2SecondaryIPAddress struct { + Address string `json:"address,omitempty"` // Configure the IP address for an access point's secondary controller. +} +type RequestWirelessConfigureAccessPointsV2TertiaryIPAddress struct { + Address string `json:"address,omitempty"` // Configure the IP address for an access point's tertiary controller. +} +type RequestWirelessConfigureAccessPointsV2RadioConfigurations struct { + ConfigureRadioRoleAssignment *bool `json:"configureRadioRoleAssignment,omitempty"` // To change the radio role on the specified radio for an access point, set this parameter's value to "true". + + RadioRoleAssignment string `json:"radioRoleAssignment,omitempty"` // Configure only one of the following roles on the specified radio for an access point as "AUTO", "SERVING", or "MONITOR". Any other string is invalid, including empty string + + RadioBand string `json:"radioBand,omitempty"` // Configure the band on the specified radio for an access point: for 2.4 GHz, set "RADIO24"; for 5 GHz, set "RADIO5". Any other string is invalid, including empty string + + ConfigureAdminStatus *bool `json:"configureAdminStatus,omitempty"` // To change the admin status on the specified radio for an access point, set this parameter's value to "true". + + AdminStatus *bool `json:"adminStatus,omitempty"` // Configure the admin status on the specified radio for an access point. Set this parameter's value to "true" to enable it and "false" to disable it. + + ConfigureAntennaPatternName *bool `json:"configureAntennaPatternName,omitempty"` // To change the antenna gain on the specified radio for an access point, set the value for this parameter to "true". + + AntennaPatternName string `json:"antennaPatternName,omitempty"` // Specify the antenna name on the specified radio for an access point. The antenna name is used to calculate the gain on the radio slot. + + AntennaGain *int `json:"antennaGain,omitempty"` // Configure the antenna gain on the specified radio for an access point by setting a decimal value (in dBi). To configure "antennaGain", set "antennaPatternName" value to "other". + + ConfigureAntennaCable *bool `json:"configureAntennaCable,omitempty"` // To change the antenna cable name on the specified radio for an access point, set this parameter's value to "true". + + AntennaCableName string `json:"antennaCableName,omitempty"` // Configure the antenna cable name on the specified radio for an access point. If cable loss needs to be configured, set this parameter's value to "other". + + CableLoss *float64 `json:"cableLoss,omitempty"` // Configure the cable loss on the specified radio for an access point by setting a decimal value (in dBi). + + ConfigureChannel *bool `json:"configureChannel,omitempty"` // To change the channel on the specified radio for an access point, set this parameter's value to "true". + + ChannelAssignmentMode *int `json:"channelAssignmentMode,omitempty"` // Configure the channel assignment mode on the specified radio for an access point: for global mode, set "1"; and for custom mode, set "2". + + ChannelNumber *int `json:"channelNumber,omitempty"` // Configure the channel number on the specified radio for an access point. + + ConfigureChannelWidth *bool `json:"configureChannelWidth,omitempty"` // To change the channel width on the specified radio for an access point, set this parameter's value to "true". + + ChannelWidth *int `json:"channelWidth,omitempty"` // Configure the channel width on the specified radio for an access point: for 20 MHz, set "3"; for 40 MHz, set "4"; for 80 MHz, set "5"; for 160 MHz, set "6", and for 320 MHz, set "7". + + ConfigurePower *bool `json:"configurePower,omitempty"` // To change the power assignment mode on the specified radio for an access point, set this parameter's value to "true". + + PowerAssignmentMode *int `json:"powerAssignmentMode,omitempty"` // Configure the power assignment mode on the specified radio for an access point: for global mode, set "1"; and for custom mode, set "2". + + Powerlevel *int `json:"powerlevel,omitempty"` // Configure the power level on the specified radio for an access point by setting a value between 1 and 8. + + RadioType *int `json:"radioType,omitempty"` // Configure an access point's radio band: for 2.4 GHz, set "1"; for 5 GHz, set "2"; for XOR, set "3"; and for 6 GHz, set "6". +} + +//SensorTestResults Sensor Test Results - 87ae-7b21-4f0b-a838 +/* Intent API to get SENSOR test result summary + + +@param SensorTestResultsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!sensor-test-results +*/ +func (s *WirelessService) SensorTestResults(SensorTestResultsQueryParams *SensorTestResultsQueryParams) (*ResponseWirelessSensorTestResults, *resty.Response, error) { + path := "/dna/intent/api/v1/AssuranceGetSensorTestResults" + + queryString, _ := query.Values(SensorTestResultsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessSensorTestResults{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.SensorTestResults(SensorTestResultsQueryParams) + } + return nil, response, fmt.Errorf("error with operation SensorTestResults") + } + + result := response.Result().(*ResponseWirelessSensorTestResults) + return result, response, err + +} + +//GetAccessPointRebootTaskResult Get Access Point Reboot task result - c4b5-e9ce-460a-a8a3 +/* Users can query the access point reboot status using this intent API + + +@param GetAccessPointRebootTaskResultQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-point-reboot-task-result +*/ +func (s *WirelessService) GetAccessPointRebootTaskResult(GetAccessPointRebootTaskResultQueryParams *GetAccessPointRebootTaskResultQueryParams) (*ResponseWirelessGetAccessPointRebootTaskResult, *resty.Response, error) { + path := "/dna/intent/api/v1/device-reboot/apreboot/status" + + queryString, _ := query.Values(GetAccessPointRebootTaskResultQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointRebootTaskResult{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAccessPointRebootTaskResult(GetAccessPointRebootTaskResultQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAccessPointRebootTaskResult") + } + + result := response.Result().(*ResponseWirelessGetAccessPointRebootTaskResult) + return result, response, err + +} + +//GetEnterpriseSSID Get Enterprise SSID - cca5-19ba-45eb-b423 +/* Get Enterprise SSID + + +@param GetEnterpriseSSIDQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-enterprise-ssid +*/ +func (s *WirelessService) GetEnterpriseSSID(GetEnterpriseSSIDQueryParams *GetEnterpriseSSIDQueryParams) (*ResponseWirelessGetEnterpriseSSID, *resty.Response, error) { + path := "/dna/intent/api/v1/enterprise-ssid" + + queryString, _ := query.Values(GetEnterpriseSSIDQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetEnterpriseSSID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetEnterpriseSSID(GetEnterpriseSSIDQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetEnterpriseSsid") + } + + result := response.Result().(*ResponseWirelessGetEnterpriseSSID) + return result, response, err + +} + +//GetSSIDBySite Get SSID by Site - bb92-f946-4e19-a187 +/* This API allows the user to get all SSIDs (Service Set Identifier) at the given site + + +@param siteID siteId path parameter. Site UUID + +@param GetSSIDBySiteQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-by-site +*/ +func (s *WirelessService) GetSSIDBySite(siteID string, GetSSIDBySiteQueryParams *GetSSIDBySiteQueryParams) (*ResponseWirelessGetSSIDBySite, *resty.Response, error) { + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids" + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) + + queryString, _ := query.Values(GetSSIDBySiteQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDBySite{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSSIDBySite(siteID, GetSSIDBySiteQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSsidBySite") + } + + result := response.Result().(*ResponseWirelessGetSSIDBySite) + return result, response, err + +} + +//GetSSIDCountBySite Get SSID Count by Site - 52ae-589a-48ab-9116 +/* This API allows the user to get count of all SSIDs (Service Set Identifier) . + + +@param siteID siteId path parameter. Site UUID + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-count-by-site +*/ +func (s *WirelessService) GetSSIDCountBySite(siteID string) (*ResponseWirelessGetSSIDCountBySite, *resty.Response, error) { + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids/count" + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetSSIDCountBySite{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSSIDCountBySite(siteID) + } + return nil, response, fmt.Errorf("error with operation GetSsidCountBySite") + } + + result := response.Result().(*ResponseWirelessGetSSIDCountBySite) + return result, response, err + +} + +//GetSSIDByID Get SSID by ID - 78a1-2804-47a9-a6a8 +/* This API allows the user to get an SSID (Service Set Identifier) by ID at the given site + + +@param siteID siteId path parameter. Site UUID + +@param id id path parameter. SSID ID + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-by-id +*/ +func (s *WirelessService) GetSSIDByID(siteID string, id string) (*ResponseWirelessGetSSIDByID, *resty.Response, error) { + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids/{id}" + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetSSIDByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSSIDByID(siteID, id) + } + return nil, response, fmt.Errorf("error with operation GetSsidById") + } + + result := response.Result().(*ResponseWirelessGetSSIDByID) + return result, response, err + +} + +//GetAccessPointConfigurationCount Get Access Point Configuration Count - 118b-2898-457b-8d47 +/* Get Access Point Configuration Count + + +@param GetAccessPointConfigurationCountQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-point-configuration-count +*/ +func (s *WirelessService) GetAccessPointConfigurationCount(GetAccessPointConfigurationCountQueryParams *GetAccessPointConfigurationCountQueryParams) (*ResponseWirelessGetAccessPointConfigurationCount, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/accesspoint-configuration/count" + + queryString, _ := query.Values(GetAccessPointConfigurationCountQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointConfigurationCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAccessPointConfigurationCount(GetAccessPointConfigurationCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAccessPointConfigurationCount") + } + + result := response.Result().(*ResponseWirelessGetAccessPointConfigurationCount) + return result, response, err + +} + +//GetAccessPointConfigurationTaskResult Get Access Point Configuration task result - fb90-69dc-4aeb-9afb +/* Users can query the access point configuration result using this intent API + + +@param taskTypeID task_id path parameter. task id information of ap config + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-point-configuration-task-result +*/ +func (s *WirelessService) GetAccessPointConfigurationTaskResult(taskTypeID string) (*ResponseWirelessGetAccessPointConfigurationTaskResult, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/accesspoint-configuration/details/{task_id}" + path = strings.Replace(path, "{task_id}", fmt.Sprintf("%v", taskTypeID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetAccessPointConfigurationTaskResult{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAccessPointConfigurationTaskResult(taskTypeID) + } + return nil, response, fmt.Errorf("error with operation GetAccessPointConfigurationTaskResult") + } + + result := response.Result().(*ResponseWirelessGetAccessPointConfigurationTaskResult) + return result, response, err + +} + +//GetAccessPointConfiguration Get Access Point Configuration - a191-f9f2-4cb8-9a55 +/* Users can query the access point configuration information per device using the ethernet MAC address + + +@param GetAccessPointConfigurationQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-point-configuration +*/ +func (s *WirelessService) GetAccessPointConfiguration(GetAccessPointConfigurationQueryParams *GetAccessPointConfigurationQueryParams) (*ResponseWirelessGetAccessPointConfiguration, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/accesspoint-configuration/summary" + + queryString, _ := query.Values(GetAccessPointConfigurationQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointConfiguration{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAccessPointConfiguration(GetAccessPointConfigurationQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAccessPointConfiguration") + } + + result := response.Result().(*ResponseWirelessGetAccessPointConfiguration) + return result, response, err + +} + +//GetDynamicInterface Get dynamic interface - c5b0-c978-4dfb-90b4 +/* Get one or all dynamic interface(s) + + +@param GetDynamicInterfaceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-dynamic-interface +*/ +func (s *WirelessService) GetDynamicInterface(GetDynamicInterfaceQueryParams *GetDynamicInterfaceQueryParams) (*ResponseWirelessGetDynamicInterface, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/dynamic-interface" + + queryString, _ := query.Values(GetDynamicInterfaceQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetDynamicInterface{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDynamicInterface(GetDynamicInterfaceQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetDynamicInterface") + } + + result := response.Result().(*ResponseWirelessGetDynamicInterface) + return result, response, err + +} + +//GetWirelessProfile Get Wireless Profile - b3a1-c880-4c8b-9b8b +/* Gets either one or all the wireless network profiles if no name is provided for network-profile. + + +@param GetWirelessProfileQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profile +*/ +func (s *WirelessService) GetWirelessProfile(GetWirelessProfileQueryParams *GetWirelessProfileQueryParams) (*ResponseWirelessGetWirelessProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/profile" + + queryString, _ := query.Values(GetWirelessProfileQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetWirelessProfile{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetWirelessProfile(GetWirelessProfileQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetWirelessProfile") + } + + result := response.Result().(*ResponseWirelessGetWirelessProfile) + return result, response, err + +} + +//RetrieveRfProfiles Retrieve RF profiles - 098c-ab91-41c9-a3fe +/* Retrieve all RF profiles + + +@param RetrieveRFProfilesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-rf-profiles +*/ +func (s *WirelessService) RetrieveRfProfiles(RetrieveRFProfilesQueryParams *RetrieveRfProfilesQueryParams) (*ResponseWirelessRetrieveRfProfiles, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/rf-profile" + + queryString, _ := query.Values(RetrieveRFProfilesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveRfProfiles{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveRfProfiles(RetrieveRFProfilesQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveRfProfiles") + } + + result := response.Result().(*ResponseWirelessRetrieveRfProfiles) + return result, response, err + +} + +//GetAccessPointsFactoryResetStatus Get Access Point(s) Factory Reset status - 46bf-881b-45b8-a62f +/* This API returns each AP Factory Reset initiation status. + + +@param GetAccessPointsFactoryResetStatusQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-points-factory-reset-status +*/ +func (s *WirelessService) GetAccessPointsFactoryResetStatus(GetAccessPointsFactoryResetStatusQueryParams *GetAccessPointsFactoryResetStatusQueryParams) (*ResponseWirelessGetAccessPointsFactoryResetStatus, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessAccessPoints/factoryResetRequestStatus" + + queryString, _ := query.Values(GetAccessPointsFactoryResetStatusQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointsFactoryResetStatus{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAccessPointsFactoryResetStatus(GetAccessPointsFactoryResetStatusQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAccessPointsFactoryResetStatus") + } + + result := response.Result().(*ResponseWirelessGetAccessPointsFactoryResetStatus) + return result, response, err + +} + +//GetAnchorCapableDevices Get Anchor capable devices - a581-0a06-4acb-8f4c +/* This API allows the user to get Anchor capable devices + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anchor-capable-devices +*/ +func (s *WirelessService) GetAnchorCapableDevices() (*ResponseWirelessGetAnchorCapableDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/anchorCapableDevices" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetAnchorCapableDevices{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAnchorCapableDevices() + } + return nil, response, fmt.Errorf("error with operation GetAnchorCapableDevices") + } + + result := response.Result().(*ResponseWirelessGetAnchorCapableDevices) + return result, response, err + +} + +//GetMeshApNeighbours Get Mesh Ap Neighbours - 8a88-98f8-4eca-8300 +/* Retrieves all Mesh accesspoint Neighbours details whether child, parent, etc. + + +@param GetMeshApNeighboursQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-mesh-ap-neighbours +*/ +func (s *WirelessService) GetMeshApNeighbours(GetMeshApNeighboursQueryParams *GetMeshApNeighboursQueryParams) (*ResponseWirelessGetMeshApNeighbours, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/meshApNeighbours" + + queryString, _ := query.Values(GetMeshApNeighboursQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetMeshApNeighbours{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetMeshApNeighbours(GetMeshApNeighboursQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetMeshApNeighbours") + } + + result := response.Result().(*ResponseWirelessGetMeshApNeighbours) + return result, response, err + +} + +//GetMeshApNeighboursCount Get Mesh Ap Neighbours Count - 54b9-09f2-4dd8-b94f +/* This API returns the total number of mesh Ap Neighbours available. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-mesh-ap-neighbours-count +*/ +func (s *WirelessService) GetMeshApNeighboursCount() (*ResponseWirelessGetMeshApNeighboursCount, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/meshApNeighbours/count" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetMeshApNeighboursCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetMeshApNeighboursCount() + } + return nil, response, fmt.Errorf("error with operation GetMeshApNeighboursCount") + } + + result := response.Result().(*ResponseWirelessGetMeshApNeighboursCount) + return result, response, err + +} + +//GetMobilityGroups Get MobilityGroups - 628f-38bf-4f5a-a48c +/* Retrieve configured mobility groups if no Network Device Id is provided as a query parameter. If a Network Device Id is given and a mobility group is configured for it, return the configured details; otherwise, return the default values from the device. + + +@param GetMobilityGroupsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-mobility-groups +*/ +func (s *WirelessService) GetMobilityGroups(GetMobilityGroupsQueryParams *GetMobilityGroupsQueryParams) (*ResponseWirelessGetMobilityGroups, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/wirelessMobilityGroups" + + queryString, _ := query.Values(GetMobilityGroupsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetMobilityGroups{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetMobilityGroups(GetMobilityGroupsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetMobilityGroups") + } + + result := response.Result().(*ResponseWirelessGetMobilityGroups) + return result, response, err + +} + +//GetMobilityGroupsCount Get MobilityGroups Count - 29b2-08fb-420a-8970 +/* Retrieves count of mobility groups configured + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-mobility-groups-count +*/ +func (s *WirelessService) GetMobilityGroupsCount() (*ResponseWirelessGetMobilityGroupsCount, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/wirelessMobilityGroups/count" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetMobilityGroupsCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetMobilityGroupsCount() + } + return nil, response, fmt.Errorf("error with operation GetMobilityGroupsCount") + } + + result := response.Result().(*ResponseWirelessGetMobilityGroupsCount) + return result, response, err + +} + +//GetAnchorManagedApLocationsForSpecificWirelessController Get Anchor Managed AP Locations for specific Wireless Controller - 8dad-59b4-44b8-8995 +/* Retrieves all the details of Anchor Managed AP locations associated with the specific Wireless Controller. + + +@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. + +@param GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anchor-managed-ap-locations-for-specific-wireless-controller +*/ +func (s *WirelessService) GetAnchorManagedApLocationsForSpecificWirelessController(networkDeviceID string, GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams *GetAnchorManagedApLocationsForSpecificWirelessControllerQueryParams) (*ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessController, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/anchorManagedApLocations" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessController{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAnchorManagedApLocationsForSpecificWirelessController(networkDeviceID, GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAnchorManagedApLocationsForSpecificWirelessController") + } + + result := response.Result().(*ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessController) + return result, response, err + +} + +//GetApAuthorizationListByNetworkDeviceID Get AP Authorization List by network device Id - c689-88c5-4128-a366 +/* This API allows the user to get an AP Authorization List details configured for the given provisioned network device Id. Obtain the network device ID value by using the API GET call '/dna/intent/api/v1/network-device/ip-address/${ipAddress}'. + + +@param networkDeviceID networkDeviceId path parameter. Network Device ID + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-authorization-list-by-network-device-id +*/ +func (s *WirelessService) GetApAuthorizationListByNetworkDeviceID(networkDeviceID string) (*ResponseWirelessGetApAuthorizationListByNetworkDeviceID, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/apAuthorizationLists" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetApAuthorizationListByNetworkDeviceID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetApAuthorizationListByNetworkDeviceID(networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation GetApAuthorizationListByNetworkDeviceId") + } + + result := response.Result().(*ResponseWirelessGetApAuthorizationListByNetworkDeviceID) + return result, response, err + +} + +//GetManagedApLocationsCountForSpecificWirelessController Get Managed AP Locations Count for specific Wireless Controller - f490-6a9b-4c29-bc6a +/* Retrieves the count of Managed AP locations, including Primary Managed AP Locations, Secondary Managed AP Locations, and Anchor Managed AP Locations, associated with the specific Wireless Controller. + + +@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-managed-ap-locations-count-for-specific-wireless-controller +*/ +func (s *WirelessService) GetManagedApLocationsCountForSpecificWirelessController(networkDeviceID string) (*ResponseWirelessGetManagedApLocationsCountForSpecificWirelessController, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/managedApLocations/count" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetManagedApLocationsCountForSpecificWirelessController{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetManagedApLocationsCountForSpecificWirelessController(networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation GetManagedApLocationsCountForSpecificWirelessController") + } + + result := response.Result().(*ResponseWirelessGetManagedApLocationsCountForSpecificWirelessController) + return result, response, err + +} + +//GetPrimaryManagedApLocationsForSpecificWirelessController Get Primary Managed AP Locations for specific Wireless Controller - 1dba-89f4-40ab-abda +/* Retrieves all the details of Primary Managed AP locations associated with the specific Wireless Controller. + + +@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. + +@param GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-primary-managed-ap-locations-for-specific-wireless-controller +*/ +func (s *WirelessService) GetPrimaryManagedApLocationsForSpecificWirelessController(networkDeviceID string, GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams *GetPrimaryManagedApLocationsForSpecificWirelessControllerQueryParams) (*ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessController, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/primaryManagedApLocations" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessController{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetPrimaryManagedApLocationsForSpecificWirelessController(networkDeviceID, GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetPrimaryManagedApLocationsForSpecificWirelessController") + } + + result := response.Result().(*ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessController) + return result, response, err + +} + +//GetSecondaryManagedApLocationsForSpecificWirelessController Get Secondary Managed AP Locations for specific Wireless Controller - b589-7bd6-4f1b-9efb +/* Retrieves all the details of Secondary Managed AP locations associated with the specific Wireless Controller. + + +@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. + +@param GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-secondary-managed-ap-locations-for-specific-wireless-controller +*/ +func (s *WirelessService) GetSecondaryManagedApLocationsForSpecificWirelessController(networkDeviceID string, GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams *GetSecondaryManagedApLocationsForSpecificWirelessControllerQueryParams) (*ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/secondaryManagedApLocations" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSecondaryManagedApLocationsForSpecificWirelessController(networkDeviceID, GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSecondaryManagedApLocationsForSpecificWirelessController") + } + + result := response.Result().(*ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController) + return result, response, err + +} + +//GetSSIDDetailsForSpecificWirelessController Get SSID Details for specific Wireless Controller - 70b6-393d-4899-ad4d +/* Retrieves all details of SSIDs associated with the specific Wireless Controller. + + +@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. + +@param GetSSIDDetailsForSpecificWirelessControllerQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-details-for-specific-wireless-controller +*/ +func (s *WirelessService) GetSSIDDetailsForSpecificWirelessController(networkDeviceID string, GetSSIDDetailsForSpecificWirelessControllerQueryParams *GetSSIDDetailsForSpecificWirelessControllerQueryParams) (*ResponseWirelessGetSSIDDetailsForSpecificWirelessController, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/ssidDetails" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(GetSSIDDetailsForSpecificWirelessControllerQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDDetailsForSpecificWirelessController{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSSIDDetailsForSpecificWirelessController(networkDeviceID, GetSSIDDetailsForSpecificWirelessControllerQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSsidDetailsForSpecificWirelessController") + } + + result := response.Result().(*ResponseWirelessGetSSIDDetailsForSpecificWirelessController) + return result, response, err + +} + +//GetSSIDCountForSpecificWirelessController Get SSID Count for specific Wireless Controller - 3e98-c91d-42eb-a469 +/* Retrieves the count of SSIDs associated with the specific wireless controller. + + +@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. + +@param GetSSIDCountForSpecificWirelessControllerQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-count-for-specific-wireless-controller +*/ +func (s *WirelessService) GetSSIDCountForSpecificWirelessController(networkDeviceID string, GetSSIDCountForSpecificWirelessControllerQueryParams *GetSSIDCountForSpecificWirelessControllerQueryParams) (*ResponseWirelessGetSSIDCountForSpecificWirelessController, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/ssidDetails/count" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(GetSSIDCountForSpecificWirelessControllerQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDCountForSpecificWirelessController{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSSIDCountForSpecificWirelessController(networkDeviceID, GetSSIDCountForSpecificWirelessControllerQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSsidCountForSpecificWirelessController") + } + + result := response.Result().(*ResponseWirelessGetSSIDCountForSpecificWirelessController) + return result, response, err + +} + +//GetWirelessProfiles Get Wireless Profiles - 7988-fac4-447b-8e3d +/* This API allows the user to get all Wireless Network Profiles + + +@param GetWirelessProfilesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profiles +*/ +func (s *WirelessService) GetWirelessProfiles(GetWirelessProfilesQueryParams *GetWirelessProfilesQueryParams) (*ResponseWirelessGetWirelessProfiles, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles" + + queryString, _ := query.Values(GetWirelessProfilesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetWirelessProfiles{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetWirelessProfiles(GetWirelessProfilesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetWirelessProfiles") + } + + result := response.Result().(*ResponseWirelessGetWirelessProfiles) + return result, response, err + +} + +//GetWirelessProfilesCount Get Wireless Profiles Count - 48a7-1883-48fb-93a5 +/* This API allows the user to get count of all wireless profiles + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profiles-count +*/ +func (s *WirelessService) GetWirelessProfilesCount() (*ResponseWirelessGetWirelessProfilesCount, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/count" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetWirelessProfilesCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetWirelessProfilesCount() + } + return nil, response, fmt.Errorf("error with operation GetWirelessProfilesCount") + } + + result := response.Result().(*ResponseWirelessGetWirelessProfilesCount) + return result, response, err + +} + +//GetWirelessProfileByID Get Wireless Profile by ID - f5b9-fab9-4b79-b0f3 +/* This API allows the user to get a Wireless Network Profile by ID + + +@param id id path parameter. Wireless Profile Id + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profile-by-id +*/ +func (s *WirelessService) GetWirelessProfileByID(id string) (*ResponseWirelessGetWirelessProfileByID, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetWirelessProfileByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetWirelessProfileByID(id) + } + return nil, response, fmt.Errorf("error with operation GetWirelessProfileById") + } + + result := response.Result().(*ResponseWirelessGetWirelessProfileByID) + return result, response, err + +} + +//RetrieveAllPolicyTagsForAWirelessProfile Retrieve all Policy Tags for a Wireless Profile - 428d-d8f7-4fa9-a0ca +/* This endpoint retrieves a list of all `Policy Tags` associated with a specific `Wireless Profile`. This API requires the `id` of the `Wireless Profile` to be provided as a path parameter. + + +@param id id path parameter. Wireless Profile Id + +@param RetrieveAllPolicyTagsForAWirelessProfileQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-all-policy-tags-for-a-wireless-profile +*/ +func (s *WirelessService) RetrieveAllPolicyTagsForAWirelessProfile(id string, RetrieveAllPolicyTagsForAWirelessProfileQueryParams *RetrieveAllPolicyTagsForAWirelessProfileQueryParams) (*ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}/policyTags" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(RetrieveAllPolicyTagsForAWirelessProfileQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfile{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveAllPolicyTagsForAWirelessProfile(id, RetrieveAllPolicyTagsForAWirelessProfileQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveAllPolicyTagsForAWirelessProfile") + } + + result := response.Result().(*ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfile) + return result, response, err + } -type RequestWirelessConfigureAccessPointsV2PrimaryIPAddress struct { - Address string `json:"address,omitempty"` // Configure the IP address for an access point's primary controller. + +//RetrieveTheCountOfPolicyTagsForAWirelessProfile Retrieve the count of Policy Tags for a Wireless Profile - 26be-7947-4a69-be88 +/* This endpoint retrieves the total count of `Policy Tags` associated with a specific `Wireless Profile`.This API requires the `id` of the `Wireless Profile` to be provided as a path parameter. + + +@param id id path parameter. Wireless Profile Id + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-count-of-policy-tags-for-a-wireless-profile +*/ +func (s *WirelessService) RetrieveTheCountOfPolicyTagsForAWirelessProfile(id string) (*ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}/policyTags/count" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfile{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveTheCountOfPolicyTagsForAWirelessProfile(id) + } + return nil, response, fmt.Errorf("error with operation RetrieveTheCountOfPolicyTagsForAWirelessProfile") + } + + result := response.Result().(*ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfile) + return result, response, err + } -type RequestWirelessConfigureAccessPointsV2SecondaryIPAddress struct { - Address string `json:"address,omitempty"` // Configure the IP address for an access point's secondary controller. + +//RetrieveASpecificPolicyTagForAWirelessProfile Retrieve a specific Policy Tag for a Wireless Profile - 558d-4b8c-4149-b325 +/* This endpoint retrieves the details of a specific `Policy Tag` associated with a given `Wireless Profile`. This API requires the `id` of the `Wireless Profile` and the `policyTagId` of the `Policy Tag`. + + +@param id id path parameter. Wireless Profile Id + +@param policyTagID policyTagId path parameter. Policy Tag Id + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-a-specific-policy-tag-for-a-wireless-profile +*/ +func (s *WirelessService) RetrieveASpecificPolicyTagForAWirelessProfile(id string, policyTagID string) (*ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}/policyTags/{policyTagId}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{policyTagId}", fmt.Sprintf("%v", policyTagID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfile{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveASpecificPolicyTagForAWirelessProfile(id, policyTagID) + } + return nil, response, fmt.Errorf("error with operation RetrieveASpecificPolicyTagForAWirelessProfile") + } + + result := response.Result().(*ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfile) + return result, response, err + } -type RequestWirelessConfigureAccessPointsV2TertiaryIPAddress struct { - Address string `json:"address,omitempty"` // Configure the IP address for an access point's tertiary controller. + +//RetrieveAllSiteTagsForAWirelessProfile Retrieve all Site Tags for a Wireless Profile - bd9d-5a4b-4f5a-ac11 +/* This endpoint retrieves a list of all `Site Tags` associated with a specific `Wireless Profile`. This API requires the `id` of the `Wireless Profile` to be provided as a path parameter. + + +@param id id path parameter. Wireless profile id + +@param RetrieveAllSiteTagsForAWirelessProfileQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-all-site-tags-for-a-wireless-profile +*/ +func (s *WirelessService) RetrieveAllSiteTagsForAWirelessProfile(id string, RetrieveAllSiteTagsForAWirelessProfileQueryParams *RetrieveAllSiteTagsForAWirelessProfileQueryParams) (*ResponseWirelessRetrieveAllSiteTagsForAWirelessProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}/siteTags" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(RetrieveAllSiteTagsForAWirelessProfileQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveAllSiteTagsForAWirelessProfile{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveAllSiteTagsForAWirelessProfile(id, RetrieveAllSiteTagsForAWirelessProfileQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveAllSiteTagsForAWirelessProfile") + } + + result := response.Result().(*ResponseWirelessRetrieveAllSiteTagsForAWirelessProfile) + return result, response, err + } -type RequestWirelessConfigureAccessPointsV2RadioConfigurations struct { - ConfigureRadioRoleAssignment *bool `json:"configureRadioRoleAssignment,omitempty"` // To change the radio role on the specified radio for an access point, set this parameter's value to "true". - RadioRoleAssignment string `json:"radioRoleAssignment,omitempty"` // Configure only one of the following roles on the specified radio for an access point as "AUTO", "SERVING", or "MONITOR". Any other string is invalid, including empty string - RadioBand string `json:"radioBand,omitempty"` // Configure the band on the specified radio for an access point: for 2.4 GHz, set "RADIO24"; for 5 GHz, set "RADIO5". Any other string is invalid, including empty string - ConfigureAdminStatus *bool `json:"configureAdminStatus,omitempty"` // To change the admin status on the specified radio for an access point, set this parameter's value to "true". - AdminStatus *bool `json:"adminStatus,omitempty"` // Configure the admin status on the specified radio for an access point. Set this parameter's value to "true" to enable it and "false" to disable it. - ConfigureAntennaPatternName *bool `json:"configureAntennaPatternName,omitempty"` // To change the antenna gain on the specified radio for an access point, set the value for this parameter to "true". - AntennaPatternName string `json:"antennaPatternName,omitempty"` // Specify the antenna name on the specified radio for an access point. The antenna name is used to calculate the gain on the radio slot. - AntennaGain *int `json:"antennaGain,omitempty"` // Configure the antenna gain on the specified radio for an access point by setting a decimal value (in dBi). To configure "antennaGain", set "antennaPatternName" value to "other". - ConfigureAntennaCable *bool `json:"configureAntennaCable,omitempty"` // To change the antenna cable name on the specified radio for an access point, set this parameter's value to "true". - AntennaCableName string `json:"antennaCableName,omitempty"` // Configure the antenna cable name on the specified radio for an access point. If cable loss needs to be configured, set this parameter's value to "other". - CableLoss *float64 `json:"cableLoss,omitempty"` // Configure the cable loss on the specified radio for an access point by setting a decimal value (in dBi). - ConfigureChannel *bool `json:"configureChannel,omitempty"` // To change the channel on the specified radio for an access point, set this parameter's value to "true". - ChannelAssignmentMode *int `json:"channelAssignmentMode,omitempty"` // Configure the channel assignment mode on the specified radio for an access point: for global mode, set "1"; and for custom mode, set "2". - ChannelNumber *int `json:"channelNumber,omitempty"` // Configure the channel number on the specified radio for an access point. - ConfigureChannelWidth *bool `json:"configureChannelWidth,omitempty"` // To change the channel width on the specified radio for an access point, set this parameter's value to "true". - ChannelWidth *int `json:"channelWidth,omitempty"` // Configure the channel width on the specified radio for an access point: for 20 MHz, set "3"; for 40 MHz, set "4"; for 80 MHz, set "5"; for 160 MHz, set "6", and for 320 MHz, set "7". - ConfigurePower *bool `json:"configurePower,omitempty"` // To change the power assignment mode on the specified radio for an access point, set this parameter's value to "true". - PowerAssignmentMode *int `json:"powerAssignmentMode,omitempty"` // Configure the power assignment mode on the specified radio for an access point: for global mode, set "1"; and for custom mode, set "2". - Powerlevel *int `json:"powerlevel,omitempty"` // Configure the power level on the specified radio for an access point by setting a value between 1 and 8. - RadioType *int `json:"radioType,omitempty"` // Configure an access point's radio band: for 2.4 GHz, set "1"; for 5 GHz, set "2"; for XOR, set "3"; and for 6 GHz, set "6". + +//RetrieveTheCountOfSiteTagsForAWirelessProfile Retrieve the count of Site Tags for a Wireless Profile - bdab-4896-4fa8-bbcc +/* This endpoint retrieves the total count of `Site Tags` associated with a specific `Wireless Profile`.This API requires the `id` of the `Wireless Profile` to be provided as a path parameter. + + +@param id id path parameter. Wireless profile id + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-count-of-site-tags-for-a-wireless-profile +*/ +func (s *WirelessService) RetrieveTheCountOfSiteTagsForAWirelessProfile(id string) (*ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}/siteTags/count" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfile{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveTheCountOfSiteTagsForAWirelessProfile(id) + } + return nil, response, fmt.Errorf("error with operation RetrieveTheCountOfSiteTagsForAWirelessProfile") + } + + result := response.Result().(*ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfile) + return result, response, err + } -//SensorTestResults Sensor Test Results - 87ae-7b21-4f0b-a838 -/* Intent API to get SENSOR test result summary +//RetrieveASpecificSiteTagForAWirelessProfile Retrieve a specific Site Tag for a Wireless Profile - 1fac-e966-4e6b-96ea +/* This endpoint retrieves the details of a specific `Site Tag` associated with a given `Wireless Profile`. This API requires the `id` of the `Wireless Profile` and the `siteTagId` of the `Site Tag`. -@param SensorTestResultsQueryParams Filtering parameter +@param id id path parameter. Wireless Profile Id + +@param siteTagID siteTagId path parameter. Site Tag Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!sensor-test-results-v1 + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-a-specific-site-tag-for-a-wireless-profile */ -func (s *WirelessService) SensorTestResults(SensorTestResultsQueryParams *SensorTestResultsQueryParams) (*ResponseWirelessSensorTestResults, *resty.Response, error) { - path := "/dna/intent/api/v1/AssuranceGetSensorTestResults" +func (s *WirelessService) RetrieveASpecificSiteTagForAWirelessProfile(id string, siteTagID string) (*ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}/siteTags/{siteTagId}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{siteTagId}", fmt.Sprintf("%v", siteTagID), -1) - queryString, _ := query.Values(SensorTestResultsQueryParams) + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfile{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveASpecificSiteTagForAWirelessProfile(id, siteTagID) + } + return nil, response, fmt.Errorf("error with operation RetrieveASpecificSiteTagForAWirelessProfile") + } + + result := response.Result().(*ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfile) + return result, response, err + +} + +//GetAnchorGroups Get AnchorGroups - 32b3-aa83-46db-aae7 +/* This API allows the user to get AnchorGroups that captured in wireless settings design. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anchor-groups +*/ +func (s *WirelessService) GetAnchorGroups() (*ResponseWirelessGetAnchorGroups, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/anchorGroups" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessSensorTestResults{}). + SetResult(&ResponseWirelessGetAnchorGroups{}). SetError(&Error). Get(path) @@ -2108,33 +6231,67 @@ func (s *WirelessService) SensorTestResults(SensorTestResultsQueryParams *Sensor if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.SensorTestResults(SensorTestResultsQueryParams) + return s.GetAnchorGroups() } - return nil, response, fmt.Errorf("error with operation SensorTestResults") + return nil, response, fmt.Errorf("error with operation GetAnchorGroups") } - result := response.Result().(*ResponseWirelessSensorTestResults) + result := response.Result().(*ResponseWirelessGetAnchorGroups) return result, response, err } -//GetAccessPointRebootTaskResult Get Access Point Reboot task result - c4b5-e9ce-460a-a8a3 -/* Users can query the access point reboot status using this intent API +//GetCountOfAnchorGroups Get count of AnchorGroups - 5581-4892-4dc8-a66c +/* This API allows the user to get count of all AnchorGroups -@param GetAccessPointRebootTaskResultQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-point-reboot-task-result-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-anchor-groups */ -func (s *WirelessService) GetAccessPointRebootTaskResult(GetAccessPointRebootTaskResultQueryParams *GetAccessPointRebootTaskResultQueryParams) (*ResponseWirelessGetAccessPointRebootTaskResult, *resty.Response, error) { - path := "/dna/intent/api/v1/device-reboot/apreboot/status" +func (s *WirelessService) GetCountOfAnchorGroups() (*ResponseWirelessGetCountOfAnchorGroups, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/anchorGroups/count" - queryString, _ := query.Values(GetAccessPointRebootTaskResultQueryParams) + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetCountOfAnchorGroups{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCountOfAnchorGroups() + } + return nil, response, fmt.Errorf("error with operation GetCountOfAnchorGroups") + } + + result := response.Result().(*ResponseWirelessGetCountOfAnchorGroups) + return result, response, err + +} + +//GetAnchorGroupByID Get AnchorGroup by ID - 029f-4acf-420b-9df6 +/* This API allows the user to get an AnchorGroup by AnchorGroup ID + + +@param id id path parameter. AnchorGroup ID + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anchor-group-by-id +*/ +func (s *WirelessService) GetAnchorGroupByID(id string) (*ResponseWirelessGetAnchorGroupByID, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/anchorGroups/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointRebootTaskResult{}). + SetResult(&ResponseWirelessGetAnchorGroupByID{}). SetError(&Error). Get(path) @@ -2145,33 +6302,33 @@ func (s *WirelessService) GetAccessPointRebootTaskResult(GetAccessPointRebootTas if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAccessPointRebootTaskResult(GetAccessPointRebootTaskResultQueryParams) + return s.GetAnchorGroupByID(id) } - return nil, response, fmt.Errorf("error with operation GetAccessPointRebootTaskResult") + return nil, response, fmt.Errorf("error with operation GetAnchorGroupById") } - result := response.Result().(*ResponseWirelessGetAccessPointRebootTaskResult) + result := response.Result().(*ResponseWirelessGetAnchorGroupByID) return result, response, err } -//GetEnterpriseSSID Get Enterprise SSID - cca5-19ba-45eb-b423 -/* Get Enterprise SSID +//GetApAuthorizationLists Get AP Authorization Lists - f7b1-b801-4738-937d +/* Retrieves the AP Authorization Lists that are created in the Catalyst Centre network Design for wireless. If an AP Authorization List name is given as query parameter, then returns respective AP Authorization List details including Local and/or Remote authorization. -@param GetEnterpriseSSIDQueryParams Filtering parameter +@param GetAPAuthorizationListsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-enterprise-ssid-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-authorization-lists */ -func (s *WirelessService) GetEnterpriseSSID(GetEnterpriseSSIDQueryParams *GetEnterpriseSSIDQueryParams) (*ResponseWirelessGetEnterpriseSSID, *resty.Response, error) { - path := "/dna/intent/api/v1/enterprise-ssid" +func (s *WirelessService) GetApAuthorizationLists(GetAPAuthorizationListsQueryParams *GetApAuthorizationListsQueryParams) (*ResponseWirelessGetApAuthorizationLists, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apAuthorizationLists" - queryString, _ := query.Values(GetEnterpriseSSIDQueryParams) + queryString, _ := query.Values(GetAPAuthorizationListsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetEnterpriseSSID{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetApAuthorizationLists{}). SetError(&Error). Get(path) @@ -2182,36 +6339,104 @@ func (s *WirelessService) GetEnterpriseSSID(GetEnterpriseSSIDQueryParams *GetEnt if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetEnterpriseSSID(GetEnterpriseSSIDQueryParams) + return s.GetApAuthorizationLists(GetAPAuthorizationListsQueryParams) } - return nil, response, fmt.Errorf("error with operation GetEnterpriseSsid") + return nil, response, fmt.Errorf("error with operation GetApAuthorizationLists") } - result := response.Result().(*ResponseWirelessGetEnterpriseSSID) + result := response.Result().(*ResponseWirelessGetApAuthorizationLists) return result, response, err } -//GetSSIDBySite Get SSID by Site - bb92-f946-4e19-a187 -/* This API allows the user to get all SSIDs (Service Set Identifier) at the given site +//GetApAuthorizationListCount Get AP Authorization List Count - 51be-d862-47c8-a51a +/* This API allows the user to get count of all AP Authorization lists. -@param siteID siteId path parameter. Site UUID -@param GetSSIDBySiteQueryParams Filtering parameter +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-authorization-list-count +*/ +func (s *WirelessService) GetApAuthorizationListCount() (*ResponseWirelessGetApAuthorizationListCount, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apAuthorizationLists/count" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetApAuthorizationListCount{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetApAuthorizationListCount() + } + return nil, response, fmt.Errorf("error with operation GetApAuthorizationListCount") + } + + result := response.Result().(*ResponseWirelessGetApAuthorizationListCount) + return result, response, err + +} + +//GetApAuthorizationListByID Get AP Authorization List by ID - 0aa3-1b69-4a58-b0f5 +/* This API allows the user to get an AP Authorization List by AP Authorization List ID that captured in wireless settings design. + + +@param id id path parameter. AP Authorization List ID + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-authorization-list-by-id +*/ +func (s *WirelessService) GetApAuthorizationListByID(id string) (*ResponseWirelessGetApAuthorizationListByID, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apAuthorizationLists/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetApAuthorizationListByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetApAuthorizationListByID(id) + } + return nil, response, fmt.Errorf("error with operation GetApAuthorizationListById") + } + + result := response.Result().(*ResponseWirelessGetApAuthorizationListByID) + return result, response, err + +} + +//GetApProfiles Get AP Profiles - edad-9bfa-4298-a4cb +/* This API allows the user to get AP profiles that are captured in wireless settings design. + + +@param GetAPProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-by-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-profiles */ -func (s *WirelessService) GetSSIDBySite(siteID string, GetSSIDBySiteQueryParams *GetSSIDBySiteQueryParams) (*ResponseWirelessGetSSIDBySite, *resty.Response, error) { - path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids" - path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) +func (s *WirelessService) GetApProfiles(GetAPProfilesQueryParams *GetApProfilesQueryParams) (*ResponseWirelessGetApProfiles, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apProfiles" - queryString, _ := query.Values(GetSSIDBySiteQueryParams) + queryString, _ := query.Values(GetAPProfilesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDBySite{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetApProfiles{}). SetError(&Error). Get(path) @@ -2222,33 +6447,30 @@ func (s *WirelessService) GetSSIDBySite(siteID string, GetSSIDBySiteQueryParams if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetSSIDBySite(siteID, GetSSIDBySiteQueryParams) + return s.GetApProfiles(GetAPProfilesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetSsidBySite") + return nil, response, fmt.Errorf("error with operation GetApProfiles") } - result := response.Result().(*ResponseWirelessGetSSIDBySite) + result := response.Result().(*ResponseWirelessGetApProfiles) return result, response, err } -//GetSSIDCountBySite Get SSID Count by Site - 52ae-589a-48ab-9116 -/* This API allows the user to get count of all SSIDs (Service Set Identifier) present at global site. - +//GetApProfilesCount Get AP Profiles Count - a687-f85e-438a-8941 +/* This API returns the total number of AP Profiles available. -@param siteID siteId path parameter. Site UUID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-count-by-site-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-profiles-count */ -func (s *WirelessService) GetSSIDCountBySite(siteID string) (*ResponseWirelessGetSSIDCountBySite, *resty.Response, error) { - path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids/count" - path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) +func (s *WirelessService) GetApProfilesCount() (*ResponseWirelessGetApProfilesCount, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apProfiles/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetSSIDCountBySite{}). + SetResult(&ResponseWirelessGetApProfilesCount{}). SetError(&Error). Get(path) @@ -2259,36 +6481,33 @@ func (s *WirelessService) GetSSIDCountBySite(siteID string) (*ResponseWirelessGe if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetSSIDCountBySite(siteID) + return s.GetApProfilesCount() } - return nil, response, fmt.Errorf("error with operation GetSsidCountBySite") + return nil, response, fmt.Errorf("error with operation GetApProfilesCount") } - result := response.Result().(*ResponseWirelessGetSSIDCountBySite) + result := response.Result().(*ResponseWirelessGetApProfilesCount) return result, response, err } -//GetSSIDByID Get SSID by ID - 78a1-2804-47a9-a6a8 -/* This API allows the user to get an SSID (Service Set Identifier) by ID at the given site - +//GetApProfileByID Get AP Profile by ID - ba9f-5899-4c5b-87f2 +/* This API allows the user to get a AP Profile by AP Profile ID that captured in wireless settings design -@param siteID siteId path parameter. Site UUID -@param id id path parameter. SSID ID. +@param id id path parameter. Ap Profile ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-profile-by-id */ -func (s *WirelessService) GetSSIDByID(siteID string, id string) (*ResponseWirelessGetSSIDByID, *resty.Response, error) { - path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids/{id}" - path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) +func (s *WirelessService) GetApProfileByID(id string) (*ResponseWirelessGetApProfileByID, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apProfiles/{id}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetSSIDByID{}). + SetResult(&ResponseWirelessGetApProfileByID{}). SetError(&Error). Get(path) @@ -2299,33 +6518,33 @@ func (s *WirelessService) GetSSIDByID(siteID string, id string) (*ResponseWirele if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetSSIDByID(siteID, id) + return s.GetApProfileByID(id) } - return nil, response, fmt.Errorf("error with operation GetSsidById") + return nil, response, fmt.Errorf("error with operation GetApProfileById") } - result := response.Result().(*ResponseWirelessGetSSIDByID) + result := response.Result().(*ResponseWirelessGetApProfileByID) return result, response, err } -//GetAccessPointConfigurationTaskResult Get Access Point Configuration task result - fb90-69dc-4aeb-9afb -/* Users can query the access point configuration result using this intent API - +//Get80211BeProfiles Get 802.11be Profiles - 1895-aac1-4428-bd0d +/* This API allows the user to get 802.11be Profile(s) configured under Wireless Settings -@param taskTypeID task_id path parameter. task id information of ap config +@param Get80211beProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-point-configuration-task-result-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get80211be-profiles */ -func (s *WirelessService) GetAccessPointConfigurationTaskResult(taskTypeID string) (*ResponseWirelessGetAccessPointConfigurationTaskResult, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/accesspoint-configuration/details/{task_id}" - path = strings.Replace(path, "{task_id}", fmt.Sprintf("%v", taskTypeID), -1) +func (s *WirelessService) Get80211BeProfiles(Get80211beProfilesQueryParams *Get80211BeProfilesQueryParams) (*ResponseWirelessGet80211BeProfiles, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles" + + queryString, _ := query.Values(Get80211beProfilesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetAccessPointConfigurationTaskResult{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGet80211BeProfiles{}). SetError(&Error). Get(path) @@ -2336,33 +6555,30 @@ func (s *WirelessService) GetAccessPointConfigurationTaskResult(taskTypeID strin if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAccessPointConfigurationTaskResult(taskTypeID) + return s.Get80211BeProfiles(Get80211beProfilesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetAccessPointConfigurationTaskResult") + return nil, response, fmt.Errorf("error with operation Get80211BeProfiles") } - result := response.Result().(*ResponseWirelessGetAccessPointConfigurationTaskResult) + result := response.Result().(*ResponseWirelessGet80211BeProfiles) return result, response, err } -//GetAccessPointConfiguration Get Access Point Configuration - a191-f9f2-4cb8-9a55 -/* Users can query the access point configuration information per device using the ethernet MAC address +//Get80211BeProfilesCount Get 802.11be Profiles Count - a0b7-da85-4faa-95b7 +/* This API allows the user to get count of all 802.11be Profile(s) -@param GetAccessPointConfigurationQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-point-configuration-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get80211be-profiles-count */ -func (s *WirelessService) GetAccessPointConfiguration(GetAccessPointConfigurationQueryParams *GetAccessPointConfigurationQueryParams) (*ResponseWirelessGetAccessPointConfiguration, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/accesspoint-configuration/summary" - - queryString, _ := query.Values(GetAccessPointConfigurationQueryParams) +func (s *WirelessService) Get80211BeProfilesCount() (*ResponseWirelessGet80211BeProfilesCount, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointConfiguration{}). + SetResult(&ResponseWirelessGet80211BeProfilesCount{}). SetError(&Error). Get(path) @@ -2373,33 +6589,33 @@ func (s *WirelessService) GetAccessPointConfiguration(GetAccessPointConfiguratio if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAccessPointConfiguration(GetAccessPointConfigurationQueryParams) + return s.Get80211BeProfilesCount() } - return nil, response, fmt.Errorf("error with operation GetAccessPointConfiguration") + return nil, response, fmt.Errorf("error with operation Get80211BeProfilesCount") } - result := response.Result().(*ResponseWirelessGetAccessPointConfiguration) + result := response.Result().(*ResponseWirelessGet80211BeProfilesCount) return result, response, err } -//GetDynamicInterface Get dynamic interface - c5b0-c978-4dfb-90b4 -/* Get one or all dynamic interface(s) +//Get80211BeProfileByID Get 802.11be Profile by ID - fa93-88ce-49eb-a5d7 +/* This API allows the user to get 802.11be Profile by ID -@param GetDynamicInterfaceQueryParams Filtering parameter +@param id id path parameter. 802.11be Profile ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-dynamic-interface-v1 -*/ -func (s *WirelessService) GetDynamicInterface(GetDynamicInterfaceQueryParams *GetDynamicInterfaceQueryParams) (*ResponseWirelessGetDynamicInterface, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/dynamic-interface" - queryString, _ := query.Values(GetDynamicInterfaceQueryParams) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get80211be-profile-by-id +*/ +func (s *WirelessService) Get80211BeProfileByID(id string) (*ResponseWirelessGet80211BeProfileByID, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetDynamicInterface{}). + SetResult(&ResponseWirelessGet80211BeProfileByID{}). SetError(&Error). Get(path) @@ -2410,33 +6626,33 @@ func (s *WirelessService) GetDynamicInterface(GetDynamicInterfaceQueryParams *Ge if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDynamicInterface(GetDynamicInterfaceQueryParams) + return s.Get80211BeProfileByID(id) } - return nil, response, fmt.Errorf("error with operation GetDynamicInterface") + return nil, response, fmt.Errorf("error with operation Get80211BeProfileById") } - result := response.Result().(*ResponseWirelessGetDynamicInterface) + result := response.Result().(*ResponseWirelessGet80211BeProfileByID) return result, response, err } -//GetWirelessProfile Get Wireless Profile - b3a1-c880-4c8b-9b8b -/* Gets either one or all the wireless network profiles if no name is provided for network-profile. +//GetInterfaces Get Interfaces - 3793-ea73-438a-b243 +/* This API allows the user to get all Interfaces -@param GetWirelessProfileQueryParams Filtering parameter +@param GetInterfacesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profile-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interfaces */ -func (s *WirelessService) GetWirelessProfile(GetWirelessProfileQueryParams *GetWirelessProfileQueryParams) (*ResponseWirelessGetWirelessProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/profile" +func (s *WirelessService) GetInterfaces(GetInterfacesQueryParams *GetInterfacesQueryParams) (*ResponseWirelessGetInterfaces, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/interfaces" - queryString, _ := query.Values(GetWirelessProfileQueryParams) + queryString, _ := query.Values(GetInterfacesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetWirelessProfile{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetInterfaces{}). SetError(&Error). Get(path) @@ -2447,33 +6663,30 @@ func (s *WirelessService) GetWirelessProfile(GetWirelessProfileQueryParams *GetW if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetWirelessProfile(GetWirelessProfileQueryParams) + return s.GetInterfaces(GetInterfacesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetWirelessProfile") + return nil, response, fmt.Errorf("error with operation GetInterfaces") } - result := response.Result().(*ResponseWirelessGetWirelessProfile) + result := response.Result().(*ResponseWirelessGetInterfaces) return result, response, err } -//RetrieveRfProfiles Retrieve RF profiles - 098c-ab91-41c9-a3fe -/* Retrieve all RF profiles +//GetInterfacesCount Get Interfaces Count - fd81-f950-424b-b992 +/* This API allows the user to get count of all interfaces -@param RetrieveRFProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-rf-profiles-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interfaces-count */ -func (s *WirelessService) RetrieveRfProfiles(RetrieveRFProfilesQueryParams *RetrieveRfProfilesQueryParams) (*ResponseWirelessRetrieveRfProfiles, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/rf-profile" - - queryString, _ := query.Values(RetrieveRFProfilesQueryParams) +func (s *WirelessService) GetInterfacesCount() (*ResponseWirelessGetInterfacesCount, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/interfaces/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveRfProfiles{}). + SetResult(&ResponseWirelessGetInterfacesCount{}). SetError(&Error). Get(path) @@ -2484,33 +6697,33 @@ func (s *WirelessService) RetrieveRfProfiles(RetrieveRFProfilesQueryParams *Retr if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RetrieveRfProfiles(RetrieveRFProfilesQueryParams) + return s.GetInterfacesCount() } - return nil, response, fmt.Errorf("error with operation RetrieveRfProfiles") + return nil, response, fmt.Errorf("error with operation GetInterfacesCount") } - result := response.Result().(*ResponseWirelessRetrieveRfProfiles) + result := response.Result().(*ResponseWirelessGetInterfacesCount) return result, response, err } -//GetAccessPointsFactoryResetStatus Get Access Point(s) Factory Reset status - 46bf-881b-45b8-a62f -/* This API returns each AP Factory Reset initiation status. +//GetInterfaceByID Get Interface by ID - 3fa4-19ab-482a-ad07 +/* This API allows the user to get an interface by ID -@param GetAccessPointsFactoryResetStatusQueryParams Filtering parameter +@param id id path parameter. Interface ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-points-factory-reset-status-v1 -*/ -func (s *WirelessService) GetAccessPointsFactoryResetStatus(GetAccessPointsFactoryResetStatusQueryParams *GetAccessPointsFactoryResetStatusQueryParams) (*ResponseWirelessGetAccessPointsFactoryResetStatus, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessAccessPoints/factoryResetRequestStatus" - queryString, _ := query.Values(GetAccessPointsFactoryResetStatusQueryParams) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interface-by-id +*/ +func (s *WirelessService) GetInterfaceByID(id string) (*ResponseWirelessGetInterfaceByID, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/interfaces/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointsFactoryResetStatus{}). + SetResult(&ResponseWirelessGetInterfaceByID{}). SetError(&Error). Get(path) @@ -2521,33 +6734,33 @@ func (s *WirelessService) GetAccessPointsFactoryResetStatus(GetAccessPointsFacto if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAccessPointsFactoryResetStatus(GetAccessPointsFactoryResetStatusQueryParams) + return s.GetInterfaceByID(id) } - return nil, response, fmt.Errorf("error with operation GetAccessPointsFactoryResetStatus") + return nil, response, fmt.Errorf("error with operation GetInterfaceById") } - result := response.Result().(*ResponseWirelessGetAccessPointsFactoryResetStatus) + result := response.Result().(*ResponseWirelessGetInterfaceByID) return result, response, err } -//GetAllMobilityGroups Get All MobilityGroups - 628f-38bf-4f5a-a48c -/* Retrieve all configured mobility groups if no Network Device Id is provided as a query parameter. If a Network Device Id is given and a mobility group is configured for it, return the configured details; otherwise, return the default values from the device. +//GetPowerProfiles Get Power Profiles - a9b3-d8c2-4b6b-9b01 +/* This API allows the user to get Power Profiles that captured in wireless settings design. -@param GetAllMobilityGroupsQueryParams Filtering parameter +@param GetPowerProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-mobility-groups-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-power-profiles */ -func (s *WirelessService) GetAllMobilityGroups(GetAllMobilityGroupsQueryParams *GetAllMobilityGroupsQueryParams) (*ResponseWirelessGetAllMobilityGroups, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/wirelessMobilityGroups" +func (s *WirelessService) GetPowerProfiles(GetPowerProfilesQueryParams *GetPowerProfilesQueryParams) (*ResponseWirelessGetPowerProfiles, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/powerProfiles" - queryString, _ := query.Values(GetAllMobilityGroupsQueryParams) + queryString, _ := query.Values(GetPowerProfilesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAllMobilityGroups{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetPowerProfiles{}). SetError(&Error). Get(path) @@ -2558,30 +6771,30 @@ func (s *WirelessService) GetAllMobilityGroups(GetAllMobilityGroupsQueryParams * if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAllMobilityGroups(GetAllMobilityGroupsQueryParams) + return s.GetPowerProfiles(GetPowerProfilesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetAllMobilityGroups") + return nil, response, fmt.Errorf("error with operation GetPowerProfiles") } - result := response.Result().(*ResponseWirelessGetAllMobilityGroups) + result := response.Result().(*ResponseWirelessGetPowerProfiles) return result, response, err } -//GetMobilityGroupsCount Get MobilityGroups Count - 29b2-08fb-420a-8970 -/* Retrieves count of mobility groups configured +//GetPowerProfilesCount Get Power Profiles Count - 7091-1b6d-4849-ab2f +/* This API returns the total number of Power Profiles available. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-mobility-groups-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-power-profiles-count */ -func (s *WirelessService) GetMobilityGroupsCount() (*ResponseWirelessGetMobilityGroupsCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/wirelessMobilityGroups/count" +func (s *WirelessService) GetPowerProfilesCount() (*ResponseWirelessGetPowerProfilesCount, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/powerProfiles/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetMobilityGroupsCount{}). + SetResult(&ResponseWirelessGetPowerProfilesCount{}). SetError(&Error). Get(path) @@ -2592,36 +6805,33 @@ func (s *WirelessService) GetMobilityGroupsCount() (*ResponseWirelessGetMobility if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetMobilityGroupsCount() + return s.GetPowerProfilesCount() } - return nil, response, fmt.Errorf("error with operation GetMobilityGroupsCount") + return nil, response, fmt.Errorf("error with operation GetPowerProfilesCount") } - result := response.Result().(*ResponseWirelessGetMobilityGroupsCount) + result := response.Result().(*ResponseWirelessGetPowerProfilesCount) return result, response, err } -//GetAnchorManagedApLocationsForSpecificWirelessController Get Anchor Managed AP Locations for specific Wireless Controller - 8dad-59b4-44b8-8995 -/* Retrieves all the details of Anchor Managed AP locations associated with the specific Wireless Controller. +//GetPowerProfileByID Get Power Profile by ID - 6c93-cb96-45b8-a53b +/* This API allows the user to get a Power Profile by Power Profile ID that captured in wireless settings design -@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. +@param id id path parameter. Power Profile ID -@param GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anchor-managed-ap-locations-for-specific-wireless-controller-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-power-profile-by-id */ -func (s *WirelessService) GetAnchorManagedApLocationsForSpecificWirelessController(networkDeviceID string, GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams *GetAnchorManagedApLocationsForSpecificWirelessControllerQueryParams) (*ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessController, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/anchorManagedApLocations" - path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) - - queryString, _ := query.Values(GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams) +func (s *WirelessService) GetPowerProfileByID(id string) (*ResponseWirelessGetPowerProfileByID, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/powerProfiles/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessController{}). + SetResult(&ResponseWirelessGetPowerProfileByID{}). SetError(&Error). Get(path) @@ -2632,33 +6842,33 @@ func (s *WirelessService) GetAnchorManagedApLocationsForSpecificWirelessControll if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAnchorManagedApLocationsForSpecificWirelessController(networkDeviceID, GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams) + return s.GetPowerProfileByID(id) } - return nil, response, fmt.Errorf("error with operation GetAnchorManagedApLocationsForSpecificWirelessController") + return nil, response, fmt.Errorf("error with operation GetPowerProfileById") } - result := response.Result().(*ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessController) + result := response.Result().(*ResponseWirelessGetPowerProfileByID) return result, response, err } -//GetManagedApLocationsCountForSpecificWirelessController Get Managed AP Locations Count for specific Wireless Controller - f490-6a9b-4c29-bc6a -/* Retrieves the count of Managed AP locations, including Primary Managed AP Locations, Secondary Managed AP Locations, and Anchor Managed AP Locations, associated with the specific Wireless Controller. - +//GetRfProfiles Get RF Profiles - 15a6-e823-49ca-a9cc +/* This API allows the user to get all RF Profiles -@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. +@param GetRFProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-managed-ap-locations-count-for-specific-wireless-controller-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rf-profiles */ -func (s *WirelessService) GetManagedApLocationsCountForSpecificWirelessController(networkDeviceID string) (*ResponseWirelessGetManagedApLocationsCountForSpecificWirelessController, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/managedApLocations/count" - path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) +func (s *WirelessService) GetRfProfiles(GetRFProfilesQueryParams *GetRfProfilesQueryParams) (*ResponseWirelessGetRfProfiles, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/rfProfiles" + + queryString, _ := query.Values(GetRFProfilesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetManagedApLocationsCountForSpecificWirelessController{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetRfProfiles{}). SetError(&Error). Get(path) @@ -2669,36 +6879,30 @@ func (s *WirelessService) GetManagedApLocationsCountForSpecificWirelessControlle if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetManagedApLocationsCountForSpecificWirelessController(networkDeviceID) + return s.GetRfProfiles(GetRFProfilesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetManagedApLocationsCountForSpecificWirelessController") + return nil, response, fmt.Errorf("error with operation GetRfProfiles") } - result := response.Result().(*ResponseWirelessGetManagedApLocationsCountForSpecificWirelessController) + result := response.Result().(*ResponseWirelessGetRfProfiles) return result, response, err } -//GetPrimaryManagedApLocationsForSpecificWirelessController Get Primary Managed AP Locations for specific Wireless Controller - 1dba-89f4-40ab-abda -/* Retrieves all the details of Primary Managed AP locations associated with the specific Wireless Controller. - +//GetRfProfilesCount Get RF Profiles Count - f996-2b80-477a-9de2 +/* This API allows the user to get count of all RF profiles -@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. -@param GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-primary-managed-ap-locations-for-specific-wireless-controller-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rf-profiles-count */ -func (s *WirelessService) GetPrimaryManagedApLocationsForSpecificWirelessController(networkDeviceID string, GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams *GetPrimaryManagedApLocationsForSpecificWirelessControllerQueryParams) (*ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessController, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/primaryManagedApLocations" - path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) - - queryString, _ := query.Values(GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams) +func (s *WirelessService) GetRfProfilesCount() (*ResponseWirelessGetRfProfilesCount, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/rfProfiles/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessController{}). + SetResult(&ResponseWirelessGetRfProfilesCount{}). SetError(&Error). Get(path) @@ -2709,36 +6913,33 @@ func (s *WirelessService) GetPrimaryManagedApLocationsForSpecificWirelessControl if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPrimaryManagedApLocationsForSpecificWirelessController(networkDeviceID, GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams) + return s.GetRfProfilesCount() } - return nil, response, fmt.Errorf("error with operation GetPrimaryManagedApLocationsForSpecificWirelessController") + return nil, response, fmt.Errorf("error with operation GetRfProfilesCount") } - result := response.Result().(*ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessController) + result := response.Result().(*ResponseWirelessGetRfProfilesCount) return result, response, err } -//GetSecondaryManagedApLocationsForSpecificWirelessController Get Secondary Managed AP Locations for specific Wireless Controller - b589-7bd6-4f1b-9efb -/* Retrieves all the details of Secondary Managed AP locations associated with the specific Wireless Controller. +//GetRfProfileByID Get RF Profile by ID - 3298-aa56-4ec9-b510 +/* This API allows the user to get a RF Profile by RF Profile ID -@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. +@param id id path parameter. RF Profile ID -@param GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-secondary-managed-ap-locations-for-specific-wireless-controller-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rf-profile-by-id */ -func (s *WirelessService) GetSecondaryManagedApLocationsForSpecificWirelessController(networkDeviceID string, GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams *GetSecondaryManagedApLocationsForSpecificWirelessControllerQueryParams) (*ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/secondaryManagedApLocations" - path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) - - queryString, _ := query.Values(GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams) +func (s *WirelessService) GetRfProfileByID(id string) (*ResponseWirelessGetRfProfileByID, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/rfProfiles/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController{}). + SetResult(&ResponseWirelessGetRfProfileByID{}). SetError(&Error). Get(path) @@ -2749,36 +6950,33 @@ func (s *WirelessService) GetSecondaryManagedApLocationsForSpecificWirelessContr if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetSecondaryManagedApLocationsForSpecificWirelessController(networkDeviceID, GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams) + return s.GetRfProfileByID(id) } - return nil, response, fmt.Errorf("error with operation GetSecondaryManagedApLocationsForSpecificWirelessController") + return nil, response, fmt.Errorf("error with operation GetRfProfileById") } - result := response.Result().(*ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController) + result := response.Result().(*ResponseWirelessGetRfProfileByID) return result, response, err } -//GetSSIDDetailsForSpecificWirelessController Get SSID Details for specific Wireless Controller - 70b6-393d-4899-ad4d -/* Retrieves all details of SSIDs associated with the specific Wireless Controller. - +//RetrieveSitesWithOverriddenSSIDs Retrieve sites with overridden SSIDs - 9a9a-8b8b-4029-a86e +/* Retrieve list of siteId(s) with information of SSID(s) which are overridden -@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. -@param GetSSIDDetailsForSpecificWirelessControllerQueryParams Filtering parameter +@param RetrieveSitesWithOverriddenSSIDsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-details-for-specific-wireless-controller-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-sites-with-overridden-ssids */ -func (s *WirelessService) GetSSIDDetailsForSpecificWirelessController(networkDeviceID string, GetSSIDDetailsForSpecificWirelessControllerQueryParams *GetSSIDDetailsForSpecificWirelessControllerQueryParams) (*ResponseWirelessGetSSIDDetailsForSpecificWirelessController, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/ssidDetails" - path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) +func (s *WirelessService) RetrieveSitesWithOverriddenSSIDs(RetrieveSitesWithOverriddenSSIDsQueryParams *RetrieveSitesWithOverriddenSSIDsQueryParams) (*ResponseWirelessRetrieveSitesWithOverriddenSSIDs, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/ssids/overrideAtSites" - queryString, _ := query.Values(GetSSIDDetailsForSpecificWirelessControllerQueryParams) + queryString, _ := query.Values(RetrieveSitesWithOverriddenSSIDsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDDetailsForSpecificWirelessController{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveSitesWithOverriddenSSIDs{}). SetError(&Error). Get(path) @@ -2789,38 +6987,46 @@ func (s *WirelessService) GetSSIDDetailsForSpecificWirelessController(networkDev if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetSSIDDetailsForSpecificWirelessController(networkDeviceID, GetSSIDDetailsForSpecificWirelessControllerQueryParams) + return s.RetrieveSitesWithOverriddenSSIDs(RetrieveSitesWithOverriddenSSIDsQueryParams) } - return nil, response, fmt.Errorf("error with operation GetSsidDetailsForSpecificWirelessController") + return nil, response, fmt.Errorf("error with operation RetrieveSitesWithOverriddenSsids") } - result := response.Result().(*ResponseWirelessGetSSIDDetailsForSpecificWirelessController) + result := response.Result().(*ResponseWirelessRetrieveSitesWithOverriddenSSIDs) return result, response, err } -//GetSSIDCountForSpecificWirelessController Get SSID Count for specific Wireless Controller - 3e98-c91d-42eb-a469 -/* Retrieves the count of SSIDs associated with the specific Wireless Controller. +//CreateAndProvisionSSID Create and Provision SSID - 1eb7-2ad3-4e09-8990 +/* Creates SSID, updates the SSID to the corresponding site profiles and provision it to the devices matching the given sites + + +@param CreateAndProvisionSSIDHeaderParams Custom header parameters +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-and-provision-ssid +*/ +func (s *WirelessService) CreateAndProvisionSSID(requestWirelessCreateAndProvisionSSID *RequestWirelessCreateAndProvisionSSID, CreateAndProvisionSSIDHeaderParams *CreateAndProvisionSSIDHeaderParams) (*ResponseWirelessCreateAndProvisionSSID, *resty.Response, error) { + path := "/dna/intent/api/v1/business/ssid" -@param networkDeviceID networkDeviceId path parameter. Obtain the network device ID value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") -@param GetSSIDCountForSpecificWirelessControllerQueryParams Filtering parameter + if CreateAndProvisionSSIDHeaderParams != nil { -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-count-for-specific-wireless-controller-v1 -*/ -func (s *WirelessService) GetSSIDCountForSpecificWirelessController(networkDeviceID string, GetSSIDCountForSpecificWirelessControllerQueryParams *GetSSIDCountForSpecificWirelessControllerQueryParams) (*ResponseWirelessGetSSIDCountForSpecificWirelessController, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/ssidDetails/count" - path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + if CreateAndProvisionSSIDHeaderParams.Persistbapioutput != "" { + clientRequest = clientRequest.SetHeader("__persistbapioutput", CreateAndProvisionSSIDHeaderParams.Persistbapioutput) + } - queryString, _ := query.Values(GetSSIDCountForSpecificWirelessControllerQueryParams) + } - response, err := s.client.R(). - SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDCountForSpecificWirelessController{}). + response, err = clientRequest. + SetBody(requestWirelessCreateAndProvisionSSID). + SetResult(&ResponseWirelessCreateAndProvisionSSID{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -2828,36 +7034,36 @@ func (s *WirelessService) GetSSIDCountForSpecificWirelessController(networkDevic } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetSSIDCountForSpecificWirelessController(networkDeviceID, GetSSIDCountForSpecificWirelessControllerQueryParams) + return s.CreateAndProvisionSSID(requestWirelessCreateAndProvisionSSID, CreateAndProvisionSSIDHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetSsidCountForSpecificWirelessController") + + return nil, response, fmt.Errorf("error with operation CreateAndProvisionSsid") } - result := response.Result().(*ResponseWirelessGetSSIDCountForSpecificWirelessController) + result := response.Result().(*ResponseWirelessCreateAndProvisionSSID) return result, response, err } -//GetWirelessProfiles Get Wireless Profiles - 7988-fac4-447b-8e3d -/* This API allows the user to get all Wireless Network Profiles +//RebootAccessPoints Reboot Access Points - 6092-d8f1-468b-99ab +/* Users can reboot multiple access points up-to 200 at a time using this API -@param GetWirelessProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profiles-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!reboot-access-points */ -func (s *WirelessService) GetWirelessProfiles(GetWirelessProfilesQueryParams *GetWirelessProfilesQueryParams) (*ResponseWirelessGetWirelessProfiles, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessProfiles" - - queryString, _ := query.Values(GetWirelessProfilesQueryParams) +func (s *WirelessService) RebootAccessPoints(requestWirelessRebootAccessPoints *RequestWirelessRebootAccessPoints) (*ResponseWirelessRebootAccessPoints, *resty.Response, error) { + path := "/dna/intent/api/v1/device-reboot/apreboot" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetWirelessProfiles{}). + SetBody(requestWirelessRebootAccessPoints). + SetResult(&ResponseWirelessRebootAccessPoints{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -2865,33 +7071,36 @@ func (s *WirelessService) GetWirelessProfiles(GetWirelessProfilesQueryParams *Ge } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetWirelessProfiles(GetWirelessProfilesQueryParams) + return s.RebootAccessPoints(requestWirelessRebootAccessPoints) } - return nil, response, fmt.Errorf("error with operation GetWirelessProfiles") + + return nil, response, fmt.Errorf("error with operation RebootAccessPoints") } - result := response.Result().(*ResponseWirelessGetWirelessProfiles) + result := response.Result().(*ResponseWirelessRebootAccessPoints) return result, response, err } -//GetWirelessProfilesCount Get Wireless Profiles Count - 48a7-1883-48fb-93a5 -/* This API allows the user to get count of all wireless profiles +//CreateEnterpriseSSID Create Enterprise SSID - 8a96-fb95-4d09-a349 +/* Creates enterprise SSID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profiles-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-enterprise-ssid */ -func (s *WirelessService) GetWirelessProfilesCount() (*ResponseWirelessGetWirelessProfilesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessProfiles/count" +func (s *WirelessService) CreateEnterpriseSSID(requestWirelessCreateEnterpriseSSID *RequestWirelessCreateEnterpriseSSID) (*ResponseWirelessCreateEnterpriseSSID, *resty.Response, error) { + path := "/dna/intent/api/v1/enterprise-ssid" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetWirelessProfilesCount{}). + SetBody(requestWirelessCreateEnterpriseSSID). + SetResult(&ResponseWirelessCreateEnterpriseSSID{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -2899,36 +7108,39 @@ func (s *WirelessService) GetWirelessProfilesCount() (*ResponseWirelessGetWirele } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetWirelessProfilesCount() + return s.CreateEnterpriseSSID(requestWirelessCreateEnterpriseSSID) } - return nil, response, fmt.Errorf("error with operation GetWirelessProfilesCount") + + return nil, response, fmt.Errorf("error with operation CreateEnterpriseSsid") } - result := response.Result().(*ResponseWirelessGetWirelessProfilesCount) + result := response.Result().(*ResponseWirelessCreateEnterpriseSSID) return result, response, err } -//GetWirelessProfileByID Get Wireless Profile by ID - f5b9-fab9-4b79-b0f3 -/* This API allows the user to get a Wireless Network Profile by ID +//CreateSSID Create SSID - 0193-8858-4789-9a53 +/* This API allows the user to create an SSID (Service Set Identifier) at the Global site -@param id id path parameter. Wireless Profile Id +@param siteID siteId path parameter. Site UUID of Global site -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profile-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-ssid */ -func (s *WirelessService) GetWirelessProfileByID(id string) (*ResponseWirelessGetWirelessProfileByID, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessProfiles/{id}" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *WirelessService) CreateSSID(siteID string, requestWirelessCreateSSID *RequestWirelessCreateSSID) (*ResponseWirelessCreateSSID, *resty.Response, error) { + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids" + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetWirelessProfileByID{}). + SetBody(requestWirelessCreateSSID). + SetResult(&ResponseWirelessCreateSSID{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -2936,36 +7148,42 @@ func (s *WirelessService) GetWirelessProfileByID(id string) (*ResponseWirelessGe } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetWirelessProfileByID(id) + return s.CreateSSID(siteID, requestWirelessCreateSSID) } - return nil, response, fmt.Errorf("error with operation GetWirelessProfileById") + + return nil, response, fmt.Errorf("error with operation CreateSsid") } - result := response.Result().(*ResponseWirelessGetWirelessProfileByID) + result := response.Result().(*ResponseWirelessCreateSSID) return result, response, err } -//GetAll80211BeProfiles Get all 802.11be Profiles - 1895-aac1-4428-bd0d -/* This API allows the user to get all 802.11be Profile(s) configured under Wireless Settings +//UpdateOrOverridessid Update or Override SSID - 559d-88ff-43c9-9fe3 +/* This API allows to either update SSID at global 'siteId' or override SSID at given non-global 'siteId' -@param GetAll80211beProfilesQueryParams Filtering parameter +@param siteID siteId path parameter. Site UUID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all80211be-profiles-v1 -*/ -func (s *WirelessService) GetAll80211BeProfiles(GetAll80211beProfilesQueryParams *GetAll80211BeProfilesQueryParams) (*ResponseWirelessGetAll80211BeProfiles, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles" +@param id id path parameter. SSID ID - queryString, _ := query.Values(GetAll80211beProfilesQueryParams) + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!update-or-overridessid +*/ +func (s *WirelessService) UpdateOrOverridessid(siteID string, id string, requestWirelessUpdateOrOverrideSSID *RequestWirelessUpdateOrOverridessid) (*ResponseWirelessUpdateOrOverridessid, *resty.Response, error) { + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids/{id}/update" + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAll80211BeProfiles{}). + SetBody(requestWirelessUpdateOrOverrideSSID). + SetResult(&ResponseWirelessUpdateOrOverridessid{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -2973,33 +7191,36 @@ func (s *WirelessService) GetAll80211BeProfiles(GetAll80211beProfilesQueryParams } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetAll80211BeProfiles(GetAll80211beProfilesQueryParams) + return s.UpdateOrOverridessid(siteID, id, requestWirelessUpdateOrOverrideSSID) } - return nil, response, fmt.Errorf("error with operation GetAll80211BeProfiles") + + return nil, response, fmt.Errorf("error with operation UpdateOrOverridessid") } - result := response.Result().(*ResponseWirelessGetAll80211BeProfiles) + result := response.Result().(*ResponseWirelessUpdateOrOverridessid) return result, response, err } -//Get80211BeProfilesCount Get 802.11be Profiles Count - a0b7-da85-4faa-95b7 -/* This API allows the user to get count of all 802.11be Profile(s) +//ConfigureAccessPoints Configure Access Points - 0081-cb89-4708-888f +/* User can configure multiple access points with required options using this intent API. This API does not support configuration of CleanAir or SI for IOS-XE devices with version greater than or equal to 17.9 -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get80211be-profiles-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!configure-access-points */ -func (s *WirelessService) Get80211BeProfilesCount() (*ResponseWirelessGet80211BeProfilesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles/count" +func (s *WirelessService) ConfigureAccessPoints(requestWirelessConfigureAccessPoints *RequestWirelessConfigureAccessPoints) (*ResponseWirelessConfigureAccessPoints, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/accesspoint-configuration" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGet80211BeProfilesCount{}). + SetBody(requestWirelessConfigureAccessPoints). + SetResult(&ResponseWirelessConfigureAccessPoints{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -3007,36 +7228,49 @@ func (s *WirelessService) Get80211BeProfilesCount() (*ResponseWirelessGet80211Be } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.Get80211BeProfilesCount() + return s.ConfigureAccessPoints(requestWirelessConfigureAccessPoints) } - return nil, response, fmt.Errorf("error with operation Get80211BeProfilesCount") + + return nil, response, fmt.Errorf("error with operation ConfigureAccessPoints") } - result := response.Result().(*ResponseWirelessGet80211BeProfilesCount) + result := response.Result().(*ResponseWirelessConfigureAccessPoints) return result, response, err } -//Get80211BeProfileByID Get 802.11be Profile by ID - fa93-88ce-49eb-a5d7 -/* This API allows the user to get 802.11be Profile by ID - +//ApProvisionConnectivity AP Provision - d897-19b8-47aa-a9c4 +/* Access Point Provision and ReProvision -@param id id path parameter. 802.11be Profile ID +@param APProvisionConnectivityHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get80211be-profile-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!ap-provision-connectivity */ -func (s *WirelessService) Get80211BeProfileByID(id string) (*ResponseWirelessGet80211BeProfileByID, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles/{id}" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *WirelessService) ApProvisionConnectivity(requestWirelessAPProvisionConnectivity *RequestWirelessApProvisionConnectivity, APProvisionConnectivityHeaderParams *ApProvisionConnectivityHeaderParams) (*ResponseWirelessApProvisionConnectivity, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/ap-provision" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGet80211BeProfileByID{}). + SetHeader("Accept", "application/json") + + if APProvisionConnectivityHeaderParams != nil { + + if APProvisionConnectivityHeaderParams.Persistbapioutput != "" { + clientRequest = clientRequest.SetHeader("__persistbapioutput", APProvisionConnectivityHeaderParams.Persistbapioutput) + } + + } + + response, err = clientRequest. + SetBody(requestWirelessAPProvisionConnectivity). + SetResult(&ResponseWirelessApProvisionConnectivity{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -3044,36 +7278,36 @@ func (s *WirelessService) Get80211BeProfileByID(id string) (*ResponseWirelessGet } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.Get80211BeProfileByID(id) + return s.ApProvisionConnectivity(requestWirelessAPProvisionConnectivity, APProvisionConnectivityHeaderParams) } - return nil, response, fmt.Errorf("error with operation Get80211BeProfileById") + + return nil, response, fmt.Errorf("error with operation ApProvisionConnectivity") } - result := response.Result().(*ResponseWirelessGet80211BeProfileByID) + result := response.Result().(*ResponseWirelessApProvisionConnectivity) return result, response, err } -//GetInterfaces Get Interfaces - 3793-ea73-438a-b243 -/* This API allows the user to get all Interfaces +//CreateUpdateDynamicInterface Create Update Dynamic interface - daa0-bb75-4e2a-8da6 +/* API to create or update an dynamic interface -@param GetInterfacesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interfaces-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-update-dynamic-interface */ -func (s *WirelessService) GetInterfaces(GetInterfacesQueryParams *GetInterfacesQueryParams) (*ResponseWirelessGetInterfaces, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/interfaces" - - queryString, _ := query.Values(GetInterfacesQueryParams) +func (s *WirelessService) CreateUpdateDynamicInterface(requestWirelessCreateUpdateDynamicInterface *RequestWirelessCreateUpdateDynamicInterface) (*ResponseWirelessCreateUpdateDynamicInterface, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/dynamic-interface" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetInterfaces{}). + SetBody(requestWirelessCreateUpdateDynamicInterface). + SetResult(&ResponseWirelessCreateUpdateDynamicInterface{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -3081,33 +7315,36 @@ func (s *WirelessService) GetInterfaces(GetInterfacesQueryParams *GetInterfacesQ } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetInterfaces(GetInterfacesQueryParams) + return s.CreateUpdateDynamicInterface(requestWirelessCreateUpdateDynamicInterface) } - return nil, response, fmt.Errorf("error with operation GetInterfaces") + + return nil, response, fmt.Errorf("error with operation CreateUpdateDynamicInterface") } - result := response.Result().(*ResponseWirelessGetInterfaces) + result := response.Result().(*ResponseWirelessCreateUpdateDynamicInterface) return result, response, err } -//GetInterfacesCount Get Interfaces Count - fd81-f950-424b-b992 -/* This API allows the user to get count of all interfaces +//CreateWirelessProfile Create Wireless Profile - 7097-6962-4bf9-88d5 +/* Creates Wireless Network Profile on Cisco DNA Center and associates sites and SSIDs to it. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interfaces-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-wireless-profile */ -func (s *WirelessService) GetInterfacesCount() (*ResponseWirelessGetInterfacesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/interfaces/count" +func (s *WirelessService) CreateWirelessProfile(requestWirelessCreateWirelessProfile *RequestWirelessCreateWirelessProfile) (*ResponseWirelessCreateWirelessProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/profile" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetInterfacesCount{}). + SetBody(requestWirelessCreateWirelessProfile). + SetResult(&ResponseWirelessCreateWirelessProfile{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -3115,36 +7352,36 @@ func (s *WirelessService) GetInterfacesCount() (*ResponseWirelessGetInterfacesCo } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetInterfacesCount() + return s.CreateWirelessProfile(requestWirelessCreateWirelessProfile) } - return nil, response, fmt.Errorf("error with operation GetInterfacesCount") + + return nil, response, fmt.Errorf("error with operation CreateWirelessProfile") } - result := response.Result().(*ResponseWirelessGetInterfacesCount) + result := response.Result().(*ResponseWirelessCreateWirelessProfile) return result, response, err } -//GetInterfaceByID Get Interface by ID - 3fa4-19ab-482a-ad07 -/* This API allows the user to get an interface by ID - +//Provision Provision - d09b-08a3-447a-a3b9 +/* Provision wireless device -@param id id path parameter. Interface ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interface-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!provision */ -func (s *WirelessService) GetInterfaceByID(id string) (*ResponseWirelessGetInterfaceByID, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/interfaces/{id}" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *WirelessService) Provision(requestWirelessProvision *RequestWirelessProvision) (*ResponseWirelessProvision, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/provision" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetInterfaceByID{}). + SetBody(requestWirelessProvision). + SetResult(&ResponseWirelessProvision{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -3152,36 +7389,36 @@ func (s *WirelessService) GetInterfaceByID(id string) (*ResponseWirelessGetInter } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetInterfaceByID(id) + return s.Provision(requestWirelessProvision) } - return nil, response, fmt.Errorf("error with operation GetInterfaceById") + + return nil, response, fmt.Errorf("error with operation Provision") } - result := response.Result().(*ResponseWirelessGetInterfaceByID) + result := response.Result().(*ResponseWirelessProvision) return result, response, err } -//GetRfProfiles Get RF Profiles - 15a6-e823-49ca-a9cc -/* This API allows the user to get all RF Profiles - +//PSKOverride PSK override - 46ad-ab75-47c9-8762 +/* Update/Override passphrase of SSID -@param GetRFProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rf-profiles-v1 -*/ -func (s *WirelessService) GetRfProfiles(GetRFProfilesQueryParams *GetRfProfilesQueryParams) (*ResponseWirelessGetRfProfiles, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/rfProfiles" - queryString, _ := query.Values(GetRFProfilesQueryParams) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!p-s-k-override +*/ +func (s *WirelessService) PSKOverride(requestWirelessPSKOverride *RequestWirelessPSKOverride) (*ResponseWirelessPSKOverride, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/psk-override" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetRfProfiles{}). + SetBody(requestWirelessPSKOverride). + SetResult(&ResponseWirelessPSKOverride{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -3189,33 +7426,36 @@ func (s *WirelessService) GetRfProfiles(GetRFProfilesQueryParams *GetRfProfilesQ } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetRfProfiles(GetRFProfilesQueryParams) + return s.PSKOverride(requestWirelessPSKOverride) } - return nil, response, fmt.Errorf("error with operation GetRfProfiles") + + return nil, response, fmt.Errorf("error with operation PSKOverride") } - result := response.Result().(*ResponseWirelessGetRfProfiles) + result := response.Result().(*ResponseWirelessPSKOverride) return result, response, err } -//GetRfProfilesCount Get RF Profiles Count - f996-2b80-477a-9de2 -/* This API allows the user to get count of all RF profiles +//CreateOrUpdateRfProfile Create or Update RF profile - b783-2967-4878-b815 +/* Create or Update RF profile -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rf-profiles-count-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-or-update-rf-profile */ -func (s *WirelessService) GetRfProfilesCount() (*ResponseWirelessGetRfProfilesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/rfProfiles/count" +func (s *WirelessService) CreateOrUpdateRfProfile(requestWirelessCreateOrUpdateRFProfile *RequestWirelessCreateOrUpdateRfProfile) (*ResponseWirelessCreateOrUpdateRfProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/rf-profile" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetRfProfilesCount{}). + SetBody(requestWirelessCreateOrUpdateRFProfile). + SetResult(&ResponseWirelessCreateOrUpdateRfProfile{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -3223,36 +7463,36 @@ func (s *WirelessService) GetRfProfilesCount() (*ResponseWirelessGetRfProfilesCo } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetRfProfilesCount() + return s.CreateOrUpdateRfProfile(requestWirelessCreateOrUpdateRFProfile) } - return nil, response, fmt.Errorf("error with operation GetRfProfilesCount") + + return nil, response, fmt.Errorf("error with operation CreateOrUpdateRfProfile") } - result := response.Result().(*ResponseWirelessGetRfProfilesCount) + result := response.Result().(*ResponseWirelessCreateOrUpdateRfProfile) return result, response, err } -//GetRfProfileByID Get RF Profile by ID - 3298-aa56-4ec9-b510 -/* This API allows the user to get a RF Profile by RF Profile ID - +//FactoryResetAccessPoints Factory Reset Access Point(s) - b09d-4bbc-482b-aeb7 +/* This API is used to factory reset Access Points. It is supported for maximum 100 Access Points per request. Factory reset clears all configurations from the Access Points. After factory reset the Access Point may become unreachable from the currently associated Wireless Controller and may or may not join back the same controller. -@param id id path parameter. RF Profile ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rf-profile-by-id-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!factory-reset-access-points */ -func (s *WirelessService) GetRfProfileByID(id string) (*ResponseWirelessGetRfProfileByID, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/rfProfiles/{id}" - path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) +func (s *WirelessService) FactoryResetAccessPoints(requestWirelessFactoryResetAccessPoints *RequestWirelessFactoryResetAccessPoints) (*ResponseWirelessFactoryResetAccessPoints, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessAccessPoints/factoryResetRequest/provision" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetRfProfileByID{}). + SetBody(requestWirelessFactoryResetAccessPoints). + SetResult(&ResponseWirelessFactoryResetAccessPoints{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -3260,45 +7500,34 @@ func (s *WirelessService) GetRfProfileByID(id string) (*ResponseWirelessGetRfPro } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetRfProfileByID(id) + return s.FactoryResetAccessPoints(requestWirelessFactoryResetAccessPoints) } - return nil, response, fmt.Errorf("error with operation GetRfProfileById") + + return nil, response, fmt.Errorf("error with operation FactoryResetAccessPoints") } - result := response.Result().(*ResponseWirelessGetRfProfileByID) + result := response.Result().(*ResponseWirelessFactoryResetAccessPoints) return result, response, err } -//CreateAndProvisionSSID Create and Provision SSID - 1eb7-2ad3-4e09-8990 -/* Creates SSID, updates the SSID to the corresponding site profiles and provision it to the devices matching the given sites +//ApProvision AP Provision - 11af-897a-413b-925a +/* This API is used to provision Access Points. Prerequisite: Access Point has to be assigned to the site using the API /dna/intent/api/v1/networkDevices/assignToSite/apply. -@param CreateAndProvisionSSIDHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-and-provision-ssid-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!ap-provision */ -func (s *WirelessService) CreateAndProvisionSSID(requestWirelessCreateAndProvisionSSID *RequestWirelessCreateAndProvisionSSID, CreateAndProvisionSSIDHeaderParams *CreateAndProvisionSSIDHeaderParams) (*ResponseWirelessCreateAndProvisionSSID, *resty.Response, error) { - path := "/dna/intent/api/v1/business/ssid" +func (s *WirelessService) ApProvision(requestWirelessAPProvision *RequestWirelessApProvision) (*ResponseWirelessApProvision, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessAccessPoints/provision" - var response *resty.Response - var err error - clientRequest := s.client.R(). + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") - - if CreateAndProvisionSSIDHeaderParams != nil { - - if CreateAndProvisionSSIDHeaderParams.Persistbapioutput != "" { - clientRequest = clientRequest.SetHeader("__persistbapioutput", CreateAndProvisionSSIDHeaderParams.Persistbapioutput) - } - - } - - response, err = clientRequest. - SetBody(requestWirelessCreateAndProvisionSSID). - SetResult(&ResponseWirelessCreateAndProvisionSSID{}). + SetHeader("Accept", "application/json"). + SetBody(requestWirelessAPProvision). + SetResult(&ResponseWirelessApProvision{}). SetError(&Error). Post(path) @@ -3310,32 +7539,32 @@ func (s *WirelessService) CreateAndProvisionSSID(requestWirelessCreateAndProvisi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CreateAndProvisionSSID(requestWirelessCreateAndProvisionSSID, CreateAndProvisionSSIDHeaderParams) + return s.ApProvision(requestWirelessAPProvision) } - return nil, response, fmt.Errorf("error with operation CreateAndProvisionSsid") + return nil, response, fmt.Errorf("error with operation ApProvision") } - result := response.Result().(*ResponseWirelessCreateAndProvisionSSID) + result := response.Result().(*ResponseWirelessApProvision) return result, response, err } -//RebootAccessPoints Reboot Access Points - 6092-d8f1-468b-99ab -/* Users can reboot multiple access points up-to 200 at a time using this API +//MobilityProvision Mobility Provision - 6c8b-6bd5-40bb-ac31 +/* This API is used to provision/deploy wireless mobility into Cisco wireless controllers. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!reboot-access-points-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!mobility-provision */ -func (s *WirelessService) RebootAccessPoints(requestWirelessRebootAccessPoints *RequestWirelessRebootAccessPoints) (*ResponseWirelessRebootAccessPoints, *resty.Response, error) { - path := "/dna/intent/api/v1/device-reboot/apreboot" +func (s *WirelessService) MobilityProvision(requestWirelessMobilityProvision *RequestWirelessMobilityProvision) (*ResponseWirelessMobilityProvision, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/wirelessMobilityGroups/mobilityProvision" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessRebootAccessPoints). - SetResult(&ResponseWirelessRebootAccessPoints{}). + SetBody(requestWirelessMobilityProvision). + SetResult(&ResponseWirelessMobilityProvision{}). SetError(&Error). Post(path) @@ -3347,32 +7576,32 @@ func (s *WirelessService) RebootAccessPoints(requestWirelessRebootAccessPoints * if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RebootAccessPoints(requestWirelessRebootAccessPoints) + return s.MobilityProvision(requestWirelessMobilityProvision) } - return nil, response, fmt.Errorf("error with operation RebootAccessPoints") + return nil, response, fmt.Errorf("error with operation MobilityProvision") } - result := response.Result().(*ResponseWirelessRebootAccessPoints) + result := response.Result().(*ResponseWirelessMobilityProvision) return result, response, err } -//CreateEnterpriseSSID Create Enterprise SSID - 8a96-fb95-4d09-a349 -/* Creates enterprise SSID +//MobilityReset Mobility Reset - e589-6baf-4caa-9bbc +/* This API is used to reset wireless mobility which in turn sets mobility group name as 'default'. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-enterprise-ssid-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!mobility-reset */ -func (s *WirelessService) CreateEnterpriseSSID(requestWirelessCreateEnterpriseSSID *RequestWirelessCreateEnterpriseSSID) (*ResponseWirelessCreateEnterpriseSSID, *resty.Response, error) { - path := "/dna/intent/api/v1/enterprise-ssid" +func (s *WirelessService) MobilityReset(requestWirelessMobilityReset *RequestWirelessMobilityReset) (*ResponseWirelessMobilityReset, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/wirelessMobilityGroups/mobilityReset" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessCreateEnterpriseSSID). - SetResult(&ResponseWirelessCreateEnterpriseSSID{}). + SetBody(requestWirelessMobilityReset). + SetResult(&ResponseWirelessMobilityReset{}). SetError(&Error). Post(path) @@ -3384,35 +7613,35 @@ func (s *WirelessService) CreateEnterpriseSSID(requestWirelessCreateEnterpriseSS if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CreateEnterpriseSSID(requestWirelessCreateEnterpriseSSID) + return s.MobilityReset(requestWirelessMobilityReset) } - return nil, response, fmt.Errorf("error with operation CreateEnterpriseSsid") + return nil, response, fmt.Errorf("error with operation MobilityReset") } - result := response.Result().(*ResponseWirelessCreateEnterpriseSSID) + result := response.Result().(*ResponseWirelessMobilityReset) return result, response, err } -//CreateSSID Create SSID - 0193-8858-4789-9a53 -/* This API allows the user to create an SSID (Service Set Identifier) at the Global site +//AssignManagedApLocationsForWLC Assign Managed AP Locations For WLC - afbd-d880-488a-83e4 +/* This API allows user to assign Managed AP Locations for IOS-XE Wireless supported devices by device ID. The payload should always be a complete list. The Managed AP Locations included in the payload will be fully processed for both addition and deletion. -@param siteID siteId path parameter. Site UUID of Global site +@param deviceID deviceId path parameter. Network Device ID. This value can be obtained by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress} -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-ssid-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-managed-ap-locations-for-w-l-c */ -func (s *WirelessService) CreateSSID(siteID string, requestWirelessCreateSSID *RequestWirelessCreateSSID) (*ResponseWirelessCreateSSID, *resty.Response, error) { - path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids" - path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) +func (s *WirelessService) AssignManagedApLocationsForWLC(deviceID string, requestWirelessAssignManagedAPLocationsForWLC *RequestWirelessAssignManagedApLocationsForWLC) (*ResponseWirelessAssignManagedApLocationsForWLC, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/{deviceId}/assignManagedApLocations" + path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessCreateSSID). - SetResult(&ResponseWirelessCreateSSID{}). + SetBody(requestWirelessAssignManagedAPLocationsForWLC). + SetResult(&ResponseWirelessAssignManagedApLocationsForWLC{}). SetError(&Error). Post(path) @@ -3424,32 +7653,35 @@ func (s *WirelessService) CreateSSID(siteID string, requestWirelessCreateSSID *R if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CreateSSID(siteID, requestWirelessCreateSSID) + return s.AssignManagedApLocationsForWLC(deviceID, requestWirelessAssignManagedAPLocationsForWLC) } - return nil, response, fmt.Errorf("error with operation CreateSsid") + return nil, response, fmt.Errorf("error with operation AssignManagedApLocationsForWLC") } - result := response.Result().(*ResponseWirelessCreateSSID) + result := response.Result().(*ResponseWirelessAssignManagedApLocationsForWLC) return result, response, err } -//ConfigureAccessPoints Configure Access Points - 0081-cb89-4708-888f -/* User can configure multiple access points with required options using this intent API. This API does not support configuration of CleanAir or SI for IOS-XE devices with version greater than or equal to 17.9 +//WirelessControllerProvision Wireless Controller Provision - 9e9c-386b-4069-9e7c +/* This API is used to provision wireless controller +@param deviceID deviceId path parameter. Network Device ID. This value can be obtained by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress} + -Documentation Link: https://developer.cisco.com/docs/dna-center/#!configure-access-points-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!wireless-controller-provision */ -func (s *WirelessService) ConfigureAccessPoints(requestWirelessConfigureAccessPoints *RequestWirelessConfigureAccessPoints) (*ResponseWirelessConfigureAccessPoints, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/accesspoint-configuration" +func (s *WirelessService) WirelessControllerProvision(deviceID string, requestWirelessWirelessControllerProvision *RequestWirelessWirelessControllerProvision) (*ResponseWirelessWirelessControllerProvision, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/{deviceId}/provision" + path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessConfigureAccessPoints). - SetResult(&ResponseWirelessConfigureAccessPoints{}). + SetBody(requestWirelessWirelessControllerProvision). + SetResult(&ResponseWirelessWirelessControllerProvision{}). SetError(&Error). Post(path) @@ -3461,45 +7693,32 @@ func (s *WirelessService) ConfigureAccessPoints(requestWirelessConfigureAccessPo if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ConfigureAccessPoints(requestWirelessConfigureAccessPoints) + return s.WirelessControllerProvision(deviceID, requestWirelessWirelessControllerProvision) } - return nil, response, fmt.Errorf("error with operation ConfigureAccessPoints") + return nil, response, fmt.Errorf("error with operation WirelessControllerProvision") } - result := response.Result().(*ResponseWirelessConfigureAccessPoints) + result := response.Result().(*ResponseWirelessWirelessControllerProvision) return result, response, err } -//ApProvisionConnectivity AP Provision - d897-19b8-47aa-a9c4 -/* Access Point Provision and ReProvision +//CreateWirelessProfileConnectivity Create Wireless Profile - dd88-bb37-492a-888b +/* This API allows the user to create a Wireless Network Profile -@param APProvisionConnectivityHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!ap-provision-connectivity-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-wireless-profile-connectivity */ -func (s *WirelessService) ApProvisionConnectivity(requestWirelessAPProvisionConnectivity *RequestWirelessApProvisionConnectivity, APProvisionConnectivityHeaderParams *ApProvisionConnectivityHeaderParams) (*ResponseWirelessApProvisionConnectivity, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/ap-provision" +func (s *WirelessService) CreateWirelessProfileConnectivity(requestWirelessCreateWirelessProfileConnectivity *RequestWirelessCreateWirelessProfileConnectivity) (*ResponseWirelessCreateWirelessProfileConnectivity, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles" - var response *resty.Response - var err error - clientRequest := s.client.R(). + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") - - if APProvisionConnectivityHeaderParams != nil { - - if APProvisionConnectivityHeaderParams.Persistbapioutput != "" { - clientRequest = clientRequest.SetHeader("__persistbapioutput", APProvisionConnectivityHeaderParams.Persistbapioutput) - } - - } - - response, err = clientRequest. - SetBody(requestWirelessAPProvisionConnectivity). - SetResult(&ResponseWirelessApProvisionConnectivity{}). + SetHeader("Accept", "application/json"). + SetBody(requestWirelessCreateWirelessProfileConnectivity). + SetResult(&ResponseWirelessCreateWirelessProfileConnectivity{}). SetError(&Error). Post(path) @@ -3511,32 +7730,35 @@ func (s *WirelessService) ApProvisionConnectivity(requestWirelessAPProvisionConn if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ApProvisionConnectivity(requestWirelessAPProvisionConnectivity, APProvisionConnectivityHeaderParams) + return s.CreateWirelessProfileConnectivity(requestWirelessCreateWirelessProfileConnectivity) } - return nil, response, fmt.Errorf("error with operation ApProvisionConnectivity") + return nil, response, fmt.Errorf("error with operation CreateWirelessProfileConnectivity") } - result := response.Result().(*ResponseWirelessApProvisionConnectivity) + result := response.Result().(*ResponseWirelessCreateWirelessProfileConnectivity) return result, response, err } -//CreateUpdateDynamicInterface Create Update Dynamic interface - daa0-bb75-4e2a-8da6 -/* API to create or update an dynamic interface +//CreateMultiplePolicyTagsForAWirelessProfileInBulk Create multiple Policy Tags for a Wireless Profile in bulk - 6bbe-ca2b-430a-8665 +/* This endpoint allows the creation of multiple `Policy Tags` associated with a specific `Wireless Profile` in a single request. The `id` of the Wireless Profile must be provided as a path parameter, and a list of `Policy Tags` should be included in the request body. Note: Multiple Policy Tags (policyTag) can be configured for the same siteId only if they have different sets of AP Zones (apZones). If multiple Policy Tags are created with the same apZones for the same site or a parent site, only the last one will be saved, overriding the previous ones. +@param id id path parameter. Wireless Profile Id + -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-update-dynamic-interface-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-multiple-policy-tags-for-a-wireless-profile-in-bulk */ -func (s *WirelessService) CreateUpdateDynamicInterface(requestWirelessCreateUpdateDynamicInterface *RequestWirelessCreateUpdateDynamicInterface) (*ResponseWirelessCreateUpdateDynamicInterface, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/dynamic-interface" +func (s *WirelessService) CreateMultiplePolicyTagsForAWirelessProfileInBulk(id string, requestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk *RequestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk) (*ResponseWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}/policyTags/bulk" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessCreateUpdateDynamicInterface). - SetResult(&ResponseWirelessCreateUpdateDynamicInterface{}). + SetBody(requestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk). + SetResult(&ResponseWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk{}). SetError(&Error). Post(path) @@ -3548,32 +7770,35 @@ func (s *WirelessService) CreateUpdateDynamicInterface(requestWirelessCreateUpda if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CreateUpdateDynamicInterface(requestWirelessCreateUpdateDynamicInterface) + return s.CreateMultiplePolicyTagsForAWirelessProfileInBulk(id, requestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk) } - return nil, response, fmt.Errorf("error with operation CreateUpdateDynamicInterface") + return nil, response, fmt.Errorf("error with operation CreateMultiplePolicyTagsForAWirelessProfileInBulk") } - result := response.Result().(*ResponseWirelessCreateUpdateDynamicInterface) + result := response.Result().(*ResponseWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk) return result, response, err } -//CreateWirelessProfile Create Wireless Profile - 7097-6962-4bf9-88d5 -/* Creates Wireless Network Profile on Cisco DNA Center and associates sites and SSIDs to it. +//CreateMultipleSiteTagsForAWirelessProfileInBulk Create multiple Site Tags for a Wireless Profile in bulk - 7094-e87b-4b2b-9617 +/* This endpoint allows the creation of multiple `Site Tags` associated with a specific `Wireless Profile` in a single request. The `id` of the `Wireless Profile` must be provided as a path parameter, and a list of `Site Tags` should be included in the request body. Note: Only one Site Tag (siteTag) can be created per siteId. If multiple siteTags are specified for the same siteId within a request, only the last one will be saved, overriding any previously configured tags. When creating a Site Tag under a Flex-enabled Wireless Profile (i.e., a Wireless Profile with one or more Flex SSIDs), a non-default Flex Profile Name (flexProfileName) will be used. If no custom flexProfileName is defined, the System will automatically generate one and configure it in the controller. +@param id id path parameter. network profile id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-wireless-profile-v1 + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-multiple-site-tags-for-a-wireless-profile-in-bulk */ -func (s *WirelessService) CreateWirelessProfile(requestWirelessCreateWirelessProfile *RequestWirelessCreateWirelessProfile) (*ResponseWirelessCreateWirelessProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/profile" +func (s *WirelessService) CreateMultipleSiteTagsForAWirelessProfileInBulk(id string, requestWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk *RequestWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk) (*ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}/siteTags/bulk" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessCreateWirelessProfile). - SetResult(&ResponseWirelessCreateWirelessProfile{}). + SetBody(requestWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk). + SetResult(&ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk{}). SetError(&Error). Post(path) @@ -3585,32 +7810,32 @@ func (s *WirelessService) CreateWirelessProfile(requestWirelessCreateWirelessPro if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CreateWirelessProfile(requestWirelessCreateWirelessProfile) + return s.CreateMultipleSiteTagsForAWirelessProfileInBulk(id, requestWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk) } - return nil, response, fmt.Errorf("error with operation CreateWirelessProfile") + return nil, response, fmt.Errorf("error with operation CreateMultipleSiteTagsForAWirelessProfileInBulk") } - result := response.Result().(*ResponseWirelessCreateWirelessProfile) + result := response.Result().(*ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk) return result, response, err } -//Provision Provision - d09b-08a3-447a-a3b9 -/* Provision wireless device +//CreateAnchorGroup Create AnchorGroup - 3d85-68e5-4909-988a +/* This API allows the user to create an AnchorGroup -Documentation Link: https://developer.cisco.com/docs/dna-center/#!provision-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-anchor-group */ -func (s *WirelessService) Provision(requestWirelessProvision *RequestWirelessProvision) (*ResponseWirelessProvision, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/provision" +func (s *WirelessService) CreateAnchorGroup(requestWirelessCreateAnchorGroup *RequestWirelessCreateAnchorGroup) (*ResponseWirelessCreateAnchorGroup, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/anchorGroups" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessProvision). - SetResult(&ResponseWirelessProvision{}). + SetBody(requestWirelessCreateAnchorGroup). + SetResult(&ResponseWirelessCreateAnchorGroup{}). SetError(&Error). Post(path) @@ -3622,32 +7847,32 @@ func (s *WirelessService) Provision(requestWirelessProvision *RequestWirelessPro if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.Provision(requestWirelessProvision) + return s.CreateAnchorGroup(requestWirelessCreateAnchorGroup) } - return nil, response, fmt.Errorf("error with operation Provision") + return nil, response, fmt.Errorf("error with operation CreateAnchorGroup") } - result := response.Result().(*ResponseWirelessProvision) + result := response.Result().(*ResponseWirelessCreateAnchorGroup) return result, response, err } -//PSKOverride PSK override - 46ad-ab75-47c9-8762 -/* Update/Override passphrase of SSID +//CreateApAuthorizationList Create AP Authorization List - 5e9a-4806-489a-91db +/* This API allows the user to create an AP Authorization List. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!p-s-k-override-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-ap-authorization-list */ -func (s *WirelessService) PSKOverride(requestWirelessPSKOverride *RequestWirelessPSKOverride) (*ResponseWirelessPSKOverride, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/psk-override" +func (s *WirelessService) CreateApAuthorizationList(requestWirelessCreateAPAuthorizationList *RequestWirelessCreateApAuthorizationList) (*ResponseWirelessCreateApAuthorizationList, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apAuthorizationLists" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessPSKOverride). - SetResult(&ResponseWirelessPSKOverride{}). + SetBody(requestWirelessCreateAPAuthorizationList). + SetResult(&ResponseWirelessCreateApAuthorizationList{}). SetError(&Error). Post(path) @@ -3659,32 +7884,32 @@ func (s *WirelessService) PSKOverride(requestWirelessPSKOverride *RequestWireles if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.PSKOverride(requestWirelessPSKOverride) + return s.CreateApAuthorizationList(requestWirelessCreateAPAuthorizationList) } - return nil, response, fmt.Errorf("error with operation PSKOverride") + return nil, response, fmt.Errorf("error with operation CreateApAuthorizationList") } - result := response.Result().(*ResponseWirelessPSKOverride) + result := response.Result().(*ResponseWirelessCreateApAuthorizationList) return result, response, err } -//CreateOrUpdateRfProfile Create or Update RF profile - b783-2967-4878-b815 -/* Create or Update RF profile +//CreateApProfile Create AP Profile - 3697-68d5-4149-9f02 +/* This API allows the user to create a custom AP Profile. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-or-update-rf-profile-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-ap-profile */ -func (s *WirelessService) CreateOrUpdateRfProfile(requestWirelessCreateOrUpdateRFProfile *RequestWirelessCreateOrUpdateRfProfile) (*ResponseWirelessCreateOrUpdateRfProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/rf-profile" +func (s *WirelessService) CreateApProfile(requestWirelessCreateAPProfile *RequestWirelessCreateApProfile) (*ResponseWirelessCreateApProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apProfiles" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessCreateOrUpdateRFProfile). - SetResult(&ResponseWirelessCreateOrUpdateRfProfile{}). + SetBody(requestWirelessCreateAPProfile). + SetResult(&ResponseWirelessCreateApProfile{}). SetError(&Error). Post(path) @@ -3696,32 +7921,32 @@ func (s *WirelessService) CreateOrUpdateRfProfile(requestWirelessCreateOrUpdateR if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CreateOrUpdateRfProfile(requestWirelessCreateOrUpdateRFProfile) + return s.CreateApProfile(requestWirelessCreateAPProfile) } - return nil, response, fmt.Errorf("error with operation CreateOrUpdateRfProfile") + return nil, response, fmt.Errorf("error with operation CreateApProfile") } - result := response.Result().(*ResponseWirelessCreateOrUpdateRfProfile) + result := response.Result().(*ResponseWirelessCreateApProfile) return result, response, err } -//FactoryResetAccessPoints Factory Reset Access Point(s) - b09d-4bbc-482b-aeb7 -/* This API is used to factory reset Access Points. It is supported for maximum 100 Access Points per request. Factory reset clears all configurations from the Access Points. After factory reset the Access Point may become unreachable from the currently associated Wireless Controller and may or may not join back the same controller. +//CreateA80211BeProfile Create a 802.11be Profile - efab-bbaf-4388-a046 +/* This API allows the user to create a 802.11be Profile.Catalyst Center will push this profile to device's "default-dot11be-profile”.Also please note , 802.11be Profile is supported only on IOS-XE controllers since device version 17.15 -Documentation Link: https://developer.cisco.com/docs/dna-center/#!factory-reset-access-points-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-a80211be-profile */ -func (s *WirelessService) FactoryResetAccessPoints(requestWirelessFactoryResetAccessPoints *RequestWirelessFactoryResetAccessPoints) (*ResponseWirelessFactoryResetAccessPoints, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessAccessPoints/factoryResetRequest/provision" +func (s *WirelessService) CreateA80211BeProfile(requestWirelessCreateA80211beProfile *RequestWirelessCreateA80211BeProfile) (*ResponseWirelessCreateA80211BeProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessFactoryResetAccessPoints). - SetResult(&ResponseWirelessFactoryResetAccessPoints{}). + SetBody(requestWirelessCreateA80211beProfile). + SetResult(&ResponseWirelessCreateA80211BeProfile{}). SetError(&Error). Post(path) @@ -3733,32 +7958,32 @@ func (s *WirelessService) FactoryResetAccessPoints(requestWirelessFactoryResetAc if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.FactoryResetAccessPoints(requestWirelessFactoryResetAccessPoints) + return s.CreateA80211BeProfile(requestWirelessCreateA80211beProfile) } - return nil, response, fmt.Errorf("error with operation FactoryResetAccessPoints") + return nil, response, fmt.Errorf("error with operation CreateA80211BeProfile") } - result := response.Result().(*ResponseWirelessFactoryResetAccessPoints) + result := response.Result().(*ResponseWirelessCreateA80211BeProfile) return result, response, err } -//ApProvision AP Provision - 11af-897a-413b-925a -/* This API is used to provision access points +//CreateInterface Create Interface - a098-6877-44e8-ba31 +/* This API allows the user to create an interface -Documentation Link: https://developer.cisco.com/docs/dna-center/#!ap-provision-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-interface */ -func (s *WirelessService) ApProvision(requestWirelessAPProvision *RequestWirelessApProvision) (*ResponseWirelessApProvision, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessAccessPoints/provision" +func (s *WirelessService) CreateInterface(requestWirelessCreateInterface *RequestWirelessCreateInterface) (*ResponseWirelessCreateInterface, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/interfaces" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessAPProvision). - SetResult(&ResponseWirelessApProvision{}). + SetBody(requestWirelessCreateInterface). + SetResult(&ResponseWirelessCreateInterface{}). SetError(&Error). Post(path) @@ -3770,32 +7995,32 @@ func (s *WirelessService) ApProvision(requestWirelessAPProvision *RequestWireles if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ApProvision(requestWirelessAPProvision) + return s.CreateInterface(requestWirelessCreateInterface) } - return nil, response, fmt.Errorf("error with operation ApProvision") + return nil, response, fmt.Errorf("error with operation CreateInterface") } - result := response.Result().(*ResponseWirelessApProvision) + result := response.Result().(*ResponseWirelessCreateInterface) return result, response, err } -//MobilityProvision Mobility Provision - 6c8b-6bd5-40bb-ac31 -/* This API is used to provision/deploy wireless mobility into Cisco wireless controllers. +//CreatePowerProfile Create Power Profile - 7bac-6bd5-4269-8a3c +/* This API allows the user to create a custom Power Profile. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!mobility-provision-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-power-profile */ -func (s *WirelessService) MobilityProvision(requestWirelessMobilityProvision *RequestWirelessMobilityProvision) (*ResponseWirelessMobilityProvision, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/wirelessMobilityGroups/mobilityProvision" +func (s *WirelessService) CreatePowerProfile(requestWirelessCreatePowerProfile *RequestWirelessCreatePowerProfile) (*ResponseWirelessCreatePowerProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/powerProfiles" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessMobilityProvision). - SetResult(&ResponseWirelessMobilityProvision{}). + SetBody(requestWirelessCreatePowerProfile). + SetResult(&ResponseWirelessCreatePowerProfile{}). SetError(&Error). Post(path) @@ -3807,32 +8032,32 @@ func (s *WirelessService) MobilityProvision(requestWirelessMobilityProvision *Re if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.MobilityProvision(requestWirelessMobilityProvision) + return s.CreatePowerProfile(requestWirelessCreatePowerProfile) } - return nil, response, fmt.Errorf("error with operation MobilityProvision") + return nil, response, fmt.Errorf("error with operation CreatePowerProfile") } - result := response.Result().(*ResponseWirelessMobilityProvision) + result := response.Result().(*ResponseWirelessCreatePowerProfile) return result, response, err } -//MobilityReset Mobility Reset - e589-6baf-4caa-9bbc -/* This API is used to reset wireless mobility which in turn sets mobility group name as 'default' +//CreateRfProfile Create RF Profile - 3cb0-ca20-45d9-8d07 +/* This API allows the user to create a custom RF Profile -Documentation Link: https://developer.cisco.com/docs/dna-center/#!mobility-reset-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-rf-profile */ -func (s *WirelessService) MobilityReset(requestWirelessMobilityReset *RequestWirelessMobilityReset) (*ResponseWirelessMobilityReset, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/wirelessMobilityGroups/mobilityReset" +func (s *WirelessService) CreateRfProfile(requestWirelessCreateRFProfile *RequestWirelessCreateRfProfile) (*ResponseWirelessCreateRfProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/rfProfiles" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessMobilityReset). - SetResult(&ResponseWirelessMobilityReset{}). + SetBody(requestWirelessCreateRFProfile). + SetResult(&ResponseWirelessCreateRfProfile{}). SetError(&Error). Post(path) @@ -3844,35 +8069,37 @@ func (s *WirelessService) MobilityReset(requestWirelessMobilityReset *RequestWir if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.MobilityReset(requestWirelessMobilityReset) + return s.CreateRfProfile(requestWirelessCreateRFProfile) } - return nil, response, fmt.Errorf("error with operation MobilityReset") + return nil, response, fmt.Errorf("error with operation CreateRfProfile") } - result := response.Result().(*ResponseWirelessMobilityReset) + result := response.Result().(*ResponseWirelessCreateRfProfile) return result, response, err } -//AssignManagedApLocationsForWLC Assign Managed AP Locations For WLC - afbd-d880-488a-83e4 -/* This API allows user to assign Managed AP Locations for WLC by device ID. The payload should always be a complete list. The Managed AP Locations included in the payload will be fully processed for both addition and deletion. +//AssignAnchorManagedApLocationsForWLC Assign Anchor Managed AP Locations For WLC - 55af-697b-4e28-8167 +/* This API allows user to assign Anchor Managed AP Locations for WLC by device ID. The payload should always be a complete list. The Managed AP Locations included in the payload will be fully processed for both addition and deletion. + When anchor managed location array present then it will add the anchor managed locations. -@param deviceID deviceId path parameter. Network Device ID. This value can be obtained by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress} + +@param networkDeviceID networkDeviceId path parameter. Network Device ID. This value can be obtained by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress} -Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-managed-ap-locations-for-w-l-c-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-anchor-managed-ap-locations-for-w-l-c */ -func (s *WirelessService) AssignManagedApLocationsForWLC(deviceID string, requestWirelessAssignManagedAPLocationsForWLC *RequestWirelessAssignManagedApLocationsForWLC) (*ResponseWirelessAssignManagedApLocationsForWLC, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/{deviceId}/assignManagedApLocations" - path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) +func (s *WirelessService) AssignAnchorManagedApLocationsForWLC(networkDeviceID string, requestWirelessAssignAnchorManagedAPLocationsForWLC *RequestWirelessAssignAnchorManagedApLocationsForWLC) (*ResponseWirelessAssignAnchorManagedApLocationsForWLC, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/{networkDeviceId}/assignAnchorManagedApLocations" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessAssignManagedAPLocationsForWLC). - SetResult(&ResponseWirelessAssignManagedApLocationsForWLC{}). + SetBody(requestWirelessAssignAnchorManagedAPLocationsForWLC). + SetResult(&ResponseWirelessAssignAnchorManagedApLocationsForWLC{}). SetError(&Error). Post(path) @@ -3884,35 +8111,32 @@ func (s *WirelessService) AssignManagedApLocationsForWLC(deviceID string, reques if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.AssignManagedApLocationsForWLC(deviceID, requestWirelessAssignManagedAPLocationsForWLC) + return s.AssignAnchorManagedApLocationsForWLC(networkDeviceID, requestWirelessAssignAnchorManagedAPLocationsForWLC) } - return nil, response, fmt.Errorf("error with operation AssignManagedApLocationsForWLC") + return nil, response, fmt.Errorf("error with operation AssignAnchorManagedApLocationsForWLC") } - result := response.Result().(*ResponseWirelessAssignManagedApLocationsForWLC) + result := response.Result().(*ResponseWirelessAssignAnchorManagedApLocationsForWLC) return result, response, err } -//WirelessControllerProvision Wireless Controller Provision - 9e9c-386b-4069-9e7c -/* This API is used to provision wireless controller - +//ConfigureAccessPointsV2 Configure Access Points V2 - 5ca7-4a81-4329-9506 +/* User can configure multiple access points with required options using this intent API -@param deviceID deviceId path parameter. Network Device ID. This value can be obtained by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress} -Documentation Link: https://developer.cisco.com/docs/dna-center/#!wireless-controller-provision-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!configure-access-points-v2 */ -func (s *WirelessService) WirelessControllerProvision(deviceID string, requestWirelessWirelessControllerProvision *RequestWirelessWirelessControllerProvision) (*ResponseWirelessWirelessControllerProvision, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/{deviceId}/provision" - path = strings.Replace(path, "{deviceId}", fmt.Sprintf("%v", deviceID), -1) +func (s *WirelessService) ConfigureAccessPointsV2(requestWirelessConfigureAccessPointsV2 *RequestWirelessConfigureAccessPointsV2) (*ResponseWirelessConfigureAccessPointsV2, *resty.Response, error) { + path := "/dna/intent/api/v2/wireless/accesspoint-configuration" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessWirelessControllerProvision). - SetResult(&ResponseWirelessWirelessControllerProvision{}). + SetBody(requestWirelessConfigureAccessPointsV2). + SetResult(&ResponseWirelessConfigureAccessPointsV2{}). SetError(&Error). Post(path) @@ -3924,34 +8148,32 @@ func (s *WirelessService) WirelessControllerProvision(deviceID string, requestWi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.WirelessControllerProvision(deviceID, requestWirelessWirelessControllerProvision) + return s.ConfigureAccessPointsV2(requestWirelessConfigureAccessPointsV2) } - return nil, response, fmt.Errorf("error with operation WirelessControllerProvision") + return nil, response, fmt.Errorf("error with operation ConfigureAccessPointsV2") } - result := response.Result().(*ResponseWirelessWirelessControllerProvision) + result := response.Result().(*ResponseWirelessConfigureAccessPointsV2) return result, response, err } -//CreateWirelessProfileConnectivity Create Wireless Profile - dd88-bb37-492a-888b -/* This API allows the user to create a Wireless Network Profile - +//UpdateEnterpriseSSID Update Enterprise SSID - c493-991f-40ca-ba44 +/* Update enterprise SSID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-wireless-profile-connectivity-v1 -*/ -func (s *WirelessService) CreateWirelessProfileConnectivity(requestWirelessCreateWirelessProfileConnectivity *RequestWirelessCreateWirelessProfileConnectivity) (*ResponseWirelessCreateWirelessProfileConnectivity, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessProfiles" + */ +func (s *WirelessService) UpdateEnterpriseSSID(requestWirelessUpdateEnterpriseSSID *RequestWirelessUpdateEnterpriseSSID) (*ResponseWirelessUpdateEnterpriseSSID, *resty.Response, error) { + path := "/dna/intent/api/v1/enterprise-ssid" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessCreateWirelessProfileConnectivity). - SetResult(&ResponseWirelessCreateWirelessProfileConnectivity{}). + SetBody(requestWirelessUpdateEnterpriseSSID). + SetResult(&ResponseWirelessUpdateEnterpriseSSID{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -3959,36 +8181,38 @@ func (s *WirelessService) CreateWirelessProfileConnectivity(requestWirelessCreat } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateWirelessProfileConnectivity(requestWirelessCreateWirelessProfileConnectivity) + return s.UpdateEnterpriseSSID(requestWirelessUpdateEnterpriseSSID) } - - return nil, response, fmt.Errorf("error with operation CreateWirelessProfileConnectivity") + return nil, response, fmt.Errorf("error with operation UpdateEnterpriseSsid") } - result := response.Result().(*ResponseWirelessCreateWirelessProfileConnectivity) + result := response.Result().(*ResponseWirelessUpdateEnterpriseSSID) return result, response, err } -//CreateA80211BeProfile Create a 802.11be Profile - efab-bbaf-4388-a046 -/* This API allows the user to create a 802.11be Profile.Catalyst Center will push this profile to device's "default-dot11be-profile”.Also please note , 802.11be Profile is supported only on IOS-XE controllers since device version 17.15 +//UpdateSSID Update SSID - 2496-7ad2-4b8a-913b +/* This API allows the user to update an SSID (Service Set Identifier) at the given site +@param siteID siteId path parameter. Site UUID + +@param id id path parameter. SSID ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-a80211be-profile-v1 */ -func (s *WirelessService) CreateA80211BeProfile(requestWirelessCreateA80211beProfile *RequestWirelessCreateA80211BeProfile) (*ResponseWirelessCreateA80211BeProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles" +func (s *WirelessService) UpdateSSID(siteID string, id string, requestWirelessUpdateSSID *RequestWirelessUpdateSSID) (*ResponseWirelessUpdateSSID, *resty.Response, error) { + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids/{id}" + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessCreateA80211beProfile). - SetResult(&ResponseWirelessCreateA80211BeProfile{}). + SetBody(requestWirelessUpdateSSID). + SetResult(&ResponseWirelessUpdateSSID{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -3996,36 +8220,32 @@ func (s *WirelessService) CreateA80211BeProfile(requestWirelessCreateA80211bePro } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateA80211BeProfile(requestWirelessCreateA80211beProfile) + return s.UpdateSSID(siteID, id, requestWirelessUpdateSSID) } - - return nil, response, fmt.Errorf("error with operation CreateA80211BeProfile") + return nil, response, fmt.Errorf("error with operation UpdateSsid") } - result := response.Result().(*ResponseWirelessCreateA80211BeProfile) + result := response.Result().(*ResponseWirelessUpdateSSID) return result, response, err } -//CreateInterface Create Interface - a098-6877-44e8-ba31 -/* This API allows the user to create an interface - +//UpdateWirelessProfile Update Wireless Profile - cfbd-3870-405a-ad55 +/* Updates the wireless Network Profile with updated details provided. All sites to be present in the network profile should be provided. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-interface-v1 -*/ -func (s *WirelessService) CreateInterface(requestWirelessCreateInterface *RequestWirelessCreateInterface) (*ResponseWirelessCreateInterface, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/interfaces" + */ +func (s *WirelessService) UpdateWirelessProfile(requestWirelessUpdateWirelessProfile *RequestWirelessUpdateWirelessProfile) (*ResponseWirelessUpdateWirelessProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/profile" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessCreateInterface). - SetResult(&ResponseWirelessCreateInterface{}). + SetBody(requestWirelessUpdateWirelessProfile). + SetResult(&ResponseWirelessUpdateWirelessProfile{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -4033,36 +8253,45 @@ func (s *WirelessService) CreateInterface(requestWirelessCreateInterface *Reques } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateInterface(requestWirelessCreateInterface) + return s.UpdateWirelessProfile(requestWirelessUpdateWirelessProfile) } - - return nil, response, fmt.Errorf("error with operation CreateInterface") + return nil, response, fmt.Errorf("error with operation UpdateWirelessProfile") } - result := response.Result().(*ResponseWirelessCreateInterface) + result := response.Result().(*ResponseWirelessUpdateWirelessProfile) return result, response, err } -//CreateRfProfile Create RF Profile - 3cb0-ca20-45d9-8d07 -/* This API allows the user to create a custom RF Profile - +//ProvisionUpdate Provision update - 87a5-ab04-4139-862d +/* Updates wireless provisioning -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-rf-profile-v1 +@param ProvisionUpdateHeaderParams Custom header parameters */ -func (s *WirelessService) CreateRfProfile(requestWirelessCreateRFProfile *RequestWirelessCreateRfProfile) (*ResponseWirelessCreateRfProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/rfProfiles" +func (s *WirelessService) ProvisionUpdate(requestWirelessProvisionUpdate *RequestWirelessProvisionUpdate, ProvisionUpdateHeaderParams *ProvisionUpdateHeaderParams) (*ResponseWirelessProvisionUpdate, *resty.Response, error) { + path := "/dna/intent/api/v1/wireless/provision" - response, err := s.client.R(). + var response *resty.Response + var err error + clientRequest := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetBody(requestWirelessCreateRFProfile). - SetResult(&ResponseWirelessCreateRfProfile{}). + SetHeader("Accept", "application/json") + + if ProvisionUpdateHeaderParams != nil { + + if ProvisionUpdateHeaderParams.Persistbapioutput != "" { + clientRequest = clientRequest.SetHeader("__persistbapioutput", ProvisionUpdateHeaderParams.Persistbapioutput) + } + + } + + response, err = clientRequest. + SetBody(requestWirelessProvisionUpdate). + SetResult(&ResponseWirelessProvisionUpdate{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -4070,36 +8299,35 @@ func (s *WirelessService) CreateRfProfile(requestWirelessCreateRFProfile *Reques } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateRfProfile(requestWirelessCreateRFProfile) + return s.ProvisionUpdate(requestWirelessProvisionUpdate, ProvisionUpdateHeaderParams) } - - return nil, response, fmt.Errorf("error with operation CreateRfProfile") + return nil, response, fmt.Errorf("error with operation ProvisionUpdate") } - result := response.Result().(*ResponseWirelessCreateRfProfile) + result := response.Result().(*ResponseWirelessProvisionUpdate) return result, response, err } -//ConfigureAccessPointsV2 Configure Access Points V2 - 5ca7-4a81-4329-9506 -/* User can configure multiple access points with required options using this intent API +//UpdateWirelessProfileConnectivity Update Wireless Profile - 4f88-d9a3-4ef8-8e2e +/* This API allows the user to update a Wireless Network Profile by ID +@param id id path parameter. Wireless Profile Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!configure-access-points-v2 */ -func (s *WirelessService) ConfigureAccessPointsV2(requestWirelessConfigureAccessPointsV2 *RequestWirelessConfigureAccessPointsV2) (*ResponseWirelessConfigureAccessPointsV2, *resty.Response, error) { - path := "/dna/intent/api/v2/wireless/accesspoint-configuration" +func (s *WirelessService) UpdateWirelessProfileConnectivity(id string, requestWirelessUpdateWirelessProfileConnectivity *RequestWirelessUpdateWirelessProfileConnectivity) (*ResponseWirelessUpdateWirelessProfileConnectivity, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessConfigureAccessPointsV2). - SetResult(&ResponseWirelessConfigureAccessPointsV2{}). + SetBody(requestWirelessUpdateWirelessProfileConnectivity). + SetResult(&ResponseWirelessUpdateWirelessProfileConnectivity{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -4107,32 +8335,36 @@ func (s *WirelessService) ConfigureAccessPointsV2(requestWirelessConfigureAccess } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.ConfigureAccessPointsV2(requestWirelessConfigureAccessPointsV2) + return s.UpdateWirelessProfileConnectivity(id, requestWirelessUpdateWirelessProfileConnectivity) } - - return nil, response, fmt.Errorf("error with operation ConfigureAccessPointsV2") + return nil, response, fmt.Errorf("error with operation UpdateWirelessProfileConnectivity") } - result := response.Result().(*ResponseWirelessConfigureAccessPointsV2) + result := response.Result().(*ResponseWirelessUpdateWirelessProfileConnectivity) return result, response, err } -//UpdateEnterpriseSSID Update Enterprise SSID - c493-991f-40ca-ba44 -/* Update enterprise SSID +//UpdateASpecificPolicyTagForAWirelessProfile Update a specific Policy Tag for a Wireless Profile - eca1-caf0-49bb-aa9a +/* This endpoint allows updating the details of a specific `Policy Tag` associated with a given `Wireless Profile`. The `id` of the `Wireless Profile` and the `policyTagId` of the Policy Tag must be provided as path parameters, and the request body should contain the updated details of the `Policy Tag`. The `policyTagName` cannot be modified through this endpoint. Note: When updating a Policy Tag, if the same set of AP Zones (apZones) is used for the same site or its parent site, the existing Policy Tag will be overridden by the new one. - */ -func (s *WirelessService) UpdateEnterpriseSSID(requestWirelessUpdateEnterpriseSSID *RequestWirelessUpdateEnterpriseSSID) (*ResponseWirelessUpdateEnterpriseSSID, *resty.Response, error) { - path := "/dna/intent/api/v1/enterprise-ssid" +@param id id path parameter. Wireless Profile Id + +@param policyTagID policyTagId path parameter. Policy Tag Id + +*/ +func (s *WirelessService) UpdateASpecificPolicyTagForAWirelessProfile(id string, policyTagID string, requestWirelessUpdateASpecificPolicyTagForAWirelessProfile *RequestWirelessUpdateASpecificPolicyTagForAWirelessProfile) (*ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}/policyTags/{policyTagId}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{policyTagId}", fmt.Sprintf("%v", policyTagID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessUpdateEnterpriseSSID). - SetResult(&ResponseWirelessUpdateEnterpriseSSID{}). + SetBody(requestWirelessUpdateASpecificPolicyTagForAWirelessProfile). + SetResult(&ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfile{}). SetError(&Error). Put(path) @@ -4143,35 +8375,35 @@ func (s *WirelessService) UpdateEnterpriseSSID(requestWirelessUpdateEnterpriseSS if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateEnterpriseSSID(requestWirelessUpdateEnterpriseSSID) + return s.UpdateASpecificPolicyTagForAWirelessProfile(id, policyTagID, requestWirelessUpdateASpecificPolicyTagForAWirelessProfile) } - return nil, response, fmt.Errorf("error with operation UpdateEnterpriseSsid") + return nil, response, fmt.Errorf("error with operation UpdateASpecificPolicyTagForAWirelessProfile") } - result := response.Result().(*ResponseWirelessUpdateEnterpriseSSID) + result := response.Result().(*ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfile) return result, response, err } -//UpdateSSID Update SSID - 2496-7ad2-4b8a-913b -/* This API allows the user to update an SSID (Service Set Identifier) at the given site +//UpdateASpecificSiteTagForAWirelessProfile Update a specific Site Tag for a Wireless Profile - 47b2-1a6c-4158-9527 +/* This endpoint allows updating the details of a specific `Site Tag` associated with a given `Wireless Profile`. The `id` of the `Wireless Profile` and the `siteTagId` of the Site Tag must be provided as path parameters, and the request body should contain the updated `Site Tag` details. The `siteTagName` cannot be modified through this endpoint. Note: When updating a Site Tag (siteTag), if the siteId already has an associated siteTag and the same siteId is included in the update request, the existing siteTag for that siteId will be overridden by the new one. For Flex-enabled Wireless Profiles (i.e., a Wireless Profile with one or more Flex SSIDs), a non-default Flex Profile Name (flexProfileName) will be used. If no custom flexProfileName is provided, the System will automatically generate one and configure it in the controller. -@param siteID siteId path parameter. Site UUID +@param id id path parameter. Wireless Profile Id -@param id id path parameter. SSID ID. Inputs containing special characters should be encoded +@param siteTagID siteTagId path parameter. Site Tag Id */ -func (s *WirelessService) UpdateSSID(siteID string, id string, requestWirelessUpdateSSID *RequestWirelessUpdateSSID) (*ResponseWirelessUpdateSSID, *resty.Response, error) { - path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids/{id}" - path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) +func (s *WirelessService) UpdateASpecificSiteTagForAWirelessProfile(id string, siteTagID string, requestWirelessUpdateASpecificSiteTagForAWirelessProfile *RequestWirelessUpdateASpecificSiteTagForAWirelessProfile) (*ResponseWirelessUpdateASpecificSiteTagForAWirelessProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles/{id}/siteTags/{siteTagId}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{siteTagId}", fmt.Sprintf("%v", siteTagID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessUpdateSSID). - SetResult(&ResponseWirelessUpdateSSID{}). + SetBody(requestWirelessUpdateASpecificSiteTagForAWirelessProfile). + SetResult(&ResponseWirelessUpdateASpecificSiteTagForAWirelessProfile{}). SetError(&Error). Put(path) @@ -4182,29 +8414,32 @@ func (s *WirelessService) UpdateSSID(siteID string, id string, requestWirelessUp if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateSSID(siteID, id, requestWirelessUpdateSSID) + return s.UpdateASpecificSiteTagForAWirelessProfile(id, siteTagID, requestWirelessUpdateASpecificSiteTagForAWirelessProfile) } - return nil, response, fmt.Errorf("error with operation UpdateSsid") + return nil, response, fmt.Errorf("error with operation UpdateASpecificSiteTagForAWirelessProfile") } - result := response.Result().(*ResponseWirelessUpdateSSID) + result := response.Result().(*ResponseWirelessUpdateASpecificSiteTagForAWirelessProfile) return result, response, err } -//UpdateWirelessProfile Update Wireless Profile - cfbd-3870-405a-ad55 -/* Updates the wireless Network Profile with updated details provided. All sites to be present in the network profile should be provided. +//UpdateAnchorGroup Update AnchorGroup - 4da3-bae4-484a-8448 +/* This API allows the user to update an AnchorGroup - */ -func (s *WirelessService) UpdateWirelessProfile(requestWirelessUpdateWirelessProfile *RequestWirelessUpdateWirelessProfile) (*ResponseWirelessUpdateWirelessProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/profile" +@param id id path parameter. AnchorGroup ID + +*/ +func (s *WirelessService) UpdateAnchorGroup(id string, requestWirelessUpdateAnchorGroup *RequestWirelessUpdateAnchorGroup) (*ResponseWirelessUpdateAnchorGroup, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/anchorGroups/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessUpdateWirelessProfile). - SetResult(&ResponseWirelessUpdateWirelessProfile{}). + SetBody(requestWirelessUpdateAnchorGroup). + SetResult(&ResponseWirelessUpdateAnchorGroup{}). SetError(&Error). Put(path) @@ -4215,42 +8450,32 @@ func (s *WirelessService) UpdateWirelessProfile(requestWirelessUpdateWirelessPro if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateWirelessProfile(requestWirelessUpdateWirelessProfile) + return s.UpdateAnchorGroup(id, requestWirelessUpdateAnchorGroup) } - return nil, response, fmt.Errorf("error with operation UpdateWirelessProfile") + return nil, response, fmt.Errorf("error with operation UpdateAnchorGroup") } - result := response.Result().(*ResponseWirelessUpdateWirelessProfile) + result := response.Result().(*ResponseWirelessUpdateAnchorGroup) return result, response, err } -//ProvisionUpdate Provision update - 87a5-ab04-4139-862d -/* Updates wireless provisioning +//UpdateApAuthorizationList Update AP Authorization List - 768b-0b99-4189-986e +/* This API allows the user to update an AP Authorization List. -@param ProvisionUpdateHeaderParams Custom header parameters +@param id id path parameter. AP Authorization List ID + */ -func (s *WirelessService) ProvisionUpdate(requestWirelessProvisionUpdate *RequestWirelessProvisionUpdate, ProvisionUpdateHeaderParams *ProvisionUpdateHeaderParams) (*ResponseWirelessProvisionUpdate, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/provision" +func (s *WirelessService) UpdateApAuthorizationList(id string, requestWirelessUpdateAPAuthorizationList *RequestWirelessUpdateApAuthorizationList) (*ResponseWirelessUpdateApAuthorizationList, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apAuthorizationLists/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - var response *resty.Response - var err error - clientRequest := s.client.R(). + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") - - if ProvisionUpdateHeaderParams != nil { - - if ProvisionUpdateHeaderParams.Persistbapioutput != "" { - clientRequest = clientRequest.SetHeader("__persistbapioutput", ProvisionUpdateHeaderParams.Persistbapioutput) - } - - } - - response, err = clientRequest. - SetBody(requestWirelessProvisionUpdate). - SetResult(&ResponseWirelessProvisionUpdate{}). + SetHeader("Accept", "application/json"). + SetBody(requestWirelessUpdateAPAuthorizationList). + SetResult(&ResponseWirelessUpdateApAuthorizationList{}). SetError(&Error). Put(path) @@ -4261,32 +8486,32 @@ func (s *WirelessService) ProvisionUpdate(requestWirelessProvisionUpdate *Reques if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ProvisionUpdate(requestWirelessProvisionUpdate, ProvisionUpdateHeaderParams) + return s.UpdateApAuthorizationList(id, requestWirelessUpdateAPAuthorizationList) } - return nil, response, fmt.Errorf("error with operation ProvisionUpdate") + return nil, response, fmt.Errorf("error with operation UpdateApAuthorizationList") } - result := response.Result().(*ResponseWirelessProvisionUpdate) + result := response.Result().(*ResponseWirelessUpdateApAuthorizationList) return result, response, err } -//UpdateWirelessProfileConnectivity Update Wireless Profile - 4f88-d9a3-4ef8-8e2e -/* This API allows the user to update a Wireless Network Profile by ID +//UpdateApProfileByID Update AP Profile by ID - 41b5-ea3b-43b8-9d57 +/* This API allows the user to update a custom AP Profile -@param id id path parameter. Wireless Profile Id +@param id id path parameter. Ap Profile ID */ -func (s *WirelessService) UpdateWirelessProfileConnectivity(id string, requestWirelessUpdateWirelessProfileConnectivity *RequestWirelessUpdateWirelessProfileConnectivity) (*ResponseWirelessUpdateWirelessProfileConnectivity, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessProfiles/{id}" +func (s *WirelessService) UpdateApProfileByID(id string, requestWirelessUpdateAPProfileByID *RequestWirelessUpdateApProfileByID) (*ResponseWirelessUpdateApProfileByID, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apProfiles/{id}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessUpdateWirelessProfileConnectivity). - SetResult(&ResponseWirelessUpdateWirelessProfileConnectivity{}). + SetBody(requestWirelessUpdateAPProfileByID). + SetResult(&ResponseWirelessUpdateApProfileByID{}). SetError(&Error). Put(path) @@ -4297,12 +8522,12 @@ func (s *WirelessService) UpdateWirelessProfileConnectivity(id string, requestWi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateWirelessProfileConnectivity(id, requestWirelessUpdateWirelessProfileConnectivity) + return s.UpdateApProfileByID(id, requestWirelessUpdateAPProfileByID) } - return nil, response, fmt.Errorf("error with operation UpdateWirelessProfileConnectivity") + return nil, response, fmt.Errorf("error with operation UpdateApProfileById") } - result := response.Result().(*ResponseWirelessUpdateWirelessProfileConnectivity) + result := response.Result().(*ResponseWirelessUpdateApProfileByID) return result, response, err } @@ -4379,8 +8604,44 @@ func (s *WirelessService) UpdateInterface(id string, requestWirelessUpdateInterf } +//UpdatePowerProfileByID Update Power Profile by ID - 6f86-19b1-478a-9a5e +/* This API allows the user to update a custom power Profile + + +@param id id path parameter. Power Profile Id + +*/ +func (s *WirelessService) UpdatePowerProfileByID(id string, requestWirelessUpdatePowerProfileByID *RequestWirelessUpdatePowerProfileByID) (*ResponseWirelessUpdatePowerProfileByID, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/powerProfiles/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestWirelessUpdatePowerProfileByID). + SetResult(&ResponseWirelessUpdatePowerProfileByID{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdatePowerProfileByID(id, requestWirelessUpdatePowerProfileByID) + } + return nil, response, fmt.Errorf("error with operation UpdatePowerProfileById") + } + + result := response.Result().(*ResponseWirelessUpdatePowerProfileByID) + return result, response, err + +} + //UpdateRfProfile Update RF Profile - 2984-b995-4ae9-b3c3 -/* This API allows the user to update a custom RF Profile +/* This API allows the user to update a custom RF Profile. @param id id path parameter. RF Profile ID @@ -4425,7 +8686,7 @@ func (s *WirelessService) UpdateRfProfile(id string, requestWirelessUpdateRFProf @param DeleteSSIDAndProvisionItToDevicesHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-ssid-and-provision-it-to-devices-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-ssid-and-provision-it-to-devices */ func (s *WirelessService) DeleteSSIDAndProvisionItToDevices(ssidName string, managedAPLocations string, DeleteSSIDAndProvisionItToDevicesHeaderParams *DeleteSSIDAndProvisionItToDevicesHeaderParams) (*ResponseWirelessDeleteSSIDAndProvisionItToDevices, *resty.Response, error) { //ssidName string,managedAPLocations string,DeleteSSIDAndProvisionItToDevicesHeaderParams *DeleteSSIDAndProvisionItToDevicesHeaderParams @@ -4476,7 +8737,7 @@ func (s *WirelessService) DeleteSSIDAndProvisionItToDevices(ssidName string, man @param ssidName ssidName path parameter. Enter the SSID name to be deleted -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-enterprise-ssid-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-enterprise-ssid */ func (s *WirelessService) DeleteEnterpriseSSID(ssidName string) (*ResponseWirelessDeleteEnterpriseSSID, *resty.Response, error) { //ssidName string @@ -4508,7 +8769,7 @@ func (s *WirelessService) DeleteEnterpriseSSID(ssidName string) (*ResponseWirele } //DeleteSSID Delete SSID - acbe-8b6f-4e8b-9f6a -/* This API allows the user to delete an SSID (Service Set Identifier) at the global level, if the SSID is not mapped to any Wireless Profile +/* This API allows the user to delete an SSID (Service Set Identifier) at the global level , if the SSID is not mapped to any Wireless Profile, Or remove override from given site Id . @param siteID siteId path parameter. Site UUID where SSID is to be deleted @@ -4516,7 +8777,7 @@ func (s *WirelessService) DeleteEnterpriseSSID(ssidName string) (*ResponseWirele @param id id path parameter. SSID ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-ssid-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-ssid */ func (s *WirelessService) DeleteSSID(siteID string, id string) (*ResponseWirelessDeleteSSID, *resty.Response, error) { //siteID string,id string @@ -4555,7 +8816,7 @@ func (s *WirelessService) DeleteSSID(siteID string, id string) (*ResponseWireles @param wirelessProfileName wirelessProfileName path parameter. Wireless Profile Name -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-wireless-profile-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-wireless-profile */ func (s *WirelessService) DeleteWirelessProfile(wirelessProfileName string) (*ResponseWirelessDeleteWirelessProfile, *resty.Response, error) { //wirelessProfileName string @@ -4593,7 +8854,7 @@ func (s *WirelessService) DeleteWirelessProfile(wirelessProfileName string) (*Re @param DeleteDynamicInterfaceHeaderParams Custom header parameters @param DeleteDynamicInterfaceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-dynamic-interface-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-dynamic-interface */ func (s *WirelessService) DeleteDynamicInterface(DeleteDynamicInterfaceHeaderParams *DeleteDynamicInterfaceHeaderParams, DeleteDynamicInterfaceQueryParams *DeleteDynamicInterfaceQueryParams) (*ResponseWirelessDeleteDynamicInterface, *resty.Response, error) { //DeleteDynamicInterfaceHeaderParams *DeleteDynamicInterfaceHeaderParams,DeleteDynamicInterfaceQueryParams *DeleteDynamicInterfaceQueryParams @@ -4648,7 +8909,7 @@ func (s *WirelessService) DeleteDynamicInterface(DeleteDynamicInterfaceHeaderPar @param rfProfileName rfProfileName path parameter. RF profile name to be deleted(required) *non-custom RF profile cannot be deleted -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-rf-profiles-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-rf-profiles */ func (s *WirelessService) DeleteRfProfiles(rfProfileName string) (*ResponseWirelessDeleteRfProfiles, *resty.Response, error) { //rfProfileName string @@ -4686,7 +8947,7 @@ func (s *WirelessService) DeleteRfProfiles(rfProfileName string) (*ResponseWirel @param id id path parameter. Wireless Profile Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-wireless-profile-connectivity-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-wireless-profile-connectivity */ func (s *WirelessService) DeleteWirelessProfileConnectivity(id string) (*ResponseWirelessDeleteWirelessProfileConnectivity, *resty.Response, error) { //id string @@ -4717,6 +8978,202 @@ func (s *WirelessService) DeleteWirelessProfileConnectivity(id string) (*Respons } +//DeleteASpecificPolicyTagFromAWirelessProfile Delete a specific Policy Tag from a Wireless Profile - 4da4-fa50-4b89-a098 +/* This endpoint allows for the deletion of a specific `Policy Tag` associated with a given `Wireless Profile`. This API requires the `id` of the `Wireless Profile` and the `policyTagId` of the `Policy Tag` to be provided as path parameters. + + +@param id id path parameter. Wireless Profile Id + +@param policyTagID policyTagId path parameter. Policy Tag Id + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-a-specific-policy-tag-from-a-wireless-profile +*/ +func (s *WirelessService) DeleteASpecificPolicyTagFromAWirelessProfile(id string, policyTagID string) (*ResponseWirelessDeleteASpecificPolicyTagFromAWirelessProfile, *resty.Response, error) { + //id string,policyTagID string + path := "/dna/intent/api/v1/wirelessProfiles/{id}/policyTags/{policyTagId}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{policyTagId}", fmt.Sprintf("%v", policyTagID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessDeleteASpecificPolicyTagFromAWirelessProfile{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteASpecificPolicyTagFromAWirelessProfile(id, policyTagID) + } + return nil, response, fmt.Errorf("error with operation DeleteASpecificPolicyTagFromAWirelessProfile") + } + + result := response.Result().(*ResponseWirelessDeleteASpecificPolicyTagFromAWirelessProfile) + return result, response, err + +} + +//DeleteASpecificSiteTagFromAWirelessProfile Delete a specific Site Tag from a Wireless Profile - e090-8a9d-4e2b-858f +/* This endpoint enables the deletion of a specific `Site Tag` associated with a given `Wireless Profile`. This API requires the `id` of the `Wireless Profile` and the `siteTagId` of the `Site Tag` to be provided as path parameters. + + +@param id id path parameter. Wireless Profile id + +@param siteTagID siteTagId path parameter. Site Tag Id + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-a-specific-site-tag-from-a-wireless-profile +*/ +func (s *WirelessService) DeleteASpecificSiteTagFromAWirelessProfile(id string, siteTagID string) (*ResponseWirelessDeleteASpecificSiteTagFromAWirelessProfile, *resty.Response, error) { + //id string,siteTagID string + path := "/dna/intent/api/v1/wirelessProfiles/{id}/siteTags/{siteTagId}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{siteTagId}", fmt.Sprintf("%v", siteTagID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessDeleteASpecificSiteTagFromAWirelessProfile{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteASpecificSiteTagFromAWirelessProfile(id, siteTagID) + } + return nil, response, fmt.Errorf("error with operation DeleteASpecificSiteTagFromAWirelessProfile") + } + + result := response.Result().(*ResponseWirelessDeleteASpecificSiteTagFromAWirelessProfile) + return result, response, err + +} + +//DeleteAnchorGroupByID Delete AnchorGroup by ID - 6d83-eb95-46eb-9276 +/* This API allows the user to delete an AnchorGroup by specifying the AnchorGroup ID + + +@param id id path parameter. AnchorGroup ID + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-anchor-group-by-id +*/ +func (s *WirelessService) DeleteAnchorGroupByID(id string) (*ResponseWirelessDeleteAnchorGroupByID, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/wirelessSettings/anchorGroups/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessDeleteAnchorGroupByID{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteAnchorGroupByID(id) + } + return nil, response, fmt.Errorf("error with operation DeleteAnchorGroupById") + } + + result := response.Result().(*ResponseWirelessDeleteAnchorGroupByID) + return result, response, err + +} + +//DeleteApAuthorizationList Delete AP Authorization List - 96a5-e901-47a8-8a31 +/* This API allows the user to delete an AP Authorization List. + + +@param id id path parameter. AP Authorization List ID + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-ap-authorization-list +*/ +func (s *WirelessService) DeleteApAuthorizationList(id string) (*ResponseWirelessDeleteApAuthorizationList, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/wirelessSettings/apAuthorizationLists/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessDeleteApAuthorizationList{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteApAuthorizationList(id) + } + return nil, response, fmt.Errorf("error with operation DeleteApAuthorizationList") + } + + result := response.Result().(*ResponseWirelessDeleteApAuthorizationList) + return result, response, err + +} + +//DeleteApProfileByID Delete AP Profile by ID - 5b95-78eb-452b-856b +/* This API allows the user to delete an AP Profile by specifying the AP Profile ID. + + +@param id id path parameter. AP Profile ID + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-ap-profile-by-id +*/ +func (s *WirelessService) DeleteApProfileByID(id string) (*ResponseWirelessDeleteApProfileByID, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/wirelessSettings/apProfiles/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessDeleteApProfileByID{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteApProfileByID(id) + } + return nil, response, fmt.Errorf("error with operation DeleteApProfileById") + } + + result := response.Result().(*ResponseWirelessDeleteApProfileByID) + return result, response, err + +} + //DeleteA80211BeProfile Delete a 802.11be Profile - e9b0-98c2-4b49-8fe6 /* This API allows the user to delete a 802.11be Profile,if the 802.11be Profile is not mapped to any Wireless Network Profile @@ -4724,7 +9181,7 @@ func (s *WirelessService) DeleteWirelessProfileConnectivity(id string) (*Respons @param id id path parameter. 802.11be Profile ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-a80211be-profile-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-a80211be-profile */ func (s *WirelessService) DeleteA80211BeProfile(id string) (*ResponseWirelessDeleteA80211BeProfile, *resty.Response, error) { //id string @@ -4762,7 +9219,7 @@ func (s *WirelessService) DeleteA80211BeProfile(id string) (*ResponseWirelessDel @param id id path parameter. Interface ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-interface-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-interface */ func (s *WirelessService) DeleteInterface(id string) (*ResponseWirelessDeleteInterface, *resty.Response, error) { //id string @@ -4793,6 +9250,44 @@ func (s *WirelessService) DeleteInterface(id string) (*ResponseWirelessDeleteInt } +//DeletePowerProfileByID Delete Power Profile by ID - 0eb7-faa1-41a9-9490 +/* This API allows the user to delete an Power Profile by specifying the Power Profile ID. + + +@param id id path parameter. Power Profile ID + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-power-profile-by-id +*/ +func (s *WirelessService) DeletePowerProfileByID(id string) (*ResponseWirelessDeletePowerProfileByID, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/wirelessSettings/powerProfiles/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessDeletePowerProfileByID{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeletePowerProfileByID(id) + } + return nil, response, fmt.Errorf("error with operation DeletePowerProfileById") + } + + result := response.Result().(*ResponseWirelessDeletePowerProfileByID) + return result, response, err + +} + //DeleteRfProfile Delete RF Profile - 2f8a-799d-4fa9-ac0e /* This API allows the user to delete a custom RF Profile @@ -4800,7 +9295,7 @@ func (s *WirelessService) DeleteInterface(id string) (*ResponseWirelessDeleteInt @param id id path parameter. RF Profile ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-rf-profile-v1 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-rf-profile */ func (s *WirelessService) DeleteRfProfile(id string) (*ResponseWirelessDeleteRfProfile, *resty.Response, error) { //id string From cb1d6c0932dfba5b554379bd96fae2f48ce24b7c Mon Sep 17 00:00:00 2001 From: JosePabloOcampo1212 Date: Mon, 27 Jan 2025 10:07:52 -0600 Subject: [PATCH 2/5] update readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 221da65..0c92b0f 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,9 @@ if devices.Response != nil { ``` ## Documentation -### dnacenter-go-sdk/v5 +### dnacenter-go-sdk/v7 +[![PkgGoDev](https://pkg.go.dev/badge/github.com/)](https://pkg.go.dev/github.com/cisco-en-programmability/dnacenter-go-sdk/v7) +### dnacenter-go-sdk/v6 [![PkgGoDev](https://pkg.go.dev/badge/github.com/)](https://pkg.go.dev/github.com/cisco-en-programmability/dnacenter-go-sdk/v6) ### dnacenter-go-sdk/v5 [![PkgGoDev](https://pkg.go.dev/badge/github.com/)](https://pkg.go.dev/github.com/cisco-en-programmability/dnacenter-go-sdk/v5) From 0c2cff47820659a3a9671aecb816220bf9755e41 Mon Sep 17 00:00:00 2001 From: JosePabloOcampo1212 Date: Tue, 4 Feb 2025 15:34:00 -0600 Subject: [PATCH 3/5] Errors in 2.3.7.9 version --- sdk/api_client.go | 1 + sdk/cisco_i_m_c.go | 274 +++++++++++++++++++++++++++++++++ sdk/configuration_templates.go | 29 ++-- sdk/device_onboarding_pnp.go | 8 +- sdk/devices.go | 23 +++ sdk/eox.go | 9 +- sdk/itsm_integration.go | 15 +- sdk/licenses.go | 20 +++ sdk/network_settings.go | 2 +- sdk/sensors.go | 22 +-- sdk/site_design.go | 12 +- sdk/sites.go | 38 +++-- sdk/task.go | 46 +++--- 13 files changed, 420 insertions(+), 79 deletions(-) create mode 100644 sdk/cisco_i_m_c.go diff --git a/sdk/api_client.go b/sdk/api_client.go index afa8c86..eb14f0b 100644 --- a/sdk/api_client.go +++ b/sdk/api_client.go @@ -49,6 +49,7 @@ type Client struct { ApplicationPolicy *ApplicationPolicyService Applications *ApplicationsService AuthenticationManagement *AuthenticationManagementService + CiscoIMC *CiscoIMCService CiscoTrustedCertificates *CiscoTrustedCertificatesService Clients *ClientsService CommandRunner *CommandRunnerService diff --git a/sdk/cisco_i_m_c.go b/sdk/cisco_i_m_c.go new file mode 100644 index 0000000..373e70f --- /dev/null +++ b/sdk/cisco_i_m_c.go @@ -0,0 +1,274 @@ +package dnac + +import ( + "fmt" + "net/http" + "strings" + + "github.com/go-resty/resty/v2" +) + +type CiscoIMCService service + +type ResponseCiscoIMCaddsCiscoIMCConfigurationToACatalystCenterNode struct { + Response *ResponseCiscoIMCaddsCiscoIMCConfigurationToACatalystCenterNodeResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseCiscoIMCaddsCiscoIMCConfigurationToACatalystCenterNodeResponse struct { + TaskID string `json:"taskId,omitempty"` // The UUID of the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task +} +type ResponseCiscoIMCRetrievesCiscoIMCConfigurationsForCatalystCenterNodes struct { + Response *[]ResponseCiscoIMCRetrievesCiscoIMCConfigurationsForCatalystCenterNodesResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseCiscoIMCRetrievesCiscoIMCConfigurationsForCatalystCenterNodesResponse struct { + ID string `json:"id,omitempty"` // The unique identifier for this Cisco IMC configuration + + NodeID string `json:"nodeId,omitempty"` // The UUID that represents the Catalyst Center node. Its value can be obtained from the `id` attribute of the response of the `/dna/intent/api//nodes-config` API. + + IPAddress string `json:"ipAddress,omitempty"` // IP address of the Cisco IMC + + Username string `json:"username,omitempty"` // Username of the Cisco IMC +} +type ResponseCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode struct { + Response *ResponseCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNodeResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNodeResponse struct { + TaskID string `json:"taskId,omitempty"` // The UUID of the task + + URL string `json:"url,omitempty"` // The path to the API endpoint to GET for information on the task +} +type ResponseCiscoIMCRetrievesTheCiscoIMCConfigurationForACatalystCenterNode struct { + Response *ResponseCiscoIMCRetrievesTheCiscoIMCConfigurationForACatalystCenterNodeResponse `json:"response,omitempty"` // + + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseCiscoIMCRetrievesTheCiscoIMCConfigurationForACatalystCenterNodeResponse struct { + ID string `json:"id,omitempty"` // The unique identifier for this Cisco IMC configuration + + NodeID string `json:"nodeId,omitempty"` // The UUID that represents the Catalyst Center node. Its value can be obtained from the `id` attribute of the response of the `/dna/intent/api//nodes-config` API. + + IPAddress string `json:"ipAddress,omitempty"` // IP address of the Cisco IMC + + Username string `json:"username,omitempty"` // Username of the Cisco IMC +} +type RequestCiscoIMCaddsCiscoIMCConfigurationToACatalystCenterNode struct { + NodeID string `json:"nodeId,omitempty"` // The UUID that represents the Catalyst Center node. Its value can be obtained from the `id` attribute of the response of the `/dna/intent/api//nodes-config` API. + + IPAddress string `json:"ipAddress,omitempty"` // IP address of the Cisco IMC + + Username string `json:"username,omitempty"` // Username of the Cisco IMC + + Password string `json:"password,omitempty"` // Password of the Cisco IMC +} +type RequestCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode struct { + IPAddress string `json:"ipAddress,omitempty"` // IP address of the Cisco IMC + + Username string `json:"username,omitempty"` // Username of the Cisco IMC + + Password string `json:"password,omitempty"` // Password of the Cisco IMC +} + +//RetrievesCiscoIMCConfigurationsForCatalystCenterNodes Retrieves Cisco IMC configurations for Catalyst Center nodes - 0082-89c2-45e8-a710 +/* This API retrieves the configurations of the Cisco Integrated Management Controller (IMC) that have been added to the Catalyst Center nodes. +The Cisco IMC configuration APIs enable the management of connections between Cisco IMC and Cisco Catalyst Center. By providing the Cisco IMC IP address and credentials to Catalyst Center, Catalyst Center can access and report the health status of hardware components within the Cisco appliance. +More data about the Cisco IMC can be retrieved using the APIs exposed directly by Cisco IMC. Details are available in the Cisco IMC documentation https://www.cisco.com/c/en/us/support/servers-unified-computing/ucs-c-series-integrated-management-controller/series.html#~tab-documents +The Cisco IMC configuration is relevant only for Catalyst Center deployments based on UCS appliances. In cases where Cisco IMC configuration is not supported by the deployment, these APIs will respond with a `404 Not Found` status code. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-cisco-i-m-c-configurations-for-catalyst-center-nodes- +*/ +func (s *CiscoIMCService) RetrievesCiscoIMCConfigurationsForCatalystCenterNodes() (*ResponseCiscoIMCRetrievesCiscoIMCConfigurationsForCatalystCenterNodes, *resty.Response, error) { + path := "/dna/system/api//ciscoImcs" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseCiscoIMCRetrievesCiscoIMCConfigurationsForCatalystCenterNodes{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesCiscoIMCConfigurationsForCatalystCenterNodes() + } + return nil, response, fmt.Errorf("error with operation RetrievesCiscoIMCConfigurationsForCatalystCenterNodes") + } + + result := response.Result().(*ResponseCiscoIMCRetrievesCiscoIMCConfigurationsForCatalystCenterNodes) + return result, response, err + +} + +//RetrievesTheCiscoIMCConfigurationForACatalystCenterNode Retrieves the Cisco IMC configuration for a Catalyst Center node - 859a-6890-4039-b518 +/* This API retrieves the Cisco Integrated Management Controller (IMC) configuration for a Catalyst Center node, identified by the specified ID. +The Cisco IMC configuration APIs enable the management of connections between Cisco IMC and Cisco Catalyst Center. By providing the Cisco IMC IP address and credentials to Catalyst Center, Catalyst Center can access and report the health status of hardware components within the Cisco appliance. +More data about the Cisco IMC can be retrieved using the APIs exposed directly by Cisco IMC. Details are available in the Cisco IMC documentation https://www.cisco.com/c/en/us/support/servers-unified-computing/ucs-c-series-integrated-management-controller/series.html#~tab-documents +The Cisco IMC configuration is relevant only for Catalyst Center deployments based on UCS appliances. In cases where Cisco IMC configuration is not supported by the deployment, these APIs will respond with a `404 Not Found` status code. + + +@param id id path parameter. The unique identifier for this Cisco IMC configuration + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-cisco-i-m-c-configuration-for-a-catalyst-center-node- +*/ +func (s *CiscoIMCService) RetrievesTheCiscoIMCConfigurationForACatalystCenterNode(id string) (*ResponseCiscoIMCRetrievesTheCiscoIMCConfigurationForACatalystCenterNode, *resty.Response, error) { + path := "/dna/system/api//ciscoImcs/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseCiscoIMCRetrievesTheCiscoIMCConfigurationForACatalystCenterNode{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheCiscoIMCConfigurationForACatalystCenterNode(id) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheCiscoIMCConfigurationForACatalystCenterNode") + } + + result := response.Result().(*ResponseCiscoIMCRetrievesTheCiscoIMCConfigurationForACatalystCenterNode) + return result, response, err + +} + +//AddsCiscoIMCConfigurationToACatalystCenterNode Adds Cisco IMC configuration to a Catalyst Center node - 98a8-a97d-4ba8-b8d1 +/* This API adds a Cisco Integrated Management Controller (IMC) configuration to a Cisco Catalyst Center node, identified by its `nodeId`. Obtain the `nodeId` from the `id` attribute in the response of the `/dna/intent/api//nodes-config` API. +The Cisco IMC configuration APIs enable the management of connections between Cisco IMC and Cisco Catalyst Center. By providing the Cisco IMC IP address and credentials to Catalyst Center, Catalyst Center can access and report the health status of hardware components within the Cisco appliance. +More data about the Cisco IMC can be retrieved using the APIs exposed directly by Cisco IMC. Details are available in the Cisco IMC documentation https://www.cisco.com/c/en/us/support/servers-unified-computing/ucs-c-series-integrated-management-controller/series.html#~tab-documents +The Cisco IMC configuration is relevant only for Catalyst Center deployments based on UCS appliances. In cases where Cisco IMC configuration is not supported by the deployment, these APIs will respond with a `404 Not Found` status code. +When Cisco IMC configuration is supported, this API responds with the URL of a diagnostic task. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!adds-cisco-i-m-c-configuration-to-a-catalyst-center-node- +*/ +func (s *CiscoIMCService) AddsCiscoIMCConfigurationToACatalystCenterNode(requestCiscoIMCAddsCiscoIMCConfigurationToACatalystCenterNode *RequestCiscoIMCaddsCiscoIMCConfigurationToACatalystCenterNode) (*ResponseCiscoIMCaddsCiscoIMCConfigurationToACatalystCenterNode, *resty.Response, error) { + path := "/dna/system/api//ciscoImcs" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestCiscoIMCAddsCiscoIMCConfigurationToACatalystCenterNode). + SetResult(&ResponseCiscoIMCaddsCiscoIMCConfigurationToACatalystCenterNode{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.AddsCiscoIMCConfigurationToACatalystCenterNode(requestCiscoIMCAddsCiscoIMCConfigurationToACatalystCenterNode) + } + + return nil, response, fmt.Errorf("error with operation AddsCiscoIMCConfigurationToACatalystCenterNode") + } + + result := response.Result().(*ResponseCiscoIMCaddsCiscoIMCConfigurationToACatalystCenterNode) + return result, response, err + +} + +//UpdatesTheCiscoIMCConfigurationForACatalystCenterNode Updates the Cisco IMC configuration for a Catalyst Center node - 6fbc-298f-4879-ad03 +/* This API updates the Cisco Integrated Management Controller (IMC) configuration for a Catalyst Center node, identified by the specified ID. +The Cisco IMC configuration APIs enable the management of connections between Cisco IMC and Cisco Catalyst Center. By providing the Cisco IMC IP address and credentials to Catalyst Center, Catalyst Center can access and report the health status of hardware components within the Cisco appliance. +More data about the Cisco IMC can be retrieved using the APIs exposed directly by Cisco IMC. Details are available in the Cisco IMC documentation https://www.cisco.com/c/en/us/support/servers-unified-computing/ucs-c-series-integrated-management-controller/series.html#~tab-documents +The Cisco IMC configuration is relevant only for Catalyst Center deployments based on UCS appliances. In cases where Cisco IMC configuration is not supported by the deployment, these APIs will respond with a `404 Not Found` status code. +When Cisco IMC configuration is supported, this API responds with the URL of a diagnostic task. + + +@param id id path parameter. The unique identifier for this Cisco IMC configuration + +*/ +func (s *CiscoIMCService) UpdatesTheCiscoIMCConfigurationForACatalystCenterNode(id string, requestCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode *RequestCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode) (*ResponseCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode, *resty.Response, error) { + path := "/dna/system/api//ciscoImcs/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode). + SetResult(&ResponseCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdatesTheCiscoIMCConfigurationForACatalystCenterNode(id, requestCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode) + } + return nil, response, fmt.Errorf("error with operation UpdatesTheCiscoIMCConfigurationForACatalystCenterNode") + } + + result := response.Result().(*ResponseCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode) + return result, response, err + +} + +//DeletesTheCiscoIMCConfigurationForACatalystCenterNode Deletes the Cisco IMC configuration for a Catalyst Center node - 0491-cab9-4859-b64d +/* This API removes a specific Cisco Integrated Management Controller (IMC) configuration from a Catalyst Center node using the provided identifier. +The Cisco IMC configuration APIs enable the management of connections between Cisco IMC and Cisco Catalyst Center. By providing the Cisco IMC IP address and credentials to Catalyst Center, Catalyst Center can access and report the health status of hardware components within the Cisco appliance. +More data about the Cisco IMC can be retrieved using the APIs exposed directly by Cisco IMC. Details are available in the Cisco IMC documentation https://www.cisco.com/c/en/us/support/servers-unified-computing/ucs-c-series-integrated-management-controller/series.html#~tab-documents +The Cisco IMC configuration is relevant only for Catalyst Center deployments based on UCS appliances. In cases where Cisco IMC configuration is not supported by the deployment, these APIs will respond with a `404 Not Found` status code. + + +@param id id path parameter. The unique identifier for this Cisco IMC configuration + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deletes-the-cisco-i-m-c-configuration-for-a-catalyst-center-node- +*/ +func (s *CiscoIMCService) DeletesTheCiscoIMCConfigurationForACatalystCenterNode(id string) (*resty.Response, error) { + //id string + path := "/dna/system/api//ciscoImcs/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeletesTheCiscoIMCConfigurationForACatalystCenterNode( + id) + } + return response, fmt.Errorf("error with operation DeletesTheCiscoIMCConfigurationForACatalystCenterNode") + } + + return response, err + +} diff --git a/sdk/configuration_templates.go b/sdk/configuration_templates.go index f4e5f6f..d31ed87 100644 --- a/sdk/configuration_templates.go +++ b/sdk/configuration_templates.go @@ -63,11 +63,11 @@ type GetTemplateVersionsCountQueryParams struct { LatestVersion bool `url:"latestVersion,omitempty"` //Filter response to only include the latest version of a template } type GetProjectsDetailsV2QueryParams struct { - ID string `url:"id,omitempty"` //Id of project to be searched - Name string `url:"name,omitempty"` //Name of project to be searched - Offset int `url:"offset,omitempty"` //Index of first result - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. - SortOrder string `url:"sortOrder,omitempty"` //Sort Order Ascending (asc) or Descending (dsc) + ID string `url:"id,omitempty"` //Id of project to be searched + Name string `url:"name,omitempty"` //Name of project to be searched + Offset int `url:"offset,omitempty"` //Index of first result + Limit int `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + SortOrder string `url:"sortOrder,omitempty"` //Sort Order Ascending (asc) or Descending (dsc) } type GetTemplatesDetailsV2QueryParams struct { ID string `url:"id,omitempty"` //Id of template to be searched @@ -86,7 +86,7 @@ type GetTemplatesDetailsV2QueryParams struct { AllTemplateAttributes bool `url:"allTemplateAttributes,omitempty"` //Return all template attributes IncludeVersionDetails bool `url:"includeVersionDetails,omitempty"` //Include template version details Offset int `url:"offset,omitempty"` //Index of first result - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + Limit int `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. } type ResponseConfigurationTemplatesCreateTemplateProject struct { @@ -957,9 +957,7 @@ type ResponseConfigurationTemplatesGetsDetailsOfAGivenTemplateValidationErrors s } type ResponseConfigurationTemplatesGetsDetailsOfAGivenTemplateValidationErrorsRollbackTemplateErrors interface{} type ResponseConfigurationTemplatesGetsDetailsOfAGivenTemplateValidationErrorsTemplateErrors interface{} -type ResponseConfigurationTemplatesRetrieveTheNetworkProfilesAttachedToACLITemplate struct { - object string `json:"object,omitempty"` // object -} +type ResponseConfigurationTemplatesRetrieveTheNetworkProfilesAttachedToACLITemplate interface{} type ResponseConfigurationTemplatesAttachNetworkProfileToADayNCliTemplate struct { Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 Response *ResponseConfigurationTemplatesAttachNetworkProfileToADayNCliTemplateResponse `json:"response,omitempty"` // @@ -2370,21 +2368,20 @@ func (s *ConfigurationTemplatesService) GetsDetailsOfAGivenTemplate(templateID s @param templateID templateId path parameter. The `id` of the template, retrievable from `GET /intent/api/v1/templates` -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-network-profiles-attached-to-acl-i-template +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-network-profiles-attached-to-acli-template */ -func (s *ConfigurationTemplatesService) RetrieveTheNetworkProfilesAttachedToACLITemplate(templateID string) (*ResponseConfigurationTemplatesRetrieveTheNetworkProfilesAttachedToACLITemplate, *resty.Response, error) { +func (s *ConfigurationTemplatesService) RetrieveTheNetworkProfilesAttachedToACLITemplate(templateID string) (*resty.Response, error) { path := "/dna/intent/api/v1/templates/{templateId}/networkProfilesForSites" path = strings.Replace(path, "{templateId}", fmt.Sprintf("%v", templateID), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseConfigurationTemplatesRetrieveTheNetworkProfilesAttachedToACLITemplate{}). SetError(&Error). Get(path) if err != nil { - return nil, nil, err + return nil, err } @@ -2392,11 +2389,9 @@ func (s *ConfigurationTemplatesService) RetrieveTheNetworkProfilesAttachedToACLI if response.StatusCode() == http.StatusUnauthorized { return s.RetrieveTheNetworkProfilesAttachedToACLITemplate(templateID) } - return nil, response, fmt.Errorf("error with operation RetrieveTheNetworkProfilesAttachedToAclITemplate") + return response, fmt.Errorf("error with operation RetrieveTheNetworkProfilesAttachedToAclITemplate") } - - result := response.Result().(*ResponseConfigurationTemplatesRetrieveTheNetworkProfilesAttachedToACLITemplate) - return result, response, err + return response, err } diff --git a/sdk/device_onboarding_pnp.go b/sdk/device_onboarding_pnp.go index 72f8cb3..4cb77fe 100644 --- a/sdk/device_onboarding_pnp.go +++ b/sdk/device_onboarding_pnp.go @@ -12,8 +12,8 @@ import ( type DeviceOnboardingPnpService service type GetDeviceListSiteManagementQueryParams struct { - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. The minimum and maximum values are 0 and 500, respectively - Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 0. The Minimum value is 0 + Limit int `url:"limit,omitempty"` //The number of records to show for this page. The minimum and maximum values are 0 and 500, respectively + Offset int `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 0. The Minimum value is 0 Sort []string `url:"sort,omitempty"` //Comma seperated list of fields to sort on SortOrder string `url:"sortOrder,omitempty"` //Sort Order Ascending (asc) or Descending (des) SerialNumber []string `url:"serialNumber,omitempty"` //Device Serial Number @@ -54,8 +54,8 @@ type DeregisterVirtualAccountQueryParams struct { Name string `url:"name,omitempty"` //Virtual Account Name } type GetWorkflowsQueryParams struct { - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. The minimum and maximum values are 0 and 500, respectively - Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 0. The Minimum value is 0 + Limit int `url:"limit,omitempty"` //The number of records to show for this page. The minimum and maximum values are 0 and 500, respectively + Offset int `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 0. The Minimum value is 0 Sort []string `url:"sort,omitempty"` //Comma seperated lost of fields to sort on SortOrder string `url:"sortOrder,omitempty"` //Sort Order Ascending (asc) or Descending (des) Type []string `url:"type,omitempty"` //Workflow Type diff --git a/sdk/devices.go b/sdk/devices.go index da9dc75..1f88751 100644 --- a/sdk/devices.go +++ b/sdk/devices.go @@ -1829,6 +1829,7 @@ type ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDev ConnectedSwitchUUID string `json:"connectedSwitchUuid,omitempty"` // Connected Switch Uuid IeeeCompliant *bool `json:"ieeeCompliant,omitempty"` // Ieee Compliant ConnectedSwitchType string `json:"connectedSwitchType,omitempty"` // Connected Switch Type + SiteName string `json:"siteName,omitempty"` } type ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesPage struct { Limit *int `json:"limit,omitempty"` // Limit @@ -1987,6 +1988,7 @@ type ResponseDevicesGetTheInterfaceDataForTheGivenInterfaceIDinstanceUUIDAlongWi ConnectedSwitchUUID string `json:"connectedSwitchUuid,omitempty"` // Connected Switch Uuid IeeeCompliant *bool `json:"ieeeCompliant,omitempty"` // Ieee Compliant ConnectedSwitchType string `json:"connectedSwitchType,omitempty"` // Connected Switch Type + SiteName string `json:"siteName,omitempty"` } type ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRange struct { Response *[]ResponseDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeResponse `json:"response,omitempty"` // @@ -7668,6 +7670,27 @@ type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFilt EndTime *int `json:"endTime,omitempty"` // End Time Filters *[]RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters `json:"filters,omitempty"` // + + Views []string `json:"views,omitempty"` + + Attributes []string `json:"attributes,omitempty"` + + AggregateAttributes []RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes `json:"aggregateAttributes,omitempty"` + + Page *RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage `json:"page,omitempty"` +} +type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage struct { + Limit *int `json:"limit,omitempty"` + Offset *int `json:"offset,omitempty"` + SortBy *[]RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPageSortBy +} +type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPageSortBy struct { + Name string `json:"name,omitempty"` + Order string `json:"order,omitempty"` +} +type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes struct { + Name string `json:"name,omitempty"` + Function string `json:"function,omitempty"` } type RequestDevicesGetsTheTotalNumberNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters struct { Key string `json:"key,omitempty"` // Key diff --git a/sdk/eox.go b/sdk/eox.go index dd9c081..07a1400 100644 --- a/sdk/eox.go +++ b/sdk/eox.go @@ -6,6 +6,7 @@ import ( "strings" "github.com/go-resty/resty/v2" + "github.com/google/go-querystring/query" ) type EoXService service @@ -82,13 +83,15 @@ type ResponseEoXGetEoXSummaryResponse struct { Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-eox-status-for-all-devices */ -func (s *EoXService) GetEoXStatusForAllDevices() (*ResponseEoXGetEoXStatusForAllDevices, *resty.Response, error) { +func (s *EoXService) GetEoXStatusForAllDevices(GetEoXStatusForAllDevicesQueryParams *GetEoXStatusForAllDevicesQueryParams) (*ResponseEoXGetEoXStatusForAllDevices, *resty.Response, error) { path := "/dna/intent/api/v1/eox-status/device" + queryString, _ := query.Values(GetEoXStatusForAllDevicesQueryParams) + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseEoXGetEoXStatusForAllDevices{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseEoXGetEoXStatusForAllDevices{}). SetError(&Error). Get(path) @@ -99,7 +102,7 @@ func (s *EoXService) GetEoXStatusForAllDevices() (*ResponseEoXGetEoXStatusForAll if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetEoXStatusForAllDevices() + return s.GetEoXStatusForAllDevices(GetEoXStatusForAllDevicesQueryParams) } return nil, response, fmt.Errorf("error with operation GetEoXStatusForAllDevices") } diff --git a/sdk/itsm_integration.go b/sdk/itsm_integration.go index 2d3be05..ae2847f 100644 --- a/sdk/itsm_integration.go +++ b/sdk/itsm_integration.go @@ -79,8 +79,15 @@ type ResponseItsmIntegrationGetItsmIntegrationSettingByIDDataConnectionSettings AuthUserName string `json:"Auth_UserName,omitempty"` // Auth User Name AuthPassword string `json:"Auth_Password,omitempty"` // Auth Password } -type ResponseItsmIntegrationGetAllItsmIntegrationSettings []ResponseItemItsmIntegrationGetAllItsmIntegrationSettings // Array of ResponseItsmIntegrationGetAllITSMIntegrationSettings -type ResponseItemItsmIntegrationGetAllItsmIntegrationSettings struct { +type ResponseItsmIntegrationGetAllItsmIntegrationSettings struct { // Array of ResponseItsmIntegrationGetAllITSMIntegrationSettings + Page *int `json:"page,omitempty"` + PageSize *int `json:"pageSize,omitempty"` + TotalPages *int `json:"totalPages,omitempty"` + Data []ResponseItsmIntegrationGetAllItsmIntegrationSettingsData `json:"data,omitempty"` + TotalRecords *int `json:"totalRecords,omitempty"` +} +type ResponseItsmIntegrationGetAllItsmIntegrationSettingsData struct { + TypeID string `json:"_id,omitempty"` ID string `json:"id,omitempty"` // Id DypID string `json:"dypId,omitempty"` // Dyp Id DypName string `json:"dypName,omitempty"` // Dyp Name @@ -91,11 +98,11 @@ type ResponseItemItsmIntegrationGetAllItsmIntegrationSettings struct { CreatedDate *int `json:"createdDate,omitempty"` // Created Date CreatedBy string `json:"createdBy,omitempty"` // Created By UpdatedBy string `json:"updatedBy,omitempty"` // Updated By - SoftwareVersionLog *[]ResponseItemItsmIntegrationGetAllItsmIntegrationSettingsSoftwareVersionLog `json:"softwareVersionLog,omitempty"` // Software Version Log + SoftwareVersionLog *[]ResponseItsmIntegrationGetAllItsmIntegrationSettingsDataSoftwareVersionLog `json:"softwareVersionLog,omitempty"` // Software Version Log SchemaVersion *float64 `json:"schemaVersion,omitempty"` // Schema Version TenantID string `json:"tenantId,omitempty"` // Tenant Id } -type ResponseItemItsmIntegrationGetAllItsmIntegrationSettingsSoftwareVersionLog interface{} +type ResponseItsmIntegrationGetAllItsmIntegrationSettingsDataSoftwareVersionLog interface{} type ResponseItsmIntegrationGetItsmIntegrationStatus struct { Response *[]ResponseItsmIntegrationGetItsmIntegrationStatusResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // Version diff --git a/sdk/licenses.go b/sdk/licenses.go index 2ff2479..c6ff0c9 100644 --- a/sdk/licenses.go +++ b/sdk/licenses.go @@ -236,6 +236,26 @@ type ResponseLicensesLicenseUsageDetails struct { UsedDnaLicense *ResponseLicensesLicenseUsageDetailsUsedDnaLicense `json:"used_dna_license,omitempty"` // UsedNetworkLicense *ResponseLicensesLicenseUsageDetailsUsedNetworkLicense `json:"used_network_license,omitempty"` // + + PurchasedIseLicense *ResponseLicensesLicenseUsageDetailsPurchasedIseLicense `json:"purchased_ise_license,omitempty"` + + UsedIseLicense *ResponseLicensesLicenseUsageDetailsUsedIseLicense `json:"used_ise_license,omitempty"` +} +type ResponseLicensesLicenseUsageDetailsUsedIseLicense struct { + TotalLicenseCount *int `json:"total_license_count,omitempty"` + LicenseCountByType *[]ResponseLicensesLicenseUsageDetailsUsedIseLicenseLicenseCountByType `json:"license_count_by_type,omitempty"` +} +type ResponseLicensesLicenseUsageDetailsUsedIseLicenseLicenseCountByType struct { + LicenseType string `json:"license_type,omitempty"` + LicenseCount *int `json:"license_count,omitempty"` +} +type ResponseLicensesLicenseUsageDetailsPurchasedIseLicense struct { + TotalLicenseCount *int `json:"total_license_count,omitempty"` + LicenseCountByType *[]ResponseLicensesLicenseUsageDetailsPurchasedIseLicenseLicenseCountByType `json:"license_count_by_type,omitempty"` +} +type ResponseLicensesLicenseUsageDetailsPurchasedIseLicenseLicenseCountByType struct { + LicenseType string `json:"license_type,omitempty"` + LicenseCount *int `json:"license_count,omitempty"` } type ResponseLicensesLicenseUsageDetailsPurchasedDnaLicense struct { TotalLicenseCount *int `json:"total_license_count,omitempty"` // Total number of licenses diff --git a/sdk/network_settings.go b/sdk/network_settings.go index 8e2069a..186c7e6 100644 --- a/sdk/network_settings.go +++ b/sdk/network_settings.go @@ -51,7 +51,7 @@ type GetReserveIPSubpoolQueryParams struct { SiteID string `url:"siteId,omitempty"` //site id of site from which to retrieve associated reserve pools. Either siteId (per site queries) or ignoreInheritedGroups must be used. They can also be used together. Offset float64 `url:"offset,omitempty"` //offset/starting row. Indexed from 1. Limit float64 `url:"limit,omitempty"` //Number of reserve pools to be retrieved. Default is 25 if not specified. Maximum allowed limit is 500. - IgnoreInheritedGroups bool `url:"ignoreInheritedGroups,omitempty"` //Ignores pools inherited from parent site. Either siteId or ignoreInheritedGroups must be passed. They can also be used together. + IgnoreInheritedGroups string `url:"ignoreInheritedGroups,omitempty"` //Ignores pools inherited from parent site. Either siteId or ignoreInheritedGroups must be passed. They can also be used together. PoolUsage string `url:"poolUsage,omitempty"` //Can take values empty, partially-full or empty-partially-full GroupName string `url:"groupName,omitempty"` //Name of the group } diff --git a/sdk/sensors.go b/sdk/sensors.go index ab9abb6..0a6cae3 100644 --- a/sdk/sensors.go +++ b/sdk/sensors.go @@ -2200,9 +2200,8 @@ type RequestSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICap type RequestSensorsDeploysTheICapConfigurationIntentByActivityID struct { object string `json:"object,omitempty"` // object } -type RequestSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntent struct { - object string `json:"object,omitempty"` // object -} +type RequestSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntent map[string]interface{} + type RequestSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove []RequestItemSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove // Array of RequestSensorsDeploysTheGivenICAPConfigurationIntentWithoutPreviewAndApprove type RequestItemSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove struct { CaptureType string `json:"captureType,omitempty"` // Capture Type @@ -2765,7 +2764,7 @@ func (s *SensorsService) RetrievesDetailsOfASpecificICapPacketCaptureFile(id str Documentation Link: https://developer.cisco.com/docs/dna-center/#!downloads-a-specific-i-cap-packet-capture-file */ -func (s *SensorsService) DownloadsASpecificICapPacketCaptureFile(id string, DownloadsASpecificICAPPacketCaptureFileHeaderParams *DownloadsASpecificICapPacketCaptureFileHeaderParams) (*ResponseSensorsDownloadsASpecificICapPacketCaptureFile, *resty.Response, error) { +func (s *SensorsService) DownloadsASpecificICapPacketCaptureFile(id string, DownloadsASpecificICAPPacketCaptureFileHeaderParams *DownloadsASpecificICapPacketCaptureFileHeaderParams) (FileDownload, *resty.Response, error) { path := "/dna/data/api/v1/icap/captureFiles/{id}/download" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) @@ -2782,14 +2781,13 @@ func (s *SensorsService) DownloadsASpecificICapPacketCaptureFile(id string, Down } } - response, err = clientRequest. SetResult(&ResponseSensorsDownloadsASpecificICapPacketCaptureFile{}). SetError(&Error). Get(path) - + fdownload := FileDownload{} if err != nil { - return nil, nil, err + return fdownload, nil, err } @@ -2797,11 +2795,15 @@ func (s *SensorsService) DownloadsASpecificICapPacketCaptureFile(id string, Down if response.StatusCode() == http.StatusUnauthorized { return s.DownloadsASpecificICapPacketCaptureFile(id, DownloadsASpecificICAPPacketCaptureFileHeaderParams) } - return nil, response, fmt.Errorf("error with operation DownloadsASpecificICapPacketCaptureFile") + return fdownload, response, fmt.Errorf("error with operation DownloadsASpecificICapPacketCaptureFile") } - result := response.Result().(*ResponseSensorsDownloadsASpecificICapPacketCaptureFile) - return result, response, err + fdownload.FileData = response.Body() + headerVal := response.Header()["Content-Disposition"][0] + fname := strings.SplitAfter(headerVal, "=") + fdownload.FileName = strings.ReplaceAll(fname[1], "\"", "") + + return fdownload, response, err } diff --git a/sdk/site_design.go b/sdk/site_design.go index 1949cd7..55ec5f9 100644 --- a/sdk/site_design.go +++ b/sdk/site_design.go @@ -41,12 +41,12 @@ type UnassignsANetworkProfileForSitesFromMultipleSitesQueryParams struct { SiteID string `url:"siteId,omitempty"` //The id or ids of the network profile, retrievable from /dna/intent/api/v1/sites.. A list of profile ids can be passed as a queryParameter in two ways: 1. a comma-separated string ( siteId=388a23e9-4739-4be7-a0aa-cc5a95d158dd,2726dc60-3a12-451e-947a-d972ebf58743), or... 2. as separate query parameters with the same name ( siteId=388a23e9-4739-4be7-a0aa-cc5a95d158dd&siteId=2726dc60-3a12-451e-947a-d972ebf58743 } type GetSitesQueryParams struct { - Name string `url:"name,omitempty"` //Site name. - NameHierarchy string `url:"nameHierarchy,omitempty"` //Site name hierarchy. - Type string `url:"type,omitempty"` //Site type. - UnitsOfMeasure string `url:"_unitsOfMeasure,omitempty"` //Floor units of measure - Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + Name string `url:"name,omitempty"` //Site name. + NameHierarchy string `url:"nameHierarchy,omitempty"` //Site name hierarchy. + Type string `url:"type,omitempty"` //Site type. + UnitsOfMeasure string `url:"_unitsOfMeasure,omitempty"` //Floor units of measure + Offset int `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit int `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. } type GetSitesCountQueryParams struct { Name string `url:"name,omitempty"` //Site name. diff --git a/sdk/sites.go b/sdk/sites.go index 83753d8..1ff0034 100644 --- a/sdk/sites.go +++ b/sdk/sites.go @@ -1558,19 +1558,35 @@ type ResponseSitesGetSite struct { Response *[]ResponseSitesGetSiteResponse `json:"response,omitempty"` // } type ResponseSitesGetSiteResponse struct { - ParentID string `json:"parentId,omitempty"` // Parent Id - - Name string `json:"name,omitempty"` // Name - - AdditionalInfo []string `json:"additionalInfo,omitempty"` // Additional Info - - SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy - - SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + ParentID string `json:"parentId,omitempty"` // Parent Id + Name string `json:"name,omitempty"` // Name + AdditionalInfo []ResponseSitesGetSiteResponseAdditionalInfo `json:"additionalInfo,omitempty"` // + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // Site Name Hierarchy + InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id + ID string `json:"id,omitempty"` // Id +} +type ResponseSitesGetSiteResponseAdditionalInfo struct { + Namespace string `json:"nameSpace,omitempty"` // + Attributes ResponseSitesGetSiteResponseAdditionalInfoAttributes `json:"attributes,omitempty"` // +} - InstanceTenantID string `json:"instanceTenantId,omitempty"` // Instance Tenant Id +//type ResponseSitesGetSiteResponseAdditionalInfoAttributes map[string]string - ID string `json:"id,omitempty"` // Id +type ResponseSitesGetSiteResponseAdditionalInfoAttributes struct { + Country string `json:"country,omitempty"` // + Address string `json:"address,omitempty"` // + Latitude string `json:"latitude,omitempty"` // + AddressInheritedFrom string `json:"addressInheritedFrom,omitempty"` // + Type string `json:"type,omitempty"` // + Longitude string `json:"longitude,omitempty"` // + OffsetX string `json:"offsetX,omitempty"` // + OffsetY string `json:"offsetY,omitempty"` // + Length string `json:"length,omitempty"` // + Width string `json:"width,omitempty"` // + Height string `json:"height,omitempty"` // + RfModel string `json:"rfModel,omitempty"` // + FloorIndex string `json:"floorIndex,omitempty"` // } type ResponseSitesGetSiteHealth struct { Response *[]ResponseSitesGetSiteHealthResponse `json:"response,omitempty"` // diff --git a/sdk/task.go b/sdk/task.go index f7e6e3b..65283e8 100644 --- a/sdk/task.go +++ b/sdk/task.go @@ -31,20 +31,20 @@ type RetrieveASpecificAssuranceTaskByIDHeaderParams struct { XCaLLERID string `url:"X-CALLER-ID,omitempty"` //Expects type string. Caller ID is used to trace the origin of API calls and their associated queries executed on the database. It's an optional header parameter that can be added to an API request. } type GetTasksOperationalTasksQueryParams struct { - StartTime string `url:"startTime,omitempty"` //This is the epoch start time from which tasks need to be fetched - EndTime string `url:"endTime,omitempty"` //This is the epoch end time upto which audit records need to be fetched - Data string `url:"data,omitempty"` //Fetch tasks that contains this data - ErrorCode string `url:"errorCode,omitempty"` //Fetch tasks that have this error code - ServiceType string `url:"serviceType,omitempty"` //Fetch tasks with this service type - Username string `url:"username,omitempty"` //Fetch tasks with this username - Progress string `url:"progress,omitempty"` //Fetch tasks that contains this progress - IsError string `url:"isError,omitempty"` //Fetch tasks ended as success or failure. Valid values: true, false - FailureReason string `url:"failureReason,omitempty"` //Fetch tasks that contains this failure reason - ParentID string `url:"parentId,omitempty"` //Fetch tasks that have this parent Id - Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. - SortBy string `url:"sortBy,omitempty"` //Sort results by this field - Order string `url:"order,omitempty"` //Sort order - asc or dsc + StartTime string `url:"startTime,omitempty"` //This is the epoch start time from which tasks need to be fetched + EndTime string `url:"endTime,omitempty"` //This is the epoch end time upto which audit records need to be fetched + Data string `url:"data,omitempty"` //Fetch tasks that contains this data + ErrorCode string `url:"errorCode,omitempty"` //Fetch tasks that have this error code + ServiceType string `url:"serviceType,omitempty"` //Fetch tasks with this service type + Username string `url:"username,omitempty"` //Fetch tasks with this username + Progress string `url:"progress,omitempty"` //Fetch tasks that contains this progress + IsError string `url:"isError,omitempty"` //Fetch tasks ended as success or failure. Valid values: true, false + FailureReason string `url:"failureReason,omitempty"` //Fetch tasks that contains this failure reason + ParentID string `url:"parentId,omitempty"` //Fetch tasks that have this parent Id + Offset int `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit int `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + SortBy string `url:"sortBy,omitempty"` //Sort results by this field + Order string `url:"order,omitempty"` //Sort order - asc or dsc } type GetTaskCountQueryParams struct { StartTime string `url:"startTime,omitempty"` //This is the epoch start time from which tasks need to be fetched @@ -59,15 +59,15 @@ type GetTaskCountQueryParams struct { ParentID string `url:"parentId,omitempty"` //Fetch tasks that have this parent Id } type GetTasksQueryParams struct { - Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. - Limit float64 `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. - SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. - Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. - StartTime int `url:"startTime,omitempty"` //This is the epoch millisecond start time from which tasks need to be fetched - EndTime int `url:"endTime,omitempty"` //This is the epoch millisecond end time upto which task records need to be fetched - ParentID string `url:"parentId,omitempty"` //Fetch tasks that have this parent Id - RootID string `url:"rootId,omitempty"` //Fetch tasks that have this root Id - Status string `url:"status,omitempty"` //Fetch tasks that have this status. Available values : PENDING, FAILURE, SUCCESS + Offset int `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. + Limit int `url:"limit,omitempty"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + SortBy string `url:"sortBy,omitempty"` //A property within the response to sort by. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. + StartTime int `url:"startTime,omitempty"` //This is the epoch millisecond start time from which tasks need to be fetched + EndTime int `url:"endTime,omitempty"` //This is the epoch millisecond end time upto which task records need to be fetched + ParentID string `url:"parentId,omitempty"` //Fetch tasks that have this parent Id + RootID string `url:"rootId,omitempty"` //Fetch tasks that have this root Id + Status string `url:"status,omitempty"` //Fetch tasks that have this status. Available values : PENDING, FAILURE, SUCCESS } type GetTasksCountQueryParams struct { StartTime int `url:"startTime,omitempty"` //This is the epoch millisecond start time from which tasks need to be fetched From f8a1bfc0fd3a3e80deebd82f14d6135943fd2d05 Mon Sep 17 00:00:00 2001 From: JosePabloOcampo1212 Date: Wed, 5 Feb 2025 15:59:56 -0600 Subject: [PATCH 4/5] update changelog and changes by terraform --- CHANGELOG.md | 1 + sdk/application_policy.go | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d15bdc6..acf1498 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added New services for Cisco Catalyst Center 2.3.7.9's API: - AuthenticationManagement *AuthenticationManagementService +- CiscoIMC *CiscoIMCService ## [6.0.0] - 2024-11-14 ### Added diff --git a/sdk/application_policy.go b/sdk/application_policy.go index b31ba98..18fa1f3 100644 --- a/sdk/application_policy.go +++ b/sdk/application_policy.go @@ -581,8 +581,8 @@ type ResponseItemApplicationPolicyGetApplicationsApplicationSet struct { IDRef string `json:"idRef,omitempty"` // Id Ref } type ResponseApplicationPolicyGetApplicationsCount struct { - Response string `json:"response,omitempty"` // Response - Version string `json:"version,omitempty"` // Version + Response float64 `json:"response,omitempty"` // Response + Version string `json:"version,omitempty"` // Version } type ResponseApplicationPolicyGetQosDeviceInterfaceInfo struct { Response *[]ResponseApplicationPolicyGetQosDeviceInterfaceInfoResponse `json:"response,omitempty"` // From 77efafb1ee1c1777ff517ae09b73f16f109c0562 Mon Sep 17 00:00:00 2001 From: JosePabloOcampo1212 Date: Wed, 5 Feb 2025 16:04:45 -0600 Subject: [PATCH 5/5] update go mod --- examples/application-policy/main.go | 2 +- examples/applications/main.go | 2 +- examples/clients/main.go | 2 +- examples/command-runner/main.go | 2 +- examples/compliance/main.go | 2 +- examples/configuration_archive/main.go | 2 +- examples/configuration_templates/main.go | 2 +- examples/credentials/main.go | 2 +- examples/custom-call/main.go | 2 +- examples/devices/main.go | 2 +- examples/discovery/main.go | 2 +- examples/event-management/main.go | 2 +- examples/execution-id/main.go | 2 +- examples/files/main.go | 2 +- examples/global-pool/main.go | 2 +- examples/health-monitoring/main.go | 2 +- examples/pnp-devices/main.go | 2 +- examples/swim/main.go | 2 +- examples/topology/main.go | 2 +- go.mod | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/examples/application-policy/main.go b/examples/application-policy/main.go index 103661e..2cea7da 100644 --- a/examples/application-policy/main.go +++ b/examples/application-policy/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // Client is Catalyst Center API client diff --git a/examples/applications/main.go b/examples/applications/main.go index 8ac8daf..8b7ec76 100644 --- a/examples/applications/main.go +++ b/examples/applications/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // Client is Catalyst Center API client diff --git a/examples/clients/main.go b/examples/clients/main.go index c537702..30f7078 100644 --- a/examples/clients/main.go +++ b/examples/clients/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // Client is Catalyst Center API client diff --git a/examples/command-runner/main.go b/examples/command-runner/main.go index 0821f6c..e0d6d51 100644 --- a/examples/command-runner/main.go +++ b/examples/command-runner/main.go @@ -5,7 +5,7 @@ import ( "fmt" "time" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // client is Catalyst Center API client diff --git a/examples/compliance/main.go b/examples/compliance/main.go index 81c0b7e..187dcb8 100644 --- a/examples/compliance/main.go +++ b/examples/compliance/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // client is Catalyst Center API client diff --git a/examples/configuration_archive/main.go b/examples/configuration_archive/main.go index ddac34a..2391c05 100644 --- a/examples/configuration_archive/main.go +++ b/examples/configuration_archive/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // client is Catalyst Center API client diff --git a/examples/configuration_templates/main.go b/examples/configuration_templates/main.go index 839ddb2..3d1b749 100644 --- a/examples/configuration_templates/main.go +++ b/examples/configuration_templates/main.go @@ -4,7 +4,7 @@ import ( "encoding/json" "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // client is Catalyst Center API client diff --git a/examples/credentials/main.go b/examples/credentials/main.go index c236ac4..0274acc 100644 --- a/examples/credentials/main.go +++ b/examples/credentials/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // client is Catalyst Center API client diff --git a/examples/custom-call/main.go b/examples/custom-call/main.go index b63f653..8e3c8e2 100644 --- a/examples/custom-call/main.go +++ b/examples/custom-call/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // Client is Catalyst Center API client diff --git a/examples/devices/main.go b/examples/devices/main.go index 18f74a0..eab558c 100644 --- a/examples/devices/main.go +++ b/examples/devices/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // Client is Catalyst Center API client diff --git a/examples/discovery/main.go b/examples/discovery/main.go index 877b694..033fade 100644 --- a/examples/discovery/main.go +++ b/examples/discovery/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // Client is Catalyst Center API client diff --git a/examples/event-management/main.go b/examples/event-management/main.go index 16d1f91..7b2ea9b 100644 --- a/examples/event-management/main.go +++ b/examples/event-management/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // Client is Catalyst Center API client diff --git a/examples/execution-id/main.go b/examples/execution-id/main.go index a2f1b16..180057f 100644 --- a/examples/execution-id/main.go +++ b/examples/execution-id/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // Client is Catalyst Center API client diff --git a/examples/files/main.go b/examples/files/main.go index 971afb9..ffe0969 100644 --- a/examples/files/main.go +++ b/examples/files/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // client is Catalyst Center API client diff --git a/examples/global-pool/main.go b/examples/global-pool/main.go index f379f5f..f2cfd9c 100644 --- a/examples/global-pool/main.go +++ b/examples/global-pool/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // Client is Catalyst Center API client diff --git a/examples/health-monitoring/main.go b/examples/health-monitoring/main.go index 9eb922f..316d14e 100644 --- a/examples/health-monitoring/main.go +++ b/examples/health-monitoring/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // client is Catalyst Center API client diff --git a/examples/pnp-devices/main.go b/examples/pnp-devices/main.go index 45a718e..12afdde 100644 --- a/examples/pnp-devices/main.go +++ b/examples/pnp-devices/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // client is Catalyst Center API client diff --git a/examples/swim/main.go b/examples/swim/main.go index 9a57f06..c62c4c4 100644 --- a/examples/swim/main.go +++ b/examples/swim/main.go @@ -5,7 +5,7 @@ import ( "io" "os" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // Client is Catalyst Center API client diff --git a/examples/topology/main.go b/examples/topology/main.go index e098242..eeaa33c 100644 --- a/examples/topology/main.go +++ b/examples/topology/main.go @@ -3,7 +3,7 @@ package main import ( "fmt" - dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v6/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" ) // Client is Catalyst Center API client diff --git a/go.mod b/go.mod index 42a1991..e249b19 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/cisco-en-programmability/dnacenter-go-sdk/v6 +module github.com/cisco-en-programmability/dnacenter-go-sdk/v7 go 1.17