diff --git a/CHANGELOG.md b/CHANGELOG.md index d9989bf..5e2b5bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [8.0.0] - 2025-06-09 +- New services for Cisco Catalyst Center 3.1.3.0's API: + * Backup service + * IndustrialConfiguration service + * KnowYourNetwork service + * Restore service + * Wired service +- SDK is now compatible with Cisco Catalyst Center 3.1.3.0's API. + + ## [7.0.2] - 2025-02-27 ### Changed - Update Readme diff --git a/README.md b/README.md index 4946c5a..be1e338 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ dnacenter-go-sdk is a Go client library for [Catalyst Center Platform](https://d ## Usage ```go -import dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v7/sdk" +import dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ``` ## Introduction @@ -85,7 +85,7 @@ if devices.Response != nil { ## Documentation ### 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) +[![PkgGoDev](https://pkg.go.dev/badge/github.com/)](https://pkg.go.dev/github.com/cisco-en-programmability/dnacenter-go-sdk/v8) ### 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 diff --git a/examples/application-policy/main.go b/examples/application-policy/main.go index 2cea7da..eea7461 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // Client is Catalyst Center API client diff --git a/examples/applications/main.go b/examples/applications/main.go index 8b7ec76..01c764d 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // Client is Catalyst Center API client diff --git a/examples/clients/main.go b/examples/clients/main.go index 30f7078..001da2c 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // Client is Catalyst Center API client diff --git a/examples/command-runner/main.go b/examples/command-runner/main.go index e0d6d51..686d159 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // client is Catalyst Center API client diff --git a/examples/compliance/main.go b/examples/compliance/main.go index 187dcb8..b0278a5 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // client is Catalyst Center API client diff --git a/examples/configuration_archive/main.go b/examples/configuration_archive/main.go index 2391c05..21d07e2 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // client is Catalyst Center API client @@ -39,7 +39,7 @@ func main() { fmt.Println("Post ConfArchive") reqBody := &dnac.RequestConfigurationArchiveExportDeviceConfigurations{ - DeviceID: deviceUUID, + DeviceID: []string{deviceUUID}, Password: "C1sco123!", } diff --git a/examples/configuration_templates/main.go b/examples/configuration_templates/main.go index 3d1b749..b83261e 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // client is Catalyst Center API client diff --git a/examples/credentials/main.go b/examples/credentials/main.go index 0274acc..2a64de0 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // client is Catalyst Center API client diff --git a/examples/custom-call/main.go b/examples/custom-call/main.go index 8e3c8e2..df4bcd5 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // Client is Catalyst Center API client diff --git a/examples/devices/main.go b/examples/devices/main.go index eab558c..ec5feda 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // Client is Catalyst Center API client diff --git a/examples/discovery/main.go b/examples/discovery/main.go index 033fade..b711e82 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // Client is Catalyst Center API client diff --git a/examples/event-management/main.go b/examples/event-management/main.go index 7b2ea9b..bce8548 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // Client is Catalyst Center API client diff --git a/examples/execution-id/main.go b/examples/execution-id/main.go index 180057f..33281dd 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // Client is Catalyst Center API client diff --git a/examples/files/main.go b/examples/files/main.go index ffe0969..a734b88 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // client is Catalyst Center API client diff --git a/examples/global-pool/main.go b/examples/global-pool/main.go index f2cfd9c..e47646e 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // Client is Catalyst Center API client diff --git a/examples/health-monitoring/main.go b/examples/health-monitoring/main.go index 316d14e..4192c1d 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // client is Catalyst Center API client diff --git a/examples/pnp-devices/main.go b/examples/pnp-devices/main.go index 12afdde..2677aa6 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // client is Catalyst Center API client diff --git a/examples/swim/main.go b/examples/swim/main.go index c62c4c4..db4f307 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // Client is Catalyst Center API client diff --git a/examples/topology/main.go b/examples/topology/main.go index eeaa33c..75b7ac4 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/v7/sdk" + dnac "github.com/cisco-en-programmability/dnacenter-go-sdk/v8/sdk" ) // Client is Catalyst Center API client diff --git a/go.mod b/go.mod index e249b19..a0f6b85 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/cisco-en-programmability/dnacenter-go-sdk/v7 +module github.com/cisco-en-programmability/dnacenter-go-sdk/v8 go 1.17 diff --git a/sdk/ai_endpoint_analytics.go b/sdk/ai_endpoint_analytics.go index 704e3a1..2d4b5d1 100644 --- a/sdk/ai_endpoint_analytics.go +++ b/sdk/ai_endpoint_analytics.go @@ -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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ai-endpoint-analytics-attribute-dictionaries */ func (s *AIEndpointAnalyticsService) GetAIEndpointAnalyticsAttributeDictionaries(GetAIEndpointAnalyticsAttributeDictionariesQueryParams *GetAIEndpointAnalyticsAttributeDictionariesQueryParams) (*ResponseAIEndpointAnalyticsGetAIEndpointAnalyticsAttributeDictionaries, *resty.Response, error) { path := "/dna/intent/api/v1/endpoint-analytics/dictionaries" @@ -849,6 +849,7 @@ func (s *AIEndpointAnalyticsService) CreateAProfilingRule(requestAIEndpointAnaly //ImportProfilingRulesInBulk Import profiling rules in bulk - 70bf-885f-408a-9c74 /* This API imports the given list of profiling rules. For each record, 1) If 'ruleType' for a record is not 'Custom Rule', then it is rejected. 2) If 'ruleId' is provided in the input record, + 2a) Record with same 'ruleId' exists in the system, then it is replaced with new data. 2b) Record with same 'ruleId' does not exist, then it is inserted in the database. 3) If 'ruleId' is not provided in the input record, then new 'ruleId' is generated by the system, and record is inserted. @@ -1014,7 +1015,8 @@ 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") } @@ -1050,7 +1052,8 @@ 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") } @@ -1086,7 +1089,8 @@ 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 eb14f0b..55e50c7 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.9" +var VERSION = "3.1.3.0" var DNAC_USER_STRING = "DNAC_USER_STRING" var USER_AGENT = "go-cisco-dnacentersdk/" + VERSION @@ -39,7 +39,7 @@ func (f *FileDownload) SaveDownload(path string) error { return ioutil.WriteFile(fpath, f.FileData, 0664) } -// Client manages communication with the Cisco Catalyst Center API +// Client manages communication with the Cisco DNA Center API type Client struct { common service // Reuse a single struct instead of allocating one for each service on the heap. @@ -49,6 +49,7 @@ type Client struct { ApplicationPolicy *ApplicationPolicyService Applications *ApplicationsService AuthenticationManagement *AuthenticationManagementService + Backup *BackupService CiscoIMC *CiscoIMCService CiscoTrustedCertificates *CiscoTrustedCertificatesService Clients *ClientsService @@ -61,20 +62,23 @@ type Client struct { Devices *DevicesService DisasterRecovery *DisasterRecoveryService Discovery *DiscoveryService - EoX *EoXService + Eox *EoxService EventManagement *EventManagementService FabricWireless *FabricWirelessService File *FileService HealthAndPerformance *HealthAndPerformanceService Itsm *ItsmService ItsmIntegration *ItsmIntegrationService + IndustrialConfiguration *IndustrialConfigurationService Issues *IssuesService + KnowYourNetwork *KnowYourNetworkService LanAutomation *LanAutomationService Licenses *LicensesService NetworkSettings *NetworkSettingsService PathTrace *PathTraceService Platform *PlatformService Reports *ReportsService + Restore *RestoreService Sda *SdaService SecurityAdvisories *SecurityAdvisoriesService Sensors *SensorsService @@ -87,6 +91,7 @@ type Client struct { Topology *TopologyService UserandRoles *UserandRolesService Users *UsersService + Wired *WiredService Wireless *WirelessService CustomCall *CustomCallService } @@ -100,7 +105,7 @@ func (s *Client) SetAuthToken(accessToken string) { s.common.client.SetHeader("X-Auth-Token", accessToken) } -// Error indicates an error from the invocation of a Cisco Catalyst Center API. +// Error indicates an error from the invocation of a Cisco DNA Center API. var Error map[string]interface{} // NewClient creates a new API client. Requires a userAgent string describing your application. @@ -277,6 +282,8 @@ func NewClientNoAuth() (*Client, error) { c.ApplicationPolicy = (*ApplicationPolicyService)(&c.common) c.Applications = (*ApplicationsService)(&c.common) c.AuthenticationManagement = (*AuthenticationManagementService)(&c.common) + c.Backup = (*BackupService)(&c.common) + c.CiscoIMC = (*CiscoIMCService)(&c.common) c.CiscoTrustedCertificates = (*CiscoTrustedCertificatesService)(&c.common) c.Clients = (*ClientsService)(&c.common) c.CommandRunner = (*CommandRunnerService)(&c.common) @@ -288,20 +295,23 @@ func NewClientNoAuth() (*Client, error) { c.Devices = (*DevicesService)(&c.common) c.DisasterRecovery = (*DisasterRecoveryService)(&c.common) c.Discovery = (*DiscoveryService)(&c.common) - c.EoX = (*EoXService)(&c.common) + c.Eox = (*EoxService)(&c.common) c.EventManagement = (*EventManagementService)(&c.common) c.FabricWireless = (*FabricWirelessService)(&c.common) c.File = (*FileService)(&c.common) c.HealthAndPerformance = (*HealthAndPerformanceService)(&c.common) c.Itsm = (*ItsmService)(&c.common) c.ItsmIntegration = (*ItsmIntegrationService)(&c.common) + c.IndustrialConfiguration = (*IndustrialConfigurationService)(&c.common) c.Issues = (*IssuesService)(&c.common) + c.KnowYourNetwork = (*KnowYourNetworkService)(&c.common) c.LanAutomation = (*LanAutomationService)(&c.common) c.Licenses = (*LicensesService)(&c.common) c.NetworkSettings = (*NetworkSettingsService)(&c.common) c.PathTrace = (*PathTraceService)(&c.common) c.Platform = (*PlatformService)(&c.common) c.Reports = (*ReportsService)(&c.common) + c.Restore = (*RestoreService)(&c.common) c.Sda = (*SdaService)(&c.common) c.SecurityAdvisories = (*SecurityAdvisoriesService)(&c.common) c.Sensors = (*SensorsService)(&c.common) @@ -314,6 +324,7 @@ func NewClientNoAuth() (*Client, error) { c.Topology = (*TopologyService)(&c.common) c.UserandRoles = (*UserandRolesService)(&c.common) c.Users = (*UsersService)(&c.common) + c.Wired = (*WiredService)(&c.common) c.Wireless = (*WirelessService)(&c.common) c.CustomCall = (*CustomCallService)(&c.common) diff --git a/sdk/application_policy.go b/sdk/application_policy.go index 18fa1f3..a9057c2 100644 --- a/sdk/application_policy.go +++ b/sdk/application_policy.go @@ -444,79 +444,59 @@ type ResponseApplicationPolicyGetApplicationSetsCount struct { } type ResponseApplicationPolicyRetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatus struct { Response *[]ResponseApplicationPolicyRetrieveTheListOfNetworkDevicesWithTheirApplicationVisibilityStatusResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version number of the response + 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. - + 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 + 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 + Version string `json:"version,omitempty"` // Version } type ResponseApplicationPolicyDisableApplicationTelemetryFeatureOnMultipleNetworkDevicesResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url + URL string `json:"url,omitempty"` // Url } type ResponseApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevices struct { Response *ResponseApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevicesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseApplicationPolicyDisableCBARFeatureOnMultipleNetworkDevicesResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url + URL string `json:"url,omitempty"` // Url } type ResponseApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevices struct { Response *ResponseApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevicesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkDevicesResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url + URL string `json:"url,omitempty"` // Url } type ResponseApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevices struct { Response *ResponseApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevicesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseApplicationPolicyEnableCBARFeatureOnMultipleNetworkDevicesResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url + URL string `json:"url,omitempty"` // Url } type ResponseApplicationPolicyCreateApplication struct { Response *ResponseApplicationPolicyCreateApplicationResponse `json:"response,omitempty"` // @@ -968,21 +948,17 @@ type RequestApplicationPolicyEnableApplicationTelemetryFeatureOnMultipleNetworkD 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. + 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 - + 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 + 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 { @@ -2428,7 +2404,8 @@ func (s *ApplicationPolicyService) DeleteApplicationPolicyQueuingProfile(id stri if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteApplicationPolicyQueuingProfile(id) + return s.DeleteApplicationPolicyQueuingProfile( + id) } return nil, response, fmt.Errorf("error with operation DeleteApplicationPolicyQueuingProfile") } @@ -2466,7 +2443,8 @@ func (s *ApplicationPolicyService) DeleteApplicationSet(DeleteApplicationSetQuer if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteApplicationSet(DeleteApplicationSetQueryParams) + return s.DeleteApplicationSet( + DeleteApplicationSetQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteApplicationSet") } @@ -2504,7 +2482,8 @@ func (s *ApplicationPolicyService) DeleteApplication(DeleteApplicationQueryParam if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteApplication(DeleteApplicationQueryParams) + return s.DeleteApplication( + DeleteApplicationQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteApplication") } @@ -2542,7 +2521,8 @@ func (s *ApplicationPolicyService) DeleteQosDeviceInterfaceInfo(id string) (*Res if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteQosDeviceInterfaceInfo(id) + return s.DeleteQosDeviceInterfaceInfo( + id) } return nil, response, fmt.Errorf("error with operation DeleteQosDeviceInterfaceInfo") } @@ -2580,7 +2560,8 @@ func (s *ApplicationPolicyService) DeleteApplicationSetV2(id string) (*ResponseA if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteApplicationSetV2(id) + return s.DeleteApplicationSetV2( + id) } return nil, response, fmt.Errorf("error with operation DeleteApplicationSetV2") } @@ -2618,7 +2599,8 @@ func (s *ApplicationPolicyService) DeleteApplicationV2(id string) (*ResponseAppl if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteApplicationV2(id) + return s.DeleteApplicationV2( + id) } return nil, response, fmt.Errorf("error with operation DeleteApplicationV2") } diff --git a/sdk/applications.go b/sdk/applications.go index 7aeaca7..6b27942 100644 --- a/sdk/applications.go +++ b/sdk/applications.go @@ -3,6 +3,7 @@ package dnac import ( "fmt" "net/http" + "strings" "github.com/go-resty/resty/v2" "github.com/google/go-querystring/query" @@ -37,10 +38,66 @@ type RetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringQueryPar 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 RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsHeaderParams 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 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 RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationHeaderParams 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 RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsQueryParams struct { + SiteID string `url:"siteId,omitempty"` //The site UUID without the top level hierarchy. `siteId` must be a site UUID of a building. The list of buildings can be fetched using API `GET /dna/intent/api/v1/sites?type=building`. Examples: `siteId=buildingUuid` (single siteId requested) `siteId=buildingUuid1&siteId=buildingUuid2` (multiple siteId 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. + 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. + TestID string `url:"testId,omitempty"` //Unique identifier of the ThousandEyes test. Examples: `testId=2043918` (filter for single testId) `testId=2043918&testId=129440` (filter for multiple testIds) + TestName string `url:"testName,omitempty"` //Name of the ThousandEyes test. This supports `*` wildcard, and filtering is case-insensitve. Examples: `testName=Cisco Webex` (exact match) `testName=Microsoft*` (starts with given string) + TestType string `url:"testType,omitempty"` //Type of the ThousandEyes test. Please note that Catalyst Center supports only a subset of all possible ThousandEyes test types. + AgentID string `url:"agentId,omitempty"` //Unique identifier of the ThousandEyes agent. Examples: `agentId=199345` (filter for single agentId) `agentId=1993458&agentId=499387` (filter for multiple agentIds) + NetworkDeviceName string `url:"networkDeviceName,omitempty"` //Name of the network device as per the inventory. This supports `*` wildcard, and filtering is case-insensitve. + 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. Examples: `attribute=testName` (single attribute requested) `attribute=testId&attribute=testName&attribute=averageLatency` (multiple attributes requested) . For valid attributes, verify the documentation. + 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"` //Attribute name by which the results should be sorted + Order string `url:"order,omitempty"` //The sort order of the field ascending or descending. +} +type RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsHeaderParams 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 RetrievesTheTotalCountOfThousandEyesTestResultsQueryParams struct { + SiteID string `url:"siteId,omitempty"` //The site UUID without the top level hierarchy. `siteId` must be a site UUID of a building. The list of buildings can be fetched using API `GET /dna/intent/api/v1/sites?type=building`. Examples: `siteId=buildingUuid` (single siteId requested) `siteId=buildingUuid1&siteId=buildingUuid2` (multiple siteId 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. + 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. + TestID string `url:"testId,omitempty"` //Unique identifier of the ThousandEyes test. Examples: `testId=2043918` (filter for single testId) `testId=2043918&testId=129440` (filter for multiple testIds) + TestName string `url:"testName,omitempty"` //Name of the ThousandEyes test. This supports `*` wildcard, and filtering is case-insensitve. Examples: `testName=Cisco Webex` (exact match) `testName=Microsoft*` (starts with given string) + TestType string `url:"testType,omitempty"` //Type of the ThousandEyes test. Please note that Catalyst Center supports only a subset of all possible ThousandEyes test types. + AgentID string `url:"agentId,omitempty"` //Unique identifier of the ThousandEyes agent. Examples: `agentId=199345` (filter for single agentId) `agentId=1993458&agentId=499387` (filter for multiple agentIds) + NetworkDeviceName string `url:"networkDeviceName,omitempty"` //Name of the network device as per the inventory. This supports `*` wildcard, and filtering is case-insensitve. +} +type RetrievesTheTotalCountOfThousandEyesTestResultsHeaderParams 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 TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeQueryParams struct { + SiteID string `url:"siteId,omitempty"` //The site UUID without the top level hierarchy. `siteId` must be a site UUID of a building. The list of buildings can be fetched using API `GET /dna/intent/api/v1/sites?type=building`. Examples: `siteId=buildingUuid` (single siteId requested) `siteId=buildingUuid1&siteId=buildingUuid2` (multiple siteId 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. + 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 interval to aggregate the metrics. Recommendation: |Time duration |Recommended `trendInterval`| |--------------|---------------------------| |Up to 6 hr | `5MIN` | |6 hr to 2 days| `1HR` | |More than 2 days| `3HR` | + TestID string `url:"testId,omitempty"` //Unique identifier of the ThousandEyes test. Examples: `testId=2043918` (filter for single testId) `testId=2043918&testId=129440` (filter for multiple testIds) + TestName string `url:"testName,omitempty"` //Name of the ThousandEyes test. This supports `*` wildcard, and filtering is case-insensitve. Examples: `testName=Cisco Webex` (exact match) `testName=Microsoft*` (starts with given string) + TestType string `url:"testType,omitempty"` //Type of the ThousandEyes test. Please note that Catalyst Center supports only a subset of all possible ThousandEyes test types. + AgentID string `url:"agentId,omitempty"` //Unique identifier of the ThousandEyes agent. Examples: `agentId=199345` (filter for single agentId) `agentId=1993458&agentId=499387` (filter for multiple agentIds) + NetworkDeviceName string `url:"networkDeviceName,omitempty"` //Name of the network device as per the inventory. This supports `*` wildcard, and filtering is case-insensitve. + 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. +} +type TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeHeaderParams 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 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) @@ -55,123 +112,226 @@ type ApplicationsQueryParams struct { type ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetrics struct { Response *[]ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsResponse `json:"response,omitempty"` // - - Page *ResponseApplicationsRetrievesTheListOfNetworkApplicationsAlongWithExperienceAndHealthMetricsPage `json:"page,omitempty"` // - - Version string `json:"version,omitempty"` // Version + 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 - + 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 + 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 - + 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 - + 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 + Version string `json:"version,omitempty"` // Version } type ResponseApplicationsRetrievesTheTotalCountOfNetworkApplicationsByApplyingBasicFilteringResponse struct { Count *int `json:"count,omitempty"` // Count } +type ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics struct { + Response *ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsResponse `json:"response,omitempty"` // + Page *ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsResponse struct { + Attributes *[]ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Cursor string `json:"cursor,omitempty"` // Cursor + SortBy *[]ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Order string `json:"order,omitempty"` // Order +} type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplications struct { Response *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponse `json:"response,omitempty"` // - - Page *ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsPage `json:"page,omitempty"` // - - Version string `json:"version,omitempty"` // Version + 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"` // - + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + Attributes *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseAttributes `json:"attributes,omitempty"` // AggregateAttributes *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // - - Groups *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseGroups `json:"groups,omitempty"` // + Groups *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseGroups `json:"groups,omitempty"` // } type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Value string `json:"value,omitempty"` // Value } type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function - - Value string `json:"value,omitempty"` // Value + Value string `json:"value,omitempty"` // Value } type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseGroups struct { - ID string `json:"id,omitempty"` // Id - - Attributes *[]ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseGroupsAttributes `json:"attributes,omitempty"` // - + 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 - + Name string `json:"name,omitempty"` // Name Value string `json:"value,omitempty"` // Value } type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsResponseGroupsAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function - - Value string `json:"value,omitempty"` // Value + Value string `json:"value,omitempty"` // Value } type ResponseApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsPage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Cursor string `json:"cursor,omitempty"` // Cursor - + 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 ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication struct { + Response *[]ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationResponse `json:"response,omitempty"` // + Page *ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + Attributes *[]ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationResponseAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *int `json:"value,omitempty"` // Value +} +type ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationPage 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 ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetrics struct { + Response *[]ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponse `json:"response,omitempty"` // + Page *ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponse struct { + ID string `json:"id,omitempty"` // Id + TestID string `json:"testId,omitempty"` // Test Id + TestName string `json:"testName,omitempty"` // Test Name + TestType string `json:"testType,omitempty"` // Test Type + AgentID string `json:"agentId,omitempty"` // Agent Id + AgentName string `json:"agentName,omitempty"` // Agent Name + NetworkDeviceName string `json:"networkDeviceName,omitempty"` // Network Device Name + NetworkDeviceType string `json:"networkDeviceType,omitempty"` // Network Device Type + SiteID string `json:"siteId,omitempty"` // Site Id + SiteName string `json:"siteName,omitempty"` // Site Name + TestInterval *int `json:"testInterval,omitempty"` // Test Interval + TestTarget string `json:"testTarget,omitempty"` // Test Target + SampleTime *int `json:"sampleTime,omitempty"` // Sample Time + AveragePacketLoss *float64 `json:"averagePacketLoss,omitempty"` // Average Packet Loss + LatestPacketLoss *float64 `json:"latestPacketLoss,omitempty"` // Latest Packet Loss + MaxPacketLoss *float64 `json:"maxPacketLoss,omitempty"` // Max Packet Loss + AverageJitter *ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseAverageJitter `json:"averageJitter,omitempty"` // Average Jitter + LatestJitter *ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseLatestJitter `json:"latestJitter,omitempty"` // Latest Jitter + MaxJitter *ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseMaxJitter `json:"maxJitter,omitempty"` // Max Jitter + AverageLatency *int `json:"averageLatency,omitempty"` // Average Latency + LatestLatency *int `json:"latestLatency,omitempty"` // Latest Latency + MaxLatency *int `json:"maxLatency,omitempty"` // Max Latency + AverageResponseTime *int `json:"averageResponseTime,omitempty"` // Average Response Time + LatestResponseTime *int `json:"latestResponseTime,omitempty"` // Latest Response Time + MaxResponseTime *int `json:"maxResponseTime,omitempty"` // Max Response Time + AverageMos *ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseAverageMos `json:"averageMos,omitempty"` // Average Mos + LatestMos *ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseLatestMos `json:"latestMos,omitempty"` // Latest Mos + MinMos *ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseMinMos `json:"minMos,omitempty"` // Min Mos + AveragePdv *ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseAveragePdv `json:"averagePdv,omitempty"` // Average Pdv + LatestPdv *ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseLatestPdv `json:"latestPdv,omitempty"` // Latest Pdv + MaxPdv *ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseMaxPdv `json:"maxPdv,omitempty"` // Max Pdv + TotalAlerts *float64 `json:"totalAlerts,omitempty"` // Total Alerts + TotalActiveAlerts *int `json:"totalActiveAlerts,omitempty"` // Total Active Alerts + TotalSamplingTests *int `json:"totalSamplingTests,omitempty"` // Total Sampling Tests + TotalFailureSamplingTests *int `json:"totalFailureSamplingTests,omitempty"` // Total Failure Sampling Tests + TotalErrorsSamplingTests *int `json:"totalErrorsSamplingTests,omitempty"` // Total Errors Sampling Tests +} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseAverageJitter interface{} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseLatestJitter interface{} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseMaxJitter interface{} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseAverageMos interface{} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseLatestMos interface{} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseMinMos interface{} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseAveragePdv interface{} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseLatestPdv interface{} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsResponseMaxPdv interface{} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order +} +type ResponseApplicationsRetrievesTheTotalCountOfThousandEyesTestResults struct { + Response *ResponseApplicationsRetrievesTheTotalCountOfThousandEyesTestResultsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationsRetrievesTheTotalCountOfThousandEyesTestResultsResponse struct { Count *int `json:"count,omitempty"` // Count - +} +type ResponseApplicationsTheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRange struct { + Response *[]ResponseApplicationsTheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeResponse `json:"response,omitempty"` // + Page *ResponseApplicationsTheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangePage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseApplicationsTheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeResponse struct { + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + Attributes *[]ResponseApplicationsTheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeResponseAttributes `json:"attributes,omitempty"` // +} +type ResponseApplicationsTheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeResponseAttributes struct { + Name string `json:"name,omitempty"` // Name + Value *int `json:"value,omitempty"` // Value +} +type ResponseApplicationsTheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangePage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order + Count *int `json:"count,omitempty"` // Count } type ResponseApplicationsApplications struct { Version string `json:"version,omitempty"` // API version @@ -217,42 +377,82 @@ type ResponseApplicationsApplicationsResponseJitter interface{} type ResponseApplicationsApplicationsResponseApplicationServerLatency interface{} type ResponseApplicationsApplicationsResponseClientNetworkLatency interface{} type ResponseApplicationsApplicationsResponseServerNetworkLatency interface{} +type RequestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + EndTime *int `json:"endTime,omitempty"` // End Time + SiteIDs []string `json:"siteIds,omitempty"` // Site Ids + Attributes []string `json:"attributes,omitempty"` // Attributes + Filters *[]RequestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsFilters `json:"filters,omitempty"` // + AggregateAttributes *[]RequestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsAggregateAttributes `json:"aggregateAttributes,omitempty"` // + Page *RequestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsPage `json:"page,omitempty"` // +} +type RequestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsFilters struct { + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value *int `json:"value,omitempty"` // Value +} +type RequestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function +} +type RequestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Cursor string `json:"cursor,omitempty"` // Cursor + SortBy *[]RequestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsPageSortBy `json:"sortBy,omitempty"` // +} +type RequestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Order string `json:"order,omitempty"` // Order +} 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"` // - + 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"` // + Page *RequestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsPage `json:"page,omitempty"` // } type RequestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsFilters struct { - Key string `json:"key,omitempty"` // Key - + Key string `json:"key,omitempty"` // Key Operator string `json:"operator,omitempty"` // Operator - - Value *int `json:"value,omitempty"` // Value + Value *int `json:"value,omitempty"` // Value } type RequestApplicationsRetrievesTheTrendAnalyticsDataRelatedToNetworkApplicationsAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + 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 - + Limit *int `json:"limit,omitempty"` // Limit + Cursor string `json:"cursor,omitempty"` // Cursor + TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order +} +type RequestApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication 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 + Attributes []string `json:"attributes,omitempty"` // Attributes + Filters *[]RequestApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationFilters `json:"filters,omitempty"` // + AggregateAttributes *[]RequestApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationAggregateAttributes `json:"aggregateAttributes,omitempty"` // + Page *RequestApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationPage `json:"page,omitempty"` // +} +type RequestApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationFilters struct { + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value string `json:"value,omitempty"` // Value +} +type RequestApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function +} +type RequestApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Cursor string `json:"cursor,omitempty"` // Cursor TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order } @@ -356,6 +556,161 @@ func (s *ApplicationsService) RetrievesTheTotalCountOfNetworkApplicationsByApply } +//RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetrics Retrieves the list of ThousandEyes test results along with related metrics - 38bf-4bbf-4aba-9879 +/* Retrieves the list of ThousandEyes test results along with related metrics. If `startTime` and `endTime` are not provided, the API defaults to the last 24 hours. +Please note that `siteId` filter (if used) should be using only site UUIDs of buildings. + + 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-thousandEyesTestResults-1.0.0-resolved.yaml + + +@param RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsHeaderParams Custom header parameters +@param RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-thousand-eyes-test-results-along-with-related-metrics +*/ +func (s *ApplicationsService) RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetrics(RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsHeaderParams *RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsHeaderParams, RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsQueryParams *RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsQueryParams) (*ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetrics, *resty.Response, error) { + path := "/dna/data/api/v1/thousandEyesTestResults" + + queryString, _ := query.Values(RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsHeaderParams != nil { + + if RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetrics{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetrics(RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsHeaderParams, RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetricsQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetrics") + } + + result := response.Result().(*ResponseApplicationsRetrievesTheListOfThousandEyesTestResultsAlongWithRelatedMetrics) + return result, response, err + +} + +//RetrievesTheTotalCountOfThousandEyesTestResults Retrieves the total count of ThousandEyes test results - 58a4-0889-4a6b-9467 +/* Retrieves the total count of ThousandEyes test results for the given 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-thousandEyesTestResults-1.0.0-resolved.yaml + + +@param RetrievesTheTotalCountOfThousandEyesTestResultsHeaderParams Custom header parameters +@param RetrievesTheTotalCountOfThousandEyesTestResultsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-count-of-thousand-eyes-test-results +*/ +func (s *ApplicationsService) RetrievesTheTotalCountOfThousandEyesTestResults(RetrievesTheTotalCountOfThousandEyesTestResultsHeaderParams *RetrievesTheTotalCountOfThousandEyesTestResultsHeaderParams, RetrievesTheTotalCountOfThousandEyesTestResultsQueryParams *RetrievesTheTotalCountOfThousandEyesTestResultsQueryParams) (*ResponseApplicationsRetrievesTheTotalCountOfThousandEyesTestResults, *resty.Response, error) { + path := "/dna/data/api/v1/thousandEyesTestResults/count" + + queryString, _ := query.Values(RetrievesTheTotalCountOfThousandEyesTestResultsQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesTheTotalCountOfThousandEyesTestResultsHeaderParams != nil { + + if RetrievesTheTotalCountOfThousandEyesTestResultsHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalCountOfThousandEyesTestResultsHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseApplicationsRetrievesTheTotalCountOfThousandEyesTestResults{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheTotalCountOfThousandEyesTestResults(RetrievesTheTotalCountOfThousandEyesTestResultsHeaderParams, RetrievesTheTotalCountOfThousandEyesTestResultsQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalCountOfThousandEyesTestResults") + } + + result := response.Result().(*ResponseApplicationsRetrievesTheTotalCountOfThousandEyesTestResults) + return result, response, err + +} + +//TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRange The trend analytics data for ThousandEyes test results in the specified time range - 13ae-b974-4fe8-a677 +/* Get trend time series for ThousandEyes test results. +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 100 and the records will be sorted by time in ascending (`asc`) order . 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-thousandEyesTestResults-1.0.0-resolved.yaml + + +@param TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeHeaderParams Custom header parameters +@param TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-trend-analytics-data-for-thousand-eyes-test-results-in-the-specified-time-range +*/ +func (s *ApplicationsService) TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRange(TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeHeaderParams *TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeQueryParams *TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeQueryParams) (*ResponseApplicationsTheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRange, *resty.Response, error) { + path := "/dna/data/api/v1/thousandEyesTestResults/trendAnalytics" + + queryString, _ := query.Values(TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeHeaderParams != nil { + + if TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseApplicationsTheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRange{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRange(TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRangeQueryParams) + } + return nil, response, fmt.Errorf("error with operation TheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRange") + } + + result := response.Result().(*ResponseApplicationsTheTrendAnalyticsDataForThousandEyesTestResultsInTheSpecifiedTimeRange) + 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. @@ -393,6 +748,56 @@ func (s *ApplicationsService) Applications(ApplicationsQueryParams *Applications } +//RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics Retrieves summary analytics data related to network applications along with health metrics. - a7bb-fa3c-4c69-9457 +/* Retrieves summary analytics data related to network applications while applying complex filtering, aggregate functions, and grouping. This API facilitates obtaining consolidated insights into the performance and status of the network applications. 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-NetworkApplications-1.0.1-resolved.yaml + + +@param RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-summary-analytics-data-related-to-network-applications-along-with-health-metrics +*/ +func (s *ApplicationsService) RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics(requestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics *RequestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics, RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsHeaderParams *RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsHeaderParams) (*ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics, *resty.Response, error) { + path := "/dna/data/api/v1/networkApplications/summaryAnalytics" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsHeaderParams != nil { + + if RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics). + SetResult(&ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics(requestApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics, RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetricsHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation RetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics") + } + + result := response.Result().(*ResponseApplicationsRetrievesSummaryAnalyticsDataRelatedToNetworkApplicationsAlongWithHealthMetrics) + 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 @@ -442,3 +847,56 @@ func (s *ApplicationsService) RetrievesTheTrendAnalyticsDataRelatedToNetworkAppl return result, response, err } + +//RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication Retrieves the Trend analytics related to specific network application. - 96be-dab7-4959-afc1 +/* Retrieves the trend analytics of applications experience data to specific network application 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.1-resolved.yaml + + +@param id id path parameter. id is the network application name. + +@param RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-trend-analytics-related-to-specific-network-application +*/ +func (s *ApplicationsService) RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication(id string, requestApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication *RequestApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication, RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationHeaderParams *RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationHeaderParams) (*ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication, *resty.Response, error) { + path := "/dna/data/api/v1/networkApplications/{id}/trendAnalytics" + 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 RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationHeaderParams != nil { + + if RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication). + SetResult(&ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication(id, requestApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication, RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplicationHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation RetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication") + } + + result := response.Result().(*ResponseApplicationsRetrievesTheTrendAnalyticsRelatedToSpecificNetworkApplication) + return result, response, err + +} diff --git a/sdk/backup.go b/sdk/backup.go new file mode 100644 index 0000000..d77b014 --- /dev/null +++ b/sdk/backup.go @@ -0,0 +1,616 @@ +package dnac + +import ( + "fmt" + "net/http" + "strings" + + "github.com/go-resty/resty/v2" + "github.com/google/go-querystring/query" +) + +type BackupService service + +type GetBackupAndRestoreExecutionsQueryParams struct { + BackupID string `url:"backupId,omitempty"` //The `backupId` of the backup execution to be retrieved.Obtain the `backupId` from the id attribute in the response of the `/dna/system/api/v1/backups` API. + JobType string `url:"jobType,omitempty"` //The `jobType` of the backup execution to be retrieved. + Status string `url:"status,omitempty"` //The `status` of the backup execution to be retrieved. + Offset int `url:"offset,omitempty"` //The first record to show for this page. + 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. +} +type GetBackupStoragesQueryParams struct { + StorageType string `url:"storageType,omitempty"` //The `storageType` of the backup storage to be retrieved. +} +type GetAllBackupQueryParams struct { + Query string `url:"query,omitempty"` //Filter based on the provided text on predefined fields + Offset int `url:"offset,omitempty"` //The first record to show for this page. + 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. +} + +type ResponseBackupGetBackupConfiguration struct { + DataRetention *int `json:"dataRetention,omitempty"` // Date retention policy of the backup + ID string `json:"id,omitempty"` // The UUID of the backup configuration + IsEncryptionPassPhraseAvailable *bool `json:"isEncryptionPassPhraseAvailable,omitempty"` // Indicates whether an encryption pass phrase is available in the configuration + MountPath string `json:"mountPath,omitempty"` // Backup storage mount path + Type string `json:"type,omitempty"` // The storage type +} +type ResponseBackupCreateBackupConfiguration interface{} +type ResponseBackupCreateNFSConfiguration interface{} +type ResponseBackupGetAllNFSConfigurations struct { + Response *[]ResponseBackupGetAllNFSConfigurationsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseBackupGetAllNFSConfigurationsResponse struct { + ID string `json:"id,omitempty"` // The UUID of the NFS configuration + Spec *ResponseBackupGetAllNFSConfigurationsResponseSpec `json:"spec,omitempty"` // The spec of NFS configuration + Status *ResponseBackupGetAllNFSConfigurationsResponseStatus `json:"status,omitempty"` // The status of NFS configuration +} +type ResponseBackupGetAllNFSConfigurationsResponseSpec interface{} +type ResponseBackupGetAllNFSConfigurationsResponseStatus interface{} +type ResponseBackupDeleteNFSConfiguration interface{} +type ResponseBackupGetBackupAndRestoreExecutions struct { + Filter *ResponseBackupGetBackupAndRestoreExecutionsFilter `json:"filter,omitempty"` // Records are filtered based on the fields + Page *ResponseBackupGetBackupAndRestoreExecutionsPage `json:"page,omitempty"` // Contains pagination information. + Response *[]ResponseBackupGetBackupAndRestoreExecutionsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseBackupGetBackupAndRestoreExecutionsFilter interface{} +type ResponseBackupGetBackupAndRestoreExecutionsPage interface{} +type ResponseBackupGetBackupAndRestoreExecutionsResponse struct { + Metadata *ResponseBackupGetBackupAndRestoreExecutionsResponseMetadata `json:"_metadata,omitempty"` // This field holds additional information + BackupID string `json:"backupId,omitempty"` // The UUID of the backup + CompletedPercentage *float64 `json:"completedPercentage,omitempty"` // Execution completion percentage + CreatedBy string `json:"createdBy,omitempty"` // This field represents the user who triggered this execution + Duration *int `json:"duration,omitempty"` // Total time taken to complete this execution process + EndDate string `json:"endDate,omitempty"` // The end data and time of the backup execution + ErrorCode string `json:"errorCode,omitempty"` // Error code of the backup execution process + ErrorMessage string `json:"errorMessage,omitempty"` // Error message of this backup execution process + FailedTaskDetail *ResponseBackupGetBackupAndRestoreExecutionsResponseFailedTaskDetail `json:"failedTaskDetail,omitempty"` // Failed task detail of this execution + ID string `json:"id,omitempty"` // The UUID of the execution process + IsForceUpdate *bool `json:"isForceUpdate,omitempty"` // This states whether the execution is forcefully updated or not + JobType string `json:"jobType,omitempty"` // The backup execution job type + Scope string `json:"scope,omitempty"` // The backup scope states whether the backup is with assurance or without assurance data + StartDate string `json:"startDate,omitempty"` // The start data and time of the backup execution + Status string `json:"status,omitempty"` // The status of the backup execution + SystemErrorMessage string `json:"systemErrorMessage,omitempty"` // System error message of this backup execution process + UpdateMessage string `json:"updateMessage,omitempty"` // Force update message +} +type ResponseBackupGetBackupAndRestoreExecutionsResponseMetadata interface{} +type ResponseBackupGetBackupAndRestoreExecutionsResponseFailedTaskDetail interface{} +type ResponseBackupGetBackupAndRestoreExecution struct { + Response *ResponseBackupGetBackupAndRestoreExecutionResponse `json:"response,omitempty"` // Contains information about backup execution details. + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseBackupGetBackupAndRestoreExecutionResponse interface{} +type ResponseBackupGetBackupStorages struct { + Response *[]ResponseBackupGetBackupStoragesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseBackupGetBackupStoragesResponse struct { + DiskName string `json:"diskName,omitempty"` // Mounted disk name + FstypeR string `json:"fstype,omitempty"` // Mounted disk fstype + Label string `json:"label,omitempty"` // The mounted volume label + MountPoint string `json:"mountPoint,omitempty"` // Mount path + PartitionName string `json:"partitionName,omitempty"` // Mounted disk partitionName + PercentUsage *float64 `json:"percentUsage,omitempty"` // Used percentage + SizeUnit string `json:"sizeUnit,omitempty"` // Size representation + TotalSize *int `json:"totalSize,omitempty"` // Total size of the disk in bytes + UsedSize *int `json:"usedSize,omitempty"` // Used size of the disk in bytes +} +type ResponseBackupGetAllBackup struct { + Filter *ResponseBackupGetAllBackupFilter `json:"filter,omitempty"` // Records are filtered based on the fields + Page *ResponseBackupGetAllBackupPage `json:"page,omitempty"` // Contains pagination information. + Response *[]ResponseBackupGetAllBackupResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseBackupGetAllBackupFilter interface{} +type ResponseBackupGetAllBackupPage interface{} +type ResponseBackupGetAllBackupResponse struct { + CompatibilityError *[]ResponseBackupGetAllBackupResponseCompatibilityError `json:"compatibilityError,omitempty"` // + Context *ResponseBackupGetAllBackupResponseContext `json:"context,omitempty"` // This field states whether the backup is on-demand or schedule based + CreatedBy string `json:"createdBy,omitempty"` // This field represents the user who triggered this backup + CreatedDate string `json:"createdDate,omitempty"` // This field represents the backup creation date + Duration *int `json:"duration,omitempty"` // Total time taken to create this backup + EndDate string `json:"endDate,omitempty"` // This field represents the backup end date + FipsEnabled *bool `json:"fipsEnabled,omitempty"` // This states whether FIPS is enabled or not + ID string `json:"id,omitempty"` // The UUID for this backup + InstalledPackages *[]ResponseBackupGetAllBackupResponseInstalledPackages `json:"installedPackages,omitempty"` // + InternetProtocolVersion string `json:"internetProtocolVersion,omitempty"` // The network protocol + IsBackupAvailable *bool `json:"isBackupAvailable,omitempty"` // This field represents whether the backup is available in the configured storage + IsCompatible *bool `json:"isCompatible,omitempty"` // This field represents whether the backup is compatible to restore + Name string `json:"name,omitempty"` // The backup name + NumberOfNodes *int `json:"numberOfNodes,omitempty"` // Total number of nodes + ProductType string `json:"productType,omitempty"` // Installed product type + ProductVersion string `json:"productVersion,omitempty"` // The product version + ReleaseDisplayName string `json:"releaseDisplayName,omitempty"` // The release display name of the product installed + ReleaseDisplayVersion string `json:"releaseDisplayVersion,omitempty"` // The release display version of the product installed + ReleaseName string `json:"releaseName,omitempty"` // The release name of the product installed + ReleaseVersion string `json:"releaseVersion,omitempty"` // The release version of the product installed + Scope string `json:"scope,omitempty"` // The backup scope states whether the backup is with assurance or without assurance data + Size *int `json:"size,omitempty"` // The total backup size + Status string `json:"status,omitempty"` // Status of the backup + Storage *ResponseBackupGetAllBackupResponseStorage `json:"storage,omitempty"` // The storage detail of the backup + Versions []string `json:"versions,omitempty"` // List of packages available while creating the backup +} +type ResponseBackupGetAllBackupResponseCompatibilityError struct { + EndDate string `json:"endDate,omitempty"` // Backup compatibility end date + Namespace string `json:"namespace,omitempty"` // The namespace of the service + Response *ResponseBackupGetAllBackupResponseCompatibilityErrorResponse `json:"response,omitempty"` // Response received from the service during compatibility check + ServiceName string `json:"serviceName,omitempty"` // The service name on which the compatibility check executed + StartDate string `json:"startDate,omitempty"` // Backup compatibility start date +} +type ResponseBackupGetAllBackupResponseCompatibilityErrorResponse interface{} +type ResponseBackupGetAllBackupResponseContext interface{} +type ResponseBackupGetAllBackupResponseInstalledPackages struct { + DisplayName string `json:"displayName,omitempty"` // The package display name + Name string `json:"name,omitempty"` // The package name + Version string `json:"version,omitempty"` // The package version +} +type ResponseBackupGetAllBackupResponseStorage interface{} +type ResponseBackupGetBackupByID struct { + Response *ResponseBackupGetBackupByIDResponse `json:"response,omitempty"` // Contains information about backup. + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseBackupGetBackupByIDResponse interface{} +type RequestBackupCreateBackupConfiguration struct { + DataRetention *int `json:"dataRetention,omitempty"` // Date retention policy of the backup + EncryptionPassphrase string `json:"encryptionPassphrase,omitempty"` // Password to encrypt the backup information + MountPath string `json:"mountPath,omitempty"` // Backup storage mount path + Type string `json:"type,omitempty"` // The storage type +} +type RequestBackupCreateNFSConfiguration struct { + NfsPort *int `json:"nfsPort,omitempty"` // NFS Port + NfsVersion string `json:"nfsVersion,omitempty"` // NFS version + PortMapperPort *int `json:"portMapperPort,omitempty"` // NFS port mapper port + Server string `json:"server,omitempty"` // NFS server host + SourcePath string `json:"sourcePath,omitempty"` // NFS server path +} +type RequestBackupCreateBackup struct { + Name string `json:"name,omitempty"` // The backup name + Scope string `json:"scope,omitempty"` // The backup scope states whether the backup is with assurance or without assurance data +} + +//GetBackupConfiguration Get Backup Configuration - d180-a9a1-48f9-b173 +/* This api is used to get the backup configuration + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-backup-configuration +*/ +func (s *BackupService) GetBackupConfiguration() (*ResponseBackupGetBackupConfiguration, *resty.Response, error) { + path := "/dna/system/api/v1/backupConfiguration" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseBackupGetBackupConfiguration{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetBackupConfiguration() + } + return nil, response, fmt.Errorf("error with operation GetBackupConfiguration") + } + + result := response.Result().(*ResponseBackupGetBackupConfiguration) + return result, response, err + +} + +//GetAllNFSConfigurations Get All NFS Configurations - 648e-59e0-41f9-99ec +/* This api is used to get all the configured NFS + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-n-f-s-configurations +*/ +func (s *BackupService) GetAllNFSConfigurations() (*ResponseBackupGetAllNFSConfigurations, *resty.Response, error) { + path := "/dna/system/api/v1/backupNfsConfigurations" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseBackupGetAllNFSConfigurations{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAllNFSConfigurations() + } + return nil, response, fmt.Errorf("error with operation GetAllNFSConfigurations") + } + + result := response.Result().(*ResponseBackupGetAllNFSConfigurations) + return result, response, err + +} + +//GetBackupAndRestoreExecutions Get Backup And Restore Executions - a5a0-8bd1-4fa8-871f +/* This api is used to get all the backup and restore executions. + + +@param GetBackupAndRestoreExecutionsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-backup-and-restore-executions +*/ +func (s *BackupService) GetBackupAndRestoreExecutions(GetBackupAndRestoreExecutionsQueryParams *GetBackupAndRestoreExecutionsQueryParams) (*ResponseBackupGetBackupAndRestoreExecutions, *resty.Response, error) { + path := "/dna/system/api/v1/backupRestoreExecutions" + + queryString, _ := query.Values(GetBackupAndRestoreExecutionsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseBackupGetBackupAndRestoreExecutions{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetBackupAndRestoreExecutions(GetBackupAndRestoreExecutionsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetBackupAndRestoreExecutions") + } + + result := response.Result().(*ResponseBackupGetBackupAndRestoreExecutions) + return result, response, err + +} + +//GetBackupAndRestoreExecution Get Backup And Restore Execution - 3eb8-dbe1-4828-9423 +/* This api is used to get the execution detail of a specific backup or restore worflow process + + +@param id id path parameter. The `id` of the backup execution to be retrieved. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-backup-and-restore-execution +*/ +func (s *BackupService) GetBackupAndRestoreExecution(id string) (*ResponseBackupGetBackupAndRestoreExecution, *resty.Response, error) { + path := "/dna/system/api/v1/backupRestoreExecutions/{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(&ResponseBackupGetBackupAndRestoreExecution{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetBackupAndRestoreExecution(id) + } + return nil, response, fmt.Errorf("error with operation GetBackupAndRestoreExecution") + } + + result := response.Result().(*ResponseBackupGetBackupAndRestoreExecution) + return result, response, err + +} + +//GetBackupStorages Get Backup Storages - 2398-8984-48d9-ae90 +/* This api is used to get all the mounted backup storage information like mount point, disk size based on the provided storage type + + +@param GetBackupStoragesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-backup-storages +*/ +func (s *BackupService) GetBackupStorages(GetBackupStoragesQueryParams *GetBackupStoragesQueryParams) (*ResponseBackupGetBackupStorages, *resty.Response, error) { + path := "/dna/system/api/v1/backupStorages" + + queryString, _ := query.Values(GetBackupStoragesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseBackupGetBackupStorages{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetBackupStorages(GetBackupStoragesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetBackupStorages") + } + + result := response.Result().(*ResponseBackupGetBackupStorages) + return result, response, err + +} + +//GetAllBackup Get All Backup - 6cbf-ea56-42c9-9b6d +/* This api is used to get all the backup available in the configured storage + + +@param GetAllBackupQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-backup +*/ +func (s *BackupService) GetAllBackup(GetAllBackupQueryParams *GetAllBackupQueryParams) (*ResponseBackupGetAllBackup, *resty.Response, error) { + path := "/dna/system/api/v1/backups" + + queryString, _ := query.Values(GetAllBackupQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseBackupGetAllBackup{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAllBackup(GetAllBackupQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAllBackup") + } + + result := response.Result().(*ResponseBackupGetAllBackup) + return result, response, err + +} + +//GetBackupByID Get Backup By Id - 26ab-9821-4979-b15b +/* This api is used to get a specific backup based on the provided `backup id`. + + +@param id id path parameter. The `id` of the backup to be retrieved. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-backup-by-id +*/ +func (s *BackupService) GetBackupByID(id string) (*ResponseBackupGetBackupByID, *resty.Response, error) { + path := "/dna/system/api/v1/backups/{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(&ResponseBackupGetBackupByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetBackupByID(id) + } + return nil, response, fmt.Errorf("error with operation GetBackupById") + } + + result := response.Result().(*ResponseBackupGetBackupByID) + return result, response, err + +} + +//CreateBackupConfiguration Create Backup Configuration - c098-8833-4c9a-92f8 +/* This api is used to create or update backup configuration. Obtain the `mountPath` value from the mountPoint attribute in the response of the `/dna/system/api/v1/backupStorages` API. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-backup-configuration +*/ +func (s *BackupService) CreateBackupConfiguration(requestBackupCreateBackupConfiguration *RequestBackupCreateBackupConfiguration) (*ResponseBackupCreateBackupConfiguration, *resty.Response, error) { + path := "/dna/system/api/v1/backupConfiguration" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestBackupCreateBackupConfiguration). + // SetResult(&ResponseBackupCreateBackupConfiguration{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateBackupConfiguration(requestBackupCreateBackupConfiguration) + } + + return nil, response, fmt.Errorf("error with operation CreateBackupConfiguration") + } + + result := response.Result().(ResponseBackupCreateBackupConfiguration) + + return &result, response, err + +} + +//CreateNFSConfiguration Create NFS Configuration - 2ea6-eb71-40aa-bc4b +/* This api is used to create NFS configuration. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-n-f-s-configuration +*/ +func (s *BackupService) CreateNFSConfiguration(requestBackupCreateNFSConfiguration *RequestBackupCreateNFSConfiguration) (*ResponseBackupCreateNFSConfiguration, *resty.Response, error) { + path := "/dna/system/api/v1/backupNfsConfigurations" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestBackupCreateNFSConfiguration). + // SetResult(&ResponseBackupCreateNFSConfiguration{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateNFSConfiguration(requestBackupCreateNFSConfiguration) + } + + return nil, response, fmt.Errorf("error with operation CreateNFSConfiguration") + } + + result := response.Result().(ResponseBackupCreateNFSConfiguration) + + return &result, response, err + +} + +//CreateBackup Create Backup - a890-fa3c-4069-bde1 +/* This api is used to trigger a workflow to create an on demand backup. To monitor the progress and completion of the backup creation , please call `/dna/system/api/v1/backupRestoreExecutions/{id}` api , where id is the taskId attribute from the response of the curent endpoint. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-backup +*/ +func (s *BackupService) CreateBackup(requestBackupCreateBackup *RequestBackupCreateBackup) (*resty.Response, error) { + path := "/dna/system/api/v1/backups" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestBackupCreateBackup). + SetError(&Error). + Post(path) + + if err != nil { + return nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateBackup(requestBackupCreateBackup) + } + + return response, fmt.Errorf("error with operation CreateBackup") + } + + return response, err + +} + +//DeleteNFSConfiguration Delete NFS Configuration - 6199-d965-4ebb-8258 +/* This api is used to delete the NFS configuration. Obtain the `id` from the id attribute in the response of the `/dna/system/api/v1/backupNfsConfigurations` API. + + +@param id id path parameter. The `id` of the NFS configuration to be deleted.Obtain the `id` from the id attribute in the response of the `/dna/system/api/v1/backupNfsConfigurations` API. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-n-f-s-configuration +*/ +func (s *BackupService) DeleteNFSConfiguration(id string) (*ResponseBackupDeleteNFSConfiguration, *resty.Response, error) { + //id string + path := "/dna/system/api/v1/backupNfsConfigurations/{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(&ResponseBackupDeleteNFSConfiguration{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteNFSConfiguration( + id) + } + return nil, response, fmt.Errorf("error with operation DeleteNFSConfiguration") + } + + result := response.Result().(ResponseBackupDeleteNFSConfiguration) + + return &result, response, err + +} + +//DeleteBackup Delete Backup - 34a4-c9e6-4f4a-af31 +/* This api is used to trigger delete workflow of a specific backup based on the provided `id` Obtain the `id` from the id attribute in the response of the `/dna/system/api/v1/backups` API. To monitor the progress and completion of the backup deletion , please call `/dna/system/api/v1/backupRestoreExecutions/{id}` api , where id is the taskId attribute from the response of the curent endpoint. + + +@param id id path parameter. The `id` of the backup to be deleted.Obtain the 'id' from the id attribute in the response of the `/dna/system/api/v1/backups` API. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-backup +*/ +func (s *BackupService) DeleteBackup(id string) (*resty.Response, error) { + //id string + path := "/dna/system/api/v1/backups/{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.DeleteBackup( + id) + } + return response, fmt.Errorf("error with operation DeleteBackup") + } + + return response, err + +} diff --git a/sdk/cisco_i_m_c.go b/sdk/cisco_i_m_c.go index 373e70f..e1219f0 100644 --- a/sdk/cisco_i_m_c.go +++ b/sdk/cisco_i_m_c.go @@ -12,67 +12,50 @@ type CiscoIMCService service type ResponseCiscoIMCaddsCiscoIMCConfigurationToACatalystCenterNode struct { Response *ResponseCiscoIMCaddsCiscoIMCConfigurationToACatalystCenterNodeResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // The version of the response + 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 + 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 + 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. - + 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/v1/nodes-config` API. IPAddress string `json:"ipAddress,omitempty"` // IP address of the Cisco IMC - - Username string `json:"username,omitempty"` // Username 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 + 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 + 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 + 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. - + 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/v1/nodes-config` API. IPAddress string `json:"ipAddress,omitempty"` // IP address of the Cisco IMC - - Username string `json:"username,omitempty"` // Username 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. - + 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/v1/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 + 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 + 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 @@ -83,10 +66,10 @@ The Cisco IMC configuration is relevant only for Catalyst Center deployments bas -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-cisco-i-m-c-configurations-for-catalyst-center-nodes- +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" + path := "/dna/system/api/v1/ciscoImcs" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). @@ -122,10 +105,10 @@ The Cisco IMC configuration is relevant only for Catalyst Center deployments bas @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- +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 := "/dna/system/api/v1/ciscoImcs/{id}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). @@ -153,7 +136,7 @@ func (s *CiscoIMCService) RetrievesTheCiscoIMCConfigurationForACatalystCenterNod } //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. +/* 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/v1/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. @@ -161,10 +144,10 @@ When Cisco IMC configuration is supported, this API responds with the URL of a d -Documentation Link: https://developer.cisco.com/docs/dna-center/#!adds-cisco-i-m-c-configuration-to-a-catalyst-center-node- +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" + path := "/dna/system/api/v1/ciscoImcs" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). @@ -205,7 +188,7 @@ When Cisco IMC configuration is supported, this API responds with the URL of a d */ func (s *CiscoIMCService) UpdatesTheCiscoIMCConfigurationForACatalystCenterNode(id string, requestCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode *RequestCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode) (*ResponseCiscoIMCUpdatesTheCiscoIMCConfigurationForACatalystCenterNode, *resty.Response, error) { - path := "/dna/system/api//ciscoImcs/{id}" + path := "/dna/system/api/v1/ciscoImcs/{id}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). @@ -243,11 +226,11 @@ The Cisco IMC configuration is relevant only for Catalyst Center deployments bas @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- +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 := "/dna/system/api/v1/ciscoImcs/{id}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) response, err := s.client.R(). diff --git a/sdk/clients.go b/sdk/clients.go index 50e4690..b7a3e5b 100644 --- a/sdk/clients.go +++ b/sdk/clients.go @@ -19,17 +19,17 @@ type RetrievesTheListOfClientsWhileAlsoOfferingBasicFilteringAndSortingCapabilit 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 string `url:"type,omitempty"` //The client device type whether client is connected to network through Wired or Wireless medium. - OsType string `url:"osType,omitempty"` //Client device operating system type. This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*iOS*` or `iOS*` or `*iOS` Examples: `osType=iOS` (single osType requested) `osType=iOS&osType=Android` (multiple osType requested) - OsVersion string `url:"osVersion,omitempty"` //Client device operating system version This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*14.3*` or `14.3*` or `*14.3` Examples: `osVersion=14.3` (single osVersion requested) `osVersion=14.3&osVersion=10.1` (multiple osVersion requested) + OsType string `url:"osType,omitempty"` //Client device operating system type. This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*iOS*` or `iOS*` or `*iOS` Examples: `osType=iOS` (single osType requested) `osType=iOS&osType=Android` (multiple osType requested) + OsVersion string `url:"osVersion,omitempty"` //Client device operating system version This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*14.3*` or `14.3*` or `*14.3` Examples: `osVersion=14.3` (single osVersion requested) `osVersion=14.3&osVersion=10.1` (multiple osVersion 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 (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*BuildingName*` or `BuildingName*` or `*BuildingName` Examples: `siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `siteHierarchy=Global/AreaName/BuildingName1/FloorName1&siteHierarchy=Global/AreaName/BuildingName1/FloorName2` (multiple siteHierarchy 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 (`*`) character-based search. Ex: `*buildingUuid*` or `buildingUuid*` or `*buildingUuid` Examples: `siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid` (single siteHierarchyId requested) `siteHierarchyId=globalUuid/areaUuid/buildingUuid1/floorUuid1&siteHierarchyId=globalUuid/areaUuid/buildingUuid1/floorUuid2` (multiple siteHierarchyId requested) SiteID string `url:"siteId,omitempty"` //The site UUID without the top level hierarchy. (Ex."floorUuid") Examples: `siteId=floorUuid` (single siteId requested) `siteId=floorUuid1&siteId=floorUuid2` (multiple siteId requested) - IPv4Address string `url:"ipv4Address,omitempty"` //IPv4 Address of the network entity either network device or client This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `ipv4Address=1.1.1.1` (single ipv4Address requested) `ipv4Address=1.1.1.1&ipv4Address=2.2.2.2` (multiple ipv4Address requested) + IPv4Address string `url:"ipv4Address,omitempty"` //IPv4 Address of the network entity either network device or client This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `ipv4Address=1.1.1.1` (single ipv4Address requested) `ipv4Address=1.1.1.1&ipv4Address=2.2.2.2` (multiple ipv4Address requested) IPv6Address string `url:"ipv6Address,omitempty"` //IPv6 Address of the network entity either network device or client This field supports wildcard (`*`) character-based search. Ex: `*2001:db8*` or `2001:db8*` or `*2001:db8` Examples: `ipv6Address=2001:db8:0:0:0:0:2:1` (single ipv6Address requested) `ipv6Address=2001:db8:0:0:0:0:2:1&ipv6Address=2001:db8:85a3:8d3:1319:8a2e:370:7348` (multiple ipv6Address 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) + 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) WlcName string `url:"wlcName,omitempty"` //Wireless Controller name that reports the wireless client. This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*wlc-25*` or `wlc-25*` or `*wlc-25` Examples: `wlcName=wlc-25` (single wlcName requested) `wlcName=wlc-25&wlc-34` (multiple wlcName requested) ConnectedNetworkDeviceName string `url:"connectedNetworkDeviceName,omitempty"` //Name of the neighbor network device that client is connected to. This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*ap-25*` or `ap-25*` or `*ap-25` Examples: `connectedNetworkDeviceName=ap-25` (single connectedNetworkDeviceName requested) `connectedNetworkDeviceName=ap-25&ap-34` (multiple connectedNetworkDeviceName 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 value contains the (`*`) character, please use the /query API for regex search. Ex: `*Alpha*` or `Alpha*` or `*Alpha` Examples: `ssid=Alpha` (single ssid requested) `ssid=Alpha&ssid=Guest` (multiple ssid 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 value contains the (`*`) character, please use the /query API for regex search. Ex: `*Alpha*` or `Alpha*` or `*Alpha` 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=5GHZ` (single band requested) `band=2.4GHZ&band=6GHZ` (multiple band requested) View string `url:"view,omitempty"` //Client related Views Refer to ClientView schema for list of views supported Examples: `view=Wireless` (single view requested) `view=WirelessHealth&view=WirelessTraffic` (multiple view requested) 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. Refer to ClientAttribute schema for list of attributes supported Examples: `attribute=band` (single attribute requested) `attribute=band&attribute=ssid&attribute=overallScore` (multiple attribute requested) @@ -41,17 +41,17 @@ type RetrievesTheTotalCountOfClientsByApplyingBasicFilteringQueryParams 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. Type string `url:"type,omitempty"` //The client device type whether client is connected to network through Wired or Wireless medium. - OsType string `url:"osType,omitempty"` //Client device operating system type. This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*iOS*` or `iOS*` or `*iOS` Examples: `osType=iOS` (single osType requested) `osType=iOS&osType=Android` (multiple osType requested) - OsVersion string `url:"osVersion,omitempty"` //Client device operating system version This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*14.3*` or `14.3*` or `*14.3` Examples: `osVersion=14.3` (single osVersion requested) `osVersion=14.3&osVersion=10.1` (multiple osVersion requested) + OsType string `url:"osType,omitempty"` //Client device operating system type. This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*iOS*` or `iOS*` or `*iOS` Examples: `osType=iOS` (single osType requested) `osType=iOS&osType=Android` (multiple osType requested) + OsVersion string `url:"osVersion,omitempty"` //Client device operating system version This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*14.3*` or `14.3*` or `*14.3` Examples: `osVersion=14.3` (single osVersion requested) `osVersion=14.3&osVersion=10.1` (multiple osVersion 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 (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*BuildingName*` or `BuildingName*` or `*BuildingName` Examples: `siteHierarchy=Global/AreaName/BuildingName/FloorName` (single siteHierarchy requested) `siteHierarchy=Global/AreaName/BuildingName1/FloorName1&siteHierarchy=Global/AreaName/BuildingName1/FloorName2` (multiple siteHierarchy 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 (`*`) character-based search. Ex: `*buildingUuid*` or `buildingUuid*` or `*buildingUuid` Examples: `siteHierarchyId=globalUuid/areaUuid/buildingUuid/floorUuid` (single siteHierarchyId requested) `siteHierarchyId=globalUuid/areaUuid/buildingUuid1/floorUuid1&siteHierarchyId=globalUuid/areaUuid/buildingUuid1/floorUuid2` (multiple siteHierarchyId requested) SiteID string `url:"siteId,omitempty"` //The site UUID without the top level hierarchy. (Ex."floorUuid") Examples: `siteId=floorUuid` (single siteId requested) `siteId=floorUuid1&siteId=floorUuid2` (multiple siteId requested) - IPv4Address string `url:"ipv4Address,omitempty"` //IPv4 Address of the network entity either network device or client This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `ipv4Address=1.1.1.1` (single ipv4Address requested) `ipv4Address=1.1.1.1&ipv4Address=2.2.2.2` (multiple ipv4Address requested) + IPv4Address string `url:"ipv4Address,omitempty"` //IPv4 Address of the network entity either network device or client This field supports wildcard (`*`) character-based search. Ex: `*1.1*` or `1.1*` or `*1.1` Examples: `ipv4Address=1.1.1.1` (single ipv4Address requested) `ipv4Address=1.1.1.1&ipv4Address=2.2.2.2` (multiple ipv4Address requested) IPv6Address string `url:"ipv6Address,omitempty"` //IPv6 Address of the network entity either network device or client This field supports wildcard (`*`) character-based search. Ex: `*2001:db8*` or `2001:db8*` or `*2001:db8` Examples: `ipv6Address=2001:db8:0:0:0:0:2:1` (single ipv6Address requested) `ipv6Address=2001:db8:0:0:0:0:2:1&ipv6Address=2001:db8:85a3:8d3:1319:8a2e:370:7348` (multiple ipv6Address 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) + 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) WlcName string `url:"wlcName,omitempty"` //Wireless Controller name that reports the wireless client. This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*wlc-25*` or `wlc-25*` or `*wlc-25` Examples: `wlcName=wlc-25` (single wlcName requested) `wlcName=wlc-25&wlc-34` (multiple wlcName requested) ConnectedNetworkDeviceName string `url:"connectedNetworkDeviceName,omitempty"` //Name of the neighbor network device that client is connected to. This field supports wildcard (`*`) character-based search. If the value contains the (`*`) character, please use the /query API for regex search. Ex: `*ap-25*` or `ap-25*` or `*ap-25` Examples: `connectedNetworkDeviceName=ap-25` (single connectedNetworkDeviceName requested) `connectedNetworkDeviceName=ap-25&ap-34` (multiple connectedNetworkDeviceName 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 value contains the (`*`) character, please use the /query API for regex search. Ex: `*Alpha*` or `Alpha*` or `*Alpha` Examples: `ssid=Alpha` (single ssid requested) `ssid=Alpha&ssid=Guest` (multiple ssid 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 value contains the (`*`) character, please use the /query API for regex search. Ex: `*Alpha*` or `Alpha*` or `*Alpha` 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=5GHZ` (single band requested) `band=2.4GHZ&band=6GHZ` (multiple band requested) } type RetrievesTheTotalCountOfClientsByApplyingBasicFilteringHeaderParams struct { @@ -90,6 +90,55 @@ type RetrievesSpecificClientInformationOverASpecifiedPeriodOfTimeHeaderParams st 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 GetClientsEnergyQueryParams 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 one day before `endTime`. + 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. If `endTime` is not provided, API will default to one day after `startTime`. If `startTime` is not provided either, API will default to current time. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Cursor string `url:"cursor,omitempty"` //It's an opaque string field that indicates the next record in the requested collection. If no records remain, the API returns a response with a count of zero. The default value is an empty string, and the initial value must be an empty string. The cursor value is populated by the API in the response page block. If the user wants more records, the cursor in the subsequent request must be updated with the value from the previous response. + 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 Mac addresses (e.g., `54:9F:C6:43:FF:80`). Examples: `id=54:9F:C6:43:FF:80` (single device requested) `id=54:9F:C6:43:FF:80&id=01:23:45:67:89:AB` + 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) + 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) + DeviceCategory string `url:"deviceCategory,omitempty"` //The list of device deviceCategories. Examples: `deviceCategory=AccessPoint` (single device family requested) `deviceCategory=AccessPoint&deviceCategory=OtherPOEDevice` (multiple device categories with comma separator) + DeviceSubCategory string `url:"deviceSubCategory,omitempty"` //The list of device sub categories. Examples: `deviceSubCategory=IP Phone 7821` (single sub category requested) `deviceSubCategory=IP Phone 7821&deviceSubCategory=IEEE PD` + View string `url:"view,omitempty"` //List of views. View and attribute work in union. Each view will include its attributes. For example, view device includes all the attributes related to device. Please refer to `ClientDeviceEnergyView` model for supported list of views Examples: `view=device&view=energy` + Attribute string `url:"attribute,omitempty"` //List of attributes. Please refer to `ClientDeviceEnergyAttribute` for supported list of attributes Examples: `attribute=id&attribute=energyConsumed` +} +type GetClientsEnergyHeaderParams 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 CountClientsEnergyQueryParams 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 one day before `endTime`. + 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. If `endTime` is not provided, API will default to one day after `startTime`. If `startTime` is not provided either, API will default to current time. + ID string `url:"id,omitempty"` //The list of Mac addresses (e.g., `54:9F:C6:43:FF:80`). Examples: `id=54:9F:C6:43:FF:80` (single device requested) `id=54:9F:C6:43:FF:80&id=01:23:45:67:89:AB` + 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) + 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) + DeviceCategory string `url:"deviceCategory,omitempty"` //The list of device deviceCategories. Examples: `deviceCategory=AccessPoint` (single device family requested) `deviceCategory=AccessPoint&deviceCategory=OtherPOEDevice` (multiple device categories with comma separator) + DeviceSubCategory string `url:"deviceSubCategory,omitempty"` //The list of device sub categories. Examples: `deviceSubCategory=IP Phone 7821` (single sub category requested) `deviceSubCategory=IP Phone 7821&deviceSubCategory=IEEE PD` +} +type CountClientsEnergyHeaderParams 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 QueryClientsEnergyHeaderParams 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 CountClientsEnergyFromQueryHeaderParams 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 GetClientEnergyByIDQueryParams 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 one day before `endTime`. + 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. If `endTime` is not provided, API will default to one day after `startTime`. If `startTime` is not provided either, API will default to current time. + View string `url:"view,omitempty"` //List of views. View and attribute work in union. Each view will include its attributes. For example, view device includes all the attributes related to device. Please refer to `ClientDeviceEnergyView` model for supported list of views Examples: `view=device&view=energy` + Attribute string `url:"attribute,omitempty"` //List of attributes. Please refer to `ClientDeviceEnergyAttribute` for supported list of attributes Examples: `attribute=id&attribute=energyConsumed` +} +type GetClientEnergyByIDHeaderParams 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 GetClientDetailQueryParams struct { MacAddress string `url:"macAddress,omitempty"` //MAC Address of the client Timestamp float64 `url:"timestamp,omitempty"` //Epoch time(in milliseconds) when the Client health data is required @@ -98,7 +147,7 @@ type GetClientEnrichmentDetailsHeaderParams struct { EntityType string `url:"entity_type,omitempty"` //Expects type string. Client 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 IssueCategory string `url:"issueCategory,omitempty"` //Expects type string. The category of the DNA event based on which the underlying issues need to be fetched - 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 GetOverallClientHealthQueryParams struct { Timestamp float64 `url:"timestamp,omitempty"` //Epoch time(in milliseconds) when the Client health data is required @@ -666,6 +715,106 @@ type ResponseClientsRetrievesSpecificClientInformationOverASpecifiedPeriodOfTime Count *int `json:"count,omitempty"` // Count TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order } +type ResponseClientsGetClientsEnergy struct { + Response *[]ResponseClientsGetClientsEnergyResponse `json:"response,omitempty"` // + Page *ResponseClientsGetClientsEnergyPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseClientsGetClientsEnergyResponse struct { + ID string `json:"id,omitempty"` // Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceCategory string `json:"deviceCategory,omitempty"` // Device Category + DeviceSubCategory string `json:"deviceSubCategory,omitempty"` // Device Sub Category + SiteID string `json:"siteId,omitempty"` // Site Id + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + EnergyConsumed *float64 `json:"energyConsumed,omitempty"` // Energy Consumed + EstimatedCost *float64 `json:"estimatedCost,omitempty"` // Estimated Cost + EstimatedEmission *float64 `json:"estimatedEmission,omitempty"` // Estimated Emission + CarbonIntensity *float64 `json:"carbonIntensity,omitempty"` // Carbon Intensity + ConnectedDeviceName string `json:"connectedDeviceName,omitempty"` // Connected Device Name + ConnectedInterfaceName string `json:"connectedInterfaceName,omitempty"` // Connected Interface Name +} +type ResponseClientsGetClientsEnergyPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Cursor string `json:"cursor,omitempty"` // Cursor + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseClientsGetClientsEnergyPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseClientsGetClientsEnergyPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order +} +type ResponseClientsCountClientsEnergy struct { + Response *ResponseClientsCountClientsEnergyResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseClientsCountClientsEnergyResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseClientsQueryClientsEnergy struct { + Response *[]ResponseClientsQueryClientsEnergyResponse `json:"response,omitempty"` // + Page *ResponseClientsQueryClientsEnergyPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseClientsQueryClientsEnergyResponse struct { + ID string `json:"id,omitempty"` // Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceCategory string `json:"deviceCategory,omitempty"` // Device Category + DeviceSubCategory string `json:"deviceSubCategory,omitempty"` // Device Sub Category + SiteID string `json:"siteId,omitempty"` // Site Id + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + EnergyConsumed *float64 `json:"energyConsumed,omitempty"` // Energy Consumed + EstimatedCost *float64 `json:"estimatedCost,omitempty"` // Estimated Cost + EstimatedEmission *float64 `json:"estimatedEmission,omitempty"` // Estimated Emission + CarbonIntensity *float64 `json:"carbonIntensity,omitempty"` // Carbon Intensity + ConnectedDeviceName string `json:"connectedDeviceName,omitempty"` // Connected Device Name + ConnectedInterfaceName string `json:"connectedInterfaceName,omitempty"` // Connected Interface Name + AggregateAttributes *[]ResponseClientsQueryClientsEnergyResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseClientsQueryClientsEnergyResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *float64 `json:"value,omitempty"` // Value +} +type ResponseClientsQueryClientsEnergyPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Cursor string `json:"cursor,omitempty"` // Cursor + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseClientsQueryClientsEnergyPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseClientsQueryClientsEnergyPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + Function string `json:"function,omitempty"` // Function +} +type ResponseClientsCountClientsEnergyFromQuery struct { + Response *ResponseClientsCountClientsEnergyFromQueryResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseClientsCountClientsEnergyFromQueryResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseClientsGetClientEnergyByID struct { + Response *ResponseClientsGetClientEnergyByIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseClientsGetClientEnergyByIDResponse struct { + ID string `json:"id,omitempty"` // Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceCategory string `json:"deviceCategory,omitempty"` // Device Category + DeviceSubCategory string `json:"deviceSubCategory,omitempty"` // Device Sub Category + SiteID string `json:"siteId,omitempty"` // Site Id + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + EnergyConsumed *float64 `json:"energyConsumed,omitempty"` // Energy Consumed + EstimatedCost *float64 `json:"estimatedCost,omitempty"` // Estimated Cost + EstimatedEmission *float64 `json:"estimatedEmission,omitempty"` // Estimated Emission + CarbonIntensity *float64 `json:"carbonIntensity,omitempty"` // Carbon Intensity + ConnectedDeviceName string `json:"connectedDeviceName,omitempty"` // Connected Device Name + ConnectedInterfaceName string `json:"connectedInterfaceName,omitempty"` // Connected Interface Name +} type ResponseClientsGetClientDetail struct { Detail *ResponseClientsGetClientDetailDetail `json:"detail,omitempty"` // ConnectionInfo *ResponseClientsGetClientDetailConnectionInfo `json:"connectionInfo,omitempty"` // @@ -1263,6 +1412,70 @@ type RequestClientsRetrievesSpecificClientInformationOverASpecifiedPeriodOfTimeP Cursor string `json:"cursor,omitempty"` // Cursor TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order } +type RequestClientsQueryClientsEnergy struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + EndTime *int `json:"endTime,omitempty"` // End Time + Filters *[]RequestClientsQueryClientsEnergyFilters `json:"filters,omitempty"` // + Views []string `json:"views,omitempty"` // Views + Attributes []string `json:"attributes,omitempty"` // Attributes + AggregateAttributes *[]RequestClientsQueryClientsEnergyAggregateAttributes `json:"aggregateAttributes,omitempty"` // + Page *RequestClientsQueryClientsEnergyPage `json:"page,omitempty"` // +} +type RequestClientsQueryClientsEnergyFilters struct { + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + Filters *[]RequestClientsQueryClientsEnergyFiltersFilters `json:"filters,omitempty"` // +} +type RequestClientsQueryClientsEnergyFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value []string `json:"value,omitempty"` // Value +} +type RequestClientsQueryClientsEnergyAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function +} +type RequestClientsQueryClientsEnergyPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Cursor string `json:"cursor,omitempty"` // Cursor + SortBy *[]RequestClientsQueryClientsEnergyPageSortBy `json:"sortBy,omitempty"` // +} +type RequestClientsQueryClientsEnergyPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + Function string `json:"function,omitempty"` // Function +} +type RequestClientsCountClientsEnergyFromQuery struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + EndTime *int `json:"endTime,omitempty"` // End Time + Filters *[]RequestClientsCountClientsEnergyFromQueryFilters `json:"filters,omitempty"` // + Views []string `json:"views,omitempty"` // Views + Attributes []string `json:"attributes,omitempty"` // Attributes + AggregateAttributes *[]RequestClientsCountClientsEnergyFromQueryAggregateAttributes `json:"aggregateAttributes,omitempty"` // + Page *RequestClientsCountClientsEnergyFromQueryPage `json:"page,omitempty"` // +} +type RequestClientsCountClientsEnergyFromQueryFilters struct { + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + Filters *[]RequestClientsCountClientsEnergyFromQueryFiltersFilters `json:"filters,omitempty"` // +} +type RequestClientsCountClientsEnergyFromQueryFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value []string `json:"value,omitempty"` // Value +} +type RequestClientsCountClientsEnergyFromQueryAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function +} +type RequestClientsCountClientsEnergyFromQueryPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + SortBy *[]RequestClientsCountClientsEnergyFromQueryPageSortBy `json:"sortBy,omitempty"` // +} +type RequestClientsCountClientsEnergyFromQueryPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + Function string `json:"function,omitempty"` // Function +} //RetrievesTheListOfClientsWhileAlsoOfferingBasicFilteringAndSortingCapabilities Retrieves the list of clients, while also offering basic filtering and sorting capabilities. - ecb7-ab7e-47eb-8793 /* Retrieves the list of clients, while also offering 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-clients1-1.0.0-resolved.yaml @@ -1417,6 +1630,161 @@ func (s *ClientsService) RetrievesSpecificClientInformationMatchingTheMacaddress } +//GetClientsEnergy Get clients energy - a2a3-4b20-4fe8-9bfd +/* Retrieves a list of client devices with energy data based on the specified 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-deviceEnergy_1.0-1.0.1-resolved.yaml + + +@param GetClientsEnergyHeaderParams Custom header parameters +@param GetClientsEnergyQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-clients-energy +*/ +func (s *ClientsService) GetClientsEnergy(GetClientsEnergyHeaderParams *GetClientsEnergyHeaderParams, GetClientsEnergyQueryParams *GetClientsEnergyQueryParams) (*ResponseClientsGetClientsEnergy, *resty.Response, error) { + path := "/dna/data/api/v1/energy/clients" + + queryString, _ := query.Values(GetClientsEnergyQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetClientsEnergyHeaderParams != nil { + + if GetClientsEnergyHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetClientsEnergyHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseClientsGetClientsEnergy{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetClientsEnergy(GetClientsEnergyHeaderParams, GetClientsEnergyQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetClientsEnergy") + } + + result := response.Result().(*ResponseClientsGetClientsEnergy) + return result, response, err + +} + +//CountClientsEnergy Count clients energy - b28b-2962-403b-b688 +/* Retrieves the total count of client devices that provide energy data, filtered according to the specified 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-deviceEnergy_1.0-1.0.1-resolved.yaml + + +@param CountClientsEnergyHeaderParams Custom header parameters +@param CountClientsEnergyQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-clients-energy +*/ +func (s *ClientsService) CountClientsEnergy(CountClientsEnergyHeaderParams *CountClientsEnergyHeaderParams, CountClientsEnergyQueryParams *CountClientsEnergyQueryParams) (*ResponseClientsCountClientsEnergy, *resty.Response, error) { + path := "/dna/data/api/v1/energy/clients/count" + + queryString, _ := query.Values(CountClientsEnergyQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if CountClientsEnergyHeaderParams != nil { + + if CountClientsEnergyHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", CountClientsEnergyHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseClientsCountClientsEnergy{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.CountClientsEnergy(CountClientsEnergyHeaderParams, CountClientsEnergyQueryParams) + } + return nil, response, fmt.Errorf("error with operation CountClientsEnergy") + } + + result := response.Result().(*ResponseClientsCountClientsEnergy) + return result, response, err + +} + +//GetClientEnergyByID Get client energy by ID - b69f-fad9-45fa-94f4 +/* Retrieves client device energy data for a specified time range based on the client 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-deviceEnergy_1.0-1.0.1-resolved.yaml + + +@param id id path parameter. Mac address of a client device (e.g., 54:9F:C6:43:FF:80). 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 GetClientEnergyByIDHeaderParams Custom header parameters +@param GetClientEnergyByIDQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-client-energy-by-id +*/ +func (s *ClientsService) GetClientEnergyByID(id string, GetClientEnergyByIDHeaderParams *GetClientEnergyByIDHeaderParams, GetClientEnergyByIDQueryParams *GetClientEnergyByIDQueryParams) (*ResponseClientsGetClientEnergyByID, *resty.Response, error) { + path := "/dna/data/api/v1/energy/clients/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetClientEnergyByIDQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetClientEnergyByIDHeaderParams != nil { + + if GetClientEnergyByIDHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetClientEnergyByIDHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseClientsGetClientEnergyByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetClientEnergyByID(id, GetClientEnergyByIDHeaderParams, GetClientEnergyByIDQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetClientEnergyById") + } + + result := response.Result().(*ResponseClientsGetClientEnergyByID) + return result, response, err + +} + //GetClientDetail Get Client Detail - 1980-1996-4389-9d65 /* Returns detailed Client information retrieved by Mac Address for any given point of time. @@ -1889,3 +2257,103 @@ func (s *ClientsService) RetrievesSpecificClientInformationOverASpecifiedPeriodO return result, response, err } + +//QueryClientsEnergy Query clients energy - 3d9c-da44-4a6a-951e +/* Retrieves a list of client devices along with their energy data for a specified time range, based on the filters provided in the request body. 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-deviceEnergy_1.0-1.0.1-resolved.yaml + + +@param QueryClientsEnergyHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-clients-energy +*/ +func (s *ClientsService) QueryClientsEnergy(requestClientsQueryClientsEnergy *RequestClientsQueryClientsEnergy, QueryClientsEnergyHeaderParams *QueryClientsEnergyHeaderParams) (*ResponseClientsQueryClientsEnergy, *resty.Response, error) { + path := "/dna/data/api/v1/energy/clients/query" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if QueryClientsEnergyHeaderParams != nil { + + if QueryClientsEnergyHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", QueryClientsEnergyHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestClientsQueryClientsEnergy). + SetResult(&ResponseClientsQueryClientsEnergy{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.QueryClientsEnergy(requestClientsQueryClientsEnergy, QueryClientsEnergyHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation QueryClientsEnergy") + } + + result := response.Result().(*ResponseClientsQueryClientsEnergy) + return result, response, err + +} + +//CountClientsEnergyFromQuery Count clients energy from query - 5498-59c5-4508-97da +/* Retrieves the total count of client devices based on the specified complex 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-deviceEnergy_1.0-1.0.1-resolved.yaml + + +@param CountClientsEnergyFromQueryHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-clients-energy-from-query +*/ +func (s *ClientsService) CountClientsEnergyFromQuery(requestClientsCountClientsEnergyFromQuery *RequestClientsCountClientsEnergyFromQuery, CountClientsEnergyFromQueryHeaderParams *CountClientsEnergyFromQueryHeaderParams) (*ResponseClientsCountClientsEnergyFromQuery, *resty.Response, error) { + path := "/dna/data/api/v1/energy/clients/query/count" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if CountClientsEnergyFromQueryHeaderParams != nil { + + if CountClientsEnergyFromQueryHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", CountClientsEnergyFromQueryHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestClientsCountClientsEnergyFromQuery). + SetResult(&ResponseClientsCountClientsEnergyFromQuery{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CountClientsEnergyFromQuery(requestClientsCountClientsEnergyFromQuery, CountClientsEnergyFromQueryHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation CountClientsEnergyFromQuery") + } + + result := response.Result().(*ResponseClientsCountClientsEnergyFromQuery) + return result, response, err + +} diff --git a/sdk/compliance.go b/sdk/compliance.go index 5bb4102..cd3e192 100644 --- a/sdk/compliance.go +++ b/sdk/compliance.go @@ -21,14 +21,14 @@ 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'. } type GetComplianceDetailQueryParams struct { - ComplianceType string `url:"complianceType,omitempty"` //Specify "Compliance type(s)" in commas. The Compliance type can be 'NETWORK_PROFILE', 'IMAGE', 'FABRIC', 'APPLICATION_VISIBILITY', 'FABRIC', RUNNING_CONFIG', 'NETWORK_SETTINGS', 'WORKFLOW' , 'EoX'. + ComplianceType string `url:"complianceType,omitempty"` //Specify "Compliance type(s)" in commas. The Compliance type can be 'NETWORK_PROFILE', 'IMAGE', 'FABRIC', 'APPLICATION_VISIBILITY', 'FABRIC', RUNNING_CONFIG', 'NETWORK_SETTINGS', 'WORKFLOW' , 'EOX'. 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"` //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'. + 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 { @@ -271,12 +271,12 @@ 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. + 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'. + 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 @@ -308,15 +308,16 @@ type ResponseComplianceComplianceDetailsOfDevice struct { DeviceUUID string `json:"deviceUuid,omitempty"` // UUID of the device. } type ResponseComplianceComplianceDetailsOfDeviceResponse struct { - DeviceUUID string `json:"deviceUuid,omitempty"` // UUID of the device. - ComplianceType string `json:"complianceType,omitempty"` // Compliance type corresponds to a tile on the UI that will be one of NETWORK_PROFILE, IMAGE, APPLICATION_VISIBILITY, FABRIC, PSIRT, RUNNING_CONFIG, NETWORK_SETTINGS, WORKFLOW, or EoX. - Status string `json:"status,omitempty"` // Status of compliance for the compliance type, will be one of COMPLIANT, NON_COMPLIANT, ERROR, IN_PROGRESS, NOT_APPLICABLE, NOT_AVAILABLE, COMPLIANT_WARNING, REMEDIATION_IN_PROGRESS, or ABORTED. - State string `json:"state,omitempty"` // State of the compliance check for the compliance type, will be one of SUCCESS, FAILED, or IN_PROGRESS. - LastSyncTime *float64 `json:"lastSyncTime,omitempty"` // Timestamp when the status changed from a different value to the current value. - LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Timestamp of the latest compliance check that was run. - SourceInfoList *[]ResponseComplianceComplianceDetailsOfDeviceResponseSourceInfoList `json:"sourceInfoList,omitempty"` // - AckStatus string `json:"ackStatus,omitempty"` // Acknowledgment status of the compliance type. UNACKNOWLEDGED if none of the violations under the compliance type are acknowledged. Otherwise it will be ACKNOWLEDGED. - Version string `json:"version,omitempty"` // Version of the API. + DeviceUUID string `json:"deviceUuid,omitempty"` // UUID of the device. + ComplianceType string `json:"complianceType,omitempty"` // Compliance type corresponds to a tile on the UI that will be one of NETWORK_PROFILE, IMAGE, APPLICATION_VISIBILITY, FABRIC, PSIRT, RUNNING_CONFIG, NETWORK_SETTINGS, WORKFLOW, or EOX. + Status string `json:"status,omitempty"` // Status of compliance for the compliance type, will be one of 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.] + State string `json:"state,omitempty"` // State of the compliance check for the compliance type, will be one of SUCCESS, FAILED, or IN_PROGRESS. + LastSyncTime *float64 `json:"lastSyncTime,omitempty"` // Timestamp when the status changed from a different value to the current value. + LastUpdateTime *float64 `json:"lastUpdateTime,omitempty"` // Timestamp of the latest compliance check that was run. + SourceInfoList *[]ResponseComplianceComplianceDetailsOfDeviceResponseSourceInfoList `json:"sourceInfoList,omitempty"` // + AckStatus string `json:"ackStatus,omitempty"` // Acknowledgment status of the compliance type. UNACKNOWLEDGED if none of the violations under the compliance type are acknowledged. Otherwise it will be ACKNOWLEDGED. + Version string `json:"version,omitempty"` // Version of the API. + RemediationSupported *bool `json:"remediationSupported,omitempty"` // Indicates whether remediation is supported for this compliance type or not. } type ResponseComplianceComplianceDetailsOfDeviceResponseSourceInfoList struct { Name string `json:"name,omitempty"` // Name of the type of top level configuration. @@ -952,7 +953,7 @@ type ResponseComplianceTriggersASecurityAdvisoriesScanForTheSupportedNetworkDevi } 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' + 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' DeviceUUIDs []string `json:"deviceUuids,omitempty"` // UUID of the device. } type RequestComplianceCommitDeviceConfiguration struct { diff --git a/sdk/configuration_archive.go b/sdk/configuration_archive.go index 4db6296..4efed6e 100644 --- a/sdk/configuration_archive.go +++ b/sdk/configuration_archive.go @@ -33,12 +33,12 @@ type CountOfNetworkDeviceConfigurationFilesQueryParams struct { } type ResponseConfigurationArchiveExportDeviceConfigurations struct { - Version string `json:"version,omitempty"` // Version Response *ResponseConfigurationArchiveExportDeviceConfigurationsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of API. } type ResponseConfigurationArchiveExportDeviceConfigurationsResponse struct { - URL string `json:"url,omitempty"` // Url - TaskID string `json:"taskId,omitempty"` // Task Id + 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 ResponseConfigurationArchiveGetConfigurationArchiveDetails []ResponseItemConfigurationArchiveGetConfigurationArchiveDetails // Array of ResponseConfigurationArchiveGetConfigurationArchiveDetails type ResponseItemConfigurationArchiveGetConfigurationArchiveDetails struct { @@ -107,8 +107,8 @@ type ResponseConfigurationArchiveGetConfigurationFileDetailsByIDResponse struct 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. + DeviceID []string `json:"deviceId,omitempty"` // UUIDs of the devices for which configurations need to be exported. + 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 <>. } 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 <>. diff --git a/sdk/configuration_templates.go b/sdk/configuration_templates.go index d31ed87..cf972c0 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 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) + 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 @@ -86,73 +86,58 @@ 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"` //The number of records to show for this page;The minimum is 1, and the maximum is 500. + 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 - + 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 - + 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 - + 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 - + 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 - + 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 - + 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 - + 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 - + 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 - + 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 - + 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 - + 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 { @@ -414,214 +399,19 @@ type ResponseConfigurationTemplatesImportsTheTemplatesProvidedResponse struct { URL string `json:"url,omitempty"` // } type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProject struct { - Tags *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTags `json:"tags,omitempty"` // - 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 - LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Update time of project - Name string `json:"name,omitempty"` // Name of project - Templates *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplates `json:"templates,omitempty"` // List of templates within the project + Tags *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTags `json:"tags,omitempty"` // + 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 + LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Update time of project + Name string `json:"name,omitempty"` // Name of project + Templates *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplates `json:"templates,omitempty"` // List of templates within the project } type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTags struct { ID string `json:"id,omitempty"` // UUID of tag Name string `json:"name,omitempty"` // Name of tag } -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplates struct { - Tags *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesTags `json:"tags,omitempty"` // - Author string `json:"author,omitempty"` // Author of template - Composite *bool `json:"composite,omitempty"` // Is it composite template - ContainingTemplates *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplates `json:"containingTemplates,omitempty"` // - CreateTime *int `json:"createTime,omitempty"` // Create time of template - CustomParamsOrder *bool `json:"customParamsOrder,omitempty"` // Custom Params Order - Description string `json:"description,omitempty"` // Description of template - DeviceTypes *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesDeviceTypes `json:"deviceTypes,omitempty"` // - FailurePolicy string `json:"failurePolicy,omitempty"` // Define failure policy if template provisioning fails - ID string `json:"id,omitempty"` // UUID of template - Language string `json:"language,omitempty"` // Template language (JINJA or VELOCITY) - LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Update time of template - LatestVersionTime *int `json:"latestVersionTime,omitempty"` // Latest versioned template time - Name string `json:"name,omitempty"` // Name of template - ParentTemplateID string `json:"parentTemplateId,omitempty"` // Parent templateID - ProjectID string `json:"projectId,omitempty"` // Project UUID - ProjectName string `json:"projectName,omitempty"` // Project name - RollbackTemplateContent string `json:"rollbackTemplateContent,omitempty"` // Rollback template content - RollbackTemplateParams *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesRollbackTemplateParams `json:"rollbackTemplateParams,omitempty"` // - SoftwareType string `json:"softwareType,omitempty"` // Applicable device software type - SoftwareVariant string `json:"softwareVariant,omitempty"` // Applicable device software variant - SoftwareVersion string `json:"softwareVersion,omitempty"` // Applicable device software version - TemplateContent string `json:"templateContent,omitempty"` // Template content - TemplateParams *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesTemplateParams `json:"templateParams,omitempty"` // - ValidationErrors *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesValidationErrors `json:"validationErrors,omitempty"` // - Version string `json:"version,omitempty"` // Current version of template -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesTags struct { - ID string `json:"id,omitempty"` // UUID of tag - Name string `json:"name,omitempty"` // Name of tag -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplates struct { - Tags *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesTags `json:"tags,omitempty"` // - Composite *bool `json:"composite,omitempty"` // Is it composite template - Description string `json:"description,omitempty"` // Description of template - DeviceTypes *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesDeviceTypes `json:"deviceTypes,omitempty"` // - ID string `json:"id,omitempty"` // UUID of template - Language string `json:"language,omitempty"` // Template language (JINJA or VELOCITY) - Name string `json:"name,omitempty"` // Name of template - ProjectName string `json:"projectName,omitempty"` // Project name - RollbackTemplateParams *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesRollbackTemplateParams `json:"rollbackTemplateParams,omitempty"` // - TemplateContent string `json:"templateContent,omitempty"` // Template content - TemplateParams *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesTemplateParams `json:"templateParams,omitempty"` // - Version string `json:"version,omitempty"` // Current version of template -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesTags struct { - ID string `json:"id,omitempty"` // UUID of tag - Name string `json:"name,omitempty"` // Name of tag -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesDeviceTypes struct { - ProductFamily string `json:"productFamily,omitempty"` // Device family - ProductSeries string `json:"productSeries,omitempty"` // Device series - ProductType string `json:"productType,omitempty"` // Device type -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesRollbackTemplateParams struct { - Binding string `json:"binding,omitempty"` // Bind to source - CustomOrder *int `json:"customOrder,omitempty"` // CustomOrder of template param - DataType string `json:"dataType,omitempty"` // Datatype of template param - DefaultValue string `json:"defaultValue,omitempty"` // Default value of template param - Description string `json:"description,omitempty"` // Description of template param - DisplayName string `json:"displayName,omitempty"` // Display name of param - Group string `json:"group,omitempty"` // group - ID string `json:"id,omitempty"` // UUID of template param - InstructionText string `json:"instructionText,omitempty"` // Instruction text for param - Key string `json:"key,omitempty"` // key - NotParam *bool `json:"notParam,omitempty"` // Is it not a variable - Order *int `json:"order,omitempty"` // Order of template param - ParamArray *bool `json:"paramArray,omitempty"` // Is it an array - ParameterName string `json:"parameterName,omitempty"` // Name of template param - Provider string `json:"provider,omitempty"` // provider - Range *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesRollbackTemplateParamsRange `json:"range,omitempty"` // - Required *bool `json:"required,omitempty"` // Is param required - Selection *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesRollbackTemplateParamsSelection `json:"selection,omitempty"` // -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesRollbackTemplateParamsRange struct { - ID string `json:"id,omitempty"` // UUID of range - MaxValue *int `json:"maxValue,omitempty"` // Max value of range - MinValue *int `json:"minValue,omitempty"` // Min value of range -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesRollbackTemplateParamsSelection struct { - DefaultSelectedValues []string `json:"defaultSelectedValues,omitempty"` // Default selection values - ID string `json:"id,omitempty"` // UUID of selection - SelectionType string `json:"selectionType,omitempty"` // Type of selection(SINGLE_SELECT or MULTI_SELECT) - SelectionValues *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesRollbackTemplateParamsSelectionSelectionValues `json:"selectionValues,omitempty"` // Selection values -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesRollbackTemplateParamsSelectionSelectionValues interface{} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesTemplateParams struct { - Binding string `json:"binding,omitempty"` // Bind to source - CustomOrder *int `json:"customOrder,omitempty"` // CustomOrder of template param - DataType string `json:"dataType,omitempty"` // Datatype of template param - DefaultValue string `json:"defaultValue,omitempty"` // Default value of template param - Description string `json:"description,omitempty"` // Description of template param - DisplayName string `json:"displayName,omitempty"` // Display name of param - Group string `json:"group,omitempty"` // group - ID string `json:"id,omitempty"` // UUID of template param - InstructionText string `json:"instructionText,omitempty"` // Instruction text for param - Key string `json:"key,omitempty"` // key - NotParam *bool `json:"notParam,omitempty"` // Is it not a variable - Order *int `json:"order,omitempty"` // Order of template param - ParamArray *bool `json:"paramArray,omitempty"` // Is it an array - ParameterName string `json:"parameterName,omitempty"` // Name of template param - Provider string `json:"provider,omitempty"` // provider - Range *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesTemplateParamsRange `json:"range,omitempty"` // - Required *bool `json:"required,omitempty"` // Is param required - Selection *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesTemplateParamsSelection `json:"selection,omitempty"` // -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesTemplateParamsRange struct { - ID string `json:"id,omitempty"` // UUID of range - MaxValue *int `json:"maxValue,omitempty"` // Max value of range - MinValue *int `json:"minValue,omitempty"` // Min value of range -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesTemplateParamsSelection struct { - DefaultSelectedValues []string `json:"defaultSelectedValues,omitempty"` // Default selection values - ID string `json:"id,omitempty"` // UUID of selection - SelectionType string `json:"selectionType,omitempty"` // Type of selection(SINGLE_SELECT or MULTI_SELECT) - SelectionValues *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesTemplateParamsSelectionSelectionValues `json:"selectionValues,omitempty"` // Selection values -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesContainingTemplatesTemplateParamsSelectionSelectionValues interface{} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesDeviceTypes struct { - ProductFamily string `json:"productFamily,omitempty"` // Device family - ProductSeries string `json:"productSeries,omitempty"` // Device series - ProductType string `json:"productType,omitempty"` // Device type -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesRollbackTemplateParams struct { - Binding string `json:"binding,omitempty"` // Bind to source - CustomOrder *int `json:"customOrder,omitempty"` // CustomOrder of template param - DataType string `json:"dataType,omitempty"` // Datatype of template param - DefaultValue string `json:"defaultValue,omitempty"` // Default value of template param - Description string `json:"description,omitempty"` // Description of template param - DisplayName string `json:"displayName,omitempty"` // Display name of param - Group string `json:"group,omitempty"` // group - ID string `json:"id,omitempty"` // UUID of template param - InstructionText string `json:"instructionText,omitempty"` // Instruction text for param - Key string `json:"key,omitempty"` // key - NotParam *bool `json:"notParam,omitempty"` // Is it not a variable - Order *int `json:"order,omitempty"` // Order of template param - ParamArray *bool `json:"paramArray,omitempty"` // Is it an array - ParameterName string `json:"parameterName,omitempty"` // Name of template param - Provider string `json:"provider,omitempty"` // provider - Range *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesRollbackTemplateParamsRange `json:"range,omitempty"` // - Required *bool `json:"required,omitempty"` // Is param required - Selection *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesRollbackTemplateParamsSelection `json:"selection,omitempty"` // -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesRollbackTemplateParamsRange struct { - ID string `json:"id,omitempty"` // UUID of range - MaxValue *int `json:"maxValue,omitempty"` // Max value of range - MinValue *int `json:"minValue,omitempty"` // Min value of range -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesRollbackTemplateParamsSelection struct { - DefaultSelectedValues []string `json:"defaultSelectedValues,omitempty"` // Default selection values - ID string `json:"id,omitempty"` // UUID of selection - SelectionType string `json:"selectionType,omitempty"` // Type of selection(SINGLE_SELECT or MULTI_SELECT) - SelectionValues *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesRollbackTemplateParamsSelectionSelectionValues `json:"selectionValues,omitempty"` // Selection values -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesRollbackTemplateParamsSelectionSelectionValues interface{} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesTemplateParams struct { - Binding string `json:"binding,omitempty"` // Bind to source - CustomOrder *int `json:"customOrder,omitempty"` // CustomOrder of template param - DataType string `json:"dataType,omitempty"` // Datatype of template param - DefaultValue string `json:"defaultValue,omitempty"` // Default value of template param - Description string `json:"description,omitempty"` // Description of template param - DisplayName string `json:"displayName,omitempty"` // Display name of param - Group string `json:"group,omitempty"` // group - ID string `json:"id,omitempty"` // UUID of template param - InstructionText string `json:"instructionText,omitempty"` // Instruction text for param - Key string `json:"key,omitempty"` // key - NotParam *bool `json:"notParam,omitempty"` // Is it not a variable - Order *int `json:"order,omitempty"` // Order of template param - ParamArray *bool `json:"paramArray,omitempty"` // Is it an array - ParameterName string `json:"parameterName,omitempty"` // Name of template param - Provider string `json:"provider,omitempty"` // provider - Range *[]ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesTemplateParamsRange `json:"range,omitempty"` // - Required *bool `json:"required,omitempty"` // Is param required - Selection *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesTemplateParamsSelection `json:"selection,omitempty"` // -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesTemplateParamsRange struct { - ID string `json:"id,omitempty"` // UUID of range - MaxValue *int `json:"maxValue,omitempty"` // Max value of range - MinValue *int `json:"minValue,omitempty"` // Min value of range -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesTemplateParamsSelection struct { - DefaultSelectedValues []string `json:"defaultSelectedValues,omitempty"` // Default selection values - ID string `json:"id,omitempty"` // UUID of selection - SelectionType string `json:"selectionType,omitempty"` // Type of selection(SINGLE_SELECT or MULTI_SELECT) - SelectionValues *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesTemplateParamsSelectionSelectionValues `json:"selectionValues,omitempty"` // Selection values -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesTemplateParamsSelectionSelectionValues interface{} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesValidationErrors struct { - RollbackTemplateErrors *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesValidationErrorsRollbackTemplateErrors `json:"rollbackTemplateErrors,omitempty"` // Validation or design conflicts errors of rollback template - TemplateErrors *ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesValidationErrorsTemplateErrors `json:"templateErrors,omitempty"` // Validation or design conflicts errors - TemplateID string `json:"templateId,omitempty"` // UUID of template - TemplateVersion string `json:"templateVersion,omitempty"` // Current version of template -} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesValidationErrorsRollbackTemplateErrors interface{} -type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplatesValidationErrorsTemplateErrors interface{} +type ResponseConfigurationTemplatesGetsTheDetailsOfAGivenProjectTemplates interface{} type ResponseConfigurationTemplatesDeletesTheProject struct { Response *ResponseConfigurationTemplatesDeletesTheProjectResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // @@ -957,7 +747,9 @@ type ResponseConfigurationTemplatesGetsDetailsOfAGivenTemplateValidationErrors s } type ResponseConfigurationTemplatesGetsDetailsOfAGivenTemplateValidationErrorsRollbackTemplateErrors interface{} type ResponseConfigurationTemplatesGetsDetailsOfAGivenTemplateValidationErrorsTemplateErrors interface{} -type ResponseConfigurationTemplatesRetrieveTheNetworkProfilesAttachedToACLITemplate interface{} +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"` // @@ -1119,9 +911,6 @@ type ResponseConfigurationTemplatesGetProjectsDetailsV2Tags struct { Name string `json:"name,omitempty"` // Name of tag } type ResponseConfigurationTemplatesGetProjectsDetailsV2Templates interface{} -type ResponseConfigurationTemplatesGetTemplatesV2Details struct { - Response []ResponseConfigurationTemplatesGetTemplatesDetailsV2 `json:"response,omitempty"` // Response -} type ResponseConfigurationTemplatesGetTemplatesDetailsV2 struct { Author string `json:"author,omitempty"` // Author of template Composite *bool `json:"composite,omitempty"` // Is it composite template @@ -1337,13 +1126,11 @@ type ResponseConfigurationTemplatesDeployTemplateV2Response struct { URL string `json:"url,omitempty"` // } type RequestConfigurationTemplatesCreateTemplateProject struct { - Name string `json:"name,omitempty"` // Name of the project - + 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 - + Name string `json:"name,omitempty"` // Name of the project Description string `json:"description,omitempty"` // Description of the project } type RequestConfigurationTemplatesCreateProject struct { @@ -1521,7 +1308,6 @@ type RequestItemConfigurationTemplatesImportsTheTemplatesProvidedRollbackTemplat Required *bool `json:"required,omitempty"` // Is param required Selection *RequestItemConfigurationTemplatesImportsTheTemplatesProvidedRollbackTemplateParamsSelection `json:"selection,omitempty"` // } - type RequestItemConfigurationTemplatesImportsTheTemplatesProvidedRollbackTemplateParamsRange struct { ID string `json:"id,omitempty"` // UUID of range MaxValue *int `json:"maxValue,omitempty"` // Max value of range @@ -1967,22 +1753,24 @@ type RequestConfigurationTemplatesUpdateTemplateValidationErrors struct { type RequestConfigurationTemplatesUpdateTemplateValidationErrorsRollbackTemplateErrors interface{} type RequestConfigurationTemplatesUpdateTemplateValidationErrorsTemplateErrors interface{} type RequestConfigurationTemplatesDeployTemplate struct { - ForcePushTemplate *bool `json:"forcePushTemplate,omitempty"` // - IsComposite *bool `json:"isComposite,omitempty"` // Composite template flag - MainTemplateID string `json:"mainTemplateId,omitempty"` // Main template UUID of versioned template - MemberTemplateDeploymentInfo []string `json:"memberTemplateDeploymentInfo,omitempty"` // memberTemplateDeploymentInfo - TargetInfo *[]RequestConfigurationTemplatesDeployTemplateTargetInfo `json:"targetInfo,omitempty"` // - TemplateID string `json:"templateId,omitempty"` // UUID of template to be provisioned -} + ForcePushTemplate *bool `json:"forcePushTemplate,omitempty"` // + IsComposite *bool `json:"isComposite,omitempty"` // Composite template flag + MainTemplateID string `json:"mainTemplateId,omitempty"` // Main template UUID of versioned template + MemberTemplateDeploymentInfo *[]RequestConfigurationTemplatesDeployTemplateMemberTemplateDeploymentInfo `json:"memberTemplateDeploymentInfo,omitempty"` // memberTemplateDeploymentInfo + TargetInfo *[]RequestConfigurationTemplatesDeployTemplateTargetInfo `json:"targetInfo,omitempty"` // + TemplateID string `json:"templateId,omitempty"` // UUID of template to be provisioned +} +type RequestConfigurationTemplatesDeployTemplateMemberTemplateDeploymentInfo interface{} type RequestConfigurationTemplatesDeployTemplateTargetInfo struct { - HostName string `json:"hostName,omitempty"` // Hostname of device is required if targetType is MANAGED_DEVICE_HOSTNAME - ID string `json:"id,omitempty"` // UUID of target is required if targetType is MANAGED_DEVICE_UUID - Params *RequestConfigurationTemplatesDeployTemplateTargetInfoParams `json:"params,omitempty"` // Template params/values to be provisioned - ResourceParams []string `json:"resourceParams,omitempty"` // Resource params to be provisioned. Refer to features page for usage details - Type string `json:"type,omitempty"` // Target type of device - VersionedTemplateID string `json:"versionedTemplateId,omitempty"` // Versioned templateUUID to be provisioned -} -type RequestConfigurationTemplatesDeployTemplateTargetInfoParams interface{} + HostName string `json:"hostName,omitempty"` // Hostname of device is required if targetType is MANAGED_DEVICE_HOSTNAME + ID string `json:"id,omitempty"` // UUID of target is required if targetType is MANAGED_DEVICE_UUID + Params *RequestConfigurationTemplatesDeployTemplateTargetInfoParams `json:"params,omitempty"` // Template params/values to be provisioned + ResourceParams *[]RequestConfigurationTemplatesDeployTemplateTargetInfoResourceParams `json:"resourceParams,omitempty"` // Resource params to be provisioned. Refer to features page for usage details + Type string `json:"type,omitempty"` // Target type of device + VersionedTemplateID string `json:"versionedTemplateId,omitempty"` // Versioned templateUUID to be provisioned +} +type RequestConfigurationTemplatesDeployTemplateTargetInfoParams map[string]interface{} +type RequestConfigurationTemplatesDeployTemplateTargetInfoResourceParams interface{} type RequestConfigurationTemplatesExportsTheTemplatesForAGivenCriteria []RequestItemConfigurationTemplatesExportsTheTemplatesForAGivenCriteria // Array of RequestConfigurationTemplatesExportsTheTemplatesForAGivenCriteria type RequestItemConfigurationTemplatesExportsTheTemplatesForAGivenCriteria interface{} type RequestConfigurationTemplatesPreviewTemplate struct { @@ -2001,24 +1789,25 @@ 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 + Items *[][]string `json:"items,omitempty"` // } 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 - MainTemplateID string `json:"mainTemplateId,omitempty"` // Main template UUID of versioned template - MemberTemplateDeploymentInfo []string `json:"memberTemplateDeploymentInfo,omitempty"` // memberTemplateDeploymentInfo - TargetInfo *[]RequestConfigurationTemplatesDeployTemplateV2TargetInfo `json:"targetInfo,omitempty"` // - TemplateID string `json:"templateId,omitempty"` // UUID of template to be provisioned -} + ForcePushTemplate *bool `json:"forcePushTemplate,omitempty"` // + IsComposite *bool `json:"isComposite,omitempty"` // Composite template flag + MainTemplateID string `json:"mainTemplateId,omitempty"` // Main template UUID of versioned template + MemberTemplateDeploymentInfo *[]RequestConfigurationTemplatesDeployTemplateV2MemberTemplateDeploymentInfo `json:"memberTemplateDeploymentInfo,omitempty"` // memberTemplateDeploymentInfo + TargetInfo *[]RequestConfigurationTemplatesDeployTemplateV2TargetInfo `json:"targetInfo,omitempty"` // + TemplateID string `json:"templateId,omitempty"` // UUID of template to be provisioned +} +type RequestConfigurationTemplatesDeployTemplateV2MemberTemplateDeploymentInfo interface{} type RequestConfigurationTemplatesDeployTemplateV2TargetInfo struct { HostName string `json:"hostName,omitempty"` // Hostname of device is required if targetType is MANAGED_DEVICE_HOSTNAME ID string `json:"id,omitempty"` // UUID of target is required if targetType is MANAGED_DEVICE_UUID Params *RequestConfigurationTemplatesDeployTemplateV2TargetInfoParams `json:"params,omitempty"` // Template params/values to be provisioned - ResourceParams []string `json:"resourceParams,omitempty"` // Resource params to be provisioned. Refer to features page for usage details + ResourceParams interface{} `json:"resourceParams,omitempty"` // Resource params to be provisioned. Refer to features page for usage details Type string `json:"type,omitempty"` // Target type of device VersionedTemplateID string `json:"versionedTemplateId,omitempty"` // Versioned templateUUID to be provisioned } @@ -2368,20 +2157,21 @@ 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-acli-template +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-the-network-profiles-attached-to-acl-i-template */ -func (s *ConfigurationTemplatesService) RetrieveTheNetworkProfilesAttachedToACLITemplate(templateID string) (*resty.Response, error) { +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, err + return nil, nil, err } @@ -2389,9 +2179,11 @@ func (s *ConfigurationTemplatesService) RetrieveTheNetworkProfilesAttachedToACLI if response.StatusCode() == http.StatusUnauthorized { return s.RetrieveTheNetworkProfilesAttachedToACLITemplate(templateID) } - return response, fmt.Errorf("error with operation RetrieveTheNetworkProfilesAttachedToAclITemplate") + return nil, response, fmt.Errorf("error with operation RetrieveTheNetworkProfilesAttachedToAclITemplate") } - return response, err + + result := response.Result().(*ResponseConfigurationTemplatesRetrieveTheNetworkProfilesAttachedToACLITemplate) + return result, response, err } @@ -2558,7 +2350,7 @@ func (s *ConfigurationTemplatesService) GetTemplateVersion(templateID string, ve @param GetProjectsDetailsV2QueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-projects-details +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-projects-details-v2 */ func (s *ConfigurationTemplatesService) GetProjectsDetailsV2(GetProjectsDetailsV2QueryParams *GetProjectsDetailsV2QueryParams) (*ResponseConfigurationTemplatesGetProjectsDetailsV2, *resty.Response, error) { path := "/dna/intent/api/v2/template-programmer/project" @@ -3339,7 +3131,8 @@ func (s *ConfigurationTemplatesService) DeleteTemplateProject(projectID string) if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteTemplateProject(projectID) + return s.DeleteTemplateProject( + projectID) } return nil, response, fmt.Errorf("error with operation DeleteTemplateProject") } @@ -3377,7 +3170,8 @@ func (s *ConfigurationTemplatesService) DeletesTheProject(projectID string) (*Re if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletesTheProject(projectID) + return s.DeletesTheProject( + projectID) } return nil, response, fmt.Errorf("error with operation DeletesTheProject") } @@ -3415,7 +3209,8 @@ func (s *ConfigurationTemplatesService) DeletesTheTemplate(templateID string) (* if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletesTheTemplate(templateID) + return s.DeletesTheTemplate( + templateID) } return nil, response, fmt.Errorf("error with operation DeletesTheTemplate") } @@ -3456,7 +3251,8 @@ func (s *ConfigurationTemplatesService) DetachAListOfNetworkProfilesFromADayNCli if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DetachAListOfNetworkProfilesFromADayNCliTemplate(templateID, DetachAListOfNetworkProfilesFromADayNCLITemplateQueryParams) + return s.DetachAListOfNetworkProfilesFromADayNCliTemplate( + templateID, DetachAListOfNetworkProfilesFromADayNCLITemplateQueryParams) } return nil, response, fmt.Errorf("error with operation DetachAListOfNetworkProfilesFromADayNCliTemplate") } @@ -3497,7 +3293,8 @@ func (s *ConfigurationTemplatesService) DetachANetworkProfileFromADayNCliTemplat if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DetachANetworkProfileFromADayNCliTemplate(templateID, profileID) + return s.DetachANetworkProfileFromADayNCliTemplate( + templateID, profileID) } return nil, response, fmt.Errorf("error with operation DetachANetworkProfileFromADayNCliTemplate") } diff --git a/sdk/custom_call.go b/sdk/custom_call.go index b4fdd8c..4c1af2e 100644 --- a/sdk/custom_call.go +++ b/sdk/custom_call.go @@ -2,7 +2,6 @@ package dnac import ( "fmt" - "net/http" "github.com/go-resty/resty/v2" ) @@ -27,9 +26,6 @@ func (s *CustomCallService) GetCustomCall(ResourcePath string, QueryParms *map[s } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.GetCustomCall(ResourcePath, QueryParms) - } return response, fmt.Errorf("error with custom operation %s", ResourcePath) } diff --git a/sdk/device_onboarding_pnp.go b/sdk/device_onboarding_pnp.go index 4cb77fe..01980e3 100644 --- a/sdk/device_onboarding_pnp.go +++ b/sdk/device_onboarding_pnp.go @@ -54,8 +54,8 @@ type DeregisterVirtualAccountQueryParams struct { Name string `url:"name,omitempty"` //Virtual Account Name } type GetWorkflowsQueryParams struct { - 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 + 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 @@ -2726,31 +2726,31 @@ type RequestDeviceOnboardingPnpResetDeviceDeviceResetListConfigListConfigParamet Value string `json:"value,omitempty"` // } type RequestDeviceOnboardingPnpClaimADeviceToASite struct { - DeviceID string `json:"deviceId,omitempty"` // Device Id - SiteID string `json:"siteId,omitempty"` // Site Id - Type string `json:"type,omitempty"` // Type - ImageInfo *RequestDeviceOnboardingPnpClaimADeviceToASiteImageInfo `json:"imageInfo,omitempty"` // - ConfigInfo *RequestDeviceOnboardingPnpClaimADeviceToASiteConfigInfo `json:"configInfo,omitempty"` // - RfProfile string `json:"rfProfile,omitempty"` // for Access Points - StaticIP string `json:"staticIP,omitempty"` // for CatalystWLC/MobilityExpress - SubnetMask string `json:"subnetMask,omitempty"` // for CatalystWLC/MobilityExpress - Gateway string `json:"gateway,omitempty"` // for CatalystWLC/MobilityExpress - VLANID string `json:"vlanId,omitempty"` // for Catalyst 9800 WLC - IPInterfaceName string `json:"ipInterfaceName,omitempty"` // for Catalyst 9800 WLC - SensorProfile string `json:"sensorProfile,omitempty"` // for Sensors - Hostname string `json:"hostname,omitempty"` // hostname to configure on Device. + DeviceID string `json:"deviceId,omitempty"` // Device Id + SiteID string `json:"siteId,omitempty"` // Site Id + Type string `json:"type,omitempty"` // Type + ImageInfo RequestDeviceOnboardingPnpClaimADeviceToASiteImageInfo `json:"imageInfo"` // + ConfigInfo RequestDeviceOnboardingPnpClaimADeviceToASiteConfigInfo `json:"configInfo"` // + RfProfile string `json:"rfProfile,omitempty"` // for Access Points + StaticIP string `json:"staticIP,omitempty"` // for CatalystWLC/MobilityExpress + SubnetMask string `json:"subnetMask,omitempty"` // for CatalystWLC/MobilityExpress + Gateway string `json:"gateway,omitempty"` // for CatalystWLC/MobilityExpress + VLANID string `json:"vlanId,omitempty"` // for Catalyst 9800 WLC + IPInterfaceName string `json:"ipInterfaceName,omitempty"` // for Catalyst 9800 WLC + SensorProfile string `json:"sensorProfile,omitempty"` // for Sensors + Hostname string `json:"hostname,omitempty"` // hostname to configure on Device. } type RequestDeviceOnboardingPnpClaimADeviceToASiteImageInfo struct { - ImageID string `json:"imageId,omitempty"` // Image Id - Skip *bool `json:"skip,omitempty"` // Skip + ImageID string `json:"imageId"` // Image Id + Skip bool `json:"skip"` // Skip } type RequestDeviceOnboardingPnpClaimADeviceToASiteConfigInfo struct { - ConfigID string `json:"configId,omitempty"` // Config Id - ConfigParameters *[]RequestDeviceOnboardingPnpClaimADeviceToASiteConfigInfoConfigParameters `json:"configParameters,omitempty"` // + ConfigID string `json:"configId"` // Config Id + ConfigParameters []RequestDeviceOnboardingPnpClaimADeviceToASiteConfigInfoConfigParameters `json:"configParameters"` // } type RequestDeviceOnboardingPnpClaimADeviceToASiteConfigInfoConfigParameters struct { - Key string `json:"key,omitempty"` // Key - Value string `json:"value,omitempty"` // Value + Key string `json:"key"` // Key + Value string `json:"value"` // Value } type RequestDeviceOnboardingPnpPreviewConfig struct { DeviceID string `json:"deviceId,omitempty"` // @@ -3943,7 +3943,8 @@ 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") } @@ -3981,7 +3982,8 @@ 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") } @@ -4018,7 +4020,8 @@ 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/devices.go b/sdk/devices.go index b0655e2..9df99b4 100644 --- a/sdk/devices.go +++ b/sdk/devices.go @@ -19,7 +19,7 @@ type RetrievesTheListOfAAAServicesForGivenParametersQueryParams struct { 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) + 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) @@ -32,7 +32,7 @@ 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) + 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) @@ -84,8 +84,8 @@ type QueryAssuranceEventsQueryParams struct { 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 networkDeviceId with & separator) ApMac string `url:"apMac,omitempty"` //MAC address of the access point. This parameter is applicable for `Unified AP` and `Wireless Client` events. This field supports wildcard (`*`) character-based search. Ex: `*50:0F*` or `50:0F*` or `*50:0F` Examples: `apMac=50:0F:80:0F:F7:E0` (single apMac requested) `apMac=50:0F:80:0F:F7:E0&apMac=18:80:90:AB:7E:A0` (multiple apMac requested) ClientMac string `url:"clientMac,omitempty"` //MAC address of the client. This parameter is applicable for `Wired Client` and `Wireless Client` events. This field supports wildcard (`*`) character-based search. Ex: `*66:2B*` or `66:2B*` or `*66:2B` Examples: `clientMac=66:2B:B8:D2:01:56` (single clientMac requested) `clientMac=66:2B:B8:D2:01:56&clientMac=DC:A6:32:F5:5A:89` (multiple clientMac requested) - Attribute string `url:"attribute,omitempty"` //The list of attributes that needs to be included in the response. If this parameter is not provided, then basic attributes (`id`, `name`, `timestamp`, `details`, `messageType`, `siteHierarchyId`, `siteHierarchy`, `deviceFamily`, `networkDeviceId`, `networkDeviceName`, `managementIpAddress`) would be part of the response. Examples: `attribute=name` (single attribute requested) `attribute=name&attribute=networkDeviceName` (multiple attribute requested) - View string `url:"view,omitempty"` //The list of events views. Please refer to `EventViews` for the supported list Examples: `view=network` (single view requested) `view=network&view=ap` (multiple view requested) + Attribute string `url:"attribute,omitempty"` //The list of attributes that needs to be included in the response. If this parameter is not provided, then basic attributes (`id`, `name`, `timestamp`, `details`, `messageType`, `siteHierarchyId`, `siteHierarchy`, `deviceFamily`, `networkDeviceId`, `networkDeviceName`, `managementIpAddress`) would be part of the response. Examples: `attribute=name` (single attribute requested) `attribute=name&attribute=networkDeviceName` (multiple attribute requested) + View string `url:"view,omitempty"` //The list of events views. Please refer to `EventViews` for the supported list Examples: `view=network` (single view requested) `view=network&view=ap` (multiple view requested) 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. Limit float64 `url:"limit,omitempty"` //Maximum number of records to return SortBy string `url:"sortBy,omitempty"` //A field within the response to sort by. @@ -119,8 +119,8 @@ type CountTheNumberOfEventsWithFiltersHeaderParams 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 GetDetailsOfASingleAssuranceEventQueryParams struct { - Attribute string `url:"attribute,omitempty"` //The list of attributes that needs to be included in the response. If this parameter is not provided, then basic attributes (`id`, `name`, `timestamp`, `details`, `messageType`, `siteHierarchyId`, `siteHierarchy`, `deviceFamily`, `networkDeviceId`, `networkDeviceName`, `managementIpAddress`) would be part of the response. Examples: `attribute=name` (single attribute requested) `attribute=name&attribute=networkDeviceName` (multiple attribute requested) - View string `url:"view,omitempty"` //The list of events views. Please refer to `EventViews` for the supported list Examples: `view=network` (single view requested) `view=network&view=ap` (multiple view requested) + Attribute string `url:"attribute,omitempty"` //The list of attributes that needs to be included in the response. If this parameter is not provided, then basic attributes (`id`, `name`, `timestamp`, `details`, `messageType`, `siteHierarchyId`, `siteHierarchy`, `deviceFamily`, `networkDeviceId`, `networkDeviceName`, `managementIpAddress`) would be part of the response. Examples: `attribute=name` (single attribute requested) `attribute=name&attribute=networkDeviceName` (multiple attribute requested) + View string `url:"view,omitempty"` //The list of events views. Please refer to `EventViews` for the supported list Examples: `view=network` (single view requested) `view=network&view=ap` (multiple view requested) } type GetDetailsOfASingleAssuranceEventHeaderParams 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. @@ -136,7 +136,7 @@ type RetrievesTheListOfDHCPServicesForGivenParametersQueryParams struct { 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) + 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) @@ -149,7 +149,7 @@ 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) + 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) @@ -197,7 +197,7 @@ type RetrievesTheListOfDNSServicesForGivenParametersQueryParams struct { 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) + 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) @@ -209,7 +209,7 @@ 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) + 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) @@ -248,6 +248,55 @@ type GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheServiceHeaderPara 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 GetDevicesEnergyQueryParams 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 one day before `endTime`. + 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. If `endTime` is not provided, API will default to one day after `startTime`. If `startTime` is not provided either, API will default to current time. + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return + Cursor string `url:"cursor,omitempty"` //It's an opaque string field that indicates the next record in the requested collection. If no records remain, the API returns a response with a count of zero. The default value is an empty string, and the initial value must be an empty string. The cursor value is populated by the API in the response page block. If the user wants more records, the cursor in the subsequent request must be updated with the value from the previous response. + 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 Device Uuids (e.g., `6bef213c-19ca-4170-8375-b694e251101c`). Examples: `id=6bef213c-19ca-4170-8375-b694e251101c` (single device requested) `id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9` + 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) + 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) + DeviceCategory string `url:"deviceCategory,omitempty"` //The list of device deviceCategories. Examples: `deviceCategory=Switch` (single device family requested) `deviceCategory=Switch&deviceCategory=Router` (multiple device categories with comma separator) + DeviceSubCategory string `url:"deviceSubCategory,omitempty"` //The list of device sub categories. Examples: `deviceSubCategory=Cisco Catalyst 9300 Series Switches` (single device family requested) `deviceSubCategory=Cisco Catalyst 9300 Series Switches&deviceSubCategory=Cisco Catalyst 9400 Series Switches` + View string `url:"view,omitempty"` //List of views. View and attribute work in union. Each view will include its attributes. For example, view device includes all the attributes related to device. Please refer to `NetworkDeviceEnergyView` model for supported list of views Examples: `view=device&view=energy` + Attribute string `url:"attribute,omitempty"` //List of attributes. Please refer to `NetworkDeviceEnergyAttribute` for supported list of attributes Examples: `attribute=id&attribute=energyConsumed` +} +type GetDevicesEnergyHeaderParams 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 CountDevicesEnergyQueryParams 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 one day before `endTime`. + 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. If `endTime` is not provided, API will default to one day after `startTime`. If `startTime` is not provided either, API will default to current time. + ID string `url:"id,omitempty"` //The list of Device Uuids (e.g., `6bef213c-19ca-4170-8375-b694e251101c`). Examples: `id=6bef213c-19ca-4170-8375-b694e251101c` (single device requested) `id=6bef213c-19ca-4170-8375-b694e251101c&id=32219612-819e-4b5e-a96b-cf22aca13dd9` + 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) + 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) + DeviceCategory string `url:"deviceCategory,omitempty"` //The list of device deviceCategories. Examples: `deviceCategory=Switch` (single device family requested) `deviceCategory=Switch&deviceCategory=Router` (multiple device categories with comma separator) + DeviceSubCategory string `url:"deviceSubCategory,omitempty"` //The list of device sub categories. Examples: `deviceSubCategory=Cisco Catalyst 9300 Series Switches` (single device family requested) `deviceSubCategory=Cisco Catalyst 9300 Series Switches&deviceSubCategory=Cisco Catalyst 9400 Series Switches` +} +type CountDevicesEnergyHeaderParams 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 QueryDevicesEnergyHeaderParams 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 CountDevicesEnergyFromQueryHeaderParams 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 GetDeviceEnergyByIDQueryParams 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 one day before `endTime`. + 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. If `endTime` is not provided, API will default to one day after `startTime`. If `startTime` is not provided either, API will default to current time. + View string `url:"view,omitempty"` //List of views. View and attribute work in union. Each view will include its attributes. For example, view device includes all the attributes related to device. Please refer to `NetworkDeviceEnergyView` model for supported list of views Examples: `view=device&view=energy` + Attribute string `url:"attribute,omitempty"` //List of attributes. Please refer to `NetworkDeviceEnergyAttribute` for supported list of attributes Examples: `attribute=id&attribute=energyConsumed` +} +type GetDeviceEnergyByIDHeaderParams 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 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. @@ -411,40 +460,40 @@ type ClearMacAddressTableQueryParams struct { DeploymentMode string `url:"deploymentMode,omitempty"` //Preview/Deploy ['Preview' means the configuration is not pushed to the device. 'Deploy' makes the configuration pushed to the device] } type GetDeviceListQueryParams struct { - Hostname []string `url:"hostname,omitempty"` //hostname - ManagementIPAddress []string `url:"managementIpAddress,omitempty"` //managementIpAddress - MacAddress []string `url:"macAddress,omitempty"` //macAddress - LocationName []string `url:"locationName,omitempty"` //locationName - SerialNumber []string `url:"serialNumber,omitempty"` //serialNumber - Location []string `url:"location,omitempty"` //location - Family []string `url:"family,omitempty"` //family - Type []string `url:"type,omitempty"` //type - Series []string `url:"series,omitempty"` //series - CollectionStatus []string `url:"collectionStatus,omitempty"` //collectionStatus - CollectionInterval []string `url:"collectionInterval,omitempty"` //collectionInterval - NotSyncedForMinutes []string `url:"notSyncedForMinutes,omitempty"` //notSyncedForMinutes - ErrorCode []string `url:"errorCode,omitempty"` //errorCode - ErrorDescription []string `url:"errorDescription,omitempty"` //errorDescription - SoftwareVersion []string `url:"softwareVersion,omitempty"` //softwareVersion - SoftwareType []string `url:"softwareType,omitempty"` //softwareType - PlatformID []string `url:"platformId,omitempty"` //platformId - Role []string `url:"role,omitempty"` //role - ReachabilityStatus []string `url:"reachabilityStatus,omitempty"` //reachabilityStatus - UpTime []string `url:"upTime,omitempty"` //upTime - AssociatedWlcIP []string `url:"associatedWlcIp,omitempty"` //associatedWlcIp - Licensename []string `url:"license.name,omitempty"` //licenseName - Licensetype []string `url:"license.type,omitempty"` //licenseType - Licensestatus []string `url:"license.status,omitempty"` //licenseStatus - Modulename []string `url:"module+name,omitempty"` //moduleName - Moduleequpimenttype []string `url:"module+equpimenttype,omitempty"` //moduleEqupimentType - Moduleservicestate []string `url:"module+servicestate,omitempty"` //moduleServiceState - Modulevendorequipmenttype []string `url:"module+vendorequipmenttype,omitempty"` //moduleVendorEquipmentType - Modulepartnumber []string `url:"module+partnumber,omitempty"` //modulePartNumber - Moduleoperationstatecode []string `url:"module+operationstatecode,omitempty"` //moduleOperationStateCode - 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"` //The number of records to show for this page. Min: 1, Max: 500 + Hostname []string `url:"hostname,omitempty"` //hostname + ManagementIPAddress []string `url:"managementIpAddress,omitempty"` //managementIpAddress + MacAddress []string `url:"macAddress,omitempty"` //macAddress + LocationName []string `url:"locationName,omitempty"` //locationName + SerialNumber []string `url:"serialNumber,omitempty"` //serialNumber + Location []string `url:"location,omitempty"` //location + Family []string `url:"family,omitempty"` //family + Type []string `url:"type,omitempty"` //type + Series []string `url:"series,omitempty"` //series + CollectionStatus []string `url:"collectionStatus,omitempty"` //collectionStatus + CollectionInterval []string `url:"collectionInterval,omitempty"` //collectionInterval + NotSyncedForMinutes []string `url:"notSyncedForMinutes,omitempty"` //notSyncedForMinutes + ErrorCode []string `url:"errorCode,omitempty"` //errorCode + ErrorDescription []string `url:"errorDescription,omitempty"` //errorDescription + SoftwareVersion []string `url:"softwareVersion,omitempty"` //softwareVersion + SoftwareType []string `url:"softwareType,omitempty"` //softwareType + PlatformID []string `url:"platformId,omitempty"` //platformId + Role []string `url:"role,omitempty"` //role + ReachabilityStatus []string `url:"reachabilityStatus,omitempty"` //reachabilityStatus + UpTime []string `url:"upTime,omitempty"` //upTime + AssociatedWlcIP []string `url:"associatedWlcIp,omitempty"` //associatedWlcIp + Licensename []string `url:"license.name,omitempty"` //licenseName + LicensetypeR []string `url:"license.type,omitempty"` //licenseType + Licensestatus []string `url:"license.status,omitempty"` //licenseStatus + Modulename []string `url:"module+name,omitempty"` //moduleName + ModuleequpimenttypeR []string `url:"module+equpimenttype,omitempty"` //moduleEqupimentType + Moduleservicestate []string `url:"module+servicestate,omitempty"` //moduleServiceState + ModulevendorequipmenttypeR []string `url:"module+vendorequipmenttype,omitempty"` //moduleVendorEquipmentType + Modulepartnumber []string `url:"module+partnumber,omitempty"` //modulePartNumber + Moduleoperationstatecode []string `url:"module+operationstatecode,omitempty"` //moduleOperationStateCode + 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"` //The number of records to show for this page. Min: 1, Max: 500 } type GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams struct { VrfName string `url:"vrfName,omitempty"` //vrfName @@ -571,6 +620,14 @@ type CountTheNumberOfNetworkDevicesQueryParams struct { 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 RetrievesTheListOfPortChannelsForTheNetworkDeviceQueryParams struct { + ID string `url:"id,omitempty"` //Optional list of the port channel ids to filter by. + Name string `url:"name,omitempty"` //Optional name of the port channel to filter by. This supports partial search. For example, searching for "Port" will match "Port-channel1", "Port-channel2", etc. +} +type RetrievePortChannelsCountForANetworkDeviceQueryParams struct { + ID string `url:"id,omitempty"` //Optional list of the port channel ids to filter by. + Name string `url:"name,omitempty"` //Optional name of the port channel to filter by. This supports partial search. For example, searching for "Port" will match "Port-channel1", "Port-channel2", etc. +} 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. @@ -810,52 +867,38 @@ type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheSe Page *ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServicePage `json:"page,omitempty"` // } type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponse struct { - Timestamp *int `json:"timestamp,omitempty"` // Timestamp - - Groups *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseGroups `json:"groups,omitempty"` // - - Attributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseAttributes `json:"attributes,omitempty"` // - + Timestamp *int `json:"timestamp,omitempty"` // Timestamp + Groups *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseGroups `json:"groups,omitempty"` // + Attributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseAttributes `json:"attributes,omitempty"` // AggregateAttributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // } type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseGroups struct { - ID string `json:"id,omitempty"` // Id - - Attributes *[]ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseGroupsAttributes `json:"attributes,omitempty"` // - + 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 - + Name string `json:"name,omitempty"` // Name Value string `json:"value,omitempty"` // Value } type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseGroupsAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function - - Value *int `json:"value,omitempty"` // Value + Value *int `json:"value,omitempty"` // Value } type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Value string `json:"value,omitempty"` // Value } type ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceResponseAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function - - Value *int `json:"value,omitempty"` // Value + 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 - + 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 { @@ -1759,6 +1802,100 @@ type ResponseDevicesGetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOfTheSe Count *int `json:"count,omitempty"` // Count TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } +type ResponseDevicesGetDevicesEnergy struct { + Response *[]ResponseDevicesGetDevicesEnergyResponse `json:"response,omitempty"` // + Page *ResponseDevicesGetDevicesEnergyPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesGetDevicesEnergyResponse struct { + ID string `json:"id,omitempty"` // Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceCategory string `json:"deviceCategory,omitempty"` // Device Category + DeviceSubCategory string `json:"deviceSubCategory,omitempty"` // Device Sub Category + SiteID string `json:"siteId,omitempty"` // Site Id + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + EnergyConsumed *float64 `json:"energyConsumed,omitempty"` // Energy Consumed + EstimatedCost *float64 `json:"estimatedCost,omitempty"` // Estimated Cost + EstimatedEmission *float64 `json:"estimatedEmission,omitempty"` // Estimated Emission + CarbonIntensity *float64 `json:"carbonIntensity,omitempty"` // Carbon Intensity +} +type ResponseDevicesGetDevicesEnergyPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Cursor string `json:"cursor,omitempty"` // Cursor + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesGetDevicesEnergyPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesGetDevicesEnergyPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order +} +type ResponseDevicesCountDevicesEnergy struct { + Response *ResponseDevicesCountDevicesEnergyResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesCountDevicesEnergyResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseDevicesQueryDevicesEnergy struct { + Response *[]ResponseDevicesQueryDevicesEnergyResponse `json:"response,omitempty"` // + Page *ResponseDevicesQueryDevicesEnergyPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesQueryDevicesEnergyResponse struct { + ID string `json:"id,omitempty"` // Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceCategory string `json:"deviceCategory,omitempty"` // Device Category + DeviceSubCategory string `json:"deviceSubCategory,omitempty"` // Device Sub Category + SiteID string `json:"siteId,omitempty"` // Site Id + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + EnergyConsumed *float64 `json:"energyConsumed,omitempty"` // Energy Consumed + EstimatedCost *float64 `json:"estimatedCost,omitempty"` // Estimated Cost + EstimatedEmission *float64 `json:"estimatedEmission,omitempty"` // Estimated Emission + CarbonIntensity *float64 `json:"carbonIntensity,omitempty"` // Carbon Intensity + AggregateAttributes *[]ResponseDevicesQueryDevicesEnergyResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseDevicesQueryDevicesEnergyResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *float64 `json:"value,omitempty"` // Value +} +type ResponseDevicesQueryDevicesEnergyPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Cursor string `json:"cursor,omitempty"` // Cursor + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseDevicesQueryDevicesEnergyPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseDevicesQueryDevicesEnergyPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + Function string `json:"function,omitempty"` // Function +} +type ResponseDevicesCountDevicesEnergyFromQuery struct { + Response *ResponseDevicesCountDevicesEnergyFromQueryResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesCountDevicesEnergyFromQueryResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseDevicesGetDeviceEnergyByID struct { + Response *ResponseDevicesGetDeviceEnergyByIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesGetDeviceEnergyByIDResponse struct { + ID string `json:"id,omitempty"` // Id + DeviceName string `json:"deviceName,omitempty"` // Device Name + DeviceCategory string `json:"deviceCategory,omitempty"` // Device Category + DeviceSubCategory string `json:"deviceSubCategory,omitempty"` // Device Sub Category + SiteID string `json:"siteId,omitempty"` // Site Id + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id + EnergyConsumed *float64 `json:"energyConsumed,omitempty"` // Energy Consumed + EstimatedCost *float64 `json:"estimatedCost,omitempty"` // Estimated Cost + EstimatedEmission *float64 `json:"estimatedEmission,omitempty"` // Estimated Emission + CarbonIntensity *float64 `json:"carbonIntensity,omitempty"` // Carbon Intensity +} type ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevices struct { Response *[]ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesResponse `json:"response,omitempty"` // Page *ResponseDevicesGetsInterfacesAlongWithStatisticsAndPoeDataFromAllNetworkDevicesPage `json:"page,omitempty"` // @@ -2229,99 +2366,53 @@ 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 - - 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"` // + 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 @@ -2393,142 +2484,79 @@ 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 - - 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 + 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"` // + 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 + 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 - + 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 - + 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 + 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 @@ -2536,858 +2564,510 @@ 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 + 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 + 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"` // - + 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 - + 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 + 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 - + 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 - + 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 - - 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"` // + 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"` // + 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 - + 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 + 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 - + 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 - - 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 + 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"` // + 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 + 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 - + 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 - + 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 + 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 + 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 - + 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 + 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 } type ResponseDevicesGetDeviceDetailResponseTagIDList interface{} type ResponseDevicesGetDeviceEnrichmentDetails []ResponseItemDevicesGetDeviceEnrichmentDetails // Array of ResponseDevicesGetDeviceEnrichmentDetails @@ -3395,81 +3075,44 @@ 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{} @@ -3477,44 +3120,26 @@ 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{} @@ -3524,355 +3149,223 @@ 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 + Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetTheCountOfHealthScoreDefinitionsBasedOnProvidedFiltersResponse struct { Count *int `json:"count,omitempty"` // Count @@ -3881,139 +3374,82 @@ 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 +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 } type ResponseDevicesGetAllInterfacesResponseAddressesAddressIPAddress struct { Address string `json:"address,omitempty"` // IP address of the interface @@ -4022,97 +3458,58 @@ 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 @@ -4122,91 +3519,53 @@ 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 @@ -4216,91 +3575,53 @@ 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 @@ -4309,109 +3630,64 @@ 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 + 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 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 + 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 @@ -4421,185 +3697,109 @@ type ResponseDevicesGetInterfaceDetailsByDeviceIDAndInterfaceNameResponseAddress } type ResponseDevicesGetDeviceInterfacesBySpecifiedRange struct { Response *[]ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponse `json:"response,omitempty"` // - - Version string `json:"version,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 + 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 -} -type ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddressIPAddress struct { - Address string `json:"address,omitempty"` // IP address of the interface -} -type ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddressIPMask struct { - Address string `json:"address,omitempty"` // IP Mask of the interface -} -type ResponseDevicesGetOspfInterfaces struct { - Response *[]ResponseDevicesGetOspfInterfacesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // + 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 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 +type ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddressIPAddress struct { + Address string `json:"address,omitempty"` // IP address of the interface +} +type ResponseDevicesGetDeviceInterfacesBySpecifiedRangeResponseAddressesAddressIPMask struct { + Address string `json:"address,omitempty"` // IP Mask of the interface +} +type ResponseDevicesGetOspfInterfaces struct { + Response *[]ResponseDevicesGetOspfInterfacesResponse `json:"response,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 } 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 @@ -4609,91 +3809,53 @@ 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 @@ -4703,3529 +3865,2363 @@ type ResponseDevicesGetInterfaceByIDResponseAddressesAddressIPMask struct { } type ResponseDevicesUpdateInterfaceDetails struct { Response *ResponseDevicesUpdateInterfaceDetailsResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // + Version *ResponseDevicesUpdateInterfaceDetailsVersion `json:"version,omitempty"` // } type ResponseDevicesUpdateInterfaceDetailsResponse struct { - TaskID string `json:"taskId,omitempty"` // - URL string `json:"url,omitempty"` // + Type string `json:"type,omitempty"` // Type + Properties *ResponseDevicesUpdateInterfaceDetailsResponseProperties `json:"properties,omitempty"` // + Required []string `json:"required,omitempty"` // Required +} +type ResponseDevicesUpdateInterfaceDetailsResponseProperties struct { + TaskID *ResponseDevicesUpdateInterfaceDetailsResponsePropertiesTaskID `json:"taskId,omitempty"` // + URL *ResponseDevicesUpdateInterfaceDetailsResponsePropertiesURL `json:"url,omitempty"` // +} +type ResponseDevicesUpdateInterfaceDetailsResponsePropertiesTaskID struct { + Type string `json:"type,omitempty"` // Type +} +type ResponseDevicesUpdateInterfaceDetailsResponsePropertiesURL struct { + Type string `json:"type,omitempty"` // Type +} +type ResponseDevicesUpdateInterfaceDetailsVersion struct { + Type string `json:"type,omitempty"` // Type } 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 struct { Response []string `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // } type ResponseDevicesUpdateDeviceRole struct { Response *ResponseDevicesUpdateDeviceRoleResponse `json:"response,omitempty"` // - - Version string `json:"version,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 +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 } 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 - + 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 + 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 + 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"` // + 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 -} -type ResponseDevicesUpdateDeviceManagementAddress struct { - Response *ResponseDevicesUpdateDeviceManagementAddressResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version -} -type ResponseDevicesUpdateDeviceManagementAddressResponse struct { - TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url -} -type ResponseDevicesGetDeviceByID struct { - Response *ResponseDevicesGetDeviceByIDResponse `json:"response,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 + Slotno string `json:"slotno,omitempty"` // Slot number of supervisor card +} +type ResponseDevicesUpdateDeviceManagementAddress struct { + Response *ResponseDevicesUpdateDeviceManagementAddressResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseDevicesUpdateDeviceManagementAddressResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + URL string `json:"url,omitempty"` // Url +} +type ResponseDevicesGetDeviceByID struct { + Response *ResponseDevicesGetDeviceByIDResponse `json:"response,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 } 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 ResponseDevicesCreateMaintenanceScheduleForNetworkDevices struct { Response *ResponseDevicesCreateMaintenanceScheduleForNetworkDevicesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version of the response + Version string `json:"version,omitempty"` // Version of the response. } type ResponseDevicesCreateMaintenanceScheduleForNetworkDevicesResponse struct { - TaskID string `json:"taskId,omitempty"` // Unique identifier for the task - - URL string `json:"url,omitempty"` // URL for the task + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. } type ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevices struct { Response *[]ResponseDevicesRetrieveScheduledMaintenanceWindowsForNetworkDevicesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version number of the response + Version string `json:"version,omitempty"` // Version number of the response } 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. - + 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. + 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 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. - + 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. + Status string `json:"status,omitempty"` // The status of the maintenance schedule. } 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. - + 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 ResponseDevicesRetrieveTheTotalNumberOfScheduledMaintenanceWindows struct { Response *ResponseDevicesRetrieveTheTotalNumberOfScheduledMaintenanceWindowsResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // The version of the response + Version string `json:"version,omitempty"` // The version of the response } type ResponseDevicesRetrieveTheTotalNumberOfScheduledMaintenanceWindowsResponse struct { Count *int `json:"count,omitempty"` // Count of scheduled maintenance windows } type ResponseDevicesUpdatesTheMaintenanceScheduleInformation struct { Response *ResponseDevicesUpdatesTheMaintenanceScheduleInformationResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version of the response + Version string `json:"version,omitempty"` // Version of the response. } type ResponseDevicesUpdatesTheMaintenanceScheduleInformationResponse struct { - TaskID string `json:"taskId,omitempty"` // Unique identifier for the task - - URL string `json:"url,omitempty"` // URL for the task + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. } type ResponseDevicesRetrievesTheMaintenanceScheduleInformation struct { Response *ResponseDevicesRetrievesTheMaintenanceScheduleInformationResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version number of the response + Version string `json:"version,omitempty"` // Version number of the response } 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. - + 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. + 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 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. - + 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 *ResponseDevicesRetrievesTheMaintenanceScheduleInformationResponseMaintenanceScheduleRecurrence `json:"recurrence,omitempty"` // - - Status string `json:"status,omitempty"` // The status of the maintenance schedule. + Status string `json:"status,omitempty"` // The status of the maintenance schedule. } 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. - + 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 ResponseDevicesDeleteMaintenanceSchedule struct { Response *ResponseDevicesDeleteMaintenanceScheduleResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version of the response + Version string `json:"version,omitempty"` // Version of the response. } type ResponseDevicesDeleteMaintenanceScheduleResponse struct { - TaskID string `json:"taskId,omitempty"` // Unique identifier for the task - - URL string `json:"url,omitempty"` // URL for the task + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. } type ResponseDevicesRetrieveNetworkDevices struct { Response *[]ResponseDevicesRetrieveNetworkDevicesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version number of the response + Version string `json:"version,omitempty"` // Version number of the response } 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. + 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 ResponseDevicesRetrieveNetworkDevicesResponseUserDefinedFields interface{} type ResponseDevicesCountTheNumberOfNetworkDevices struct { Response *ResponseDevicesCountTheNumberOfNetworkDevicesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // The version of the response + Version string `json:"version,omitempty"` // The version of the response } type ResponseDevicesCountTheNumberOfNetworkDevicesResponse struct { Count *int `json:"count,omitempty"` // The reported count. } type ResponseDevicesDeleteNetworkDeviceWithConfigurationCleanup struct { Response *ResponseDevicesDeleteNetworkDeviceWithConfigurationCleanupResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version of the response + Version string `json:"version,omitempty"` // Version of the response. } type ResponseDevicesDeleteNetworkDeviceWithConfigurationCleanupResponse struct { - TaskID string `json:"taskId,omitempty"` // Unique identifier for the task - - URL string `json:"url,omitempty"` // URL for the task + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. } type ResponseDevicesDeleteANetworkDeviceWithoutConfigurationCleanup struct { Response *ResponseDevicesDeleteANetworkDeviceWithoutConfigurationCleanupResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version of the response + Version string `json:"version,omitempty"` // Version of the response. } type ResponseDevicesDeleteANetworkDeviceWithoutConfigurationCleanupResponse struct { - TaskID string `json:"taskId,omitempty"` // Unique identifier for the task - - URL string `json:"url,omitempty"` // URL for the task + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. } type ResponseDevicesQueryNetworkDevicesWithFilters struct { Response *[]ResponseDevicesQueryNetworkDevicesWithFiltersResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version number of the response + Version string `json:"version,omitempty"` // Version number of the response } 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. + 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 ResponseDevicesQueryNetworkDevicesWithFiltersResponseUserDefinedFields interface{} type ResponseDevicesCountTheNumberOfNetworkDevicesWithFilters struct { Response *ResponseDevicesCountTheNumberOfNetworkDevicesWithFiltersResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // The version of the response + Version string `json:"version,omitempty"` // The version of the response } type ResponseDevicesCountTheNumberOfNetworkDevicesWithFiltersResponse struct { Count *int `json:"count,omitempty"` // The reported count. } type ResponseDevicesUpdateGlobalResyncInterval struct { Response *ResponseDevicesUpdateGlobalResyncIntervalResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version of the response -} -type ResponseDevicesUpdateGlobalResyncIntervalResponse struct { - TaskID string `json:"taskId,omitempty"` // Unique identifier 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 ResponseDevicesOverrideResyncIntervalResponse struct { - TaskID string `json:"taskId,omitempty"` // Unique identifier for the task - - URL string `json:"url,omitempty"` // URL for the task -} -type ResponseDevicesGetDetailsOfASingleNetworkDevice struct { - Response *ResponseDevicesGetDetailsOfASingleNetworkDeviceResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version number of the response + Version string `json:"version,omitempty"` // Version of the response. } -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 ResponseDevicesUpdateGlobalResyncIntervalResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier 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 ResponseDevicesOverrideResyncIntervalResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseDevicesGetDetailsOfASingleNetworkDevice struct { + Response *ResponseDevicesGetDetailsOfASingleNetworkDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number of the response +} +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 ResponseDevicesGetDetailsOfASingleNetworkDeviceResponseUserDefinedFields interface{} type ResponseDevicesUpdateResyncIntervalForTheNetworkDevice struct { Response *ResponseDevicesUpdateResyncIntervalForTheNetworkDeviceResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version of the response + Version string `json:"version,omitempty"` // Version of the response. } type ResponseDevicesUpdateResyncIntervalForTheNetworkDeviceResponse struct { - TaskID string `json:"taskId,omitempty"` // Unique identifier for the task - - URL string `json:"url,omitempty"` // URL for the task + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. } type ResponseDevicesGetResyncIntervalForTheNetworkDevice struct { Response *ResponseDevicesGetResyncIntervalForTheNetworkDeviceResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetResyncIntervalForTheNetworkDeviceResponse struct { Interval *int `json:"interval,omitempty"` // Resync interval of the device } +type ResponseDevicesRetrievesTheListOfPortChannelsForTheNetworkDevice struct { + Response *[]ResponseDevicesRetrievesTheListOfPortChannelsForTheNetworkDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number of the response +} +type ResponseDevicesRetrievesTheListOfPortChannelsForTheNetworkDeviceResponse struct { + ID string `json:"id,omitempty"` // Unique identifier for the port channel + Name string `json:"name,omitempty"` // Name of the port channel. + AggregationProtocol string `json:"aggregationProtocol,omitempty"` // The protocol used for aggregating multiple physical links into the port channel. + LogicalSlotPort string `json:"logicalSlotPort,omitempty"` // The logical slot and port number associated with the port channel. + Interfaces *ResponseDevicesRetrievesTheListOfPortChannelsForTheNetworkDeviceResponseInterfaces `json:"interfaces,omitempty"` // + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Unique identifier for the network device +} +type ResponseDevicesRetrievesTheListOfPortChannelsForTheNetworkDeviceResponseInterfaces struct { + Name string `json:"name,omitempty"` // Name of the interface. + ChannelMode string `json:"channelMode,omitempty"` // The mode of operation for the channel. +} +type ResponseDevicesRetrievePortChannelsCountForANetworkDevice struct { + Response *ResponseDevicesRetrievePortChannelsCountForANetworkDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseDevicesRetrievePortChannelsCountForANetworkDeviceResponse struct { + Count *int `json:"count,omitempty"` // The reported count. +} +type ResponseDevicesRetrievesInformationForTheGivenPortChannelOnASpecificNetworkDevice struct { + Response *ResponseDevicesRetrievesInformationForTheGivenPortChannelOnASpecificNetworkDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number of the response +} +type ResponseDevicesRetrievesInformationForTheGivenPortChannelOnASpecificNetworkDeviceResponse struct { + ID string `json:"id,omitempty"` // Unique identifier for the port channel + Name string `json:"name,omitempty"` // Name of the port channel. + AggregationProtocol string `json:"aggregationProtocol,omitempty"` // The protocol used for aggregating multiple physical links into the port channel. + LogicalSlotPort string `json:"logicalSlotPort,omitempty"` // The logical slot and port number associated with the port channel. + Interfaces *ResponseDevicesRetrievesInformationForTheGivenPortChannelOnASpecificNetworkDeviceResponseInterfaces `json:"interfaces,omitempty"` // + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Unique identifier for the network device +} +type ResponseDevicesRetrievesInformationForTheGivenPortChannelOnASpecificNetworkDeviceResponseInterfaces struct { + Name string `json:"name,omitempty"` // Name of the interface. + ChannelMode string `json:"channelMode,omitempty"` // The mode of operation for the channel. +} type ResponseDevicesRogueAdditionalDetails struct { - Response *[]ResponseDevicesRogueAdditionalDetailsResponse `json:"response,omitempty"` // - - TotalCount *int `json:"totalCount,omitempty"` // Total Count - - Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesRogueAdditionalDetailsResponse `json:"response,omitempty"` // + TotalCount *int `json:"totalCount,omitempty"` // Total Count + Version string `json:"version,omitempty"` // Version } 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 - + 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 + 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 ResponseDevicesRogueAdditionalDetailCount struct { - Response *int `json:"response,omitempty"` // Response - - Version string `json:"version,omitempty"` // Version + Response *int `json:"response,omitempty"` // Response + Version string `json:"version,omitempty"` // Version } type ResponseDevicesStartWirelessRogueApContainment struct { Response *ResponseDevicesStartWirelessRogueApContainmentResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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 - + 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 ResponseDevicesWirelessRogueApContainmentStatus struct { Response *[]ResponseDevicesWirelessRogueApContainmentStatusResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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"` // + 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 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 - + 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 - + 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 + ContainedByWlcIP string `json:"containedByWlcIp,omitempty"` // Contained By Wlc Ip + IsAdhoc *bool `json:"isAdhoc,omitempty"` // Is Adhoc } type ResponseDevicesStopWirelessRogueApContainment struct { Response *ResponseDevicesStopWirelessRogueApContainmentResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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 - + 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 ResponseDevicesThreatDetails struct { - Response *[]ResponseDevicesThreatDetailsResponse `json:"response,omitempty"` // - - TotalCount *int `json:"totalCount,omitempty"` // Total Count - - Version string `json:"version,omitempty"` // Version + Response *[]ResponseDevicesThreatDetailsResponse `json:"response,omitempty"` // + TotalCount *int `json:"totalCount,omitempty"` // Total Count + Version string `json:"version,omitempty"` // Version } 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 - + 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 ResponseDevicesThreatDetailCount struct { - Response *int `json:"response,omitempty"` // Response - - Version string `json:"version,omitempty"` // Version + Response *int `json:"response,omitempty"` // Response + Version string `json:"version,omitempty"` // Version } type ResponseDevicesGetThreatLevels struct { Response *[]ResponseDevicesGetThreatLevelsResponse `json:"response,omitempty"` // } type ResponseDevicesGetThreatLevelsResponse struct { - Name string `json:"name,omitempty"` // Name - - Value *int `json:"value,omitempty"` // Value + Name string `json:"name,omitempty"` // Name + Value *int `json:"value,omitempty"` // Value } type ResponseDevicesAddAllowedMacAddress struct { - Response string `json:"response,omitempty"` // Response - - Error *ResponseDevicesAddAllowedMacAddressError `json:"error,omitempty"` // Error + Response string `json:"response,omitempty"` // Response + Error *ResponseDevicesAddAllowedMacAddressError `json:"error,omitempty"` // Error } 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 + MacAddress string `json:"macAddress,omitempty"` // Mac Address + Category *int `json:"category,omitempty"` // Category + LastModified *int `json:"lastModified,omitempty"` // Last Modified } type ResponseDevicesGetAllowedMacAddressCount struct { - Response *int `json:"response,omitempty"` // Response - - Version string `json:"version,omitempty"` // Version + Response *int `json:"response,omitempty"` // Response + Version string `json:"version,omitempty"` // Version } type ResponseDevicesRemoveAllowedMacAddress struct { - Response string `json:"response,omitempty"` // Response - - Error *ResponseDevicesRemoveAllowedMacAddressError `json:"error,omitempty"` // Error + Response string `json:"response,omitempty"` // Response + Error *ResponseDevicesRemoveAllowedMacAddressError `json:"error,omitempty"` // Error } type ResponseDevicesRemoveAllowedMacAddressError interface{} type ResponseDevicesThreatSummary struct { Response *[]ResponseDevicesThreatSummaryResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseDevicesThreatSummaryResponse struct { - Timestamp *int `json:"timestamp,omitempty"` // Timestamp - + Timestamp *int `json:"timestamp,omitempty"` // Timestamp ThreatData *[]ResponseDevicesThreatSummaryResponseThreatData `json:"threatData,omitempty"` // } type ResponseDevicesThreatSummaryResponseThreatData struct { - ThreatType string `json:"threatType,omitempty"` // Threat Type - + ThreatType string `json:"threatType,omitempty"` // Threat Type ThreatLevel string `json:"threatLevel,omitempty"` // Threat Level - - ThreatCount *int `json:"threatCount,omitempty"` // Threat Count + ThreatCount *int `json:"threatCount,omitempty"` // Threat Count } type ResponseDevicesGetThreatTypes struct { Response *[]ResponseDevicesGetThreatTypesResponse `json:"response,omitempty"` // } 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 + 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 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"` // + 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 ResponseDevicesGetDeviceInterfaceStatsInfoV2Response struct { - ID string `json:"id,omitempty"` // Interface Instance Id - + ID string `json:"id,omitempty"` // Interface Instance Id Values *ResponseDevicesGetDeviceInterfaceStatsInfoV2ResponseValues `json:"values,omitempty"` // } 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 - + 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 + 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 ResponseDevicesGetDeviceInterfaceStatsInfoV2Page struct { - Limit *int `json:"limit,omitempty"` // Limit - + Limit *int `json:"limit,omitempty"` // Limit Offset *float64 `json:"offset,omitempty"` // Offset - - Count *int `json:"count,omitempty"` // Count + Count *int `json:"count,omitempty"` // Count } 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"` // + 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 RequestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersFilters struct { - Key string `json:"key,omitempty"` // Key - - Operator string `json:"operator,omitempty"` // Operator - - Value []string `json:"value,omitempty"` // Value + 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 - + 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 - + Name string `json:"name,omitempty"` // Name Order string `json:"order,omitempty"` // Order } type RequestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - - EndTime *int `json:"endTime,omitempty"` // End Time - - Filters *[]RequestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + StartTime *int `json:"startTime,omitempty"` // Start Time + EndTime *int `json:"endTime,omitempty"` // End Time + Filters *[]RequestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // } type RequestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersFilters struct { - Key string `json:"key,omitempty"` // Key - - Operator string `json:"operator,omitempty"` // Operator - - Value []string `json:"value,omitempty"` // Value + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value []string `json:"value,omitempty"` // Value } 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 - + 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"` // + Page *RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } 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 + 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 RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFiltersValue interface{} type RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function } type RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *int `json:"offset,omitempty"` // Offset - + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset SortBy *[]RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // } type RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function - - Order string `json:"order,omitempty"` // Order + Order string `json:"order,omitempty"` // Order } 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 - + 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"` // + Page *RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } 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 + 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 RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFiltersValue interface{} type RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function } type RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *int `json:"offset,omitempty"` // Offset - + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset SortBy *[]RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // } type RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPageSortBy struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function - - Order string `json:"order,omitempty"` // Order + Order string `json:"order,omitempty"` // Order } 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 - + 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"` // + Page *RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage `json:"page,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 + 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 RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersFiltersValue interface{} type RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function } type RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersPage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *int `json:"offset,omitempty"` // Offset - + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } 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 - + 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"` // + Page *RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServicePage `json:"page,omitempty"` // } 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 + 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 RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceFiltersValue interface{} type RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function } type RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServicePage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *int `json:"offset,omitempty"` // Offset - + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } 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"` // + 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 RequestDevicesQueryAssuranceEventsWithFiltersFilters struct { - Key string `json:"key,omitempty"` // Key - + Key string `json:"key,omitempty"` // Key Operator string `json:"operator,omitempty"` // Operator - - Value string `json:"value,omitempty"` // Value + Value string `json:"value,omitempty"` // Value } type RequestDevicesQueryAssuranceEventsWithFiltersPage struct { - Offset *int `json:"offset,omitempty"` // Offset - - Limit *int `json:"limit,omitempty"` // Limit - + Offset *int `json:"offset,omitempty"` // Offset + Limit *int `json:"limit,omitempty"` // Limit SortBy *[]RequestDevicesQueryAssuranceEventsWithFiltersPageSortBy `json:"sortBy,omitempty"` // } type RequestDevicesQueryAssuranceEventsWithFiltersPageSortBy struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Order string `json:"order,omitempty"` // Order } 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"` // + 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 RequestDevicesCountTheNumberOfEventsWithFiltersFilters struct { - Key string `json:"key,omitempty"` // Key - + Key string `json:"key,omitempty"` // Key Operator string `json:"operator,omitempty"` // Operator - - Value string `json:"value,omitempty"` // Value + Value string `json:"value,omitempty"` // Value } 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"` // + 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 RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersFilters struct { - Key string `json:"key,omitempty"` // Key - - Operator string `json:"operator,omitempty"` // Operator - - Value []string `json:"value,omitempty"` // Value + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value []string `json:"value,omitempty"` // Value } type RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersPage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *int `json:"offset,omitempty"` // Offset - + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset SortBy *[]RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // } type RequestDevicesRetrievesTheListOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Order string `json:"order,omitempty"` // Order } type RequestDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFilters struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - - EndTime *int `json:"endTime,omitempty"` // End Time - - Filters *[]RequestDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // + StartTime *int `json:"startTime,omitempty"` // Start Time + EndTime *int `json:"endTime,omitempty"` // End Time + Filters *[]RequestDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersFilters `json:"filters,omitempty"` // } type RequestDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenSetOfComplexFiltersFilters struct { - Key string `json:"key,omitempty"` // Key - - Operator string `json:"operator,omitempty"` // Operator - - Value []string `json:"value,omitempty"` // Value + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value []string `json:"value,omitempty"` // Value } 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 - + 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"` // + Page *RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } 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"` // + 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 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 + 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 RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersFiltersValue interface{} type RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function } type RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *int `json:"offset,omitempty"` // Offset - + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset SortBy *[]RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // } type RequestDevicesGetSummaryAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function - - Order string `json:"order,omitempty"` // Order + Order string `json:"order,omitempty"` // Order } 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 - + 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"` // + Page *RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage `json:"page,omitempty"` // } 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 + 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 RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersValue interface{} type RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function } type RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *int `json:"offset,omitempty"` // Offset - + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset SortBy *[]RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy `json:"sortBy,omitempty"` // } type RequestDevicesGetTopNAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPageSortBy struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function - - Order string `json:"order,omitempty"` // Order + Order string `json:"order,omitempty"` // Order } 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 - + 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"` // + Page *RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage `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 + 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 RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersFiltersValue interface{} type RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function } type RequestDevicesGetTrendAnalyticsDataOfDHCPServicesForGivenSetOfComplexFiltersPage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *int `json:"offset,omitempty"` // Offset - + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } 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 - + 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"` // + Page *RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServicePage `json:"page,omitempty"` // } type RequestDevicesGetTrendAnalyticsDataForAGivenDHCPServiceMatchingTheIDOfTheServiceFilters struct { - Key string `json:"key,omitempty"` // Key - - 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 + Key string `json:"key,omitempty"` // Key + 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 - + 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 - + 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"` // + 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 + 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 - + 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 - + 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"` // + 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 + 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 - + 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"` // + 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"` // + 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 + 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 - + 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 - + 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 - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function - - Order string `json:"order,omitempty"` // Order + 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 - + 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"` // + 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 + 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 - + 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 - + 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 - + Name string `json:"name,omitempty"` // Name Function string `json:"function,omitempty"` // Function - - Order string `json:"order,omitempty"` // Order + 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 - + 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"` // + 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 + 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 - + 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 - + 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 - + 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"` // + 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 + 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 - + 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 - + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } +type RequestDevicesQueryDevicesEnergy struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + EndTime *int `json:"endTime,omitempty"` // End Time + Filters *[]RequestDevicesQueryDevicesEnergyFilters `json:"filters,omitempty"` // + Views []string `json:"views,omitempty"` // Views + Attributes []string `json:"attributes,omitempty"` // Attributes + AggregateAttributes *[]RequestDevicesQueryDevicesEnergyAggregateAttributes `json:"aggregateAttributes,omitempty"` // + Page *RequestDevicesQueryDevicesEnergyPage `json:"page,omitempty"` // +} +type RequestDevicesQueryDevicesEnergyFilters struct { + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + Filters *[]RequestDevicesQueryDevicesEnergyFiltersFilters `json:"filters,omitempty"` // +} +type RequestDevicesQueryDevicesEnergyFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value []string `json:"value,omitempty"` // Value +} +type RequestDevicesQueryDevicesEnergyAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesQueryDevicesEnergyPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Cursor string `json:"cursor,omitempty"` // Cursor + SortBy *[]RequestDevicesQueryDevicesEnergyPageSortBy `json:"sortBy,omitempty"` // +} +type RequestDevicesQueryDevicesEnergyPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesCountDevicesEnergyFromQuery struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + EndTime *int `json:"endTime,omitempty"` // End Time + Filters *[]RequestDevicesCountDevicesEnergyFromQueryFilters `json:"filters,omitempty"` // + Views []string `json:"views,omitempty"` // Views + Attributes []string `json:"attributes,omitempty"` // Attributes + AggregateAttributes *[]RequestDevicesCountDevicesEnergyFromQueryAggregateAttributes `json:"aggregateAttributes,omitempty"` // + Page *RequestDevicesCountDevicesEnergyFromQueryPage `json:"page,omitempty"` // +} +type RequestDevicesCountDevicesEnergyFromQueryFilters struct { + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + Filters *[]RequestDevicesCountDevicesEnergyFromQueryFiltersFilters `json:"filters,omitempty"` // +} +type RequestDevicesCountDevicesEnergyFromQueryFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value []string `json:"value,omitempty"` // Value +} +type RequestDevicesCountDevicesEnergyFromQueryAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function +} +type RequestDevicesCountDevicesEnergyFromQueryPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + SortBy *[]RequestDevicesCountDevicesEnergyFromQueryPageSortBy `json:"sortBy,omitempty"` // +} +type RequestDevicesCountDevicesEnergyFromQueryPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + Function string `json:"function,omitempty"` // Function +} 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"` // - + 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"` // + 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"` // + 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 + 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 - + 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 - + 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 - + 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"` // - + 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"` // + 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 + 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 - + 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 - + 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 - + 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 + 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 - + Key string `json:"key,omitempty"` // Key Operator string `json:"operator,omitempty"` // Operator - - Value string `json:"value,omitempty"` // Value + Value string `json:"value,omitempty"` // Value } type RequestDevicesTheTrendAnalytcisDataForTheInterfacesInTheSpecifiedTimeRangeAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + 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"` // - + 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"` // + Page *RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsPage `json:"page,omitempty"` // } type RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsFilters struct { - Key string `json:"key,omitempty"` // Key - + Key string `json:"key,omitempty"` // Key Operator string `json:"operator,omitempty"` // Operator - - Value string `json:"value,omitempty"` // Value + Value string `json:"value,omitempty"` // Value } type RequestDevicesGetsTheListOfNetworkDevicesBasedOnTheProvidedComplexFiltersAndAggregationFunctionsAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + 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 - + 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"` // - - 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"` + 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 - + Key string `json:"key,omitempty"` // Key Operator string `json:"operator,omitempty"` // Operator - - Value string `json:"value,omitempty"` // Value + 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"` // - + 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"` // + Page *RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesPage `json:"page,omitempty"` // } type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesFilters struct { - Key string `json:"key,omitempty"` // Key - + Key string `json:"key,omitempty"` // Key Operator string `json:"operator,omitempty"` // Operator - - Value string `json:"value,omitempty"` // Value + Value string `json:"value,omitempty"` // Value } type RequestDevicesGetsTheSummaryAnalyticsDataRelatedToNetworkDevicesAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + 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 - + 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 - + 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"` // - + 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"` // + Page *RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesPage `json:"page,omitempty"` // } type RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesAttributes interface{} type RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesFilters struct { - Key string `json:"key,omitempty"` // Key - + Key string `json:"key,omitempty"` // Key Operator string `json:"operator,omitempty"` // Operator - - Value string `json:"value,omitempty"` // Value + Value string `json:"value,omitempty"` // Value } type RequestDevicesGetsTheTopNAnalyticsDataRelatedToNetworkDevicesAggregateAttributes struct { - Name string `json:"name,omitempty"` // Name - + 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 - + 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 - + 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"` // - + 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"` // + Page *RequestDevicesGetsTheTrendAnalyticsDataPage `json:"page,omitempty"` // } type RequestDevicesGetsTheTrendAnalyticsDataGroupBy interface{} type RequestDevicesGetsTheTrendAnalyticsDataFilters struct { - Key string `json:"key,omitempty"` // Key - + Key string `json:"key,omitempty"` // Key Operator string `json:"operator,omitempty"` // Operator - - Value string `json:"value,omitempty"` // Value + Value string `json:"value,omitempty"` // Value } type RequestDevicesGetsTheTrendAnalyticsDataAggregateAttributes interface{} type RequestDevicesGetsTheTrendAnalyticsDataPage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *int `json:"offset,omitempty"` // Offset - + 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"` // + 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 + 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 - + 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 - + 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"` // + 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 + 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 - + 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"` // - + Antenna *RequestDevicesUpdatePlannedAccessPointForFloorRadiosAntenna `json:"antenna,omitempty"` // Attributes *RequestDevicesUpdatePlannedAccessPointForFloorRadiosAttributes `json:"attributes,omitempty"` // - - IsSensor *bool `json:"isSensor,omitempty"` // Determines if it is sensor or not + 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 - + 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 + 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) + 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"` // + 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 + 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 - + 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"` // - + Antenna *RequestDevicesCreatePlannedAccessPointForFloorRadiosAntenna `json:"antenna,omitempty"` // Attributes *RequestDevicesCreatePlannedAccessPointForFloorRadiosAttributes `json:"attributes,omitempty"` // - - IsSensor *bool `json:"isSensor,omitempty"` // Determines if it is sensor or not + 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 - + 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 + 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) + 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 + 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 + 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. + 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. - + 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. + 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. + 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 - + 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 + 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 - + 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 - + 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 - + 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. - + 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. + 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. - + 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. - + 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. - + 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. + 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. - + 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. - + 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 { @@ -8236,50 +6232,39 @@ type RequestDevicesDeleteANetworkDeviceWithoutConfigurationCleanup struct { } 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"` // + 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"` // + 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. + 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. + 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. - + 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"` // + 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. + 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 { @@ -8289,126 +6274,85 @@ 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 - + 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 + 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 - + 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 + 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 *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 *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 - + 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 + 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 - + 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 + 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 + 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 - + 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 + 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"` // + 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 - + Fields *[]RequestDevicesGetDeviceInterfaceStatsInfoV2QueryFields `json:"fields,omitempty"` // Required field names, default ALL Filters *[]RequestDevicesGetDeviceInterfaceStatsInfoV2QueryFilters `json:"filters,omitempty"` // - - Page *RequestDevicesGetDeviceInterfaceStatsInfoV2QueryPage `json:"page,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 - + 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 + 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 - + 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 - + Name string `json:"name,omitempty"` // Name of the field used to sort Order string `json:"order,omitempty"` // Possible values asc, des } @@ -8419,7 +6363,7 @@ type RequestDevicesGetDeviceInterfaceStatsInfoV2QueryPageOrderBy struct { @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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-aaa-services-for-given-parameters */ func (s *DevicesService) RetrievesTheListOfAAAServicesForGivenParameters(RetrievesTheListOfAAAServicesForGivenParametersHeaderParams *RetrievesTheListOfAAAServicesForGivenParametersHeaderParams, RetrievesTheListOfAAAServicesForGivenParametersQueryParams *RetrievesTheListOfAAAServicesForGivenParametersQueryParams) (*ResponseDevicesRetrievesTheListOfAAAServicesForGivenParameters, *resty.Response, error) { path := "/dna/data/api/v1/aaaServices" @@ -8454,7 +6398,7 @@ func (s *DevicesService) RetrievesTheListOfAAAServicesForGivenParameters(Retriev if response.StatusCode() == http.StatusUnauthorized { return s.RetrievesTheListOfAAAServicesForGivenParameters(RetrievesTheListOfAAAServicesForGivenParametersHeaderParams, RetrievesTheListOfAAAServicesForGivenParametersQueryParams) } - return nil, response, fmt.Errorf("error with operation RetrievesTheListOfAAAServicesForGivenParameters") + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfAaaServicesForGivenParameters") } result := response.Result().(*ResponseDevicesRetrievesTheListOfAAAServicesForGivenParameters) @@ -8469,7 +6413,7 @@ func (s *DevicesService) RetrievesTheListOfAAAServicesForGivenParameters(Retriev @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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-number-of-aaa-services-for-given-parameters */ func (s *DevicesService) RetrievesTheTotalNumberOfAAAServicesForGivenParameters(RetrievesTheTotalNumberOfAAAServicesForGivenParametersHeaderParams *RetrievesTheTotalNumberOfAAAServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfAAAServicesForGivenParametersQueryParams *RetrievesTheTotalNumberOfAAAServicesForGivenParametersQueryParams) (*ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenParameters, *resty.Response, error) { path := "/dna/data/api/v1/aaaServices/count" @@ -8504,7 +6448,7 @@ func (s *DevicesService) RetrievesTheTotalNumberOfAAAServicesForGivenParameters( if response.StatusCode() == http.StatusUnauthorized { return s.RetrievesTheTotalNumberOfAAAServicesForGivenParameters(RetrievesTheTotalNumberOfAAAServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfAAAServicesForGivenParametersQueryParams) } - return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfAAAServicesForGivenParameters") + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfAaaServicesForGivenParameters") } result := response.Result().(*ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenParameters) @@ -8521,7 +6465,7 @@ func (s *DevicesService) RetrievesTheTotalNumberOfAAAServicesForGivenParameters( @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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-details-of-a-specific-aaa-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}" @@ -8557,7 +6501,7 @@ func (s *DevicesService) RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOf if response.StatusCode() == http.StatusUnauthorized { return s.RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheService(id, RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheServiceQueryParams) } - return nil, response, fmt.Errorf("error with operation RetrievesTheDetailsOfASpecificAAAServiceMatchingTheIdOfTheService") + return nil, response, fmt.Errorf("error with operation RetrievesTheDetailsOfASpecificAaaServiceMatchingTheIdOfTheService") } result := response.Result().(*ResponseDevicesRetrievesTheDetailsOfASpecificAAAServiceMatchingTheIDOfTheService) @@ -8827,10 +6771,163 @@ func (s *DevicesService) RetrievesTheListOfDHCPServicesForGivenParameters(Retrie 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" +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(RetrievesTheTotalNumberOfDHCPServicesForGivenParametersQueryParams) + queryString, _ := query.Values(RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams) var response *resty.Response var err error @@ -8838,16 +6935,16 @@ func (s *DevicesService) RetrievesTheTotalNumberOfDHCPServicesForGivenParameters SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams != nil { + if RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams != nil { - if RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams.XCaLLERID) + if RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenParameters{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenParameters{}). SetError(&Error). Get(path) @@ -8858,32 +6955,32 @@ func (s *DevicesService) RetrievesTheTotalNumberOfDHCPServicesForGivenParameters if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RetrievesTheTotalNumberOfDHCPServicesForGivenParameters(RetrievesTheTotalNumberOfDHCPServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfDHCPServicesForGivenParametersQueryParams) + return s.RetrievesTheTotalNumberOfDNSServicesForGivenParameters(RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams) } - return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfDHCPServicesForGivenParameters") + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfDNSServicesForGivenParameters") } - result := response.Result().(*ResponseDevicesRetrievesTheTotalNumberOfDHCPServicesForGivenParameters) + result := response.Result().(*ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenParameters) 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 +//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 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 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 RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams Custom header parameters -@param RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceQueryParams Filtering parameter +@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-h-c-p-service-matching-the-id-of-the-service +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) RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService(id string, RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams *RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceQueryParams *RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheServiceQueryParams) (*ResponseDevicesRetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService, *resty.Response, error) { - path := "/dna/data/api/v1/dhcpServices/{id}" +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(RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceQueryParams) + queryString, _ := query.Values(RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceQueryParams) var response *resty.Response var err error @@ -8891,16 +6988,16 @@ func (s *DevicesService) RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDO SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams != nil { + if RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams != nil { - if RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID) + if RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService{}). SetError(&Error). Get(path) @@ -8911,29 +7008,29 @@ func (s *DevicesService) RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDO if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService(id, RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheServiceQueryParams) + return s.RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService(id, RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceQueryParams) } - return nil, response, fmt.Errorf("error with operation RetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIdOfTheService") + return nil, response, fmt.Errorf("error with operation RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheService") } - result := response.Result().(*ResponseDevicesRetrievesTheDetailsOfASpecificDHCPServiceMatchingTheIDOfTheService) + result := response.Result().(*ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService) 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 +//GetDevicesEnergy Get devices energy - 60b1-394d-4438-9950 +/* Retrieves a list of network devices with energy data based on the specified 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-deviceEnergy_1.0-1.0.1-resolved.yaml -@param RetrievesTheListOfDNSServicesForGivenParametersHeaderParams Custom header parameters -@param RetrievesTheListOfDNSServicesForGivenParametersQueryParams Filtering parameter +@param GetDevicesEnergyHeaderParams Custom header parameters +@param GetDevicesEnergyQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-d-n-s-services-for-given-parameters +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-devices-energy */ -func (s *DevicesService) RetrievesTheListOfDNSServicesForGivenParameters(RetrievesTheListOfDNSServicesForGivenParametersHeaderParams *RetrievesTheListOfDNSServicesForGivenParametersHeaderParams, RetrievesTheListOfDNSServicesForGivenParametersQueryParams *RetrievesTheListOfDNSServicesForGivenParametersQueryParams) (*ResponseDevicesRetrievesTheListOfDNSServicesForGivenParameters, *resty.Response, error) { - path := "/dna/data/api/v1/dnsServices" +func (s *DevicesService) GetDevicesEnergy(GetDevicesEnergyHeaderParams *GetDevicesEnergyHeaderParams, GetDevicesEnergyQueryParams *GetDevicesEnergyQueryParams) (*ResponseDevicesGetDevicesEnergy, *resty.Response, error) { + path := "/dna/data/api/v1/energy/networkDevices" - queryString, _ := query.Values(RetrievesTheListOfDNSServicesForGivenParametersQueryParams) + queryString, _ := query.Values(GetDevicesEnergyQueryParams) var response *resty.Response var err error @@ -8941,16 +7038,16 @@ func (s *DevicesService) RetrievesTheListOfDNSServicesForGivenParameters(Retriev SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if RetrievesTheListOfDNSServicesForGivenParametersHeaderParams != nil { + if GetDevicesEnergyHeaderParams != nil { - if RetrievesTheListOfDNSServicesForGivenParametersHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheListOfDNSServicesForGivenParametersHeaderParams.XCaLLERID) + if GetDevicesEnergyHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetDevicesEnergyHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheListOfDNSServicesForGivenParameters{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDevicesEnergy{}). SetError(&Error). Get(path) @@ -8961,29 +7058,29 @@ func (s *DevicesService) RetrievesTheListOfDNSServicesForGivenParameters(Retriev if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RetrievesTheListOfDNSServicesForGivenParameters(RetrievesTheListOfDNSServicesForGivenParametersHeaderParams, RetrievesTheListOfDNSServicesForGivenParametersQueryParams) + return s.GetDevicesEnergy(GetDevicesEnergyHeaderParams, GetDevicesEnergyQueryParams) } - return nil, response, fmt.Errorf("error with operation RetrievesTheListOfDNSServicesForGivenParameters") + return nil, response, fmt.Errorf("error with operation GetDevicesEnergy") } - result := response.Result().(*ResponseDevicesRetrievesTheListOfDNSServicesForGivenParameters) + result := response.Result().(*ResponseDevicesGetDevicesEnergy) 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 +//CountDevicesEnergy Count devices energy - 4694-ca43-4148-8c5a +/* Retrieves the total count of network devices that provide energy data, filtered according to the specified 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-deviceEnergy_1.0-1.0.1-resolved.yaml -@param RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams Custom header parameters -@param RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams Filtering parameter +@param CountDevicesEnergyHeaderParams Custom header parameters +@param CountDevicesEnergyQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-number-of-d-n-s-services-for-given-parameters +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-devices-energy */ -func (s *DevicesService) RetrievesTheTotalNumberOfDNSServicesForGivenParameters(RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams *RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams *RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams) (*ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenParameters, *resty.Response, error) { - path := "/dna/data/api/v1/dnsServices/count" +func (s *DevicesService) CountDevicesEnergy(CountDevicesEnergyHeaderParams *CountDevicesEnergyHeaderParams, CountDevicesEnergyQueryParams *CountDevicesEnergyQueryParams) (*ResponseDevicesCountDevicesEnergy, *resty.Response, error) { + path := "/dna/data/api/v1/energy/networkDevices/count" - queryString, _ := query.Values(RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams) + queryString, _ := query.Values(CountDevicesEnergyQueryParams) var response *resty.Response var err error @@ -8991,16 +7088,16 @@ func (s *DevicesService) RetrievesTheTotalNumberOfDNSServicesForGivenParameters( SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams != nil { + if CountDevicesEnergyHeaderParams != nil { - if RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams.XCaLLERID) + if CountDevicesEnergyHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", CountDevicesEnergyHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenParameters{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesCountDevicesEnergy{}). SetError(&Error). Get(path) @@ -9011,32 +7108,32 @@ func (s *DevicesService) RetrievesTheTotalNumberOfDNSServicesForGivenParameters( if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RetrievesTheTotalNumberOfDNSServicesForGivenParameters(RetrievesTheTotalNumberOfDNSServicesForGivenParametersHeaderParams, RetrievesTheTotalNumberOfDNSServicesForGivenParametersQueryParams) + return s.CountDevicesEnergy(CountDevicesEnergyHeaderParams, CountDevicesEnergyQueryParams) } - return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfDNSServicesForGivenParameters") + return nil, response, fmt.Errorf("error with operation CountDevicesEnergy") } - result := response.Result().(*ResponseDevicesRetrievesTheTotalNumberOfDNSServicesForGivenParameters) + result := response.Result().(*ResponseDevicesCountDevicesEnergy) 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 +//GetDeviceEnergyByID Get device energy by ID - c6b5-2a21-4beb-8576 +/* Retrieves network device energy data for a specified time range based on the device 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-deviceEnergy_1.0-1.0.1-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 id id path parameter. The UUID of the Network Device. (Ex. "6bef213c-19ca-4170-8375-b694e251101c") -@param RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams Custom header parameters -@param RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceQueryParams Filtering parameter +@param GetDeviceEnergyByIDHeaderParams Custom header parameters +@param GetDeviceEnergyByIDQueryParams 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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-energy-by-id */ -func (s *DevicesService) RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService(id string, RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams *RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceQueryParams *RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheServiceQueryParams) (*ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService, *resty.Response, error) { - path := "/dna/data/api/v1/dnsServices/{id}" +func (s *DevicesService) GetDeviceEnergyByID(id string, GetDeviceEnergyByIDHeaderParams *GetDeviceEnergyByIDHeaderParams, GetDeviceEnergyByIDQueryParams *GetDeviceEnergyByIDQueryParams) (*ResponseDevicesGetDeviceEnergyByID, *resty.Response, error) { + path := "/dna/data/api/v1/energy/networkDevices/{id}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - queryString, _ := query.Values(RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceQueryParams) + queryString, _ := query.Values(GetDeviceEnergyByIDQueryParams) var response *resty.Response var err error @@ -9044,16 +7141,16 @@ func (s *DevicesService) RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOf SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams != nil { + if GetDeviceEnergyByIDHeaderParams != nil { - if RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams.XCaLLERID) + if GetDeviceEnergyByIDHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetDeviceEnergyByIDHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesGetDeviceEnergyByID{}). SetError(&Error). Get(path) @@ -9064,12 +7161,12 @@ func (s *DevicesService) RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOf if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService(id, RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceHeaderParams, RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheServiceQueryParams) + return s.GetDeviceEnergyByID(id, GetDeviceEnergyByIDHeaderParams, GetDeviceEnergyByIDQueryParams) } - return nil, response, fmt.Errorf("error with operation RetrievesTheDetailsOfASpecificDNSServiceMatchingTheIdOfTheService") + return nil, response, fmt.Errorf("error with operation GetDeviceEnergyById") } - result := response.Result().(*ResponseDevicesRetrievesTheDetailsOfASpecificDNSServiceMatchingTheIDOfTheService) + result := response.Result().(*ResponseDevicesGetDeviceEnergyByID) return result, response, err } @@ -9086,8 +7183,7 @@ name, adminStatus, description, duplexConfig, duplexOper, interfaceIfIndex,inter 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 +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 @@ -9676,7 +7772,7 @@ func (s *DevicesService) GetHealthScoreDefinitionForTheGivenID(id string, GetHea } //GetAllInterfaces Get all interfaces - f594-7a4c-439a-8bf0 -/* Returns all available interfaces. This endpoint can return a maximum of 500 interfaces +/* Returns all available interfaces. This endpoint can return a maximum of 500 interfaces. The API returns a paginated response based on 'limit' and 'offset' parameters, allowing up to 500 records per page. 'limit' specifies the number of records, and 'offset' sets the starting point using 1-based indexing. Use '/dna/intent/api/v1/interface/count' to get the total record count. For data sets over 500 records, make multiple calls, adjusting 'limit' and 'offset' to retrieve all records incrementally. @param GetAllInterfacesQueryParams Filtering parameter @@ -10084,7 +8180,7 @@ func (s *DevicesService) LegitOperationsForInterface(interfaceUUID string) (*Res //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. +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. The API returns a paginated response based on 'limit' and 'offset' parameters, allowing up to 500 records per page. 'limit' specifies the number of records, and 'offset' sets the starting point using 1-based indexing. Use '/dna/intent/api/v1/network-device/count' to get the total record count. For data sets over 500 records, make multiple calls, adjusting 'limit' and 'offset' to retrieve all records incrementally. @param GetDeviceListQueryParams Filtering parameter @@ -10121,7 +8217,7 @@ func (s *DevicesService) GetDeviceList(GetDeviceListQueryParams *GetDeviceListQu } //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, …]}. +/* 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/intent/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, …]}. The API returns a paginated response based on 'limit' and 'offset' parameters, allowing up to 500 records per page. 'limit' specifies the number of records, and 'offset' sets the starting point using 1-based indexing. For data sets over 500 records, make multiple calls, adjusting 'limit' and 'offset' to retrieve all records incrementally. @param GetDeviceValuesThatMatchFullyOrPartiallyAnAttributeQueryParams Filtering parameter @@ -10447,7 +8543,7 @@ func (s *DevicesService) GetNetworkDeviceByIP(ipAddress string) (*ResponseDevice } //GetModules Get Modules - eb82-49e3-4f69-b0f1 -/* Returns modules by specified device id +/* Returns modules by specified device id. The API returns a paginated response based on 'limit' and 'offset' parameters, allowing up to 500 records per page. 'limit' specifies the number of records, and 'offset' sets the starting point using 1-based indexing. Use /dna/intent/api/v1/network-device/module/count API to get the total record count. For data sets over 500 records, make multiple calls, adjusting 'limit' and 'offset' to retrieve all records incrementally. @param GetModulesQueryParams Filtering parameter @@ -11273,7 +9369,7 @@ func (s *DevicesService) GetNetworkDeviceByPaginationRange(startIndex int, recor } //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. +/* 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. The API returns a paginated response based on 'limit' and 'offset' parameters, allowing up to 500 records per page. 'limit' specifies the number of records, and 'offset' sets the starting point using 1-based indexing. Use '/dna/intent/api/v1/networkDeviceMaintenanceSchedules/count' API to get the total record count. For data sets over 500 records, make multiple calls, adjusting 'limit' and 'offset' to retrieve all records incrementally. @param RetrieveScheduledMaintenanceWindowsForNetworkDevicesQueryParams Filtering parameter @@ -11384,7 +9480,7 @@ func (s *DevicesService) RetrievesTheMaintenanceScheduleInformation(id string) ( } //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. +/* 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. The API returns a paginated response based on 'limit' and 'offset' parameters, allowing up to 500 records per page. 'limit' specifies the number of records, and 'offset' sets the starting point using 1-based indexing. Use /dna/intent/api/v1/networkDevices/count API to get the total record count. For data sets over 500 records, make multiple calls, adjusting 'limit' and 'offset' to retrieve all records incrementally. @param RetrieveNetworkDevicesQueryParams Filtering parameter @@ -11534,6 +9630,126 @@ func (s *DevicesService) GetResyncIntervalForTheNetworkDevice(id string) (*Respo } +//RetrievesTheListOfPortChannelsForTheNetworkDevice Retrieves the list of port channels for the network device - cc97-1b82-4cb9-831e +/* This API endpoint retrieves the list of port channels for the given network device. + + +@param networkDeviceID networkDeviceId path parameter. Unique identifier for the network device + +@param RetrievesTheListOfPortChannelsForTheNetworkDeviceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-port-channels-for-the-network-device +*/ +func (s *DevicesService) RetrievesTheListOfPortChannelsForTheNetworkDevice(networkDeviceID string, RetrievesTheListOfPortChannelsForTheNetworkDeviceQueryParams *RetrievesTheListOfPortChannelsForTheNetworkDeviceQueryParams) (*ResponseDevicesRetrievesTheListOfPortChannelsForTheNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDevices/{networkDeviceId}/portChannels" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(RetrievesTheListOfPortChannelsForTheNetworkDeviceQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievesTheListOfPortChannelsForTheNetworkDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheListOfPortChannelsForTheNetworkDevice(networkDeviceID, RetrievesTheListOfPortChannelsForTheNetworkDeviceQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfPortChannelsForTheNetworkDevice") + } + + result := response.Result().(*ResponseDevicesRetrievesTheListOfPortChannelsForTheNetworkDevice) + return result, response, err + +} + +//RetrievePortChannelsCountForANetworkDevice Retrieve port channels count for a network device. - 038a-4a87-467b-9ded +/* This API endpoint retrieves the count of port channels for the given network device. + + +@param networkDeviceID networkDeviceId path parameter. Unique identifier for the network device + +@param RetrievePortChannelsCountForANetworkDeviceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-port-channels-count-for-a-network-device +*/ +func (s *DevicesService) RetrievePortChannelsCountForANetworkDevice(networkDeviceID string, RetrievePortChannelsCountForANetworkDeviceQueryParams *RetrievePortChannelsCountForANetworkDeviceQueryParams) (*ResponseDevicesRetrievePortChannelsCountForANetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDevices/{networkDeviceId}/portChannels/count" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(RetrievePortChannelsCountForANetworkDeviceQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseDevicesRetrievePortChannelsCountForANetworkDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievePortChannelsCountForANetworkDevice(networkDeviceID, RetrievePortChannelsCountForANetworkDeviceQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievePortChannelsCountForANetworkDevice") + } + + result := response.Result().(*ResponseDevicesRetrievePortChannelsCountForANetworkDevice) + return result, response, err + +} + +//RetrievesInformationForTheGivenPortChannelOnASpecificNetworkDevice Retrieves information for the given port channel on a specific network device. - 0a8d-2abf-4e6b-b558 +/* This API endpoint retrieves detailed information for a specified port channel using its unique identifier within a given network device. + + +@param networkDeviceID networkDeviceId path parameter. Unique identifier for the network device + +@param id id path parameter. Unique identifier for the port channel + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-information-for-the-given-port-channel-on-a-specific-network-device +*/ +func (s *DevicesService) RetrievesInformationForTheGivenPortChannelOnASpecificNetworkDevice(networkDeviceID string, id string) (*ResponseDevicesRetrievesInformationForTheGivenPortChannelOnASpecificNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDevices/{networkDeviceId}/portChannels/{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(&ResponseDevicesRetrievesInformationForTheGivenPortChannelOnASpecificNetworkDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesInformationForTheGivenPortChannelOnASpecificNetworkDevice(networkDeviceID, id) + } + return nil, response, fmt.Errorf("error with operation RetrievesInformationForTheGivenPortChannelOnASpecificNetworkDevice") + } + + result := response.Result().(*ResponseDevicesRetrievesInformationForTheGivenPortChannelOnASpecificNetworkDevice) + 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. @@ -11716,7 +9932,7 @@ func (s *DevicesService) GetThreatTypes() (*ResponseDevicesGetThreatTypes, *rest @param RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-a-a-a-services-for-given-set-of-complex-filters +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-aaa-services-for-given-set-of-complex-filters */ func (s *DevicesService) RetrievesTheListOfAAAServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters *RequestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters, RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams *RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters, *resty.Response, error) { path := "/dna/data/api/v1/aaaServices/query" @@ -11752,7 +9968,7 @@ func (s *DevicesService) RetrievesTheListOfAAAServicesForGivenSetOfComplexFilter return s.RetrievesTheListOfAAAServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters, RetrievesTheListOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation RetrievesTheListOfAAAServicesForGivenSetOfComplexFilters") + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfAaaServicesForGivenSetOfComplexFilters") } result := response.Result().(*ResponseDevicesRetrievesTheListOfAAAServicesForGivenSetOfComplexFilters) @@ -11766,7 +9982,7 @@ func (s *DevicesService) RetrievesTheListOfAAAServicesForGivenSetOfComplexFilter @param RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-number-of-a-a-a-services-for-given-set-of-complex-filters +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-total-number-of-aaa-services-for-given-set-of-complex-filters */ func (s *DevicesService) RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters *RequestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters, RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams *RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters, *resty.Response, error) { path := "/dna/data/api/v1/aaaServices/query/count" @@ -11802,7 +10018,7 @@ func (s *DevicesService) RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComple return s.RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters(requestDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters, RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters") + return nil, response, fmt.Errorf("error with operation RetrievesTheTotalNumberOfAaaServicesForGivenSetOfComplexFilters") } result := response.Result().(*ResponseDevicesRetrievesTheTotalNumberOfAAAServicesForGivenSetOfComplexFilters) @@ -11816,7 +10032,7 @@ func (s *DevicesService) RetrievesTheTotalNumberOfAAAServicesForGivenSetOfComple @param GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-summary-analytics-data-of-a-a-a-services-for-given-set-of-complex-filters +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-summary-analytics-data-of-aaa-services-for-given-set-of-complex-filters */ func (s *DevicesService) GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters *RequestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams *GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, *resty.Response, error) { path := "/dna/data/api/v1/aaaServices/summaryAnalytics" @@ -11852,7 +10068,7 @@ func (s *DevicesService) GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComple return s.GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters") + return nil, response, fmt.Errorf("error with operation GetSummaryAnalyticsDataOfAaaServicesForGivenSetOfComplexFilters") } result := response.Result().(*ResponseDevicesGetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters) @@ -11866,7 +10082,7 @@ func (s *DevicesService) GetSummaryAnalyticsDataOfAAAServicesForGivenSetOfComple @param GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-top-n-analytics-data-of-aaa-services-for-given-set-of-complex-filters */ func (s *DevicesService) GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters *RequestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams *GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, *resty.Response, error) { path := "/dna/data/api/v1/aaaServices/topNAnalytics" @@ -11902,7 +10118,7 @@ func (s *DevicesService) GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFi return s.GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters") + return nil, response, fmt.Errorf("error with operation GetTopNAnalyticsDataOfAaaServicesForGivenSetOfComplexFilters") } result := response.Result().(*ResponseDevicesGetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters) @@ -11916,7 +10132,7 @@ func (s *DevicesService) GetTopNAnalyticsDataOfAAAServicesForGivenSetOfComplexFi @param GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trend-analytics-data-of-a-a-a-services-for-given-set-of-complex-filters +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trend-analytics-data-of-aaa-services-for-given-set-of-complex-filters */ func (s *DevicesService) GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters *RequestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams *GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) (*ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, *resty.Response, error) { path := "/dna/data/api/v1/aaaServices/trendAnalytics" @@ -11952,7 +10168,7 @@ func (s *DevicesService) GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexF return s.GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters(requestDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters, GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFiltersHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters") + return nil, response, fmt.Errorf("error with operation GetTrendAnalyticsDataOfAaaServicesForGivenSetOfComplexFilters") } result := response.Result().(*ResponseDevicesGetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexFilters) @@ -11968,7 +10184,7 @@ func (s *DevicesService) GetTrendAnalyticsDataOfAAAServicesForGivenSetOfComplexF @param GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheServiceHeaderParams Custom header parameters -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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-trend-analytics-data-for-a-given-aaa-service-matching-the-id-of-the-service */ func (s *DevicesService) GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService(id string, requestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheService *RequestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService, GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheServiceHeaderParams *GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheServiceHeaderParams) (*ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService, *resty.Response, error) { path := "/dna/data/api/v1/aaaServices/{id}/trendAnalytics" @@ -12005,7 +10221,7 @@ func (s *DevicesService) GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOf return s.GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService(id, requestDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheService, GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheServiceHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIdOfTheService") + return nil, response, fmt.Errorf("error with operation GetTrendAnalyticsDataForAGivenAaaServiceMatchingTheIdOfTheService") } result := response.Result().(*ResponseDevicesGetTrendAnalyticsDataForAGivenAAAServiceMatchingTheIDOfTheService) @@ -12719,6 +10935,106 @@ func (s *DevicesService) GetTrendAnalyticsDataForAGivenDNSServiceMatchingTheIDOf } +//QueryDevicesEnergy Query devices energy. - 70bf-483d-497a-9924 +/* Retrieves a list of network devices along with their energy data for a specified time range, based on the filters provided in the request body. 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-deviceEnergy_1.0-1.0.1-resolved.yaml + + +@param QueryDevicesEnergyHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-devices-energy +*/ +func (s *DevicesService) QueryDevicesEnergy(requestDevicesQueryDevicesEnergy *RequestDevicesQueryDevicesEnergy, QueryDevicesEnergyHeaderParams *QueryDevicesEnergyHeaderParams) (*ResponseDevicesQueryDevicesEnergy, *resty.Response, error) { + path := "/dna/data/api/v1/energy/networkDevices/query" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if QueryDevicesEnergyHeaderParams != nil { + + if QueryDevicesEnergyHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", QueryDevicesEnergyHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesQueryDevicesEnergy). + SetResult(&ResponseDevicesQueryDevicesEnergy{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.QueryDevicesEnergy(requestDevicesQueryDevicesEnergy, QueryDevicesEnergyHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation QueryDevicesEnergy") + } + + result := response.Result().(*ResponseDevicesQueryDevicesEnergy) + return result, response, err + +} + +//CountDevicesEnergyFromQuery Count devices energy from query - bf8d-c9a3-473b-9764 +/* Retrieves the total count of network devices based on the specified complex 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-deviceEnergy_1.0-1.0.1-resolved.yaml + + +@param CountDevicesEnergyFromQueryHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-devices-energy-from-query +*/ +func (s *DevicesService) CountDevicesEnergyFromQuery(requestDevicesCountDevicesEnergyFromQuery *RequestDevicesCountDevicesEnergyFromQuery, CountDevicesEnergyFromQueryHeaderParams *CountDevicesEnergyFromQueryHeaderParams) (*ResponseDevicesCountDevicesEnergyFromQuery, *resty.Response, error) { + path := "/dna/data/api/v1/energy/networkDevices/query/count" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if CountDevicesEnergyFromQueryHeaderParams != nil { + + if CountDevicesEnergyFromQueryHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", CountDevicesEnergyFromQueryHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestDevicesCountDevicesEnergyFromQuery). + SetResult(&ResponseDevicesCountDevicesEnergyFromQuery{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CountDevicesEnergyFromQuery(requestDevicesCountDevicesEnergyFromQuery, CountDevicesEnergyFromQueryHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation CountDevicesEnergyFromQuery") + } + + result := response.Result().(*ResponseDevicesCountDevicesEnergyFromQuery) + 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. @@ -13383,7 +11699,7 @@ func (s *DevicesService) DeleteNetworkDeviceWithConfigurationCleanup(requestDevi } //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. +/* This API endpoint facilitates the deletion of a network device without performing configuration cleanup on the device. To delete a device via API, you must have permission to provision the network device. Although the API operation does not change the device configuration, removing a device without cleaning up its configuration could lead to a network behaviour that is not consistent with the configurations that are known to the system. @@ -13420,7 +11736,7 @@ func (s *DevicesService) DeleteANetworkDeviceWithoutConfigurationCleanup(request } //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. +/* 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. The API returns a paginated response based on 'limit' and 'offset' parameters, allowing up to 500 records per page. 'limit' specifies the number of records, and 'offset' sets the starting point using 1-based indexing. Use '/dna/intent/api/v1/networkDevices/query/count' API to get the total record count. For data sets over 500 records, make multiple calls, adjusting 'limit' and 'offset' to retrieve all records incrementally. @@ -14325,7 +12641,8 @@ 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") } @@ -14363,7 +12680,8 @@ 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") } @@ -14404,7 +12722,8 @@ 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") } @@ -14445,7 +12764,8 @@ 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") } @@ -14483,7 +12803,8 @@ func (s *DevicesService) DeleteMaintenanceSchedule(id string) (*ResponseDevicesD if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteMaintenanceSchedule(id) + return s.DeleteMaintenanceSchedule( + id) } return nil, response, fmt.Errorf("error with operation DeleteMaintenanceSchedule") } @@ -14521,7 +12842,8 @@ 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/discovery.go b/sdk/discovery.go index 4165e4a..ee0a1e9 100644 --- a/sdk/discovery.go +++ b/sdk/discovery.go @@ -13,7 +13,7 @@ type DiscoveryService service type GetDiscoveryJobsByIPQueryParams 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 IPAddress string `url:"ipAddress,omitempty"` //ipAddress Name string `url:"name,omitempty"` //name } @@ -427,935 +427,598 @@ 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 @@ -2620,7 +2283,8 @@ func (s *DiscoveryService) DeleteDiscoveryByID(id string) (*ResponseDiscoveryDel if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteDiscoveryByID(id) + return s.DeleteDiscoveryByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteDiscoveryById") } @@ -2661,7 +2325,8 @@ func (s *DiscoveryService) DeleteDiscoveryBySpecifiedRange(startIndex int, recor if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteDiscoveryBySpecifiedRange(startIndex, recordsToDelete) + return s.DeleteDiscoveryBySpecifiedRange( + startIndex, recordsToDelete) } return nil, response, fmt.Errorf("error with operation DeleteDiscoveryBySpecifiedRange") } @@ -2699,7 +2364,8 @@ func (s *DiscoveryService) DeleteGlobalCredentialsByID(globalCredentialID string if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteGlobalCredentialsByID(globalCredentialID) + return s.DeleteGlobalCredentialsByID( + globalCredentialID) } return nil, response, fmt.Errorf("error with operation DeleteGlobalCredentialsById") } @@ -2737,7 +2403,8 @@ func (s *DiscoveryService) DeleteGlobalCredentialV2(id string) (*ResponseDiscove if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteGlobalCredentialV2(id) + return s.DeleteGlobalCredentialV2( + id) } return nil, response, fmt.Errorf("error with operation DeleteGlobalCredentialV2") } diff --git a/sdk/eox.go b/sdk/eox.go index 07a1400..f93cd7d 100644 --- a/sdk/eox.go +++ b/sdk/eox.go @@ -9,41 +9,41 @@ import ( "github.com/google/go-querystring/query" ) -type EoXService service +type EoxService service -type GetEoXStatusForAllDevicesQueryParams struct { +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"` // +type ResponseEoxGetEoxStatusForAllDevices struct { + Response *[]ResponseEoxGetEoxStatusForAllDevicesResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // Version of the response } -type ResponseEoXGetEoXStatusForAllDevicesResponse struct { +type ResponseEoxGetEoxStatusForAllDevicesResponse struct { DeviceID string `json:"deviceId,omitempty"` // Device instance UUID AlertCount *int `json:"alertCount,omitempty"` // Number of EoX alerts on the network device - Summary *[]ResponseEoXGetEoXStatusForAllDevicesResponseSummary `json:"summary,omitempty"` // + Summary *[]ResponseEoxGetEoxStatusForAllDevicesResponseSummary `json:"summary,omitempty"` // ScanStatus string `json:"scanStatus,omitempty"` // Status of the scan performed on the network device 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 network device was scanned. The representation is unix time. } -type ResponseEoXGetEoXStatusForAllDevicesResponseSummary struct { - EoXType string `json:"eoxType,omitempty"` // Type of EoX Alert +type ResponseEoxGetEoxStatusForAllDevicesResponseSummary struct { + EoxType string `json:"eoxType,omitempty"` // Type of EoX Alert } -type ResponseEoXGetEoXDetailsPerDevice struct { - Response *ResponseEoXGetEoXDetailsPerDeviceResponse `json:"response,omitempty"` // +type ResponseEoxGetEoxDetailsPerDevice struct { + Response *ResponseEoxGetEoxDetailsPerDeviceResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // Version of the response } -type ResponseEoXGetEoXDetailsPerDeviceResponse struct { +type ResponseEoxGetEoxDetailsPerDeviceResponse struct { DeviceID string `json:"deviceId,omitempty"` // Device instance UUID AlertCount *int `json:"alertCount,omitempty"` // Number of EoX alerts on the network device - EoXDetails *[]ResponseEoXGetEoXDetailsPerDeviceResponseEoXDetails `json:"EoXDetails,omitempty"` // + EoxDetails *[]ResponseEoxGetEoxDetailsPerDeviceResponseEoxDetails `json:"eoxDetails,omitempty"` // ScanStatus string `json:"scanStatus,omitempty"` // Status of the scan performed on the network device 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 network device was scanned. The representation is unix time. } -type ResponseEoXGetEoXDetailsPerDeviceResponseEoXDetails struct { +type ResponseEoxGetEoxDetailsPerDeviceResponseEoxDetails struct { Name string `json:"name,omitempty"` // Name of the EoX alert. Every EoX announcement has a unique name. ie:- EOL13873 BulletinHeadline string `json:"bulletinHeadline,omitempty"` // Title of the EoX bulletin BulletinName string `json:"bulletinName,omitempty"` // Name of the EoX bulletin @@ -60,22 +60,22 @@ type ResponseEoXGetEoXDetailsPerDeviceResponseEoXDetails struct { EndOfLifeDate string `json:"endOfLifeDate,omitempty"` // The last date to receive applicable service and support for the product as entitled by active service contracts or by warranty terms and conditions. This will be populated for software alerts only. LastDateOfSupport string `json:"lastDateOfSupport,omitempty"` // The last date to receive applicable service and support for the product as entitled by active service contracts or by warranty terms and conditions. This will be populated for hardware and module alerts only. EndOfSoftwareMaintenanceReleasesDate string `json:"endOfSoftwareMaintenanceReleasesDate,omitempty"` // The last date that Cisco Engineering may release any final software maintenance releases or bug fixes for the product - EoXAlertType string `json:"EoXAlertType,omitempty"` // Type of EoX alert - EoXPhysicalType string `json:"EoXPhysicalType,omitempty"` // The type of part for EoX alert. eg:- Power Supply, Chassis, Fan etc. + EoxAlertType string `json:"eoxAlertType,omitempty"` // Type of EoX alert + EoxPhysicalType string `json:"eoXPhysicalType,omitempty"` // The type of part for EoX alert. eg:- Power Supply, Chassis, Fan etc. BulletinPID string `json:"bulletinPID,omitempty"` // The part number for the EoX alert. eg:- PWR-C1-1100WAC } -type ResponseEoXGetEoXSummary struct { - Response *ResponseEoXGetEoXSummaryResponse `json:"response,omitempty"` // +type ResponseEoxGetEoxSummary struct { + Response *ResponseEoxGetEoxSummaryResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // Version of the response } -type ResponseEoXGetEoXSummaryResponse struct { +type ResponseEoxGetEoxSummaryResponse struct { HardwareCount *int `json:"hardwareCount,omitempty"` // Number of hardware EoX alerts detected on the network SoftwareCount *int `json:"softwareCount,omitempty"` // Number of software EoX alerts detected on the network ModuleCount *int `json:"moduleCount,omitempty"` // Number of module EoX alerts detected on the network TotalCount *int `json:"totalCount,omitempty"` // Total number of EoX alerts detected on the network. This is the sum of hardwareCount, softwareCount and moduleCount. } -//GetEoXStatusForAllDevices Get EoX Status For All Devices - 3281-fa04-49ba-87d9 +//GetEoxStatusForAllDevices Get EoX Status For All Devices - 3281-fa04-49ba-87d9 /* Retrieves EoX status for all devices in the network @@ -83,7 +83,7 @@ type ResponseEoXGetEoXSummaryResponse struct { Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-eox-status-for-all-devices */ -func (s *EoXService) GetEoXStatusForAllDevices(GetEoXStatusForAllDevicesQueryParams *GetEoXStatusForAllDevicesQueryParams) (*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) @@ -91,7 +91,7 @@ func (s *EoXService) GetEoXStatusForAllDevices(GetEoXStatusForAllDevicesQueryPar response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseEoXGetEoXStatusForAllDevices{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseEoxGetEoxStatusForAllDevices{}). SetError(&Error). Get(path) @@ -102,17 +102,17 @@ func (s *EoXService) GetEoXStatusForAllDevices(GetEoXStatusForAllDevicesQueryPar if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetEoXStatusForAllDevices(GetEoXStatusForAllDevicesQueryParams) + return s.GetEoxStatusForAllDevices(GetEoXStatusForAllDevicesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetEoXStatusForAllDevices") + return nil, response, fmt.Errorf("error with operation GetEoxStatusForAllDevices") } - result := response.Result().(*ResponseEoXGetEoXStatusForAllDevices) + result := response.Result().(*ResponseEoxGetEoxStatusForAllDevices) return result, response, err } -//GetEoXDetailsPerDevice Get EoX Details Per Device - dc80-099e-4d59-986d +//GetEoxDetailsPerDevice Get EoX Details Per Device - dc80-099e-4d59-986d /* Retrieves EoX details for a device @@ -121,14 +121,14 @@ func (s *EoXService) GetEoXStatusForAllDevices(GetEoXStatusForAllDevicesQueryPar Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-eox-details-per-device */ -func (s *EoXService) GetEoXDetailsPerDevice(deviceID string) (*ResponseEoXGetEoXDetailsPerDevice, *resty.Response, error) { +func (s *EoxService) GetEoxDetailsPerDevice(deviceID string) (*ResponseEoxGetEoxDetailsPerDevice, *resty.Response, error) { path := "/dna/intent/api/v1/eox-status/device/{deviceId}" 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(&ResponseEoXGetEoXDetailsPerDevice{}). + SetResult(&ResponseEoxGetEoxDetailsPerDevice{}). SetError(&Error). Get(path) @@ -139,30 +139,30 @@ func (s *EoXService) GetEoXDetailsPerDevice(deviceID string) (*ResponseEoXGetEoX if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetEoXDetailsPerDevice(deviceID) + return s.GetEoxDetailsPerDevice(deviceID) } - return nil, response, fmt.Errorf("error with operation GetEoXDetailsPerDevice") + return nil, response, fmt.Errorf("error with operation GetEoxDetailsPerDevice") } - result := response.Result().(*ResponseEoXGetEoXDetailsPerDevice) + result := response.Result().(*ResponseEoxGetEoxDetailsPerDevice) return result, response, err } -//GetEoXSummary Get EoX Summary - f0b2-7a23-4fea-96fc +//GetEoxSummary Get EoX Summary - f0b2-7a23-4fea-96fc /* Retrieves EoX summary for all devices in the network Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-eox-summary */ -func (s *EoXService) GetEoXSummary() (*ResponseEoXGetEoXSummary, *resty.Response, error) { +func (s *EoxService) GetEoxSummary() (*ResponseEoxGetEoxSummary, *resty.Response, error) { path := "/dna/intent/api/v1/eox-status/summary" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseEoXGetEoXSummary{}). + SetResult(&ResponseEoxGetEoxSummary{}). SetError(&Error). Get(path) @@ -173,12 +173,12 @@ func (s *EoXService) GetEoXSummary() (*ResponseEoXGetEoXSummary, *resty.Response if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetEoXSummary() + return s.GetEoxSummary() } - return nil, response, fmt.Errorf("error with operation GetEoXSummary") + return nil, response, fmt.Errorf("error with operation GetEoxSummary") } - result := response.Result().(*ResponseEoXGetEoXSummary) + result := response.Result().(*ResponseEoxGetEoxSummary) return result, response, err } diff --git a/sdk/event_management.go b/sdk/event_management.go index f485db3..9b1613d 100644 --- a/sdk/event_management.go +++ b/sdk/event_management.go @@ -28,7 +28,7 @@ type GetAuditLogParentRecordsQueryParams struct { IsSystemEvents bool `url:"isSystemEvents,omitempty"` //Parameter to filter system generated audit-logs. Description string `url:"description,omitempty"` //String full/partial search - (Provided input string is case insensitively matched for records). Offset float64 `url:"offset,omitempty"` //Position of a particular Audit Log record in the data. - Limit float64 `url:"limit,omitempty"` //Number of Audit Log records to be returned per page. + Limit float64 `url:"limit,omitempty"` //Number of Audit Log records to be returned per page. Default is 25 if not specified. Maximum allowed limit is 25 StartTime float64 `url:"startTime,omitempty"` //Start Time in milliseconds since Epoch Eg. 1597950637211 (when provided endTime is mandatory) EndTime float64 `url:"endTime,omitempty"` //End Time in milliseconds since Epoch Eg. 1597961437211 (when provided startTime is mandatory) SortBy string `url:"sortBy,omitempty"` //Sort the Audit Logs by certain fields. Supported values are event notification header attributes. @@ -73,7 +73,7 @@ type GetAuditLogRecordsQueryParams struct { IsSystemEvents bool `url:"isSystemEvents,omitempty"` //Parameter to filter system generated audit-logs. Description string `url:"description,omitempty"` //String full/partial search - (Provided input string is case insensitively matched for records). Offset float64 `url:"offset,omitempty"` //Position of a particular Audit Log record in the data. - Limit float64 `url:"limit,omitempty"` //Number of Audit Log records to be returned per page. + Limit float64 `url:"limit,omitempty"` //Number of Audit Log records to be returned per page. Default is 25 if not specified. Maximum allowed limit is 25 StartTime float64 `url:"startTime,omitempty"` //Start Time in milliseconds since Epoch Eg. 1597950637211 (when provided endTime is mandatory) EndTime float64 `url:"endTime,omitempty"` //End Time in milliseconds since Epoch Eg. 1597961437211 (when provided startTime is mandatory) SortBy string `url:"sortBy,omitempty"` //Sort the Audit Logs by certain fields. Supported values are event notification header attributes. @@ -814,8 +814,7 @@ type ResponseItemEventManagementGetEventArtifactsEventPayloadDetails struct { type ResponseItemEventManagementGetEventArtifactsEventPayloadAdditionalDetails interface{} type ResponseItemEventManagementGetEventArtifactsEventTemplates interface{} type ResponseItemEventManagementGetEventArtifactsConfigs struct { - IsAlert *bool `json:"isAlert,omitempty"` // Is Alert - + IsAlert *bool `json:"isAlert,omitempty"` // Is Alert IsACKnowledgeable *bool `json:"isACKnowledgeable,omitempty"` // Is A C Knowledgeable } type ResponseEventManagementEventArtifactCount struct { @@ -2622,7 +2621,8 @@ 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 818e95c..29e58f1 100644 --- a/sdk/fabric_wireless.go +++ b/sdk/fabric_wireless.go @@ -83,40 +83,32 @@ type ResponseFabricWirelessReturnTheCountOfAllTheFabricSiteWhichHasSSIDToIPPoolM } type ResponseFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagement struct { Response *ResponseFabricWirelessSwitchWirelessSettingAndRollingApUpgradeManagementResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version of the response + 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 + 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 + 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 - + 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 + 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 + Version string `json:"version,omitempty"` // Version } type ResponseFabricWirelessReloadSwitchForWirelessControllerCleanupResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseFabricWirelessAddUpdateOrRemoveSSIDMappingToAVLAN struct { Response *ResponseFabricWirelessAddUpdateOrRemoveSSIDMappingToAVLANResponse `json:"response,omitempty"` // @@ -147,18 +139,15 @@ type ResponseFabricWirelessReturnsTheCountOfVLANsMappedToSSIDsInAFabricSiteRespo } type ResponseFabricWirelessUpdateSdaWirelessMulticast struct { Response *ResponseFabricWirelessUpdateSdaWirelessMulticastResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseFabricWirelessUpdateSdaWirelessMulticastResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseFabricWirelessGetSdaWirelessMulticast struct { Response *ResponseFabricWirelessGetSdaWirelessMulticastResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + 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). @@ -180,16 +169,13 @@ type RequestFabricWirelessAddWLCToFabricDomain struct { 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 - + 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 + ApRebootPercentage *int `json:"apRebootPercentage,omitempty"` // AP Reboot Percentage. Permissible values - 5, 15, 25 } type RequestFabricWirelessReloadSwitchForWirelessControllerCleanup struct { DeviceID string `json:"deviceId,omitempty"` // Network Device ID @@ -762,7 +748,8 @@ func (s *FabricWirelessService) RemoveWLCFromFabricDomain(RemoveWLCFromFabricDom if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RemoveWLCFromFabricDomain(RemoveWLCFromFabricDomainHeaderParams, RemoveWLCFromFabricDomainQueryParams) + return s.RemoveWLCFromFabricDomain( + RemoveWLCFromFabricDomainHeaderParams, RemoveWLCFromFabricDomainQueryParams) } return nil, response, fmt.Errorf("error with operation RemoveWLCFromFabricDomain") } diff --git a/sdk/health_and_performance.go b/sdk/health_and_performance.go index d6338f4..551654c 100644 --- a/sdk/health_and_performance.go +++ b/sdk/health_and_performance.go @@ -51,38 +51,26 @@ type SystemPerformanceHistoricalAPIQueryParams struct { type ResponseHealthAndPerformanceRetrievesDiagnosticTaskByID struct { Response *ResponseHealthAndPerformanceRetrievesDiagnosticTaskByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // The version of the response + 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 - + 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 + 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 + 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 - + 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 { @@ -739,7 +727,8 @@ 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/industrial_configuration.go b/sdk/industrial_configuration.go new file mode 100644 index 0000000..93759df --- /dev/null +++ b/sdk/industrial_configuration.go @@ -0,0 +1,620 @@ +package dnac + +import ( + "fmt" + "net/http" + "strings" + + "github.com/go-resty/resty/v2" + "github.com/google/go-querystring/query" +) + +type IndustrialConfigurationService service + +type RetrievesTheListOfMRPRingsQueryParams struct { + ID float64 `url:"id,omitempty"` //ID of the MRP ring. + 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 RetrievesTheListOfNetworkDevicesPartOfMRPRingQueryParams 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. +} + +type ResponseIndustrialConfigurationConfigureAREPRingOnFABRICDeployment struct { + Response *ResponseIndustrialConfigurationConfigureAREPRingOnFABRICDeploymentResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseIndustrialConfigurationConfigureAREPRingOnFABRICDeploymentResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheFABRICDeployment struct { + Response *ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheFABRICDeploymentResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheFABRICDeploymentResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseIndustrialConfigurationRetrievesTheListOfMRPRings []ResponseItemIndustrialConfigurationRetrievesTheListOfMRPRings // Array of ResponseIndustrialConfigurationRetrievesTheListOfMRPRings +type ResponseItemIndustrialConfigurationRetrievesTheListOfMRPRings struct { + Response *[]ResponseItemIndustrialConfigurationRetrievesTheListOfMRPRingsResponse `json:"response,omitempty"` // + Version *int `json:"version,omitempty"` // Version of the response. +} +type ResponseItemIndustrialConfigurationRetrievesTheListOfMRPRingsResponse struct { + ID *int `json:"id,omitempty"` // ID of the MRP ring. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the MRP ring member. + RingSize *int `json:"ringSize,omitempty"` // Number of members participating in MRP ring. + DeviceDetails *[]ResponseItemIndustrialConfigurationRetrievesTheListOfMRPRingsResponseDeviceDetails `json:"deviceDetails,omitempty"` // +} +type ResponseItemIndustrialConfigurationRetrievesTheListOfMRPRingsResponseDeviceDetails struct { + Priority *int `json:"priority,omitempty"` // Value used in the MRM voting process. + RecoveryTimeProfileMilliseconds string `json:"recoveryTimeProfileMilliseconds,omitempty"` // Recovery time profile in Milliseconds. + VLANID *int `json:"vlanId,omitempty"` // VLAN ID range is 1-4094. + BestManagerPrority *int `json:"bestManagerPrority,omitempty"` // Priority value of the best manager in MRP ring + BestManagerMacAddress string `json:"bestManagerMacAddress,omitempty"` // MAC address of the best manager in MRP ring. + BestManagerHostName string `json:"bestManagerHostName,omitempty"` // Name of the ring member who is the best manager. + MrpLicense string `json:"mrpLicense,omitempty"` // MRP license type. + DomainID string `json:"domainId,omitempty"` // A unique domain ID that represents the MRP ring. + NetworkStatus string `json:"networkStatus,omitempty"` // Network status of the configured MRP ring. + ConfiguredFrom string `json:"configuredFrom,omitempty"` // The MRP ring's configured mode. + TopologyChangeRequestIntervalMilliseconds string `json:"topologyChangeRequestIntervalMilliseconds,omitempty"` // Time interval of MRP topology change request. + DomainName string `json:"domainName,omitempty"` // Logical name of the configured MRP domain ID. + OperationMode string `json:"operationMode,omitempty"` // The operating mode of the MRP member. + ConfigurationMode string `json:"configurationMode,omitempty"` // The configured mode of the MRP member. + Ports *[]ResponseItemIndustrialConfigurationRetrievesTheListOfMRPRingsResponseDeviceDetailsPorts `json:"ports,omitempty"` // +} +type ResponseItemIndustrialConfigurationRetrievesTheListOfMRPRingsResponseDeviceDetailsPorts struct { + InterfaceName string `json:"interfaceName,omitempty"` // Inteface name of the member. + PortMacAddress string `json:"portMacAddress,omitempty"` // MAC address of the interface. + PortNumber *int `json:"portNumber,omitempty"` // The identifier of the MRP interface. + PortStatus *int `json:"portStatus,omitempty"` // Status of the MRP configured interface. +} +type ResponseIndustrialConfigurationRetrievesTheCountOfMRPRings []ResponseItemIndustrialConfigurationRetrievesTheCountOfMRPRings // Array of ResponseIndustrialConfigurationRetrievesTheCountOfMRPRings +type ResponseItemIndustrialConfigurationRetrievesTheCountOfMRPRings struct { + Response *[]ResponseItemIndustrialConfigurationRetrievesTheCountOfMRPRingsResponse `json:"response,omitempty"` // + Version *int `json:"version,omitempty"` // Version of the response. +} +type ResponseItemIndustrialConfigurationRetrievesTheCountOfMRPRingsResponse struct { + Count *int `json:"count,omitempty"` // The reported count. +} +type ResponseIndustrialConfigurationRetrievesTheListOfNetworkDevicesPartOfMRPRing []ResponseItemIndustrialConfigurationRetrievesTheListOfNetworkDevicesPartOfMRPRing // Array of ResponseIndustrialConfigurationRetrievesTheListOfNetworkDevicesPartOfMRPRing +type ResponseItemIndustrialConfigurationRetrievesTheListOfNetworkDevicesPartOfMRPRing struct { + Response *[]ResponseItemIndustrialConfigurationRetrievesTheListOfNetworkDevicesPartOfMRPRingResponse `json:"response,omitempty"` // + Version *int `json:"version,omitempty"` // Version of the response. +} +type ResponseItemIndustrialConfigurationRetrievesTheListOfNetworkDevicesPartOfMRPRingResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the MRP ring member. + ID *int `json:"id,omitempty"` // ID of the MRP ring. + DeviceName string `json:"deviceName,omitempty"` // Name of the MRP ring member. + DomainID string `json:"domainId,omitempty"` // A unique domain ID that represents the MRP ring. + PortName1 string `json:"portName1,omitempty"` // Port 1 interface name of the MRP ring member. + PortName2 string `json:"portName2,omitempty"` // Port 2 interface name of the MRP ring member. + Port1Status string `json:"port1Status,omitempty"` // Status of the MRP configured port1 interface. + Port2Status string `json:"port2Status,omitempty"` // Status of the MRP configured port2 interface. + OperationMode string `json:"operationMode,omitempty"` // The operating mode of the MRP ring member. + ConfigurationMode string `json:"configurationMode,omitempty"` // The configured mode of the MRP ring member. +} +type ResponseIndustrialConfigurationRetrievesTheCountOfMRPRingMembers []ResponseItemIndustrialConfigurationRetrievesTheCountOfMRPRingMembers // Array of ResponseIndustrialConfigurationRetrievesTheCountOfMRPRingMembers +type ResponseItemIndustrialConfigurationRetrievesTheCountOfMRPRingMembers struct { + Response *[]ResponseItemIndustrialConfigurationRetrievesTheCountOfMRPRingMembersResponse `json:"response,omitempty"` // + Version *int `json:"version,omitempty"` // Version of the response. +} +type ResponseItemIndustrialConfigurationRetrievesTheCountOfMRPRingMembersResponse struct { + Count *int `json:"count,omitempty"` // The reported count. +} +type ResponseIndustrialConfigurationConfigureAREPRingOnNONFABRICDeployment struct { + Response *ResponseIndustrialConfigurationConfigureAREPRingOnNONFABRICDeploymentResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseIndustrialConfigurationConfigureAREPRingOnNONFABRICDeploymentResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheNONFABRICDeployment struct { + Response *ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheNONFABRICDeploymentResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheNONFABRICDeploymentResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseIndustrialConfigurationRetrievesTheListOfREPRings []ResponseItemIndustrialConfigurationRetrievesTheListOfREPRings // Array of ResponseIndustrialConfigurationRetrievesTheListOfREPRings +type ResponseItemIndustrialConfigurationRetrievesTheListOfREPRings struct { + Response *[]ResponseItemIndustrialConfigurationRetrievesTheListOfREPRingsResponse `json:"response,omitempty"` // + Version *int `json:"version,omitempty"` // Version of the response. +} +type ResponseItemIndustrialConfigurationRetrievesTheListOfREPRingsResponse struct { + ID string `json:"id,omitempty"` // ID of REP ring. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the node in the REP ring. + RootNetworkDeviceID string `json:"rootNetworkDeviceId,omitempty"` // Network device ID of the root node in the REP ring. + RootNeighbourNetworkDeviceIDs []string `json:"rootNeighbourNetworkDeviceIds,omitempty"` // List of network device IDs of the immediate neighboring ring members of the root node. + Status string `json:"status,omitempty"` // Status of the REP ring. + RepSegmentID *int `json:"repSegmentId,omitempty"` // REP segment is a chain of ports connected to each other and configured with a segment ID. + DeploymentMode string `json:"deploymentMode,omitempty"` // Deployment mode of the configured REP ring. + RingName string `json:"ringName,omitempty"` // Unique name of REP ring configured. + RingMembers *[]ResponseItemIndustrialConfigurationRetrievesTheListOfREPRingsResponseRingMembers `json:"ringMembers,omitempty"` // +} +type ResponseItemIndustrialConfigurationRetrievesTheListOfREPRingsResponseRingMembers struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the REP ring member. + NodeName string `json:"nodeName,omitempty"` // Name of the ring member. + PortName1 string `json:"portName1,omitempty"` // Interface name of the REP ring member. + PortName2 string `json:"portName2,omitempty"` // Interface name of the REP ring member. + RingOrder *int `json:"ringOrder,omitempty"` // Order of the REP ring member in the ring topology. +} +type ResponseIndustrialConfigurationRetrievesTheCountOfREPRings []ResponseItemIndustrialConfigurationRetrievesTheCountOfREPRings // Array of ResponseIndustrialConfigurationRetrievesTheCountOfREPRings +type ResponseItemIndustrialConfigurationRetrievesTheCountOfREPRings struct { + Response *[]ResponseItemIndustrialConfigurationRetrievesTheCountOfREPRingsResponse `json:"response,omitempty"` // + Version *int `json:"version,omitempty"` // Version of the response. +} +type ResponseItemIndustrialConfigurationRetrievesTheCountOfREPRingsResponse struct { + Count *int `json:"count,omitempty"` // Number of REP rings. +} +type ResponseIndustrialConfigurationGetTheREPRingBasedOnTheRingID []ResponseItemIndustrialConfigurationGetTheREPRingBasedOnTheRingID // Array of ResponseIndustrialConfigurationGetTheREPRingBasedOnTheRingId +type ResponseItemIndustrialConfigurationGetTheREPRingBasedOnTheRingID struct { + Response *[]ResponseItemIndustrialConfigurationGetTheREPRingBasedOnTheRingIDResponse `json:"response,omitempty"` // + Version *int `json:"version,omitempty"` // Version of the response. +} +type ResponseItemIndustrialConfigurationGetTheREPRingBasedOnTheRingIDResponse struct { + ID string `json:"id,omitempty"` // ID of REP ring. + RootNetworkDeviceID string `json:"rootNetworkDeviceId,omitempty"` // Network device ID of the root node in the REP ring. + RootNeighbourNetworkDeviceIDs []string `json:"rootNeighbourNetworkDeviceIds,omitempty"` // List of network device IDs of the immediate neighboring ring members of the root node. + Status string `json:"status,omitempty"` // Status of the REP ring. + RepSegmentID *int `json:"repSegmentId,omitempty"` // REP segment is a chain of ports connected to each other and configured with a segment ID. + DeploymentMode string `json:"deploymentMode,omitempty"` // Deployment mode of the configured REP ring. + RingName string `json:"ringName,omitempty"` // Unique name of REP ring configured. + RingMembers *[]ResponseItemIndustrialConfigurationGetTheREPRingBasedOnTheRingIDResponseRingMembers `json:"ringMembers,omitempty"` // +} +type ResponseItemIndustrialConfigurationGetTheREPRingBasedOnTheRingIDResponseRingMembers struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the REP ring member. + NodeName string `json:"nodeName,omitempty"` // Name of the ring member. + PortName1 string `json:"portName1,omitempty"` // Interface name of the REP ring member. + PortName2 string `json:"portName2,omitempty"` // Interface name of the REP ring member. + RingOrder *int `json:"ringOrder,omitempty"` // Order of the REP ring member in the ring topology. +} +type RequestIndustrialConfigurationConfigureAREPRingOnFABRICDeployment struct { + RingName string `json:"ringName,omitempty"` // Unique name of REP ring to be configured. + RootNetworkDeviceID string `json:"rootNetworkDeviceId,omitempty"` // rootNetworkDeviceId is the network device ID of the root node in the REP ring. API `/dna/intent/api/v1/networkDevices` can be used to get the rootNetworkDeviceId , `instanceUuid` attribute in the response contains rootNetworkDeviceId. + RootNeighbourNetworkDeviceIDs []string `json:"rootNeighbourNetworkDeviceIds,omitempty"` // It contains the network device IDs of the immediate neighboring ring members of the root node. API `/dna/intent/api/v1/networkDevices` can be used to get the list of networkDeviceIds of the neighbors , `instanceUuid` attribute in the response contains rootNeighbourNetworkDeviceIds. + DeploymentMode string `json:"deploymentMode,omitempty"` // Deployment mode of the configured REP ring. +} +type RequestIndustrialConfigurationConfigureAREPRingOnNONFABRICDeployment struct { + RingName string `json:"ringName,omitempty"` // Unique name of REP ring to be configured. + RootNetworkDeviceID string `json:"rootNetworkDeviceId,omitempty"` // rootNetworkDeviceId is the network device ID of the root node in the REP ring. API `/dna/intent/api/v1/networkDevices` can be used to get the rootNetworkDeviceId , `instanceUuid` attribute in the response contains rootNetworkDeviceId. + RootNeighbourNetworkDeviceIDs []string `json:"rootNeighbourNetworkDeviceIds,omitempty"` // It contains the network device IDs of the immediate neighboring ring members of the root node. API `/dna/intent/api/v1/networkDevices` can be used to get the list of networkDeviceIds of the neighbors , `instanceUuid` attribute in the response contains rootNeighbourNetworkDeviceIds. + DeploymentMode string `json:"deploymentMode,omitempty"` // Deployment mode of the configured REP ring. +} +type RequestIndustrialConfigurationRetrievesTheListOfREPRings struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device id of the REP ring member. API `/dna/intent/api/v1/networkDevices` can be used to get the list of networkDeviceIds of the neighbors , `instanceUuid` attribute in the response contains networkDeviceId. + DeploymentMode string `json:"deploymentMode,omitempty"` // Deployment mode of the configured REP ring. + Limit *int `json:"limit,omitempty"` // The number of records to show for this page. + Offset *int `json:"offset,omitempty"` // The first record to show for this page; the first record is numbered 1. +} +type RequestIndustrialConfigurationRetrievesTheCountOfREPRings struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device id of the REP ring member. API `/dna/intent/api/v1/networkDevices` can be used to get the list of networkDeviceIds of the neighbors , `instanceUuid` attribute in the response contains networkDeviceId. + DeploymentMode string `json:"deploymentMode,omitempty"` // Deployment mode of the configured REP ring. +} + +//RetrievesTheListOfMRPRings Retrieves the list of MRP rings. - 50ac-4820-4cd9-9a70 +/* This API returns the list of all the MRP rings configured on the Network device when Ring ID is not specified and returns the details of a single MRP ring when Ring ID is specified based on the given fields networkDeviceId (Network device ID of the MRP ring member. The networkDeviceId is the instanceUuid attribute in the response of API /dna/intent/api/v1/networkDevices) and id (ID of the MRP ring. The id of the configured MRP Ring can be retrieved using the API /dna/intent/api/v1/iot/networkDevices/${networkDeviceId}/mrpRings). + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the MRP ring member. + +@param RetrievesTheListOfMRPRingsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-m-r-p-rings +*/ +func (s *IndustrialConfigurationService) RetrievesTheListOfMRPRings(networkDeviceID string, RetrievesTheListOfMRPRingsQueryParams *RetrievesTheListOfMRPRingsQueryParams) (*ResponseIndustrialConfigurationRetrievesTheListOfMRPRings, *resty.Response, error) { + path := "/dna/intent/api/v1/iot/networkDevices/{networkDeviceId}/mrpRings" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + + queryString, _ := query.Values(RetrievesTheListOfMRPRingsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseIndustrialConfigurationRetrievesTheListOfMRPRings{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheListOfMRPRings(networkDeviceID, RetrievesTheListOfMRPRingsQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfMRPRings") + } + + result := response.Result().(*ResponseIndustrialConfigurationRetrievesTheListOfMRPRings) + return result, response, err + +} + +//RetrievesTheCountOfMRPRings Retrieves the count of MRP rings. - 1280-4888-4cd8-b2f9 +/* This API returns the count of MRP rings for the given fields networkDeviceId (Network device ID of the MRP ring member. The networkDeviceId is the instanceUuid attribute in the response of API /dna/intent/api/v1/networkDevices). + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the MRP ring member. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-m-r-p-rings +*/ +func (s *IndustrialConfigurationService) RetrievesTheCountOfMRPRings(networkDeviceID string) (*ResponseIndustrialConfigurationRetrievesTheCountOfMRPRings, *resty.Response, error) { + path := "/dna/intent/api/v1/iot/networkDevices/{networkDeviceId}/mrpRings/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(&ResponseIndustrialConfigurationRetrievesTheCountOfMRPRings{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheCountOfMRPRings(networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheCountOfMRPRings") + } + + result := response.Result().(*ResponseIndustrialConfigurationRetrievesTheCountOfMRPRings) + return result, response, err + +} + +//RetrievesTheListOfNetworkDevicesPartOfMRPRing Retrieves the list of network devices part of MRP ring. - 7ba3-7b6a-4fd8-958c +/* This API returns the list of MRP ring members for the given fields networkDeviceId (Network device ID of the MRP ring member. The networkDeviceId is the instanceUuid attribute in the response of API /dna/intent/api/v1/networkDevices) and id (ID of the MRP ring. The id of the configured MRP Ring can be retrieved using the API /dna/intent/api/v1/iot/networkDevices/${networkDeviceId}/mrpRings). + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the MRP ring member. + +@param id id path parameter. ID of the MRP ring. + +@param RetrievesTheListOfNetworkDevicesPartOfMRPRingQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-network-devices-part-of-m-r-p-ring +*/ +func (s *IndustrialConfigurationService) RetrievesTheListOfNetworkDevicesPartOfMRPRing(networkDeviceID string, id float64, RetrievesTheListOfNetworkDevicesPartOfMRPRingQueryParams *RetrievesTheListOfNetworkDevicesPartOfMRPRingQueryParams) (*ResponseIndustrialConfigurationRetrievesTheListOfNetworkDevicesPartOfMRPRing, *resty.Response, error) { + path := "/dna/intent/api/v1/iot/networkDevices/{networkDeviceId}/mrpRings/{id}/members" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(RetrievesTheListOfNetworkDevicesPartOfMRPRingQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseIndustrialConfigurationRetrievesTheListOfNetworkDevicesPartOfMRPRing{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheListOfNetworkDevicesPartOfMRPRing(networkDeviceID, id, RetrievesTheListOfNetworkDevicesPartOfMRPRingQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfNetworkDevicesPartOfMRPRing") + } + + result := response.Result().(*ResponseIndustrialConfigurationRetrievesTheListOfNetworkDevicesPartOfMRPRing) + return result, response, err + +} + +//RetrievesTheCountOfMRPRingMembers Retrieves the count of MRP ring members. - 929c-0833-46ba-b848 +/* This API returns the count of MRP ring members for the given fields networkDeviceId (Network device ID of the MRP ring member. The networkDeviceId is the instanceUuid attribute in the response of API /dna/intent/api/v1/networkDevices) and id (ID of the MRP ring. The id of the configured MRP Ring can be retrieved using the API /dna/intent/api/v1/iot/networkDevices/${networkDeviceId}/mrpRings). + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the MRP ring member. + +@param id id path parameter. ID of the MRP ring. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-m-r-p-ring-members +*/ +func (s *IndustrialConfigurationService) RetrievesTheCountOfMRPRingMembers(networkDeviceID string, id float64) (*ResponseIndustrialConfigurationRetrievesTheCountOfMRPRingMembers, *resty.Response, error) { + path := "/dna/intent/api/v1/iot/networkDevices/{networkDeviceId}/mrpRings/{id}/members/count" + 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(&ResponseIndustrialConfigurationRetrievesTheCountOfMRPRingMembers{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheCountOfMRPRingMembers(networkDeviceID, id) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheCountOfMRPRingMembers") + } + + result := response.Result().(*ResponseIndustrialConfigurationRetrievesTheCountOfMRPRingMembers) + return result, response, err + +} + +//GetTheREPRingBasedOnTheRingID Get the REP ring based on the ring id. - 21b0-c89c-4aaa-9609 +/* This API returns REP ring for the given id (The id of configured REP ring can be retrieved using the API /dna/intent/api/v1/iot/repRings/query). + + +@param id id path parameter. Ring ID of configured REP ring can be fetched using the API `/dna/intent/api/v1/iot/repRings/query`. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-r-e-p-ring-based-on-the-ring-id +*/ +func (s *IndustrialConfigurationService) GetTheREPRingBasedOnTheRingID(id string) (*ResponseIndustrialConfigurationGetTheREPRingBasedOnTheRingID, *resty.Response, error) { + path := "/dna/intent/api/v1/iot/repRings/{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(&ResponseIndustrialConfigurationGetTheREPRingBasedOnTheRingID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTheREPRingBasedOnTheRingID(id) + } + return nil, response, fmt.Errorf("error with operation GetTheREPRingBasedOnTheRingId") + } + + result := response.Result().(*ResponseIndustrialConfigurationGetTheREPRingBasedOnTheRingID) + return result, response, err + +} + +//ConfigureAREPRingOnFABRICDeployment Configure a REP Ring on FABRIC deployment. - 8c85-28ca-492a-8a27 +/* This API configures a REP ring on FABRIC deployment. The input payload contains the following fields ringName (unique ring name) , rootNetworkDeviceId (Network device ID of the root node of the REP Ring) and rootNeighbourNetworkDeviceIds (Network device IDs of the two immediate neighbour devices of the root node of the REP Ring). The networkDeviceId is the instanceUuid attribute in the response of API /dna/intent/api/v1/networkDevices. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!configure-a-r-e-p-ring-on-f-a-b-r-i-c-deployment +*/ +func (s *IndustrialConfigurationService) ConfigureAREPRingOnFABRICDeployment(requestIndustrialConfigurationConfigureAREPRingOnFABRICDeployment *RequestIndustrialConfigurationConfigureAREPRingOnFABRICDeployment) (*ResponseIndustrialConfigurationConfigureAREPRingOnFABRICDeployment, *resty.Response, error) { + path := "/dna/intent/api/v1/iot/fabric/repRings" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestIndustrialConfigurationConfigureAREPRingOnFABRICDeployment). + SetResult(&ResponseIndustrialConfigurationConfigureAREPRingOnFABRICDeployment{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.ConfigureAREPRingOnFABRICDeployment(requestIndustrialConfigurationConfigureAREPRingOnFABRICDeployment) + } + + return nil, response, fmt.Errorf("error with operation ConfigureAREPRingOnFABRICDeployment") + } + + result := response.Result().(*ResponseIndustrialConfigurationConfigureAREPRingOnFABRICDeployment) + return result, response, err + +} + +//ConfigureAREPRingOnNONFABRICDeployment Configure a REP Ring on NON-FABRIC deployment. - 8c85-28ca-492a-8a28 +/* This API configures a REP ring on NON-FABRIC deployment. The input payload contains the following fields ringName (unique ring name) , rootNetworkDeviceId (Network device ID of the root node of the REP Ring) and rootNeighbourNetworkDeviceIds (Network device IDs of the two immediate neighbour devices of the root node of the REP Ring). The networkDeviceId is the instanceUuid attribute in the response of API /dna/intent/api/v1/networkDevices. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!configure-a-r-e-p-ring-on-n-o-n-f-a-b-r-i-c-deployment +*/ +func (s *IndustrialConfigurationService) ConfigureAREPRingOnNONFABRICDeployment(requestIndustrialConfigurationConfigureAREPRingOnNONFABRICDeployment *RequestIndustrialConfigurationConfigureAREPRingOnNONFABRICDeployment) (*ResponseIndustrialConfigurationConfigureAREPRingOnNONFABRICDeployment, *resty.Response, error) { + path := "/dna/intent/api/v1/iot/nonFabric/repRings" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestIndustrialConfigurationConfigureAREPRingOnNONFABRICDeployment). + SetResult(&ResponseIndustrialConfigurationConfigureAREPRingOnNONFABRICDeployment{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.ConfigureAREPRingOnNONFABRICDeployment(requestIndustrialConfigurationConfigureAREPRingOnNONFABRICDeployment) + } + + return nil, response, fmt.Errorf("error with operation ConfigureAREPRingOnNONFABRICDeployment") + } + + result := response.Result().(*ResponseIndustrialConfigurationConfigureAREPRingOnNONFABRICDeployment) + return result, response, err + +} + +//RetrievesTheListOfREPRings Retrieves the list of REP rings. - 69b7-4bb5-4e4b-b9aa +/* This API returns the list of REP rings for the given fields networkDeviceId (Network device ID of the REP ring member. In case of successful REP ring creation, any of the REP ring member networkDeviceId can be provided. In case of failed REP ring creation, provide only root node networkDeviceId. The networkDeviceId is the instanceUuid attribute in the response of API /dna/intent/api/v1/networkDevice) and deploymentMode (FABRIC/NON_FABRIC). + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-r-e-p-rings +*/ +func (s *IndustrialConfigurationService) RetrievesTheListOfREPRings(requestIndustrialConfigurationRetrievesTheListOfREPRings *RequestIndustrialConfigurationRetrievesTheListOfREPRings) (*ResponseIndustrialConfigurationRetrievesTheListOfREPRings, *resty.Response, error) { + path := "/dna/intent/api/v1/iot/repRings/query" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestIndustrialConfigurationRetrievesTheListOfREPRings). + SetResult(&ResponseIndustrialConfigurationRetrievesTheListOfREPRings{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheListOfREPRings(requestIndustrialConfigurationRetrievesTheListOfREPRings) + } + + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfREPRings") + } + + result := response.Result().(*ResponseIndustrialConfigurationRetrievesTheListOfREPRings) + return result, response, err + +} + +//RetrievesTheCountOfREPRings Retrieves the count of REP rings. - bca3-aaac-4278-942f +/* This API returns the count of REP rings for the given fields networkDeviceId (Network device ID of the REP ring member. The networkDeviceId is the instanceUuid attribute in the response of API /dna/intent/api/v1/networkDevices) and deploymentMode (FABRIC/NON_FABRIC). + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-r-e-p-rings +*/ +func (s *IndustrialConfigurationService) RetrievesTheCountOfREPRings(requestIndustrialConfigurationRetrievesTheCountOfREPRings *RequestIndustrialConfigurationRetrievesTheCountOfREPRings) (*ResponseIndustrialConfigurationRetrievesTheCountOfREPRings, *resty.Response, error) { + path := "/dna/intent/api/v1/iot/repRings/query/count" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestIndustrialConfigurationRetrievesTheCountOfREPRings). + SetResult(&ResponseIndustrialConfigurationRetrievesTheCountOfREPRings{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheCountOfREPRings(requestIndustrialConfigurationRetrievesTheCountOfREPRings) + } + + return nil, response, fmt.Errorf("error with operation RetrievesTheCountOfREPRings") + } + + result := response.Result().(*ResponseIndustrialConfigurationRetrievesTheCountOfREPRings) + return result, response, err + +} + +//DeleteREPRingConfiguredInTheFABRICDeployment Delete REP ring configured in the FABRIC deployment. - bdb5-29f0-42a8-b33d +/* This API deletes the REP ring configured in the FABRIC deployment for the given id. The id of configured REP ring can be retrieved using the API /dna/intent/api/v1/iot/repRings/query.The taskid returned can be used to monitor the status of delete operation using following API -/intent/api/v1/task/{taskId}. + + +@param id id path parameter. Ring ID of configured REP ring can be fetched using the API `/dna/intent/api/v1/iot/repRings/query`. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-r-e-p-ring-configured-in-the-f-a-b-r-i-c-deployment +*/ +func (s *IndustrialConfigurationService) DeleteREPRingConfiguredInTheFABRICDeployment(id string) (*ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheFABRICDeployment, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/iot/fabric/repRings/{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(&ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheFABRICDeployment{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteREPRingConfiguredInTheFABRICDeployment( + id) + } + return nil, response, fmt.Errorf("error with operation DeleteREPRingConfiguredInTheFABRICDeployment") + } + + result := response.Result().(*ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheFABRICDeployment) + return result, response, err + +} + +//DeleteREPRingConfiguredInTheNONFABRICDeployment Delete REP ring configured in the NON-FABRIC deployment. - bdb5-29f0-42a8-b33c +/* This API deletes the REP ring configured in the NON-FABRIC deployment for the given id. The id of configured REP ring can be retrieved using the API /dna/intent/api/v1/iot/repRings/query.The taskid returned can be used to monitor the status of delete operation using following API -/intent/api/v1/task/{taskId}. + + +@param id id path parameter. Ring ID of configured REP ring can be fetched using the API `/dna/intent/api/v1/iot/repRings/query`. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-r-e-p-ring-configured-in-the-n-o-n-f-a-b-r-i-c-deployment +*/ +func (s *IndustrialConfigurationService) DeleteREPRingConfiguredInTheNONFABRICDeployment(id string) (*ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheNONFABRICDeployment, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/iot/nonFabric/repRings/{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(&ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheNONFABRICDeployment{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteREPRingConfiguredInTheNONFABRICDeployment( + id) + } + return nil, response, fmt.Errorf("error with operation DeleteREPRingConfiguredInTheNONFABRICDeployment") + } + + result := response.Result().(*ResponseIndustrialConfigurationDeleteREPRingConfiguredInTheNONFABRICDeployment) + return result, response, err + +} diff --git a/sdk/issues.go b/sdk/issues.go index 65a2b5e..0a36e20 100644 --- a/sdk/issues.go +++ b/sdk/issues.go @@ -27,7 +27,7 @@ type GetTheDetailsOfIssuesForGivenSetOfFiltersKnowYourNetworkQueryParams struct DeviceType string `url:"deviceType,omitempty"` //Device Type of the device to which this issue belongs to. Supports single device type and multiple device types. Examples: deviceType=wireless controller (single device type requested) deviceType=wireless controller&deviceType=core (multiple device types requested) Name string `url:"name,omitempty"` //The name of the issue Examples: name=ap_down (single issue name requested) name=ap_down&name=wlc_monitor (multiple issue names requested) Issue names can be retrieved using the API - /data/api/v1/assuranceIssueConfigurations IssueID string `url:"issueId,omitempty"` //UUID of the issue Examples: issueId=e52aecfe-b142-4287-a587-11a16ba6dd26 (single issue id requested) issueId=e52aecfe-b142-4287-a587-11a16ba6dd26&issueId=864d0421-02c0-43a6-9c52-81cad45f66d8 (multiple issue ids requested) - EntityID string `url:"entityId,omitempty"` //Id of the entity for which this issue belongs to. For example, it could be mac address of AP or UUID of Sensor example: 68:ca:e4:79:3f:20 4de02167-901b-43cf-8822-cffd3caa286f Examples: entityId=68:ca:e4:79:3f:20 (single entity id requested) entityId=68:ca:e4:79:3f:20&entityId=864d0421-02c0-43a6-9c52-81cad45f66d8 (multiple entity ids requested) + EntityID string `url:"entityId,omitempty"` //Id of the entity for which this issue belongs to. For example, it could be mac address of AP or UUID of Sensor example: 68:ca:e4:79:3f:20 4de02167-901b-43cf-8822-cffd3caa286f Examples: entityId=68:ca:e4:79:3f:20 (single entity id requested) entityId=68:ca:e4:79:3f:20&entityId=864d0421-02c0-43a6-9c52-81cad45f66d8 (multiple entity ids requested) UpdatedBy string `url:"updatedBy,omitempty"` //The user who last updated this issue. Examples: updatedBy=admin (single updatedBy requested) updatedBy=admin&updatedBy=john (multiple updatedBy 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) 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) @@ -63,7 +63,7 @@ type GetTheTotalNumberOfIssuesForGivenSetOfFiltersKnowYourNetworkQueryParams str DeviceType string `url:"deviceType,omitempty"` //Device Type of the device to which this issue belongs to. Supports single device type and multiple device types. Examples: deviceType=wireless controller (single device type requested) deviceType=wireless controller&deviceType=core (multiple device types requested) Name string `url:"name,omitempty"` //The name of the issue Examples: name=ap_down (single issue name requested) name=ap_down&name=wlc_monitor (multiple issue names requested) Issue names can be retrieved using the API - /data/api/v1/assuranceIssueConfigurations IssueID string `url:"issueId,omitempty"` //UUID of the issue Examples: issueId=e52aecfe-b142-4287-a587-11a16ba6dd26 (single issue id requested) issueId=e52aecfe-b142-4287-a587-11a16ba6dd26&issueId=864d0421-02c0-43a6-9c52-81cad45f66d8 (multiple issue ids requested) - EntityID string `url:"entityId,omitempty"` //Id of the entity for which this issue belongs to. For example, it could be mac address of AP or UUID of Sensor example: 68:ca:e4:79:3f:20 4de02167-901b-43cf-8822-cffd3caa286f Examples: entityId=68:ca:e4:79:3f:20 (single entity id requested) entityId=68:ca:e4:79:3f:20&entityId=864d0421-02c0-43a6-9c52-81cad45f66d8 (multiple entity ids requested) + EntityID string `url:"entityId,omitempty"` //Id of the entity for which this issue belongs to. For example, it could be mac address of AP or UUID of Sensor example: 68:ca:e4:79:3f:20 4de02167-901b-43cf-8822-cffd3caa286f Examples: entityId=68:ca:e4:79:3f:20 (single entity id requested) entityId=68:ca:e4:79:3f:20&entityId=864d0421-02c0-43a6-9c52-81cad45f66d8 (multiple entity ids requested) UpdatedBy string `url:"updatedBy,omitempty"` //The user who last updated this issue. Examples: updatedBy=admin (single updatedBy requested) updatedBy=admin&updatedBy=john (multiple updatedBy 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) 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) @@ -622,44 +622,27 @@ type ResponseIssuesGetTheCustomIssueDefinitionForTheGivenCustomIssueDefinitionID 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 + 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 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"` // @@ -795,33 +778,20 @@ 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 + 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 @@ -951,7 +921,8 @@ type RequestIssuesGetTrendAnalyticsDataOfIssuesPage struct { TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order } type RequestIssuesIgnoreTheGivenListOfIssues struct { - IssueIDs []string `json:"issueIds,omitempty"` // Issue Ids + IssueIDs []string `json:"issueIds,omitempty"` // Issue Ids + IgnoreHours *int `json:"ignoreHours,omitempty"` // Ignore Hours } type RequestIssuesResolveTheGivenListsOfIssues struct { IssueIDs []string `json:"issueIds,omitempty"` // Issue Ids @@ -1166,6 +1137,7 @@ func (s *IssuesService) GetAllTheDetailsAndSuggestedActionsOfAnIssueForTheGivenI //GetAllTheCustomIssueDefinitionsBasedOnTheGivenFilters Get all the custom issue definitions based on the given filters. - 1bb9-bb87-4efa-afd2 /* Retrieve the existing syslog-based custom issue definitions. The supported filters are id, name, profileId, definition enable status, priority, severity, facility and mnemonic. The issue definition configurations may vary across profiles, hence specifying the profile Id in the query parameter is important and the default profile is global. + The assurance profile definitions can be obtain via the API endpoint: /api/v1/siteprofile?namespace=assurance. 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 @@ -2060,7 +2032,6 @@ func (s *IssuesService) ExecuteSuggestedActionsCommands(requestIssuesExecuteSugg @param id id path parameter. The custom issue definition Identifier -@param UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedIdHeaderParams Custom header parameters */ func (s *IssuesService) UpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID(id string, requestIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedId *RequestIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID) (*ResponseIssuesUpdatesAnExistingCustomIssueDefinitionBasedOnTheProvidedID, *resty.Response, error) { path := "/dna/intent/api/v1/customIssueDefinitions/{id}" @@ -2159,7 +2130,8 @@ 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_integration.go b/sdk/itsm_integration.go index ae2847f..ef6c03b 100644 --- a/sdk/itsm_integration.go +++ b/sdk/itsm_integration.go @@ -6,10 +6,18 @@ import ( "strings" "github.com/go-resty/resty/v2" + "github.com/google/go-querystring/query" ) type ItsmIntegrationService service +type GetAllItsmIntegrationSettingsQueryParams struct { + PageSize float64 `url:"page_size,omitempty"` //Specifies the number of records to display per page. + Page float64 `url:"page,omitempty"` //Indicates the current page number to display. + SortBy string `url:"sortBy,omitempty"` //The field name used to sort the records. + Order string `url:"order,omitempty"` //Specify the sorting order - asc for ascending or desc for descending +} + type ResponseItsmIntegrationCreateItsmIntegrationSetting struct { ID string `json:"id,omitempty"` // Id DypID string `json:"dypId,omitempty"` // Dyp Id @@ -79,28 +87,27 @@ type ResponseItsmIntegrationGetItsmIntegrationSettingByIDDataConnectionSettings AuthUserName string `json:"Auth_UserName,omitempty"` // Auth User Name AuthPassword string `json:"Auth_Password,omitempty"` // Auth Password } -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 ResponseItsmIntegrationGetAllItsmIntegrationSettings struct { + Page *int `json:"page,omitempty"` // Page + PageSize *int `json:"pageSize,omitempty"` // Page Size + TotalPages *int `json:"totalPages,omitempty"` // Total Pages + Data *[]ResponseItsmIntegrationGetAllItsmIntegrationSettingsData `json:"data,omitempty"` // + TotalRecords *int `json:"totalRecords,omitempty"` // Total Records } type ResponseItsmIntegrationGetAllItsmIntegrationSettingsData struct { - TypeID string `json:"_id,omitempty"` + TypeID string `json:"_id,omitempty"` // Deprecated: Should not be used and will be removed in an upcoming release ID string `json:"id,omitempty"` // Id + CreatedBy string `json:"createdBy,omitempty"` // Created By + Description string `json:"description,omitempty"` // Description DypID string `json:"dypId,omitempty"` // Dyp Id + DypMajorVersion *int `json:"dypMajorVersion,omitempty"` // Dyp Major Version DypName string `json:"dypName,omitempty"` // Dyp Name Name string `json:"name,omitempty"` // Name + SchemaVersion *float64 `json:"schemaVersion,omitempty"` // Schema Version + SoftwareVersionLog *[]ResponseItsmIntegrationGetAllItsmIntegrationSettingsDataSoftwareVersionLog `json:"softwareVersionLog,omitempty"` // Software Version Log UniqueKey string `json:"uniqueKey,omitempty"` // Unique Key - DypMajorVersion *int `json:"dypMajorVersion,omitempty"` // Dyp Major Version - Description string `json:"description,omitempty"` // Description - CreatedDate *int `json:"createdDate,omitempty"` // Created Date - CreatedBy string `json:"createdBy,omitempty"` // Created By UpdatedBy string `json:"updatedBy,omitempty"` // Updated By - SoftwareVersionLog *[]ResponseItsmIntegrationGetAllItsmIntegrationSettingsDataSoftwareVersionLog `json:"softwareVersionLog,omitempty"` // Software Version Log - SchemaVersion *float64 `json:"schemaVersion,omitempty"` // Schema Version - TenantID string `json:"tenantId,omitempty"` // Tenant Id + UpdatedDate *int `json:"updatedDate,omitempty"` // Updated Date } type ResponseItsmIntegrationGetAllItsmIntegrationSettingsDataSoftwareVersionLog interface{} type ResponseItsmIntegrationGetItsmIntegrationStatus struct { @@ -187,16 +194,19 @@ func (s *ItsmIntegrationService) GetItsmIntegrationSettingByID(instanceID string /* Fetches all ITSM Integration settings +@param GetAllITSMIntegrationSettingsQueryParams Filtering parameter Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-all-itsm-integration-settings */ -func (s *ItsmIntegrationService) GetAllItsmIntegrationSettings() (*ResponseItsmIntegrationGetAllItsmIntegrationSettings, *resty.Response, error) { +func (s *ItsmIntegrationService) GetAllItsmIntegrationSettings(GetAllITSMIntegrationSettingsQueryParams *GetAllItsmIntegrationSettingsQueryParams) (*ResponseItsmIntegrationGetAllItsmIntegrationSettings, *resty.Response, error) { path := "/dna/intent/api/v1/integration-settings/itsm/instances" + queryString, _ := query.Values(GetAllITSMIntegrationSettingsQueryParams) + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseItsmIntegrationGetAllItsmIntegrationSettings{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseItsmIntegrationGetAllItsmIntegrationSettings{}). SetError(&Error). Get(path) @@ -207,7 +217,7 @@ func (s *ItsmIntegrationService) GetAllItsmIntegrationSettings() (*ResponseItsmI if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAllItsmIntegrationSettings() + return s.GetAllItsmIntegrationSettings(GetAllITSMIntegrationSettingsQueryParams) } return nil, response, fmt.Errorf("error with operation GetAllItsmIntegrationSettings") } @@ -351,7 +361,8 @@ func (s *ItsmIntegrationService) DeleteItsmIntegrationSetting(instanceID string) if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteItsmIntegrationSetting(instanceID) + return s.DeleteItsmIntegrationSetting( + instanceID) } return response, fmt.Errorf("error with operation DeleteItsmIntegrationSetting") } diff --git a/sdk/know_your_network.go b/sdk/know_your_network.go new file mode 100644 index 0000000..9d07049 --- /dev/null +++ b/sdk/know_your_network.go @@ -0,0 +1,241 @@ +package dnac + +import ( + "fmt" + "net/http" + + "github.com/go-resty/resty/v2" +) + +type KnowYourNetworkService service + +type GetEnergySummaryAnalyticsHeaderParams 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 GetEnergyTrendAnalyticsHeaderParams 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 ResponseKnowYourNetworkGetEnergySummaryAnalytics struct { + Response *ResponseKnowYourNetworkGetEnergySummaryAnalyticsResponse `json:"response,omitempty"` // + Page *ResponseKnowYourNetworkGetEnergySummaryAnalyticsPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseKnowYourNetworkGetEnergySummaryAnalyticsResponse struct { + Groups *[]ResponseKnowYourNetworkGetEnergySummaryAnalyticsResponseGroups `json:"groups,omitempty"` // +} +type ResponseKnowYourNetworkGetEnergySummaryAnalyticsResponseGroups struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseKnowYourNetworkGetEnergySummaryAnalyticsResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseKnowYourNetworkGetEnergySummaryAnalyticsResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseKnowYourNetworkGetEnergySummaryAnalyticsResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseKnowYourNetworkGetEnergySummaryAnalyticsResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *float64 `json:"value,omitempty"` // Value +} +type ResponseKnowYourNetworkGetEnergySummaryAnalyticsPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseKnowYourNetworkGetEnergySummaryAnalyticsPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseKnowYourNetworkGetEnergySummaryAnalyticsPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + Function string `json:"function,omitempty"` // Function +} +type ResponseKnowYourNetworkGetEnergyTrendAnalytics struct { + Response *[]ResponseKnowYourNetworkGetEnergyTrendAnalyticsResponse `json:"response,omitempty"` // + Page *ResponseKnowYourNetworkGetEnergyTrendAnalyticsPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseKnowYourNetworkGetEnergyTrendAnalyticsResponse struct { + Groups *[]ResponseKnowYourNetworkGetEnergyTrendAnalyticsResponseGroups `json:"groups,omitempty"` // + Timestamp *int `json:"timestamp,omitempty"` // Timestamp +} +type ResponseKnowYourNetworkGetEnergyTrendAnalyticsResponseGroups struct { + ID string `json:"id,omitempty"` // Id + Attributes *[]ResponseKnowYourNetworkGetEnergyTrendAnalyticsResponseGroupsAttributes `json:"attributes,omitempty"` // + AggregateAttributes *[]ResponseKnowYourNetworkGetEnergyTrendAnalyticsResponseGroupsAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseKnowYourNetworkGetEnergyTrendAnalyticsResponseGroupsAttributes struct { + Name string `json:"name,omitempty"` // Name + Value string `json:"value,omitempty"` // Value +} +type ResponseKnowYourNetworkGetEnergyTrendAnalyticsResponseGroupsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *float64 `json:"value,omitempty"` // Value +} +type ResponseKnowYourNetworkGetEnergyTrendAnalyticsPage 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 RequestKnowYourNetworkGetEnergySummaryAnalytics struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + EndTime *int `json:"endTime,omitempty"` // End Time + Filters *[]RequestKnowYourNetworkGetEnergySummaryAnalyticsFilters `json:"filters,omitempty"` // + GroupBy []string `json:"groupBy,omitempty"` // Group By + Attributes []string `json:"attributes,omitempty"` // Attributes + AggregateAttributes *[]RequestKnowYourNetworkGetEnergySummaryAnalyticsAggregateAttributes `json:"aggregateAttributes,omitempty"` // + Page *RequestKnowYourNetworkGetEnergySummaryAnalyticsPage `json:"page,omitempty"` // +} +type RequestKnowYourNetworkGetEnergySummaryAnalyticsFilters struct { + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + Filters *[]RequestKnowYourNetworkGetEnergySummaryAnalyticsFiltersFilters `json:"filters,omitempty"` // +} +type RequestKnowYourNetworkGetEnergySummaryAnalyticsFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value []string `json:"value,omitempty"` // Value +} +type RequestKnowYourNetworkGetEnergySummaryAnalyticsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function +} +type RequestKnowYourNetworkGetEnergySummaryAnalyticsPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + SortBy *[]RequestKnowYourNetworkGetEnergySummaryAnalyticsPageSortBy `json:"sortBy,omitempty"` // +} +type RequestKnowYourNetworkGetEnergySummaryAnalyticsPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + Function string `json:"function,omitempty"` // Function +} +type RequestKnowYourNetworkGetEnergyTrendAnalytics struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + EndTime *int `json:"endTime,omitempty"` // End Time + Filters *[]RequestKnowYourNetworkGetEnergyTrendAnalyticsFilters `json:"filters,omitempty"` // + GroupBy []string `json:"groupBy,omitempty"` // Group By + Attributes []string `json:"attributes,omitempty"` // Attributes + AggregateAttributes *[]RequestKnowYourNetworkGetEnergyTrendAnalyticsAggregateAttributes `json:"aggregateAttributes,omitempty"` // + Page *RequestKnowYourNetworkGetEnergyTrendAnalyticsPage `json:"page,omitempty"` // +} +type RequestKnowYourNetworkGetEnergyTrendAnalyticsFilters struct { + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + Filters *[]RequestKnowYourNetworkGetEnergyTrendAnalyticsFiltersFilters `json:"filters,omitempty"` // +} +type RequestKnowYourNetworkGetEnergyTrendAnalyticsFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value []string `json:"value,omitempty"` // Value +} +type RequestKnowYourNetworkGetEnergyTrendAnalyticsAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function +} +type RequestKnowYourNetworkGetEnergyTrendAnalyticsPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + TimestampOrder string `json:"timestampOrder,omitempty"` // Timestamp Order +} + +//GetEnergySummaryAnalytics Get energy summary analytics - f190-0901-439a-80b4 +/* Retrieve the summary analytics data related to device energy consumption for all devices, including network devices and clients assigned to specific sites. 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-deviceEnergy_1.0-1.0.1-resolved.yaml + + +@param GetEnergySummaryAnalyticsHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-energy-summary-analytics +*/ +func (s *KnowYourNetworkService) GetEnergySummaryAnalytics(requestKnowYourNetworkGetEnergySummaryAnalytics *RequestKnowYourNetworkGetEnergySummaryAnalytics, GetEnergySummaryAnalyticsHeaderParams *GetEnergySummaryAnalyticsHeaderParams) (*ResponseKnowYourNetworkGetEnergySummaryAnalytics, *resty.Response, error) { + path := "/dna/data/api/v1/energy/summaryAnalytics" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetEnergySummaryAnalyticsHeaderParams != nil { + + if GetEnergySummaryAnalyticsHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetEnergySummaryAnalyticsHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestKnowYourNetworkGetEnergySummaryAnalytics). + SetResult(&ResponseKnowYourNetworkGetEnergySummaryAnalytics{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.GetEnergySummaryAnalytics(requestKnowYourNetworkGetEnergySummaryAnalytics, GetEnergySummaryAnalyticsHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation GetEnergySummaryAnalytics") + } + + result := response.Result().(*ResponseKnowYourNetworkGetEnergySummaryAnalytics) + return result, response, err + +} + +//GetEnergyTrendAnalytics Get energy trend analytics - dba3-f890-4c09-a89c +/* Retrieve the energy trend analytics data related to device energy consumption for all devices, including network devices and clients assigned to specific sites. 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-deviceEnergy_1.0-1.0.1-resolved.yaml + + +@param GetEnergyTrendAnalyticsHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-energy-trend-analytics +*/ +func (s *KnowYourNetworkService) GetEnergyTrendAnalytics(requestKnowYourNetworkGetEnergyTrendAnalytics *RequestKnowYourNetworkGetEnergyTrendAnalytics, GetEnergyTrendAnalyticsHeaderParams *GetEnergyTrendAnalyticsHeaderParams) (*ResponseKnowYourNetworkGetEnergyTrendAnalytics, *resty.Response, error) { + path := "/dna/data/api/v1/energy/trendAnalytics" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if GetEnergyTrendAnalyticsHeaderParams != nil { + + if GetEnergyTrendAnalyticsHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetEnergyTrendAnalyticsHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetBody(requestKnowYourNetworkGetEnergyTrendAnalytics). + SetResult(&ResponseKnowYourNetworkGetEnergyTrendAnalytics{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.GetEnergyTrendAnalytics(requestKnowYourNetworkGetEnergyTrendAnalytics, GetEnergyTrendAnalyticsHeaderParams) + } + + return nil, response, fmt.Errorf("error with operation GetEnergyTrendAnalytics") + } + + result := response.Result().(*ResponseKnowYourNetworkGetEnergyTrendAnalytics) + return result, response, err + +} diff --git a/sdk/lan_automation.go b/sdk/lan_automation.go index 9960380..ed841fd 100644 --- a/sdk/lan_automation.go +++ b/sdk/lan_automation.go @@ -25,6 +25,14 @@ type LanAutomationStatusQueryParams struct { type LanAutomationDeviceUpdateQueryParams struct { Feature string `url:"feature,omitempty"` //Feature ID for the update. Supported feature IDs include: LOOPBACK0_IPADDRESS_UPDATE, HOSTNAME_UPDATE, LINK_ADD, and LINK_DELETE. } +type GetPortChannelsQueryParams struct { + Device1ManagementIPAddress string `url:"device1ManagementIPAddress,omitempty"` //The management IP address of the device1. + Device1UUID string `url:"device1Uuid,omitempty"` //Unique identifier for the network device1 + Device2ManagementIPAddress string `url:"device2ManagementIPAddress,omitempty"` //The management IP address of the device2. + Device2UUID string `url:"device2Uuid,omitempty"` //Unique identifier for the network device2 + Offset int `url:"offset,omitempty"` //Starting record for pagination. + Limit int `url:"limit,omitempty"` //Maximum number of Port Channel to return. +} type ResponseLanAutomationLanAutomationStart struct { Response *ResponseLanAutomationLanAutomationStartResponse `json:"response,omitempty"` // @@ -110,7 +118,9 @@ type ResponseLanAutomationLanAutomationStatusResponse struct { RedistributeIsisToBgp *bool `json:"redistributeIsisToBgp,omitempty"` // Shows whether advertise LAN Automation summary route into BGP is enabled or not. DiscoveryLevel *int `json:"discoveryLevel,omitempty"` // Level below primary seed device upto which the new devices will be LAN Automated by this session, level + seed = tier. Supported range for level is [1-5], default level is 2. DiscoveryTimeout *int `json:"discoveryTimeout,omitempty"` // Discovery timeout in minutes. Until this time, the stop processing will not be triggered. Any device contacting after the provided discovery timeout will not be processed, and a device reset and reload will be attempted to bring it back to the PnP agent state before process completion. The supported timeout range is in minutes [20-10080]. - DiscoveryDevices *[]ResponseLanAutomationLanAutomationStatusResponseDiscoveryDevices `json:"discoveryDevices,omitempty"` // Specific devices that will be LAN Automated in this session. Any other device discovered via DHCP will be attempted for a reset and reload to bring it back to the PnP agent state at the end of the LAN Automation process before process completion. The maximum supported devices that can be provided for a session is 50. + DiscoveryDevices *[]ResponseLanAutomationLanAutomationStatusResponseDiscoveryDevices `json:"discoveryDevices,omitempty"` // + HostNamePrefix string `json:"hostNamePrefix,omitempty"` // Hostname prefix of the discovered devices + HostNameFileID string `json:"hostNameFileId,omitempty"` // File ID for the uploaded file in the nw_orch namespace } type ResponseLanAutomationLanAutomationStatusResponseIPPools struct { IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP pool. @@ -122,7 +132,17 @@ type ResponseLanAutomationLanAutomationStatusResponseDiscoveredDeviceList struct State string `json:"state,omitempty"` // State of the device (Added to inventory/Deleted from inventory). IPAddressInUseList []string `json:"ipAddressInUseList,omitempty"` // List of IP address used by the device. } -type ResponseLanAutomationLanAutomationStatusResponseDiscoveryDevices interface{} +type ResponseLanAutomationLanAutomationStatusResponseDiscoveryDevices struct { + DeviceSerialNumber string `json:"deviceSerialNumber,omitempty"` // Serial number of the device + DeviceHostName string `json:"deviceHostName,omitempty"` // Hostname of the device + DeviceManagementIPAddress string `json:"deviceManagementIPAddress,omitempty"` // Management IP Address of the device + DeviceSiteID string `json:"deviceSiteId,omitempty"` // Site UUID of the device + DeviceSiteNameHierarchy string `json:"deviceSiteNameHierarchy,omitempty"` // Site name hierarchy of the device + IsDeviceDiscovered *bool `json:"isDeviceDiscovered,omitempty"` // Discovery status of the device + IsIPAllocated *bool `json:"isIPAllocated,omitempty"` // IP Allocation status of the device + IsIPAssigned *bool `json:"isIPAssigned,omitempty"` // IP Assignment status of the device + PnpDeviceID string `json:"pnpDeviceId,omitempty"` // PnP device ID +} type ResponseLanAutomationLanAutomationStatusByID struct { Response *[]ResponseLanAutomationLanAutomationStatusByIDResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // Version @@ -142,7 +162,9 @@ type ResponseLanAutomationLanAutomationStatusByIDResponse struct { RedistributeIsisToBgp *bool `json:"redistributeIsisToBgp,omitempty"` // Shows whether advertise LAN Automation summary route into BGP is enabled or not. DiscoveryLevel *int `json:"discoveryLevel,omitempty"` // Level below primary seed device upto which the new devices will be LAN Automated by this session, level + seed = tier. Supported range for level is [1-5], default level is 2. DiscoveryTimeout *int `json:"discoveryTimeout,omitempty"` // Discovery timeout in minutes. Until this time, the stop processing will not be triggered. Any device contacting after the provided discovery timeout will not be processed, and a device reset and reload will be attempted to bring it back to the PnP agent state before process completion. The supported timeout range is in minutes [20-10080]. - DiscoveryDevices *[]ResponseLanAutomationLanAutomationStatusByIDResponseDiscoveryDevices `json:"discoveryDevices,omitempty"` // Specific devices that will be LAN Automated in this session. Any other device discovered via DHCP will be attempted for a reset and reload to bring it back to the PnP agent state at the end of the LAN Automation process before process completion. The maximum supported devices that can be provided for a session is 50. + DiscoveryDevices *[]ResponseLanAutomationLanAutomationStatusByIDResponseDiscoveryDevices `json:"discoveryDevices,omitempty"` // + HostNamePrefix string `json:"hostNamePrefix,omitempty"` // Hostname prefix of the discovered devices + HostNameFileID string `json:"hostNameFileId,omitempty"` // File ID for the uploaded file in the nw_orch namespace } type ResponseLanAutomationLanAutomationStatusByIDResponseIPPools struct { IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP pool. @@ -154,7 +176,17 @@ type ResponseLanAutomationLanAutomationStatusByIDResponseDiscoveredDeviceList st State string `json:"state,omitempty"` // State of the device (Added to inventory/Deleted from inventory). IPAddressInUseList []string `json:"ipAddressInUseList,omitempty"` // List of IP address used by the device. } -type ResponseLanAutomationLanAutomationStatusByIDResponseDiscoveryDevices interface{} +type ResponseLanAutomationLanAutomationStatusByIDResponseDiscoveryDevices struct { + DeviceSerialNumber string `json:"deviceSerialNumber,omitempty"` // Serial number of the device + DeviceHostName string `json:"deviceHostName,omitempty"` // Hostname of the device + DeviceManagementIPAddress string `json:"deviceManagementIPAddress,omitempty"` // Management IP Address of the device + DeviceSiteID string `json:"deviceSiteId,omitempty"` // Site UUID of the device + DeviceSiteNameHierarchy string `json:"deviceSiteNameHierarchy,omitempty"` // Site name hierarchy of the device + IsDeviceDiscovered *bool `json:"isDeviceDiscovered,omitempty"` // Discovery status of the device + IsIPAllocated *bool `json:"isIPAllocated,omitempty"` // IP Allocation status of the device + IsIPAssigned *bool `json:"isIPAssigned,omitempty"` // IP Assignment status of the device + PnpDeviceID string `json:"pnpDeviceId,omitempty"` // PnP device ID +} type ResponseLanAutomationLanAutomationDeviceUpdate struct { Response *ResponseLanAutomationLanAutomationDeviceUpdateResponse `json:"response,omitempty"` // Version string `json:"version,omitempty"` // version @@ -180,6 +212,83 @@ type ResponseLanAutomationLanAutomationStopAndUpdateDevicesResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID URL string `json:"url,omitempty"` // url to check the status of task } +type ResponseLanAutomationGetPortChannels struct { + Response *[]ResponseLanAutomationGetPortChannelsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number. +} +type ResponseLanAutomationGetPortChannelsResponse struct { + ID string `json:"id,omitempty"` // Unique id of the port-channel link. Concatenation of both device's Port Channel UUID. + Device1ManagementIPAddress string `json:"device1ManagementIPAddress,omitempty"` // IP address of device 1. + Device1UUID string `json:"device1Uuid,omitempty"` // ID of device1. + Device2ManagementIPAddress string `json:"device2ManagementIPAddress,omitempty"` // IP address of device 2. + Device2UUID string `json:"device2Uuid,omitempty"` // ID of device2. + Device1PortChannelUUID string `json:"device1PortChannelUuid,omitempty"` // ID of the port channel. + Device1PortChannelNumber *int `json:"device1PortChannelNumber,omitempty"` // Port Channel number. + Device2PortChannelUUID string `json:"device2PortChannelUuid,omitempty"` // ID of the port channel. + Device2PortChannelNumber *int `json:"device2PortChannelNumber,omitempty"` // Port Channel number. + PortChannelMembers *[]ResponseLanAutomationGetPortChannelsResponsePortChannelMembers `json:"portChannelMembers,omitempty"` // + PortChannelName string `json:"portChannelName,omitempty"` // +} +type ResponseLanAutomationGetPortChannelsResponsePortChannelMembers struct { + Device1InterfaceUUID string `json:"device1InterfaceUuid,omitempty"` // Device 1 interface UUID. + Device1Interface string `json:"device1Interface,omitempty"` // Device 1 interface. + Device2InterfaceUUID string `json:"device2InterfaceUuid,omitempty"` // Device 2 interface UUID. + Device2Interface string `json:"device2Interface,omitempty"` // Device 2 interface name. +} +type ResponseLanAutomationCreateANewPortChannelBetweenDevices struct { + Response *ResponseLanAutomationCreateANewPortChannelBetweenDevicesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // version +} +type ResponseLanAutomationCreateANewPortChannelBetweenDevicesResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // url to check the status of task +} +type ResponseLanAutomationGetPortChannelInformationByID struct { + Response *[]ResponseLanAutomationGetPortChannelInformationByIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number. +} +type ResponseLanAutomationGetPortChannelInformationByIDResponse struct { + ID string `json:"id,omitempty"` // Unique id of the port-channel link. Concatenation of both device's Port Channel UUID. + Device1ManagementIPAddress string `json:"device1ManagementIPAddress,omitempty"` // IP address of device 1. + Device1UUID string `json:"device1Uuid,omitempty"` // ID of device1. + Device2ManagementIPAddress string `json:"device2ManagementIPAddress,omitempty"` // IP address of device 2. + Device2UUID string `json:"device2Uuid,omitempty"` // ID of device2. + Device1PortChannelUUID string `json:"device1PortChannelUuid,omitempty"` // ID of the port channel. + Device1PortChannelNumber *int `json:"device1PortChannelNumber,omitempty"` // Port Channel number. + Device2PortChannelUUID string `json:"device2PortChannelUuid,omitempty"` // ID of the port channel. + Device2PortChannelNumber *int `json:"device2PortChannelNumber,omitempty"` // Port Channel number. + PortChannelMembers *[]ResponseLanAutomationGetPortChannelInformationByIDResponsePortChannelMembers `json:"portChannelMembers,omitempty"` // +} +type ResponseLanAutomationGetPortChannelInformationByIDResponsePortChannelMembers struct { + Device1InterfaceUUID string `json:"device1InterfaceUuid,omitempty"` // Device 1 interface UUID. + Device1Interface string `json:"device1Interface,omitempty"` // Device 1 interface. + Device2InterfaceUUID string `json:"device2InterfaceUuid,omitempty"` // Device 2 interface UUID. + Device2Interface string `json:"device2Interface,omitempty"` // Device 2 interface name. +} +type ResponseLanAutomationDeletePortChannel struct { + Response *ResponseLanAutomationDeletePortChannelResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // version +} +type ResponseLanAutomationDeletePortChannelResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // url to check the status of task +} +type ResponseLanAutomationAddALanAutomatedLinkToAPortChannel struct { + Response *ResponseLanAutomationAddALanAutomatedLinkToAPortChannelResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // version +} +type ResponseLanAutomationAddALanAutomatedLinkToAPortChannelResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // url to check the status of task +} +type ResponseLanAutomationRemoveALinkFromPortChannel struct { + Response *ResponseLanAutomationRemoveALinkFromPortChannelResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // version +} +type ResponseLanAutomationRemoveALinkFromPortChannelResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // url to check the status of task +} type ResponseLanAutomationLanAutomationStartV2 struct { Response *ResponseLanAutomationLanAutomationStartV2Response `json:"response,omitempty"` // Version string `json:"version,omitempty"` // version @@ -227,7 +336,7 @@ type RequestLanAutomationLanAutomationDeviceUpdateLinkUpdate struct { SourceDeviceInterfaceName string `json:"sourceDeviceInterfaceName,omitempty"` // Source Device Interface Name DestinationDeviceManagementIPAddress string `json:"destinationDeviceManagementIPAddress,omitempty"` // Destination Device Management IP Address DestinationDeviceInterfaceName string `json:"destinationDeviceInterfaceName,omitempty"` // Destination Device Interface Name - IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP LAN Pool, required for Link Add should be from discovery site of source and destination device. + IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP LAN Pool, required for Link Add should be from discovery site of source and destination device. It is optional for Link Delete. } type RequestLanAutomationLanAutomationDeviceUpdateHostnameUpdateDevices struct { DeviceManagementIPAddress string `json:"deviceManagementIPAddress,omitempty"` // Device Management IP Address @@ -238,6 +347,37 @@ type RequestItemLanAutomationLanAutomationStopAndUpdateDevices struct { DeviceManagementIPAddress string `json:"deviceManagementIPAddress,omitempty"` // Device Management IP Address NewLoopback0IPAddress string `json:"newLoopback0IPAddress,omitempty"` // New Loopback0 IP Address from LAN pool of Device Discovery Site. } +type RequestLanAutomationCreateANewPortChannelBetweenDevices struct { + Device1ManagementIPAddress string `json:"device1ManagementIPAddress,omitempty"` // Either device1ManagementIPAddress or device1Uuid is required. + Device1UUID string `json:"device1Uuid,omitempty"` // Either device1ManagementIPAddress or device1Uuid is required. + Device2ManagementIPAddress string `json:"device2ManagementIPAddress,omitempty"` // Either device2ManagementIPAddress or device2Uuid is required. + Device2UUID string `json:"device2Uuid,omitempty"` // Either device2ManagementIPAddress or device2Uuid is required. + PortChannelMembers *[]RequestLanAutomationCreateANewPortChannelBetweenDevicesPortChannelMembers `json:"portChannelMembers,omitempty"` // +} +type RequestLanAutomationCreateANewPortChannelBetweenDevicesPortChannelMembers struct { + Device1InterfaceUUID string `json:"device1InterfaceUuid,omitempty"` // Either device1InterfaceUuid or device1InterfaceName is required. + Device1Interface string `json:"device1Interface,omitempty"` // Either device1InterfaceUuid or device1InterfaceName is required. + Device2InterfaceUUID string `json:"device2InterfaceUuid,omitempty"` // Either device2InterfaceUuid or device2InterfaceName is required. + Device2Interface string `json:"device2Interface,omitempty"` // Either device2InterfaceUuid or device2InterfaceName is required. +} +type RequestLanAutomationAddALanAutomatedLinkToAPortChannel struct { + PortChannelMembers *[]RequestLanAutomationAddALanAutomatedLinkToAPortChannelPortChannelMembers `json:"portChannelMembers,omitempty"` // +} +type RequestLanAutomationAddALanAutomatedLinkToAPortChannelPortChannelMembers struct { + Device1InterfaceUUID string `json:"device1InterfaceUuid,omitempty"` // Either device1InterfaceUuid or device1InterfaceName is required. + Device1Interface string `json:"device1Interface,omitempty"` // Either device1InterfaceUuid or device1InterfaceName is required. + Device2InterfaceUUID string `json:"device2InterfaceUuid,omitempty"` // Either device2InterfaceUuid or device1InterfaceName is required. + Device2Interface string `json:"device2Interface,omitempty"` // Either device2InterfaceUuid or device1InterfaceName is required. +} +type RequestLanAutomationRemoveALinkFromPortChannel struct { + PortChannelMembers *[]RequestLanAutomationRemoveALinkFromPortChannelPortChannelMembers `json:"portChannelMembers,omitempty"` // +} +type RequestLanAutomationRemoveALinkFromPortChannelPortChannelMembers struct { + Device1InterfaceUUID string `json:"device1InterfaceUuid,omitempty"` // Either device1InterfaceUuid or device1InterfaceName is required. + Device1Interface string `json:"device1Interface,omitempty"` // Either device1InterfaceUuid or device1InterfaceName is required. + Device2InterfaceUUID string `json:"device2InterfaceUuid,omitempty"` // Either device2InterfaceUuid or device1InterfaceName is required. + Device2Interface string `json:"device2Interface,omitempty"` // Either device2InterfaceUuid or device1InterfaceName is required. +} type RequestLanAutomationLanAutomationStartV2 []RequestItemLanAutomationLanAutomationStartV2 // Array of RequestLanAutomationLANAutomationStartV2 type RequestItemLanAutomationLanAutomationStartV2 struct { DiscoveredDeviceSiteNameHierarchy string `json:"discoveredDeviceSiteNameHierarchy,omitempty"` // Discovered device site name. @@ -530,6 +670,80 @@ func (s *LanAutomationService) LanAutomationStatusByID(id string) (*ResponseLanA } +//GetPortChannels Get Port Channels - c9a9-9a58-452a-87b8 +/* Returns a list of Port Channel between the LAN Automation associated devices. + + +@param GetPortChannelsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-channels +*/ +func (s *LanAutomationService) GetPortChannels(GetPortChannelsQueryParams *GetPortChannelsQueryParams) (*ResponseLanAutomationGetPortChannels, *resty.Response, error) { + path := "/dna/intent/api/v1/lanAutomation/portChannels" + + queryString, _ := query.Values(GetPortChannelsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseLanAutomationGetPortChannels{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetPortChannels(GetPortChannelsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetPortChannels") + } + + result := response.Result().(*ResponseLanAutomationGetPortChannels) + return result, response, err + +} + +//GetPortChannelInformationByID Get Port Channel information by id - 0d8c-1a1b-4cf8-82f4 +/* This API retrieves Port Channel information using its ID. + + +@param id id path parameter. ID of the port channel. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-channel-information-by-id +*/ +func (s *LanAutomationService) GetPortChannelInformationByID(id string) (*ResponseLanAutomationGetPortChannelInformationByID, *resty.Response, error) { + path := "/dna/intent/api/v1/lanAutomation/portChannels/{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(&ResponseLanAutomationGetPortChannelInformationByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetPortChannelInformationByID(id) + } + return nil, response, fmt.Errorf("error with operation GetPortChannelInformationById") + } + + result := response.Result().(*ResponseLanAutomationGetPortChannelInformationByID) + return result, response, err + +} + //LanAutomationStart LAN Automation Start - 9795-f927-469a-a6d2 /* Invoke this API to start LAN Automation for the given site. @@ -567,8 +781,125 @@ func (s *LanAutomationService) LanAutomationStart(requestLanAutomationLANAutomat } +//CreateANewPortChannelBetweenDevices Create a New Port Channel between devices - 1690-29e1-475b-8733 +/* This API creates a Port Channel between two LAN Automation associated devices using the PAgP protocol, with a minimum of 2 and a maximum of 8 LAN Automated interfaces in UP status. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-a-new-port-channel-between-devices +*/ +func (s *LanAutomationService) CreateANewPortChannelBetweenDevices(requestLanAutomationCreateANewPortChannelBetweenDevices *RequestLanAutomationCreateANewPortChannelBetweenDevices) (*ResponseLanAutomationCreateANewPortChannelBetweenDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/lanAutomation/portChannels" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestLanAutomationCreateANewPortChannelBetweenDevices). + SetResult(&ResponseLanAutomationCreateANewPortChannelBetweenDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateANewPortChannelBetweenDevices(requestLanAutomationCreateANewPortChannelBetweenDevices) + } + + return nil, response, fmt.Errorf("error with operation CreateANewPortChannelBetweenDevices") + } + + result := response.Result().(*ResponseLanAutomationCreateANewPortChannelBetweenDevices) + return result, response, err + +} + +//AddALanAutomatedLinkToAPortChannel Add a LAN Automated link to a Port Channel - f6a9-e8d7-4d6b-9ef2 +/* This API adds a new LAN Automated link as a member to an existing Port Channel, provided the interface is in UP state and already LAN Automated. + + +@param id id path parameter. ID of the port channel. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-a-lan-automated-link-to-a-port-channel +*/ +func (s *LanAutomationService) AddALanAutomatedLinkToAPortChannel(id string, requestLanAutomationAddALANAutomatedLinkToAPortChannel *RequestLanAutomationAddALanAutomatedLinkToAPortChannel) (*ResponseLanAutomationAddALanAutomatedLinkToAPortChannel, *resty.Response, error) { + path := "/dna/intent/api/v1/lanAutomation/portChannels/{id}/addLink" + 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(requestLanAutomationAddALANAutomatedLinkToAPortChannel). + SetResult(&ResponseLanAutomationAddALanAutomatedLinkToAPortChannel{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.AddALanAutomatedLinkToAPortChannel(id, requestLanAutomationAddALANAutomatedLinkToAPortChannel) + } + + return nil, response, fmt.Errorf("error with operation AddALanAutomatedLinkToAPortChannel") + } + + result := response.Result().(*ResponseLanAutomationAddALanAutomatedLinkToAPortChannel) + return result, response, err + +} + +//RemoveALinkFromPortChannel Remove a link from Port Channel - 05bf-0a11-4e1a-824f +/* This API removes a member link from an existing Port Channel, reverting the link to a P2P L3 interface. + + +@param id id path parameter. ID of the port channel. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!remove-a-link-from-port-channel +*/ +func (s *LanAutomationService) RemoveALinkFromPortChannel(id string, requestLanAutomationRemoveALinkFromPortChannel *RequestLanAutomationRemoveALinkFromPortChannel) (*ResponseLanAutomationRemoveALinkFromPortChannel, *resty.Response, error) { + path := "/dna/intent/api/v1/lanAutomation/portChannels/{id}/removeLink" + 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(requestLanAutomationRemoveALinkFromPortChannel). + SetResult(&ResponseLanAutomationRemoveALinkFromPortChannel{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.RemoveALinkFromPortChannel(id, requestLanAutomationRemoveALinkFromPortChannel) + } + + return nil, response, fmt.Errorf("error with operation RemoveALinkFromPortChannel") + } + + result := response.Result().(*ResponseLanAutomationRemoveALinkFromPortChannel) + return result, response, err + +} + //LanAutomationStartV2 LAN Automation Start V2 - 51ba-8921-46da-9bec -/* Invoke V2 LAN Automation Start API, which supports optional auto-stop processing feature based on the provided timeout or a specific device list, or both. The stop processing will be executed automatically when either of the cases is satisfied, without specifically calling the stop API. The V2 API behaves similarly to if no timeout or device list is provided, and the user needs to call the stop API for LAN Automation stop processing. With the V2 API, the user can also specify the level up to which the devices can be LAN automated. +/* Invoke V2 LAN Automation Start API, which supports optional auto-stop processing feature based on the provided timeout or a specific device list, or both. The stop processing will be executed automatically when either of the cases is satisfied, without specifically calling the stop API. The V2 API behaves similarly to V1 if no timeout or device list is provided, and the user needs to call the stop API for LAN Automation stop processing. With the V2 API, the user can also specify the level up to which the devices can be LAN automated. @@ -740,7 +1071,8 @@ 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") } @@ -749,3 +1081,42 @@ func (s *LanAutomationService) LanAutomationStop(id string) (*ResponseLanAutomat return result, response, err } + +//DeletePortChannel Delete Port Channel - 9099-fb62-4c98-bf2e +/* This API deletes a Port Channel between LAN Automation associated devices using a valid Port Channel ID. + + +@param id id path parameter. ID of the port channel. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-port-channel +*/ +func (s *LanAutomationService) DeletePortChannel(id string) (*ResponseLanAutomationDeletePortChannel, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/lanAutomation/portChannels/{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(&ResponseLanAutomationDeletePortChannel{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeletePortChannel( + id) + } + return nil, response, fmt.Errorf("error with operation DeletePortChannel") + } + + result := response.Result().(*ResponseLanAutomationDeletePortChannel) + return result, response, err + +} diff --git a/sdk/licenses.go b/sdk/licenses.go index c6ff0c9..84ee36c 100644 --- a/sdk/licenses.go +++ b/sdk/licenses.go @@ -39,29 +39,23 @@ type LicenseUsageDetailsQueryParams struct { type ResponseLicensesRetrievesCSSMConnectionMode struct { Response *ResponseLicensesRetrievesCSSMConnectionModeResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // API version + 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"` // + 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 - + 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 + ClientID string `json:"clientId,omitempty"` // On-premise CSSM client id } type ResponseLicensesUpdateCSSMConnectionMode struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 - + 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 - + 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 { @@ -86,7 +80,6 @@ type ResponseLicensesDeviceCountDetails struct { } type ResponseLicensesDeviceLicenseSummary struct { Response *[]ResponseLicensesDeviceLicenseSummaryResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version } type ResponseLicensesDeviceLicenseSummaryResponse struct { AuthorizationStatus string `json:"authorization_status,omitempty"` // Smart license authorization status of device @@ -125,57 +118,6 @@ type ResponseLicensesDeviceLicenseSummaryResponse struct { CustomerTag4 string `json:"customer_tag4,omitempty"` // Customer Tag4 set on device SmartAccountName string `json:"smart_account_name,omitempty"` // Name of smart account } -type ResponseLicensesDeviceLicenseDetails struct { - DeviceUUID string `json:"device_uuid,omitempty"` // Id of device - Site string `json:"site,omitempty"` // Site of device - Model string `json:"model,omitempty"` // Model of device - LicenseMode string `json:"license_mode,omitempty"` // Mode of license - IsLicenseExpired *bool `json:"is_license_expired,omitempty"` // Is device license expired - SoftwareVersion string `json:"software_version,omitempty"` // Software image version of device - NetworkLicense string `json:"network_license,omitempty"` // Device network license level - EvaluationLicenseExpiry string `json:"evaluation_license_expiry,omitempty"` // Evaluation period expiry date - DeviceName string `json:"device_name,omitempty"` // Name of device - DeviceType string `json:"device_type,omitempty"` // Type of device - DnaLevel string `json:"dna_level,omitempty"` // Device Cisco DNA license level - VirtualAccountName string `json:"virtual_account_name,omitempty"` // Name of virtual account - IPAddress string `json:"ip_address,omitempty"` // IP address of device - MacAddress string `json:"mac_address,omitempty"` // MAC address of device - SntcStatus string `json:"sntc_status,omitempty"` // Valid if device is covered under license contract and invalid if not covered, otherwise unknown. - FeatureLicense []string `json:"feature_license,omitempty"` // Name of feature licenses - HasSupCards *bool `json:"has_sup_cards,omitempty"` // Whether device has supervisor cards - Udi string `json:"udi,omitempty"` // Unique Device Identifier - StackedDevices *[]ResponseLicensesDeviceLicenseDetailsStackedDevices `json:"stacked_devices,omitempty"` // - IsStackedDevice *bool `json:"is_stacked_device,omitempty"` // Is Stacked Device - AccessPoints *[]ResponseLicensesDeviceLicenseDetailsAccessPoints `json:"access_points,omitempty"` // - ChassisDetails *ResponseLicensesDeviceLicenseDetailsChassisDetails `json:"chassis_details,omitempty"` // -} -type ResponseLicensesDeviceLicenseDetailsStackedDevices struct { - MacAddress string `json:"mac_address,omitempty"` // Stack mac address - ID *int `json:"id,omitempty"` // Id - Role string `json:"role,omitempty"` // Chassis role - SerialNumber string `json:"serial_number,omitempty"` // Chassis serial number -} -type ResponseLicensesDeviceLicenseDetailsAccessPoints struct { - ApType string `json:"ap_type,omitempty"` // Type of access point - Count string `json:"count,omitempty"` // Number of access point -} -type ResponseLicensesDeviceLicenseDetailsChassisDetails struct { - BoardSerialNumber string `json:"board_serial_number,omitempty"` // Board serial number - Modules *[]ResponseLicensesDeviceLicenseDetailsChassisDetailsModules `json:"modules,omitempty"` // - SupervisorCards *[]ResponseLicensesDeviceLicenseDetailsChassisDetailsSupervisorCards `json:"supervisor_cards,omitempty"` // - Port *int `json:"port,omitempty"` // Number of port -} -type ResponseLicensesDeviceLicenseDetailsChassisDetailsModules struct { - ModuleType string `json:"module_type,omitempty"` // Type of module - ModuleName string `json:"module_name,omitempty"` // Name of module - SerialNumber string `json:"serial_number,omitempty"` // Serial number of module - ID *int `json:"id,omitempty"` // Id of module -} -type ResponseLicensesDeviceLicenseDetailsChassisDetailsSupervisorCards struct { - SerialNumber string `json:"serial_number,omitempty"` // Serial number of supervisor card - SupervisorCardType string `json:"supervisor_card_type,omitempty"` // Type of supervisor card - Status string `json:"status,omitempty"` // Status of supervisor card -} type ResponseLicensesDeviceDeregistration struct { Response *ResponseLicensesDeviceDeregistrationResponse `json:"response,omitempty"` // } @@ -229,33 +171,10 @@ 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"` -} -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"` + 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 @@ -289,120 +208,114 @@ type ResponseLicensesLicenseUsageDetailsUsedNetworkLicenseLicenseCountByType str LicenseType string `json:"license_type,omitempty"` // Type of license LicenseCount *int `json:"license_count,omitempty"` // Number of licenses } +type ResponseLicensesRetrievesSummaryOfNetworkDeviceLicenses struct { + Response *ResponseLicensesRetrievesSummaryOfNetworkDeviceLicensesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseLicensesRetrievesSummaryOfNetworkDeviceLicensesResponse struct { + NetworkDeviceLicenseSummary *ResponseLicensesRetrievesSummaryOfNetworkDeviceLicensesResponseNetworkDeviceLicenseSummary `json:"networkDeviceLicenseSummary,omitempty"` // + UnregisteredNetworkDeviceCount *int `json:"unregisteredNetworkDeviceCount,omitempty"` // Count of network devices that do not have licenses enabled + OutOfComplianceNetworkDeviceCount *int `json:"outOfComplianceNetworkDeviceCount,omitempty"` // Count of network devices with out-of-compliance licenses. This state is seen when the license does not have an available license in the corresponding Virtual Account that the network device is registered to in the Cisco Smart Account. + ExpiredNetworkDeviceLicenseCount *int `json:"expiredNetworkDeviceLicenseCount,omitempty"` // Count of network devices with expired licenses + ExpiringNetworkDeviceLicenseCount *int `json:"expiringNetworkDeviceLicenseCount,omitempty"` // Count of network device licenses expiring in 30 days +} +type ResponseLicensesRetrievesSummaryOfNetworkDeviceLicensesResponseNetworkDeviceLicenseSummary struct { + NetworkLicenseSummary *ResponseLicensesRetrievesSummaryOfNetworkDeviceLicensesResponseNetworkDeviceLicenseSummaryNetworkLicenseSummary `json:"networkLicenseSummary,omitempty"` // + DnaLicenseSummary *ResponseLicensesRetrievesSummaryOfNetworkDeviceLicensesResponseNetworkDeviceLicenseSummaryDnaLicenseSummary `json:"dnaLicenseSummary,omitempty"` // + CnsLicenseSummary *ResponseLicensesRetrievesSummaryOfNetworkDeviceLicensesResponseNetworkDeviceLicenseSummaryCnsLicenseSummary `json:"cnsLicenseSummary,omitempty"` // +} +type ResponseLicensesRetrievesSummaryOfNetworkDeviceLicensesResponseNetworkDeviceLicenseSummaryNetworkLicenseSummary struct { + EssentialCount *int `json:"essentialCount,omitempty"` // Count of consumed essential licenses + AdvantageCount *int `json:"advantageCount,omitempty"` // Count of consumed advantage licenses +} +type ResponseLicensesRetrievesSummaryOfNetworkDeviceLicensesResponseNetworkDeviceLicenseSummaryDnaLicenseSummary struct { + EssentialCount *int `json:"essentialCount,omitempty"` // Count of consumed essential licenses + AdvantageCount *int `json:"advantageCount,omitempty"` // Count of consumed advantage licenses +} +type ResponseLicensesRetrievesSummaryOfNetworkDeviceLicensesResponseNetworkDeviceLicenseSummaryCnsLicenseSummary struct { + EssentialCount *int `json:"essentialCount,omitempty"` // Count of consumed essential licenses + AdvantageCount *int `json:"advantageCount,omitempty"` // Count of consumed advantage licenses +} type ResponseLicensesSmartLicensingDeregistration struct { Response *ResponseLicensesSmartLicensingDeregistrationResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // API version + Version string `json:"version,omitempty"` // API version } type ResponseLicensesSmartLicensingDeregistrationResponse struct { URL string `json:"url,omitempty"` // URL to track the operation status } type ResponseLicensesSystemLicensingLastOperationStatus struct { Response *ResponseLicensesSystemLicensingLastOperationStatusResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // API version + Version string `json:"version,omitempty"` // API version } 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 + 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 + 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 + 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 + Version string `json:"version,omitempty"` // API version } type ResponseLicensesSystemLicensingStatusResponse struct { - RegistrationStatus *ResponseLicensesSystemLicensingStatusResponseRegistrationStatus `json:"registrationStatus,omitempty"` // - + 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 + 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 + 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. - + 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 + 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 - + 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. + 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"` // + 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 - + 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 + 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 { @@ -570,19 +483,18 @@ func (s *LicensesService) DeviceLicenseSummary(DeviceLicenseSummaryQueryParams * Documentation Link: https://developer.cisco.com/docs/dna-center/#!device-license-details */ -func (s *LicensesService) DeviceLicenseDetails(deviceuuid string) (*ResponseLicensesDeviceLicenseDetails, *resty.Response, error) { +func (s *LicensesService) DeviceLicenseDetails(deviceuuid string) (*resty.Response, error) { path := "/dna/intent/api/v1/licenses/device/{device_uuid}/details" path = strings.Replace(path, "{device_uuid}", fmt.Sprintf("%v", deviceuuid), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseLicensesDeviceLicenseDetails{}). SetError(&Error). Get(path) if err != nil { - return nil, nil, err + return nil, err } @@ -590,11 +502,10 @@ func (s *LicensesService) DeviceLicenseDetails(deviceuuid string) (*ResponseLice if response.StatusCode() == http.StatusUnauthorized { return s.DeviceLicenseDetails(deviceuuid) } - return nil, response, fmt.Errorf("error with operation DeviceLicenseDetails") + return response, fmt.Errorf("error with operation DeviceLicenseDetails") } - result := response.Result().(*ResponseLicensesDeviceLicenseDetails) - return result, response, err + return response, err } @@ -755,6 +666,40 @@ func (s *LicensesService) LicenseUsageDetails(smartaccountTypeID string, virtual } +//RetrievesSummaryOfNetworkDeviceLicenses Retrieves summary of network device licenses - 9c8e-f921-4b0a-8f2d +/* Retrieves the summary of consumed network, DNA, and Cisco Networking Subscription (CNS) licenses, along with the counts of unregistered and out-of-compliance network devices, and expired and expiring network device licenses. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-summary-of-network-device-licenses +*/ +func (s *LicensesService) RetrievesSummaryOfNetworkDeviceLicenses() (*ResponseLicensesRetrievesSummaryOfNetworkDeviceLicenses, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceLicenses/summary" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseLicensesRetrievesSummaryOfNetworkDeviceLicenses{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesSummaryOfNetworkDeviceLicenses() + } + return nil, response, fmt.Errorf("error with operation RetrievesSummaryOfNetworkDeviceLicenses") + } + + result := response.Result().(*ResponseLicensesRetrievesSummaryOfNetworkDeviceLicenses) + return result, response, err + +} + //SystemLicensingLastOperationStatus System Licensing Last Operation Status - 458d-da00-4e18-b4ec /* Retrieves the status of the last system licensing operation. diff --git a/sdk/network_settings.go b/sdk/network_settings.go index 186c7e6..04e86a5 100644 --- a/sdk/network_settings.go +++ b/sdk/network_settings.go @@ -23,17 +23,17 @@ type GetGlobalPoolQueryParams struct { } 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. + 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. + 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. + 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. @@ -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 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 } @@ -237,332 +237,225 @@ type ResponseNetworkSettingsDeleteGlobalIPPool struct { Message string `json:"message,omitempty"` // Message } type ResponseNetworkSettingsCreateAGlobalIPAddressPool struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 - + 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 - + 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"` // + 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. + 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. + 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 + 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"` // + 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 + 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"` // + 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. + 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. + 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 - + 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 - + 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 - + 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 - + 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 - + 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 - + 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"` // + Version string `json:"version,omitempty"` // } type ResponseNetworkSettingsRetrievesIPAddressSubpoolsResponse struct { - ID string `json:"id,omitempty"` // The UUID for this reserve IP pool (subpool). - + 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. + 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. + 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. + 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 + 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 - + 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 - + 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 - + 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 - + 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"` // + Version string `json:"version,omitempty"` // } type ResponseNetworkSettingsRetrievesAnIPAddressSubpoolResponse struct { - ID string `json:"id,omitempty"` // The UUID for this reserve IP pool (subpool). - + 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. + 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. + 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. + 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 @@ -570,18 +463,15 @@ type ResponseNetworkSettingsUpdateNetwork struct { Message string `json:"message,omitempty"` // Message } type ResponseNetworkSettingsRetrieveCliTemplatesAttachedToANetworkProfile struct { - Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 - + 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` - + 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 - + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 Response *ResponseNetworkSettingsRetrieveCountOfCliTemplatesAttachedToANetworkProfileResponse `json:"response,omitempty"` // } type ResponseNetworkSettingsRetrieveCountOfCliTemplatesAttachedToANetworkProfileResponse struct { @@ -589,439 +479,314 @@ type ResponseNetworkSettingsRetrieveCountOfCliTemplatesAttachedToANetworkProfile } 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"` // @@ -1035,9 +800,9 @@ type ResponseNetworkSettingsRetrieveTelemetrySettingsForASiteResponse struct { ApplicationVisibility *ResponseNetworkSettingsRetrieveTelemetrySettingsForASiteResponseApplicationVisibility `json:"applicationVisibility,omitempty"` // } type ResponseNetworkSettingsRetrieveTelemetrySettingsForASiteResponseWiredDataCollection struct { - EnableWiredDataCollectio *bool `json:"enableWiredDataCollectio,omitempty"` // Track the presence, location, and movement of wired endpoints in the network. Traffic received from endpoints is used to extract and store their identity information (MAC address and IP address). Other features, such as IEEE 802.1X, web authentication, Cisco Security Groups (formerly TrustSec), SD-Access, and Assurance, depend on this identity information to operate properly. Wired Endpoint Data Collection enables Device Tracking policies on devices assigned to the Access role in Inventory. - InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id - InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name + EnableWiredDataCollection *bool `json:"enableWiredDataCollection,omitempty"` // Track the presence, location, and movement of wired endpoints in the network. Traffic received from endpoints is used to extract and store their identity information (MAC address and IP address). Other features, such as IEEE 802.1X, web authentication, Cisco Security Groups (formerly TrustSec), SD-Access, and Assurance, depend on this identity information to operate properly. Wired Endpoint Data Collection enables Device Tracking policies on devices assigned to the Access role in Inventory. + InheritedSiteID string `json:"inheritedSiteId,omitempty"` // Inherited Site Id + InheritedSiteName string `json:"inheritedSiteName,omitempty"` // Inherited Site Name } type ResponseNetworkSettingsRetrieveTelemetrySettingsForASiteResponseWirelessTelemetry 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. @@ -1068,334 +833,235 @@ 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"` // @@ -1404,15 +1070,11 @@ 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"` // @@ -1421,371 +1083,234 @@ 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. + 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. + 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. + 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. + 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. + 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. + 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. + 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. + 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. + 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. + 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"` // - + 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"` // @@ -1795,9 +1320,7 @@ 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 { @@ -1807,70 +1330,49 @@ 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. @@ -1916,43 +1418,34 @@ 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 { - EnableWiredDataCollectio *bool `json:"enableWiredDataCollectio,omitempty"` // Track the presence, location, and movement of wired endpoints in the network. Traffic received from endpoints is used to extract and store their identity information (MAC address and IP address). Other features, such as IEEE 802.1X, web authentication, Cisco Security Groups (formerly TrustSec), SD-Access, and Assurance, depend on this identity information to operate properly. Wired Endpoint Data Collection enables Device Tracking policies on devices assigned to the Access role in Inventory. + EnableWiredDataCollection *bool `json:"enableWiredDataCollection,omitempty"` // Track the presence, location, and movement of wired endpoints in the network. Traffic received from endpoints is used to extract and store their identity information (MAC address and IP address). Other features, such as IEEE 802.1X, web authentication, Cisco Security Groups (formerly TrustSec), SD-Access, and Assurance, depend on this identity information to operate properly. Wired Endpoint Data Collection enables Device Tracking policies on devices assigned to the Access role in Inventory. } 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"` // @@ -1964,162 +1457,111 @@ 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 { @@ -2130,9 +1572,7 @@ 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 { @@ -2142,12 +1582,9 @@ 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 } @@ -2711,7 +2148,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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-aaa-settings-for-a-site */ func (s *NetworkSettingsService) RetrieveAAASettingsForASite(id string, RetrieveAAASettingsForASiteQueryParams *RetrieveAAASettingsForASiteQueryParams) (*ResponseNetworkSettingsRetrieveAAASettingsForASite, *resty.Response, error) { path := "/dna/intent/api/v1/sites/{id}/aaaSettings" @@ -2735,7 +2172,7 @@ func (s *NetworkSettingsService) RetrieveAAASettingsForASite(id string, Retrieve if response.StatusCode() == http.StatusUnauthorized { return s.RetrieveAAASettingsForASite(id, RetrieveAAASettingsForASiteQueryParams) } - return nil, response, fmt.Errorf("error with operation RetrieveAAASettingsForASite") + return nil, response, fmt.Errorf("error with operation RetrieveAaaSettingsForASite") } result := response.Result().(*ResponseNetworkSettingsRetrieveAAASettingsForASite) @@ -3969,7 +3406,7 @@ func (s *NetworkSettingsService) SetAAASettingsForASite(id string, requestNetwor if response.StatusCode() == http.StatusUnauthorized { return s.SetAAASettingsForASite(id, requestNetworkSettingsSetAAASettingsForASite) } - return nil, response, fmt.Errorf("error with operation SetAAASettingsForASite") + return nil, response, fmt.Errorf("error with operation SetAaaSettingsForASite") } result := response.Result().(*ResponseNetworkSettingsSetAAASettingsForASite) @@ -4362,7 +3799,8 @@ 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") } @@ -4400,7 +3838,8 @@ func (s *NetworkSettingsService) DeleteGlobalIPPool(id string) (*ResponseNetwork if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteGlobalIPPool(id) + return s.DeleteGlobalIPPool( + id) } return nil, response, fmt.Errorf("error with operation DeleteGlobalIpPool") } @@ -4438,7 +3877,8 @@ func (s *NetworkSettingsService) DeleteAGlobalIPAddressPool(id string) (*Respons if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteAGlobalIPAddressPool(id) + return s.DeleteAGlobalIPAddressPool( + id) } return nil, response, fmt.Errorf("error with operation DeleteAGlobalIpAddressPool") } @@ -4477,7 +3917,8 @@ func (s *NetworkSettingsService) ReleaseAnIPAddressSubpool(id string) (*Response if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReleaseAnIPAddressSubpool(id) + return s.ReleaseAnIPAddressSubpool( + id) } return nil, response, fmt.Errorf("error with operation ReleaseAnIpAddressSubpool") } @@ -4515,7 +3956,8 @@ func (s *NetworkSettingsService) ReleaseReserveIPSubpool(id string) (*ResponseNe if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReleaseReserveIPSubpool(id) + return s.ReleaseReserveIPSubpool( + id) } return nil, response, fmt.Errorf("error with operation ReleaseReserveIpSubpool") } @@ -4553,7 +3995,8 @@ func (s *NetworkSettingsService) DeleteSpProfile(spProfileName string) (*Respons if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteSpProfile(spProfileName) + return s.DeleteSpProfile( + spProfileName) } return nil, response, fmt.Errorf("error with operation DeleteSpProfile") } @@ -4591,7 +4034,8 @@ func (s *NetworkSettingsService) DeleteSpProfileV2(spProfileName string) (*Respo if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteSpProfileV2(spProfileName) + return s.DeleteSpProfileV2( + spProfileName) } return nil, response, fmt.Errorf("error with operation DeleteSpProfileV2") } diff --git a/sdk/path_trace.go b/sdk/path_trace.go index 034ce3a..ce7a28e 100644 --- a/sdk/path_trace.go +++ b/sdk/path_trace.go @@ -462,761 +462,471 @@ 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 @@ -1358,7 +1068,8 @@ func (s *PathTraceService) DeletesPathtraceByID(flowAnalysisID string) (*Respons if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletesPathtraceByID(flowAnalysisID) + return s.DeletesPathtraceByID( + flowAnalysisID) } return nil, response, fmt.Errorf("error with operation DeletesPathtraceById") } diff --git a/sdk/platform.go b/sdk/platform.go index a0e073f..d14ca61 100644 --- a/sdk/platform.go +++ b/sdk/platform.go @@ -9,124 +9,95 @@ import ( type PlatformService service -type ResponsePlatformCiscoDnaCenterPackagesSummary struct { - Response *[]ResponsePlatformCiscoDnaCenterPackagesSummaryResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // The MAGLEV-API version (this field is for internal development purpose) +type ResponsePlatformCiscoCatalystCenterPackagesSummary struct { + Response *[]ResponsePlatformCiscoCatalystCenterPackagesSummaryResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The MAGLEV-API version (this field is for internal development purpose) } -type ResponsePlatformCiscoDnaCenterPackagesSummaryResponse struct { +type ResponsePlatformCiscoCatalystCenterPackagesSummaryResponse struct { Name string `json:"name,omitempty"` // Name of installed package Version string `json:"version,omitempty"` // Version of installed package } -type ResponsePlatformCiscoDnaCenterReleaseSummary struct { - Version string `json:"version,omitempty"` // The MAGLEV-API version (this field is for internal development purpose) - 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 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) -} -type ResponsePlatformCiscoDnaCenterReleaseSummaryResponseSupportedDirectUpdates interface{} -type ResponsePlatformCiscoDnaCenterNodesConfigurationSummary struct { - 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 -} -type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNtp struct { +type ResponsePlatformCiscoCatalystCenterReleaseSummary struct { + Version string `json:"version,omitempty"` // The MAGLEV-API version (this field is for internal development purpose) + Response *ResponsePlatformCiscoCatalystCenterReleaseSummaryResponse `json:"response,omitempty"` // +} +type ResponsePlatformCiscoCatalystCenterReleaseSummaryResponse 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 + SupportedDirectUpdates *[]ResponsePlatformCiscoCatalystCenterReleaseSummaryResponseSupportedDirectUpdates `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) +} +type ResponsePlatformCiscoCatalystCenterReleaseSummaryResponseSupportedDirectUpdates interface{} +type ResponsePlatformCiscoCatalystCenterNodesConfigurationSummary struct { + Version string `json:"version,omitempty"` // The MAGLEV-API version (this field is for internal development purpose) + Response *ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponse `json:"response,omitempty"` // +} +type ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponse struct { + Nodes *[]ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodes `json:"nodes,omitempty"` // +} +type ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodes struct { + Ntp *ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNtp `json:"ntp,omitempty"` // + Network *[]ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNetwork `json:"network,omitempty"` // + Proxy *ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesProxy `json:"proxy,omitempty"` // + Platform *ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesPlatform `json:"platform,omitempty"` // + ID string `json:"id,omitempty"` // Cluster Identifier + Name string `json:"name,omitempty"` // Node name +} +type ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNtp 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 -} -type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInet struct { - 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 -} -type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInetRoutes interface{} -type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInetDNSServers interface{} -type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesNetworkInet6 struct { - HostIP string `json:"host_ip,omitempty"` // IP assigned to the host - +type ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNetwork 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 *ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNetworkInet `json:"inet,omitempty"` // + Interface string `json:"interface,omitempty"` // Interface name + Inet6 *ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNetworkInet6 `json:"inet6,omitempty"` // + LacpSupported *bool `json:"lacp_supported,omitempty"` // LACP Support configuration on NIC + SLAve []string `json:"slave,omitempty"` // Physical interface name +} +type ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNetworkInet struct { + Routes *[]ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNetworkInetRoutes `json:"routes,omitempty"` // Static route + Gateway string `json:"gateway,omitempty"` // Default gateway + DNSServers *[]ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNetworkInetDNSServers `json:"dns_servers,omitempty"` // DNS server + Netmask string `json:"netmask,omitempty"` // Subnet mask + HostIP string `json:"host_ip,omitempty"` // IP assigned +} +type ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNetworkInetRoutes interface{} +type ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNetworkInetDNSServers interface{} +type ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesNetworkInet6 struct { + 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. +type ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesProxy 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. } -type ResponsePlatformCiscoDnaCenterNodesConfigurationSummaryResponseNodesPlatform struct { - Vendor string `json:"vendor,omitempty"` // Product manufacturer - +type ResponsePlatformCiscoCatalystCenterNodesConfigurationSummaryResponseNodesPlatform struct { + 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 Dna Center Packages Summary - f3aa-697a-453a-bba0 -/* Provides information such as name, version of packages installed on the Dna center. +//CiscoCatalystCenterPackagesSummary Cisco Catalyst Center Packages Summary - f3aa-697a-453a-bba0 +/* Provides information such as name, version of packages installed on the Catalyst center. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-dna-center-packages-summary +Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-catalyst-center-packages-summary */ -func (s *PlatformService) CiscoDnaCenterPackagesSummary() (*ResponsePlatformCiscoDnaCenterPackagesSummary, *resty.Response, error) { +func (s *PlatformService) CiscoCatalystCenterPackagesSummary() (*ResponsePlatformCiscoCatalystCenterPackagesSummary, *resty.Response, error) { path := "/dna/intent/api/v1/dnac-packages" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponsePlatformCiscoDnaCenterPackagesSummary{}). + SetResult(&ResponsePlatformCiscoCatalystCenterPackagesSummary{}). SetError(&Error). Get(path) @@ -137,30 +108,30 @@ func (s *PlatformService) CiscoDnaCenterPackagesSummary() (*ResponsePlatformCisc if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CiscoDnaCenterPackagesSummary() + return s.CiscoCatalystCenterPackagesSummary() } - return nil, response, fmt.Errorf("error with operation CiscoDnaCenterPackagesSummary") + return nil, response, fmt.Errorf("error with operation CiscoCatalystCenterPackagesSummary") } - result := response.Result().(*ResponsePlatformCiscoDnaCenterPackagesSummary) + result := response.Result().(*ResponsePlatformCiscoCatalystCenterPackagesSummary) return result, response, err } -//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. +//CiscoCatalystCenterReleaseSummary 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. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-dna-center-release-summary +Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-catalyst-center-release-summary */ -func (s *PlatformService) CiscoDnaCenterReleaseSummary() (*ResponsePlatformCiscoDnaCenterReleaseSummary, *resty.Response, error) { +func (s *PlatformService) CiscoCatalystCenterReleaseSummary() (*ResponsePlatformCiscoCatalystCenterReleaseSummary, *resty.Response, error) { path := "/dna/intent/api/v1/dnac-release" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponsePlatformCiscoDnaCenterReleaseSummary{}). + SetResult(&ResponsePlatformCiscoCatalystCenterReleaseSummary{}). SetError(&Error). Get(path) @@ -171,30 +142,30 @@ func (s *PlatformService) CiscoDnaCenterReleaseSummary() (*ResponsePlatformCisco if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CiscoDnaCenterReleaseSummary() + return s.CiscoCatalystCenterReleaseSummary() } - return nil, response, fmt.Errorf("error with operation CiscoDnaCenterReleaseSummary") + return nil, response, fmt.Errorf("error with operation CiscoCatalystCenterReleaseSummary") } - result := response.Result().(*ResponsePlatformCiscoDnaCenterReleaseSummary) + result := response.Result().(*ResponsePlatformCiscoCatalystCenterReleaseSummary) return result, response, err } -//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. +//CiscoCatalystCenterNodesConfigurationSummary 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. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-dna-center-nodes-configuration-summary +Documentation Link: https://developer.cisco.com/docs/dna-center/#!cisco-catalyst-center-nodes-configuration-summary */ -func (s *PlatformService) CiscoDnaCenterNodesConfigurationSummary() (*ResponsePlatformCiscoDnaCenterNodesConfigurationSummary, *resty.Response, error) { +func (s *PlatformService) CiscoCatalystCenterNodesConfigurationSummary() (*ResponsePlatformCiscoCatalystCenterNodesConfigurationSummary, *resty.Response, error) { path := "/dna/intent/api/v1/nodes-config" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponsePlatformCiscoDnaCenterNodesConfigurationSummary{}). + SetResult(&ResponsePlatformCiscoCatalystCenterNodesConfigurationSummary{}). SetError(&Error). Get(path) @@ -205,12 +176,12 @@ func (s *PlatformService) CiscoDnaCenterNodesConfigurationSummary() (*ResponsePl if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CiscoDnaCenterNodesConfigurationSummary() + return s.CiscoCatalystCenterNodesConfigurationSummary() } - return nil, response, fmt.Errorf("error with operation CiscoDnaCenterNodesConfigurationSummary") + return nil, response, fmt.Errorf("error with operation CiscoCatalystCenterNodesConfigurationSummary") } - result := response.Result().(*ResponsePlatformCiscoDnaCenterNodesConfigurationSummary) + result := response.Result().(*ResponsePlatformCiscoCatalystCenterNodesConfigurationSummary) return result, response, err } diff --git a/sdk/reports.go b/sdk/reports.go index e1001c8..5590d02 100644 --- a/sdk/reports.go +++ b/sdk/reports.go @@ -18,44 +18,29 @@ 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 { @@ -68,513 +53,339 @@ 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 ResponseReportsGetAllExecutionDetailsForAGivenReportViewFormat interface{} +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 @@ -1128,7 +939,8 @@ func (s *ReportsService) DeleteAScheduledReport(reportID string) (*ResponseRepor if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteAScheduledReport(reportID) + return s.DeleteAScheduledReport( + reportID) } return nil, response, fmt.Errorf("error with operation DeleteAScheduledReport") } diff --git a/sdk/restore.go b/sdk/restore.go new file mode 100644 index 0000000..50c8f10 --- /dev/null +++ b/sdk/restore.go @@ -0,0 +1,53 @@ +package dnac + +import ( + "fmt" + "net/http" + "strings" + + "github.com/go-resty/resty/v2" +) + +type RestoreService service + +type RequestReportsRestoreBackup struct { + EncryptionPassphrase string `json:"encryptionPassphrase,omitempty"` // Passphrase to restore backup +} + +//RestoreBackup Restore Backup - e1ae-d8ee-4bfa-b686 +/* This api is used to trigger restore workflow of a specific backup. Obtain the `id` from the id attribute in the response of the `/dna/system/api/v1/backups` API. To monitor the progress and completion of the backup deletion , please call `/dna/system/api/v1/backupRestoreExecutions/{id}` api , where id is the taskId attribute from the response of the curent endpoint. + + +@param id id path parameter. The `id` of the backup to be restored.Obtain the `id` from the id attribute in the response of the `/dna/system/api/v1/backups` API. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!restore-backup +*/ +func (s *RestoreService) RestoreBackup(id string, requestReportsRestoreBackup *RequestReportsRestoreBackup) (*resty.Response, error) { + path := "/dna/system/api/v1/backups/{id}/restore" + 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(requestReportsRestoreBackup). + SetError(&Error). + Post(path) + + if err != nil { + return nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.RestoreBackup(id, requestReportsRestoreBackup) + } + + return response, fmt.Errorf("error with operation RestoreBackup") + } + + return response, err + +} diff --git a/sdk/sda.go b/sdk/sda.go index 009cab8..1c4857b 100644 --- a/sdk/sda.go +++ b/sdk/sda.go @@ -12,23 +12,27 @@ 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. + 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. + 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) } 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) + 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) + 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) } 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. @@ -55,8 +59,10 @@ type TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams stru 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. + 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) } 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. @@ -105,25 +111,29 @@ type TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams 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. + 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. + 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) } 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. + 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. + 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) } 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. @@ -407,6 +417,7 @@ type GetPortAssignmentsQueryParams struct { InterfaceName string `url:"interfaceName,omitempty"` //Interface name of the port assignment. DataVLANName string `url:"dataVlanName,omitempty"` //Data VLAN name of the port assignment. VoiceVLANName string `url:"voiceVlanName,omitempty"` //Voice VLAN name of the port assignment. + NativeVLANID float64 `url:"nativeVlanId,omitempty"` //Native VLAN of the port assignment, this option is only applicable to TRUNKING_DEVICE connectedDeviceType.(VLAN must be between 1 and 4094. In cases value not set when connectedDeviceType is TRUNKING_DEVICE, default value will be '1'). 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. } @@ -424,11 +435,12 @@ type GetPortAssignmentCountQueryParams 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. } -type GetPortChannelsQueryParams struct { +type GetPortChannelsConnectivityQueryParams 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. ConnectedDeviceType string `url:"connectedDeviceType,omitempty"` //Connected device type of the port channel. The allowed values are [TRUNK, EXTENDED_NODE]. + NativeVLANID float64 `url:"nativeVlanId,omitempty"` //Native VLAN of the port channel, this option is only applicable to TRUNK connectedDeviceType.(VLAN must be between 1 and 4094. In cases value not set when connectedDeviceType is TRUNK, default value will be '1'). 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. } @@ -473,6 +485,25 @@ type GetTransitNetworksQueryParams struct { 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]. } +type SdaFabricSitesReadinessQueryParams struct { + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. + SortBy string `url:"sortBy,omitempty"` //Sort results by the fabric site name. +} +type ReadinessStatusForAFabricSiteQueryParams struct { + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. +} +type SecurityServiceInsertionSummaryQueryParams struct { + Order string `url:"order,omitempty"` //The sorting order for the response can be specified as either ascending (asc) or descending (desc). If no value is specified, the default order is ascending (asc). + Limit float64 `url:"limit,omitempty"` //Maximum number of records to return. Default value is 500, minimum value is 1 and maximum value is 500. + Offset float64 `url:"offset,omitempty"` //Starting record for pagination. The first record is numbered 1. + FabricSiteName string `url:"fabricSiteName,omitempty"` //Filter by fabric site name (supports partial search). For example, searching for "London" will match "London fabric site", etc. +} +type SecurityServiceInsertionsQueryParams struct { + Limit string `url:"limit,omitempty"` //Maximum number of records to return. Default value is 100, minimum value is 1 and maximum value is 100. + Offset float64 `url:"offset,omitempty"` //Starting record for pagination. The first record is numbered 1. + Order string `url:"order,omitempty"` //The sorting order for the response can be specified as either ascending (asc) or descending (desc). The default order is ascending (asc). + FabricSiteName string `url:"fabricSiteName,omitempty"` //Filter by fabric site name (supports partial search). For example, searching for "London" will match "London fabric site", etc. +} type DeleteVirtualNetworkWithScalableGroupsQueryParams struct { VirtualNetworkName string `url:"virtualNetworkName,omitempty"` //virtualNetworkName } @@ -482,1115 +513,658 @@ type GetVirtualNetworkWithScalableGroupsQueryParams struct { type ResponseSdaReadListOfFabricSitesWithTheirHealthSummary struct { Response *[]ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryResponse `json:"response,omitempty"` // + Page *ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version } 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 + ID string `json:"id,omitempty"` // Id + Name string `json:"name,omitempty"` // Name + TotalDeviceCount *int `json:"totalDeviceCount,omitempty"` // Total Device Count + GoodHealthPercentage *float64 `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + TotalHealthDeviceCount *int `json:"totalHealthDeviceCount,omitempty"` // Total Health Device Count + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + PoorHealthDeviceCount *int `json:"poorHealthDeviceCount,omitempty"` // Poor Health Device Count + FairHealthDeviceCount *int `json:"fairHealthDeviceCount,omitempty"` // Fair Health Device Count + ConnectivityGoodHealthPercentage *float64 `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 *float64 `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 *int `json:"infraFairHealthDeviceCount,omitempty"` // Infra Fair Health Device Count + InfraPoorHealthDeviceCount *int `json:"infraPoorHealthDeviceCount,omitempty"` // Infra Poor Health Device Count + ControlPlaneGoodHealthPercentage *float64 `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 *int `json:"controlPlanePoorHealthDeviceCount,omitempty"` // Control Plane Poor Health Device Count + ControlPlaneFairHealthDeviceCount *int `json:"controlPlaneFairHealthDeviceCount,omitempty"` // Control Plane Fair Health Device Count + PubsubInfraVnGoodHealthPercentage *float64 `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 *float64 `json:"bgpEvpnGoodHealthPercentage,omitempty"` // Bgp Evpn Good Health Percentage + BgpEvpnTotalHealthDeviceCount *int `json:"bgpEvpnTotalHealthDeviceCount,omitempty"` // Bgp Evpn Total Health Device Count + BgpEvpnGoodHealthDeviceCount *int `json:"bgpEvpnGoodHealthDeviceCount,omitempty"` // Bgp Evpn Good Health Device Count + BgpEvpnpoorHealthDeviceCount *int `json:"bgpEvpnPoorHealthDeviceCount,omitempty"` // Bgp Evpn Poor Health Device Count + BgpEvpnFairHealthDeviceCount *int `json:"bgpEvpnFairHealthDeviceCount,omitempty"` // Bgp Evpn Fair Health Device Count + CtsEnvDataDownloadGoodHealthPercentage *float64 `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 *int `json:"ctsEnvDataDownloadFairHealthDeviceCount,omitempty"` // Cts Env Data Download Fair Health Device Count + AAAStatusGoodHealthPercentage *float64 `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 *float64 `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 *float64 `json:"peerScoreGoodHealthPercentage,omitempty"` // Peer Score Good Health Percentage + PeerScoreTotalHealthDeviceCount *int `json:"peerScoreTotalHealthDeviceCount,omitempty"` // Peer Score Total Health Device Count + PeerScoreGoodHealthDeviceCount *int `json:"peerScoreGoodHealthDeviceCount,omitempty"` // Peer Score Good Health Device Count + PeerScorePoorHealthDeviceCount *int `json:"peerScorePoorHealthDeviceCount,omitempty"` // Peer Score Poor Health Device Count + PeerScoreFairHealthDeviceCount *int `json:"peerScoreFairHealthDeviceCount,omitempty"` // Peer Score Fair Health Device Count + LispSessionGoodHealthPercentage *float64 `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 *int `json:"lispSessionFairHealthDeviceCount,omitempty"` // Lisp Session Fair Health Device Count + BorderToControlPlaneGoodHealthPercentage *float64 `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 *int `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 *float64 `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 *int `json:"bgpBgpSitePoorHealthDeviceCount,omitempty"` // Bgp Bgp Site Poor Health Device Count + BgpBgpSiteFairHealthDeviceCount *int `json:"bgpBgpSiteFairHealthDeviceCount,omitempty"` // Bgp Bgp Site Fair Health Device Count + BgpPubsubSiteGoodHealthPercentage *float64 `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 *int `json:"bgpPubsubSitePoorHealthDeviceCount,omitempty"` // Bgp Pubsub Site Poor Health Device Count + BgpPubsubSiteFairHealthDeviceCount *int `json:"bgpPubsubSiteFairHealthDeviceCount,omitempty"` // Bgp Pubsub Site Fair Health Device Count + BgpPeerInfraVnScoreGoodHealthPercentage *float64 `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 *int `json:"bgpPeerInfraVnFairHealthDeviceCount,omitempty"` // Bgp Peer Infra Vn 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 +} +type ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order } -type ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryResponseBgpEvpnGoodHealthPercentage interface{} -type ResponseSdaReadListOfFabricSitesWithTheirHealthSummaryResponsePeerScoreGoodHealthPercentage interface{} type ResponseSdaReadFabricSiteCount struct { Response *ResponseSdaReadFabricSiteCountResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSdaReadFabricSiteCountResponse struct { Count *int `json:"count,omitempty"` // Count } type ResponseSdaReadFabricSitesWithHealthSummaryFromID struct { Response *ResponseSdaReadFabricSitesWithHealthSummaryFromIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } 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 + ID string `json:"id,omitempty"` // Id + Name string `json:"name,omitempty"` // Name + TotalDeviceCount *int `json:"totalDeviceCount,omitempty"` // Total Device Count + GoodHealthPercentage *float64 `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + TotalHealthDeviceCount *int `json:"totalHealthDeviceCount,omitempty"` // Total Health Device Count + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + PoorHealthDeviceCount *int `json:"poorHealthDeviceCount,omitempty"` // Poor Health Device Count + FairHealthDeviceCount *int `json:"fairHealthDeviceCount,omitempty"` // Fair Health Device Count + ConnectivityGoodHealthPercentage *float64 `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 *float64 `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 *int `json:"infraFairHealthDeviceCount,omitempty"` // Infra Fair Health Device Count + InfraPoorHealthDeviceCount *int `json:"infraPoorHealthDeviceCount,omitempty"` // Infra Poor Health Device Count + ControlPlaneGoodHealthPercentage *float64 `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 *int `json:"controlPlanePoorHealthDeviceCount,omitempty"` // Control Plane Poor Health Device Count + ControlPlaneFairHealthDeviceCount *int `json:"controlPlaneFairHealthDeviceCount,omitempty"` // Control Plane Fair Health Device Count + PubsubInfraVnGoodHealthPercentage *float64 `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 *float64 `json:"bgpEvpnGoodHealthPercentage,omitempty"` // Bgp Evpn Good Health Percentage + BgpEvpnTotalHealthDeviceCount *int `json:"bgpEvpnTotalHealthDeviceCount,omitempty"` // Bgp Evpn Total Health Device Count + BgpEvpnGoodHealthDeviceCount *int `json:"bgpEvpnGoodHealthDeviceCount,omitempty"` // Bgp Evpn Good Health Device Count + BgpEvpnpoorHealthDeviceCount *int `json:"bgpEvpnPoorHealthDeviceCount,omitempty"` // Bgp Evpn Poor Health Device Count + BgpEvpnFairHealthDeviceCount *int `json:"bgpEvpnFairHealthDeviceCount,omitempty"` // Bgp Evpn Fair Health Device Count + CtsEnvDataDownloadGoodHealthPercentage *float64 `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 *int `json:"ctsEnvDataDownloadFairHealthDeviceCount,omitempty"` // Cts Env Data Download Fair Health Device Count + AAAStatusGoodHealthPercentage *float64 `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 *float64 `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 *float64 `json:"peerScoreGoodHealthPercentage,omitempty"` // Peer Score Good Health Percentage + PeerScoreTotalHealthDeviceCount *int `json:"peerScoreTotalHealthDeviceCount,omitempty"` // Peer Score Total Health Device Count + PeerScoreGoodHealthDeviceCount *int `json:"peerScoreGoodHealthDeviceCount,omitempty"` // Peer Score Good Health Device Count + PeerScorePoorHealthDeviceCount *int `json:"peerScorePoorHealthDeviceCount,omitempty"` // Peer Score Poor Health Device Count + PeerScoreFairHealthDeviceCount *int `json:"peerScoreFairHealthDeviceCount,omitempty"` // Peer Score Fair Health Device Count + LispSessionGoodHealthPercentage *float64 `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 *int `json:"lispSessionFairHealthDeviceCount,omitempty"` // Lisp Session Fair Health Device Count + BorderToControlPlaneGoodHealthPercentage *float64 `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 *int `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 *float64 `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 *int `json:"bgpBgpSitePoorHealthDeviceCount,omitempty"` // Bgp Bgp Site Poor Health Device Count + BgpBgpSiteFairHealthDeviceCount *int `json:"bgpBgpSiteFairHealthDeviceCount,omitempty"` // Bgp Bgp Site Fair Health Device Count + BgpPubsubSiteGoodHealthPercentage *float64 `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 *int `json:"bgpPubsubSitePoorHealthDeviceCount,omitempty"` // Bgp Pubsub Site Poor Health Device Count + BgpPubsubSiteFairHealthDeviceCount *int `json:"bgpPubsubSiteFairHealthDeviceCount,omitempty"` // Bgp Pubsub Site Fair Health Device Count + BgpPeerInfraVnScoreGoodHealthPercentage *float64 `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 *int `json:"bgpPeerInfraVnFairHealthDeviceCount,omitempty"` // Bgp Peer Infra Vn 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 } -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 + Page *ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangePage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version } type ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeResponse struct { - Timestamp *int `json:"timestamp,omitempty"` // Timestamp - + Timestamp *int `json:"timestamp,omitempty"` // Timestamp Attributes *[]ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeResponseAttributes `json:"attributes,omitempty"` // } type ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeResponseAttributes struct { - Name string `json:"name,omitempty"` // Name - - Value *int `json:"value,omitempty"` // Value + Name string `json:"name,omitempty"` // Name + Value *int `json:"value,omitempty"` // Value } type ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangePage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *float64 `json:"offset,omitempty"` // Offset - - TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order + 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 ResponseSdaReadFabricEntitySummary struct { Response *ResponseSdaReadFabricEntitySummaryResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSdaReadFabricEntitySummaryResponse struct { ProtocolSummaries *[]ResponseSdaReadFabricEntitySummaryResponseProtocolSummaries `json:"protocolSummaries,omitempty"` // } 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 + FabricSiteGoodHealthCount *int `json:"fabricSiteGoodHealthCount,omitempty"` // Fabric Site Good Health Count + FabricSiteCount *int `json:"fabricSiteCount,omitempty"` // Fabric Site Count + FabricSiteGoodHealthPercentage *float64 `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 *int `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 *float64 `json:"l3VnGoodHealthPercentage,omitempty"` // L3 Vn Good Health Percentage + L3VnNoHealthCount *int `json:"l3VnNoHealthCount,omitempty"` // L3 Vn No Health Count + L3VnFairHealthCount *int `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 *float64 `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 *int `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 *float64 `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 *int `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 ResponseSdaReadListOfTransitNetworksWithTheirHealthSummary struct { Response *[]ResponseSdaReadListOfTransitNetworksWithTheirHealthSummaryResponse `json:"response,omitempty"` // + Page *ResponseSdaReadListOfTransitNetworksWithTheirHealthSummaryPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version } 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 + 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 + NetworkProtocol string `json:"networkProtocol,omitempty"` // Network Protocol + FabricSitesCount *int `json:"fabricSitesCount,omitempty"` // Fabric Sites Count + GoodHealthPercentage *float64 `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + TotalHealthDeviceCount *int `json:"totalHealthDeviceCount,omitempty"` // Total Health Device Count + PoorHealthDeviceCount *int `json:"poorHealthDeviceCount,omitempty"` // Poor Health Device Count + FairHealthDeviceCount *int `json:"fairHealthDeviceCount,omitempty"` // Fair Health Device Count + TransitControlPlaneHealthPercentage *float64 `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 *float64 `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 *int `json:"transitServicesPoorHealthDeviceCount,omitempty"` // Transit Services Poor Health Device Count + TransitServicesFairHealthDeviceCount *int `json:"transitServicesFairHealthDeviceCount,omitempty"` // Transit Services Fair Health Device Count + PubsubTransitHealthPercentage *float64 `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 *float64 `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 *int `json:"lispTransitPoorHealthDeviceCount,omitempty"` // Lisp Transit Poor Health Device Count + LispTransitFairHealthDeviceCount *int `json:"lispTransitFairHealthDeviceCount,omitempty"` // Lisp Transit Fair Health Device Count + InternetAvailTransitHealthPercentage *float64 `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 *float64 `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 + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id +} +type ResponseSdaReadListOfTransitNetworksWithTheirHealthSummaryPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseSdaReadListOfTransitNetworksWithTheirHealthSummaryPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseSdaReadListOfTransitNetworksWithTheirHealthSummaryPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order } type ResponseSdaReadTransitNetworksCount struct { - Response *[]ResponseSdaReadTransitNetworksCountResponse `json:"response,omitempty"` // + Response *ResponseSdaReadTransitNetworksCountResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } type ResponseSdaReadTransitNetworksCountResponse struct { - ErrorCode *int `json:"errorCode,omitempty"` // Error Code - - Message string `json:"message,omitempty"` // Message - - Detail string `json:"detail,omitempty"` // Detail + Count *int `json:"count,omitempty"` // Count } type ResponseSdaReadTransitNetworkWithItsHealthSummaryFromID struct { Response *ResponseSdaReadTransitNetworkWithItsHealthSummaryFromIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } 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 + 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 + NetworkProtocol string `json:"networkProtocol,omitempty"` // Network Protocol + FabricSitesCount *int `json:"fabricSitesCount,omitempty"` // Fabric Sites Count + GoodHealthPercentage *float64 `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + TotalHealthDeviceCount *int `json:"totalHealthDeviceCount,omitempty"` // Total Health Device Count + PoorHealthDeviceCount *int `json:"poorHealthDeviceCount,omitempty"` // Poor Health Device Count + FairHealthDeviceCount *int `json:"fairHealthDeviceCount,omitempty"` // Fair Health Device Count + TransitControlPlaneHealthPercentage *float64 `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 *float64 `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 *int `json:"transitServicesPoorHealthDeviceCount,omitempty"` // Transit Services Poor Health Device Count + TransitServicesFairHealthDeviceCount *int `json:"transitServicesFairHealthDeviceCount,omitempty"` // Transit Services Fair Health Device Count + PubsubTransitHealthPercentage *float64 `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 *float64 `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 *int `json:"lispTransitPoorHealthDeviceCount,omitempty"` // Lisp Transit Poor Health Device Count + LispTransitFairHealthDeviceCount *int `json:"lispTransitFairHealthDeviceCount,omitempty"` // Lisp Transit Fair Health Device Count + InternetAvailTransitHealthPercentage *float64 `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 *float64 `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 + SiteHierarchy string `json:"siteHierarchy,omitempty"` // Site Hierarchy + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchy Id } type ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange struct { Response *[]ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeResponse `json:"response,omitempty"` // - - Page *ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangePage `json:"page,omitempty"` // - - Version *int `json:"version,omitempty"` // Version + Page *ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangePage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version } type ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeResponse struct { - Timestamp *int `json:"timestamp,omitempty"` // Timestamp - + 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 + 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 - + 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 ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummary struct { Response *[]ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryResponse `json:"response,omitempty"` // + Page *ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version } 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 + ID string `json:"id,omitempty"` // Id + Name string `json:"name,omitempty"` // Name + VLAN string `json:"vlan,omitempty"` // Vlan + Vnid string `json:"vnid,omitempty"` // Vnid + Layer string `json:"layer,omitempty"` // Layer + AssociatedL3Vn string `json:"associatedL3Vn,omitempty"` // Associated L3 Vn + TotalEndpoints *int `json:"totalEndpoints,omitempty"` // Total Endpoints + TotalFabricSites *int `json:"totalFabricSites,omitempty"` // Total Fabric Sites + GoodHealthPercentage *float64 `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + TotalHealthDeviceCount *int `json:"totalHealthDeviceCount,omitempty"` // Total 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 *float64 `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 *int `json:"vnFabricControlPlaneFairHealthDeviceCount,omitempty"` // Vn Fabric Control Plane Fair Health Device Count + VnFabricControlPlaneNoHealthDeviceCount *int `json:"vnFabricControlPlaneNoHealthDeviceCount,omitempty"` // Vn Fabric Control Plane No Health Device Count + VnServicesHealthPercentage *float64 `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 *int `json:"vnServicesFairHealthDeviceCount,omitempty"` // Vn Services Fair Health Device Count + VnServicesNoHealthDeviceCount *int `json:"vnServicesNoHealthDeviceCount,omitempty"` // Vn Services No Health Device Count + VnExitHealthPercentage *float64 `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 *int `json:"vnExitFairHealthDeviceCount,omitempty"` // Vn Exit Fair Health Device Count + VnExitNoHealthDeviceCount *int `json:"vnExitNoHealthDeviceCount,omitempty"` // Vn Exit No Health Device Count + VnStatusHealthPercentage *float64 `json:"vnStatusHealthPercentage,omitempty"` // Vn Status Health Percentage + VnStatusTotalDeviceCount *int `json:"vnStatusTotalDeviceCount,omitempty"` // Vn Status Total Device Count + VnStatusGoodHealthDeviceCount *int `json:"vnStatusGoodHealthDeviceCount,omitempty"` // Vn Status Good Health Device Count + VnStatusPoorHealthDeviceCount *int `json:"vnStatusPoorHealthDeviceCount,omitempty"` // Vn Status Poor Health Device Count + VnStatusFairHealthDeviceCount *int `json:"vnStatusFairHealthDeviceCount,omitempty"` // Vn Status Fair Health Device Count + VnStatusNoHealthDeviceCount *int `json:"vnStatusNoHealthDeviceCount,omitempty"` // Vn Status No Health Device Count + PubsubSessionGoodHealthPercentage *float64 `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 *int `json:"pubsubSessionFairHealthDeviceCount,omitempty"` // Pubsub Session Fair Health Device Count + PubsubSessionNoHealthDeviceCount *int `json:"pubsubSessionNoHealthDeviceCount,omitempty"` // Pubsub Session No Health Device Count + MultiCastGoodHealthPercentage *float64 `json:"multiCastGoodHealthPercentage,omitempty"` // Multi Cast Good Health Percentage + MultiCastTotalDeviceCount *int `json:"multiCastTotalDeviceCount,omitempty"` // Multi Cast Total Device Count + MultiCastGoodHealthDeviceCount *int `json:"multiCastGoodHealthDeviceCount,omitempty"` // Multi Cast Good Health Device Count + MultiCastPoorHealthDeviceCount *int `json:"multiCastPoorHealthDeviceCount,omitempty"` // Multi Cast Poor Health Device Count + MultiCastFairHealthDeviceCount *int `json:"multiCastFairHealthDeviceCount,omitempty"` // Multi Cast Fair Health Device Count + InternetAvailGoodHealthPercentage *float64 `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 *float64 `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 *int `json:"bgpPeerFairHealthDeviceCount,omitempty"` // Bgp Peer Fair Health Device Count + BgpPeerNoHealthDeviceCount *int `json:"bgpPeerNoHealthDeviceCount,omitempty"` // Bgp Peer No Health Device Count + VniGoodHealthPercentage *float64 `json:"vniGoodHealthPercentage,omitempty"` // Vni Good Health Percentage + VniTotalDeviceCount *int `json:"vniTotalDeviceCount,omitempty"` // Vni Total Device Count + VniGoodHealthDeviceCount *int `json:"vniGoodHealthDeviceCount,omitempty"` // Vni Good Health Device Count + VniPoorHealthDeviceCount *int `json:"vniPoorHealthDeviceCount,omitempty"` // Vni Poor Health Device Count + VniFairHealthDeviceCount *int `json:"vniFairHealthDeviceCount,omitempty"` // Vni Fair Health Device Count + VniNoHealthDeviceCount *int `json:"vniNoHealthDeviceCount,omitempty"` // Vni No Health Device Count + NetworkProtocol string `json:"networkProtocol,omitempty"` // Network Protocol +} +type ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummaryPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order } -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 + Version string `json:"version,omitempty"` // Version } type ResponseSdaReadVirtualNetworksCountResponse struct { Count *int `json:"count,omitempty"` // Count } type ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromID struct { Response *ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } 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 + ID string `json:"id,omitempty"` // Id + Name string `json:"name,omitempty"` // Name + VLAN string `json:"vlan,omitempty"` // Vlan + Vnid string `json:"vnid,omitempty"` // Vnid + Layer string `json:"layer,omitempty"` // Layer + AssociatedL3Vn string `json:"associatedL3Vn,omitempty"` // Associated L3 Vn + TotalEndpoints *int `json:"totalEndpoints,omitempty"` // Total Endpoints + TotalFabricSites *int `json:"totalFabricSites,omitempty"` // Total Fabric Sites + GoodHealthPercentage *float64 `json:"goodHealthPercentage,omitempty"` // Good Health Percentage + GoodHealthDeviceCount *int `json:"goodHealthDeviceCount,omitempty"` // Good Health Device Count + TotalHealthDeviceCount *int `json:"totalHealthDeviceCount,omitempty"` // Total 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 *float64 `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 *int `json:"vnFabricControlPlaneFairHealthDeviceCount,omitempty"` // Vn Fabric Control Plane Fair Health Device Count + VnFabricControlPlaneNoHealthDeviceCount *int `json:"vnFabricControlPlaneNoHealthDeviceCount,omitempty"` // Vn Fabric Control Plane No Health Device Count + VnServicesHealthPercentage *float64 `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 *int `json:"vnServicesFairHealthDeviceCount,omitempty"` // Vn Services Fair Health Device Count + VnServicesNoHealthDeviceCount *int `json:"vnServicesNoHealthDeviceCount,omitempty"` // Vn Services No Health Device Count + VnExitHealthPercentage *float64 `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 *int `json:"vnExitFairHealthDeviceCount,omitempty"` // Vn Exit Fair Health Device Count + VnExitNoHealthDeviceCount *int `json:"vnExitNoHealthDeviceCount,omitempty"` // Vn Exit No Health Device Count + VnStatusHealthPercentage *float64 `json:"vnStatusHealthPercentage,omitempty"` // Vn Status Health Percentage + VnStatusTotalDeviceCount *int `json:"vnStatusTotalDeviceCount,omitempty"` // Vn Status Total Device Count + VnStatusGoodHealthDeviceCount *int `json:"vnStatusGoodHealthDeviceCount,omitempty"` // Vn Status Good Health Device Count + VnStatusPoorHealthDeviceCount *int `json:"vnStatusPoorHealthDeviceCount,omitempty"` // Vn Status Poor Health Device Count + VnStatusFairHealthDeviceCount *int `json:"vnStatusFairHealthDeviceCount,omitempty"` // Vn Status Fair Health Device Count + VnStatusNoHealthDeviceCount *int `json:"vnStatusNoHealthDeviceCount,omitempty"` // Vn Status No Health Device Count + PubsubSessionGoodHealthPercentage *float64 `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 *int `json:"pubsubSessionFairHealthDeviceCount,omitempty"` // Pubsub Session Fair Health Device Count + PubsubSessionNoHealthDeviceCount *int `json:"pubsubSessionNoHealthDeviceCount,omitempty"` // Pubsub Session No Health Device Count + MultiCastGoodHealthPercentage *float64 `json:"multiCastGoodHealthPercentage,omitempty"` // Multi Cast Good Health Percentage + MultiCastTotalDeviceCount *int `json:"multiCastTotalDeviceCount,omitempty"` // Multi Cast Total Device Count + MultiCastGoodHealthDeviceCount *int `json:"multiCastGoodHealthDeviceCount,omitempty"` // Multi Cast Good Health Device Count + MultiCastPoorHealthDeviceCount *int `json:"multiCastPoorHealthDeviceCount,omitempty"` // Multi Cast Poor Health Device Count + MultiCastFairHealthDeviceCount *int `json:"multiCastFairHealthDeviceCount,omitempty"` // Multi Cast Fair Health Device Count + InternetAvailGoodHealthPercentage *float64 `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 *float64 `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 *int `json:"bgpPeerFairHealthDeviceCount,omitempty"` // Bgp Peer Fair Health Device Count + BgpPeerNoHealthDeviceCount *int `json:"bgpPeerNoHealthDeviceCount,omitempty"` // Bgp Peer No Health Device Count + VniGoodHealthPercentage *float64 `json:"vniGoodHealthPercentage,omitempty"` // Vni Good Health Percentage + VniTotalDeviceCount *int `json:"vniTotalDeviceCount,omitempty"` // Vni Total Device Count + VniGoodHealthDeviceCount *int `json:"vniGoodHealthDeviceCount,omitempty"` // Vni Good Health Device Count + VniPoorHealthDeviceCount *int `json:"vniPoorHealthDeviceCount,omitempty"` // Vni Poor Health Device Count + VniFairHealthDeviceCount *int `json:"vniFairHealthDeviceCount,omitempty"` // Vni Fair Health Device Count + VniNoHealthDeviceCount *int `json:"vniNoHealthDeviceCount,omitempty"` // Vni No Health Device Count + NetworkProtocol string `json:"networkProtocol,omitempty"` // Network Protocol } -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 + Page *ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangePage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version } type ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeResponse struct { - Timestamp *int `json:"timestamp,omitempty"` // Timestamp - + 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 + 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 - + 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 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 - + 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 + 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 - + 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 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 - + 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 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 - + 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 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 - + 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 ResponseSdaGetBorderDeviceDetailFromSdaFabric struct { - Status string `json:"status,omitempty"` // Status - - Description string `json:"description,omitempty"` // Description - - Payload *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayload `json:"payload,omitempty"` // + 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 + 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{} @@ -1600,153 +1174,94 @@ 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"` // + 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"` // + 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"` // + 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 + 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 - + ID string `json:"id,omitempty"` // Id IPAddress *ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDhcpIPAddress `json:"ipAddress,omitempty"` // } type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsDhcpIPAddress struct { - ID string `json:"id,omitempty"` // Id - + 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 + 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"` // + 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 - + 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 + AddressType string `json:"addressType,omitempty"` // Address Type + Address string `json:"address,omitempty"` // Address } type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsLdap interface{} type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadNetworkWidesettingsNativeVLAN interface{} @@ -1761,2485 +1276,2445 @@ type ResponseSdaGetBorderDeviceDetailFromSdaFabricPayloadTransitNetworks struct 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 - + 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 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 - + 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 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 +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 } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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). + Layer2FloodingAddressAssignment string `json:"layer2FloodingAddressAssignment,omitempty"` // The source of the flooding address for layer 2 flooding (not applicable to INFRA_VN). + Layer2FloodingAddress string `json:"layer2FloodingAddress,omitempty"` // The flooding address to use for layer 2 flooding (not applicable to INFRA_VN). + IsWirelessPool *bool `json:"isWirelessPool,omitempty"` // Enable/disable fabric-enabled wireless (not applicable to INFRA_VN). + IsWirelessFloodingEnabled *bool `json:"isWirelessFloodingEnabled,omitempty"` // Enable/disable wireless flooding (not applicable to INFRA_VN). + IsResourceGuardEnabled *bool `json:"isResourceGuardEnabled,omitempty"` // Enable/disable Resource Guard (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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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. (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". - - PreAuthACL *ResponseSdaGetAuthenticationProfilesResponsePreAuthACL `json:"preAuthAcl,omitempty"` // + 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". + IsVoiceVLANEnabled *bool `json:"isVoiceVlanEnabled,omitempty"` // Enable/disable Voice Vlan. + 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. - + 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. - + 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. + 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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. - - 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. - + 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. + IsWirelessFloodingEnabled *bool `json:"isWirelessFloodingEnabled,omitempty"` // Set to true to enable wireless flooding. + IsResourceGuardEnabled *bool `json:"isResourceGuardEnabled,omitempty"` // Set to true to enable resource guard. + Layer2FloodingAddressAssignment string `json:"layer2FloodingAddressAssignment,omitempty"` // The source of the flooding address for layer 2 flooding. + Layer2FloodingAddress string `json:"layer2FloodingAddress,omitempty"` // The flooding address to use for layer 2 flooding. + 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } type ResponseSdaGetPendingFabricEvents struct { Response *[]ResponseSdaGetPendingFabricEventsResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version number. + Version string `json:"version,omitempty"` // Version number. } type ResponseSdaGetPendingFabricEventsResponse struct { - ID string `json:"id,omitempty"` // ID of the pending fabric event. - + 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. + 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. + 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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. + NativeVLANID *int `json:"nativeVlanId,omitempty"` // Native VLAN of the port assignment, this option is only applicable to TRUNKING_DEVICE connectedDeviceType. (VLAN must be between 1 and 4094. In cases value not set when connectedDeviceType is TRUNKING_DEVICE, default value will be 1). + AllowedVLANRanges string `json:"allowedVlanRanges,omitempty"` // Allowed VLAN of the port assignment, this option is only applicable to TRUNKING_DEVICE connectedDeviceType. (VLAN must be between 1 and 4094 (Ex 100,200,300-400) or 'all'. In cases value not set when connectedDeviceType is TRUNKING_DEVICE, default value will be 'all'). } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 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. -} -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. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. +} +type ResponseSdaGetPortChannelsConnectivity struct { + Response *[]ResponseSdaGetPortChannelsConnectivityResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number. +} +type ResponseSdaGetPortChannelsConnectivityResponse 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. + NativeVLANID *int `json:"nativeVlanId,omitempty"` // Native VLAN of the port channel, this option is only applicable to TRUNK connectedDeviceType. (VLAN must be between 1 and 4094. In cases value not set when connectedDeviceType is TRUNK, default value will be 1). + AllowedVLANRanges string `json:"allowedVlanRanges,omitempty"` // Allowed VLAN of the port channel, this option is only applicable to TRUNK connectedDeviceType. (VLAN must be between 1 and 4094 (Ex 100,200,300-400) or 'all'. In cases value not set when connectedDeviceType is TRUNK, default value will be 'all'). } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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 submitted task. - - URL string `json:"url,omitempty"` // url for querying the task's status. + TaskID string `json:"taskId,omitempty"` // ID of the task. + URL string `json:"url,omitempty"` // Task status lookup url. } 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. + SiteID string `json:"siteId,omitempty"` // ID of the site of this 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 ResponseSdaSdaFabricSitesReadiness struct { + Response *[]ResponseSdaSdaFabricSitesReadinessResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number of the response. +} +type ResponseSdaSdaFabricSitesReadinessResponse struct { + ID string `json:"id,omitempty"` // The unique identifier of the SDA fabric site. + FabricSiteName string `json:"fabricSiteName,omitempty"` // The name of the fabric site. + Readiness string `json:"readiness,omitempty"` // The readiness status of the fabric site. + VirtualNetworkCount *int `json:"virtualNetworkCount,omitempty"` // The total number of virtual networks present in the fabric site. + EdgeDeviceCount *int `json:"edgeDeviceCount,omitempty"` // The count of edge devices in the fabric site. + BorderDeviceCount *int `json:"borderDeviceCount,omitempty"` // The count of border devices in the fabric site. + MapServerDeviceCount *int `json:"mapServerDeviceCount,omitempty"` // The count of map server devices in the fabric site. + LispPubsub string `json:"lispPubsub,omitempty"` // Indicates whether Lisp Pub/Sub is enabled or disabled. + Message string `json:"message,omitempty"` // Additional message regarding the fabric site readiness +} +type ResponseSdaReadinessStatusForAFabricSite struct { + Response *[]ResponseSdaReadinessStatusForAFabricSiteResponse `json:"response,omitempty"` // +} +type ResponseSdaReadinessStatusForAFabricSiteResponse struct { + ID string `json:"id,omitempty"` // The unique identifier of the virtual network. + VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // The name of the virtual network. + Readiness string `json:"readiness,omitempty"` // The readiness status of the virtual network. + DeviceCounts *ResponseSdaReadinessStatusForAFabricSiteResponseDeviceCounts `json:"deviceCounts,omitempty"` // + Layer3VirtualNetworkID *int `json:"layer3VirtualNetworkId,omitempty"` // The Layer 3 virtual network ID. + AnyCastGateway *int `json:"anyCastGateway,omitempty"` // The Anycast gateway associated with the virtual network. + ExtranetRole string `json:"extranetRole,omitempty"` // Extranet Role + ExtranetPolicyCounterParts []string `json:"extranetPolicyCounterParts,omitempty"` // List of virtual network names that have corresponding extranet policies. +} +type ResponseSdaReadinessStatusForAFabricSiteResponseDeviceCounts struct { + ReadyDeviceCount *int `json:"readyDeviceCount,omitempty"` // The number of ready devices in the virtual network. + TotalDeviceCount *int `json:"totalDeviceCount,omitempty"` // The total number of devices in the virtual network. +} +type ResponseSdaReadinessStatusOfSwitchesInASpecifiedVirtualNetworkWithinAFabricSite struct { + Response *[]ResponseSdaReadinessStatusOfSwitchesInASpecifiedVirtualNetworkWithinAFabricSiteResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number of the response. +} +type ResponseSdaReadinessStatusOfSwitchesInASpecifiedVirtualNetworkWithinAFabricSiteResponse struct { + ID string `json:"id,omitempty"` // The unique identifier of the network device. + HostName string `json:"hostName,omitempty"` // The hostname of the device. + IPAddress string `json:"ipAddress,omitempty"` // The IP address assigned to the device. + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // The current reachability status of the device. + Version string `json:"version,omitempty"` // The version of the device's software. + License string `json:"license,omitempty"` // The licensing status of the device. + Readiness string `json:"readiness,omitempty"` // The readiness status of the device. + FabricRoles []string `json:"fabricRoles,omitempty"` // The roles assigned to the device within the fabric. +} +type ResponseSdaSecurityServiceInsertionReadiness struct { + Response *ResponseSdaSecurityServiceInsertionReadinessResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number of the response. +} +type ResponseSdaSecurityServiceInsertionReadinessResponse struct { + Readiness string `json:"readiness,omitempty"` // Represents the overall readiness status of the system and its components. + Ise *ResponseSdaSecurityServiceInsertionReadinessResponseIse `json:"ise,omitempty"` // + SecurityGroup *ResponseSdaSecurityServiceInsertionReadinessResponseSecurityGroup `json:"securityGroup,omitempty"` // + AccessControlDetails *ResponseSdaSecurityServiceInsertionReadinessResponseAccessControlDetails `json:"accessControlDetails,omitempty"` // +} +type ResponseSdaSecurityServiceInsertionReadinessResponseIse struct { + IntegrationStatus string `json:"integrationStatus,omitempty"` // The current integration status of ISE. + Version string `json:"version,omitempty"` // The current version of ISE in use. + SyncStatus string `json:"syncStatus,omitempty"` // The synchronization status of ISE. + Readiness string `json:"readiness,omitempty"` // Indicates the overall readiness status of the ISE system. +} +type ResponseSdaSecurityServiceInsertionReadinessResponseSecurityGroup struct { + SecurityGroupsCount *int `json:"securityGroupsCount,omitempty"` // The total number of security groups established. + SgtManagedBy string `json:"sgtManagedBy,omitempty"` // The entity responsible for managing the Security Group Tags (SGTs). + Readiness string `json:"readiness,omitempty"` // Indicates the overall readiness status of the security groups. +} +type ResponseSdaSecurityServiceInsertionReadinessResponseAccessControlDetails struct { + AccessControlAppPkgStatus string `json:"accessControlAppPkgStatus,omitempty"` // The installation status of the access control application package. + FabricSitesCount *int `json:"fabricSitesCount,omitempty"` // The total number of fabric sites monitored. + Readiness string `json:"readiness,omitempty"` // Indicates the overall readiness status of the access control setup. +} +type ResponseSdaSecurityServiceInsertionSummary struct { + Response *[]ResponseSdaSecurityServiceInsertionSummaryResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number of the response. +} +type ResponseSdaSecurityServiceInsertionSummaryResponse struct { + ID string `json:"id,omitempty"` // The unique identifier of the Security Service Insertion (SSI). + FabricSiteName string `json:"fabricSiteName,omitempty"` // The name of the SDA fabric site. + SiteID string `json:"siteId,omitempty"` // SDA fabric site Id. + ProvisionStatus string `json:"provisionStatus,omitempty"` // The readiness status of the fabric site. + VirtualNetworksAssociatedCount *int `json:"virtualNetworksAssociatedCount,omitempty"` // Count of virtual networks associated with this security service insertion. + BorderNodesCount *int `json:"borderNodesCount,omitempty"` // Count of Border nodes involved in the service insertion. + ControlPlaneNodesCount *int `json:"controlPlaneNodesCount,omitempty"` // Count of Control plane nodes involved in the service + EdgeNodesCount *int `json:"edgeNodesCount,omitempty"` // Count of Edge nodes involved in the service insertion. +} +type ResponseSdaCountOfSecurityServiceInsertionSummaries struct { + Response *ResponseSdaCountOfSecurityServiceInsertionSummariesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseSdaCountOfSecurityServiceInsertionSummariesResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseSdaSecurityServiceInsertions struct { + Response *[]ResponseSdaSecurityServiceInsertionsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number of the response. +} +type ResponseSdaSecurityServiceInsertionsResponse struct { + ID string `json:"id,omitempty"` // The unique identifier of the Security Service Insertion (SSI). + SiteID string `json:"siteId,omitempty"` // The ID of the fabric site where the service insertion is configured. + FabricSiteName string `json:"fabricSiteName,omitempty"` // Name of the fabric site. + VirtualNetworks *[]ResponseSdaSecurityServiceInsertionsResponseVirtualNetworks `json:"virtualNetworks,omitempty"` // +} +type ResponseSdaSecurityServiceInsertionsResponseVirtualNetworks struct { + ID string `json:"id,omitempty"` // The unique identifier of the virtual network associated with the service insertion. + Name string `json:"name,omitempty"` // Name of the virtual network associated with the fabric site. + Devices *[]ResponseSdaSecurityServiceInsertionsResponseVirtualNetworksDevices `json:"devices,omitempty"` // +} +type ResponseSdaSecurityServiceInsertionsResponseVirtualNetworksDevices struct { + ID string `json:"id,omitempty"` // The unique identifier of the network device. + HostName string `json:"hostName,omitempty"` // The hostname of the device. + Layer3Handoffs *[]ResponseSdaSecurityServiceInsertionsResponseVirtualNetworksDevicesLayer3Handoffs `json:"layer3Handoffs,omitempty"` // +} +type ResponseSdaSecurityServiceInsertionsResponseVirtualNetworksDevicesLayer3Handoffs struct { + ID string `json:"id,omitempty"` // The unique identifier of the layer3 handoff. + FirewallIPV4AddressWithMask string `json:"firewallIpV4AddressWithMask,omitempty"` // The IPv4 address and subnet mask of the firewall. +} +type ResponseSdaCreateSecurityServiceInsertionOnASpecificFabricSite struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSdaCreateSecurityServiceInsertionOnASpecificFabricSiteResponse `json:"response,omitempty"` // +} +type ResponseSdaCreateSecurityServiceInsertionOnASpecificFabricSiteResponse 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 ResponseSdaCountOfSecurityServiceInsertions struct { + Response *ResponseSdaCountOfSecurityServiceInsertionsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseSdaCountOfSecurityServiceInsertionsResponse struct { + Count *int `json:"count,omitempty"` // The reported count. +} +type ResponseSdaDeleteSecurityServiceInsertion struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSdaDeleteSecurityServiceInsertionResponse `json:"response,omitempty"` // +} +type ResponseSdaDeleteSecurityServiceInsertionResponse 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 ResponseSdaSecurityServiceInsertionByID struct { + Response *ResponseSdaSecurityServiceInsertionByIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version number of the response. +} +type ResponseSdaSecurityServiceInsertionByIDResponse struct { + ID string `json:"id,omitempty"` // The unique identifier of the Security Service Insertion (SSI). + SiteID string `json:"siteId,omitempty"` // The ID of the fabric site where the service insertion is configured. + FabricSiteName string `json:"fabricSiteName,omitempty"` // Name of the fabric site. + VirtualNetworks *[]ResponseSdaSecurityServiceInsertionByIDResponseVirtualNetworks `json:"virtualNetworks,omitempty"` // +} +type ResponseSdaSecurityServiceInsertionByIDResponseVirtualNetworks struct { + ID string `json:"id,omitempty"` // The unique identifier of the virtual network associated with the service insertion. + Name string `json:"name,omitempty"` // Name of the virtual network associated with the fabric site. + Devices *[]ResponseSdaSecurityServiceInsertionByIDResponseVirtualNetworksDevices `json:"devices,omitempty"` // +} +type ResponseSdaSecurityServiceInsertionByIDResponseVirtualNetworksDevices struct { + ID string `json:"id,omitempty"` // The unique identifier of the network device. + HostName string `json:"hostName,omitempty"` // The hostname of the device. + Layer3Handoffs *[]ResponseSdaSecurityServiceInsertionByIDResponseVirtualNetworksDevicesLayer3Handoffs `json:"layer3Handoffs,omitempty"` // +} +type ResponseSdaSecurityServiceInsertionByIDResponseVirtualNetworksDevicesLayer3Handoffs struct { + ID string `json:"id,omitempty"` // The unique identifier of the layer3 handoff. + FirewallIPV4AddressWithMask string `json:"firewallIpV4AddressWithMask,omitempty"` // The IPv4 address and subnet mask of the firewall. +} +type ResponseSdaUpdateTheSecurityServiceInsertion struct { + Version string `json:"version,omitempty"` // Response Version e.g. : 1.0 + Response *ResponseSdaUpdateTheSecurityServiceInsertionResponse `json:"response,omitempty"` // +} +type ResponseSdaUpdateTheSecurityServiceInsertionResponse 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 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). + Layer2FloodingAddressAssignment string `json:"layer2FloodingAddressAssignment,omitempty"` // The source of the flooding address for layer 2 flooding. Layer 2 flooding must be enabled to configure this property. "SHARED" means that the anycast gateway will inherit the flooding address from the fabric. "CUSTOM" allows the anycast gateway to use a different flooding address (not applicable to INFRA_VN; defaults to "SHARED"). + Layer2FloodingAddress string `json:"layer2FloodingAddress,omitempty"` // The flooding address to use for layer 2 flooding. The IP address must be in the 239.0.0.0/8 range. This property is applicable only when the flooding address source is set to "CUSTOM". + IsWirelessPool *bool `json:"isWirelessPool,omitempty"` // Enable/disable fabric-enabled wireless (not applicable to INFRA_VN). + IsWirelessFloodingEnabled *bool `json:"isWirelessFloodingEnabled,omitempty"` // Enable/disable wireless flooding (not applicable to INFRA_VN; can only be true when isWirelessPool is true). + IsResourceGuardEnabled *bool `json:"isResourceGuardEnabled,omitempty"` // Enable/disable Resource Guard (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 (defaults to false when using INFRA_VN; defaults to true for other VNs; can only be modified when using INFRA_VN). } 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). + Layer2FloodingAddressAssignment string `json:"layer2FloodingAddressAssignment,omitempty"` // The source of the flooding address for layer 2 flooding. Layer 2 flooding must be enabled to configure this property. "SHARED" means that the anycast gateway will inherit the flooding address from the fabric. "CUSTOM" allows the anycast gateway to use a different flooding address (not applicable to INFRA_VN; defaults to "SHARED"). + Layer2FloodingAddress string `json:"layer2FloodingAddress,omitempty"` // The flooding address to use for layer 2 flooding. The IP address must be in the 239.0.0.0/8 range. This property is applicable only when the flooding address source is set to "CUSTOM". + IsWirelessPool *bool `json:"isWirelessPool,omitempty"` // Enable/disable fabric-enabled wireless (not applicable to INFRA_VN). + IsWirelessFloodingEnabled *bool `json:"isWirelessFloodingEnabled,omitempty"` // Enable/disable wireless flooding (not applicable to INFRA_VN; can only be true when isWirelessPool is true). + IsResourceGuardEnabled *bool `json:"isResourceGuardEnabled,omitempty"` // Enable/disable Resource Guard (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 (defaults to false when using INFRA_VN; defaults to true for other VNs). + 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). 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). - - PreAuthACL *RequestItemSdaUpdateAuthenticationProfilePreAuthACL `json:"preAuthAcl,omitempty"` // + 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). + IsVoiceVLANEnabled *bool `json:"isVoiceVlanEnabled,omitempty"` // Enable/disable Voice Vlan. + 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. - + 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. - + 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. + 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. - - 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. + 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). + 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]. + 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]. +} +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]. + 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]. + 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]. +} +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). +} +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. + 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. +} +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). + 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. +} +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. +} +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. +} +type RequestSdaAddFabricSite []RequestItemSdaAddFabricSite // Array of RequestSdaAddFabricSite +type RequestItemSdaAddFabricSite struct { + 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. +} +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). + 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. +} +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). + 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. + 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. + IsWirelessFloodingEnabled *bool `json:"isWirelessFloodingEnabled,omitempty"` // Set to true to enable wireless flooding. If there is an associated layer 3 virtual network, wireless flooding will default to false and can only be true when fabric-enabled wireless is also true. If there is no associated layer 3 virtual network, wireless flooding will match fabric-enabled wireless. + IsResourceGuardEnabled *bool `json:"isResourceGuardEnabled,omitempty"` // Set to true to enable Resource Guard. + Layer2FloodingAddressAssignment string `json:"layer2FloodingAddressAssignment,omitempty"` // The source of the flooding address for layer 2 flooding. "SHARED" means that the layer 2 virtual network will inherit the flooding address from the fabric. "CUSTOM" allows the layer 2 virtual network to use a different flooding address (defaults to "SHARED"). + Layer2FloodingAddress string `json:"layer2FloodingAddress,omitempty"` // The flooding address to use for layer 2 flooding. The IP address must be in the 239.0.0.0/8 range. This property is applicable only when the flooding address source is set to "CUSTOM". + 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. + IsWirelessFloodingEnabled *bool `json:"isWirelessFloodingEnabled,omitempty"` // Set to true to enable wireless flooding. If there is an associated layer 3 virtual network, wireless flooding will default to false and can only be true when fabric-enabled wireless is also true. If there is no associated layer 3 virtual network, wireless flooding will match fabric-enabled wireless. + IsResourceGuardEnabled *bool `json:"isResourceGuardEnabled,omitempty"` // Set to true to enable Resource Guard. + Layer2FloodingAddressAssignment string `json:"layer2FloodingAddressAssignment,omitempty"` // The source of the flooding address for layer 2 flooding. "SHARED" means that the layer 2 virtual network will inherit the flooding address from the fabric. "CUSTOM" allows the layer 2 virtual network to use a different flooding address (defaults to "SHARED"). + Layer2FloodingAddress string `json:"layer2FloodingAddress,omitempty"` // The flooding address to use for layer 2 flooding. The IP address must be in the 239.0.0.0/8 range. This property is applicable only when the flooding address source is set to "CUSTOM". + 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. +} +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. +} +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). + 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"` // +} +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. + 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. +} +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"` // +} +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. + 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. +} +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. + 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. + NativeVLANID *int `json:"nativeVlanId,omitempty"` // integer example: 1 Native VLAN of the port assignment, this option is only applicable to TRUNKING_DEVICE connectedDeviceType. (VLAN must be between 1 and 4094. In cases value not set when connectedDeviceType is TRUNKING_DEVICE, default value will be 1). + AllowedVLANRanges string `json:"allowedVlanRanges,omitempty"` // Allowed VLAN of the port assignment, this option is only applicable to TRUNKING_DEVICE connectedDeviceType. (VLAN must be between 1 and 4094 (Ex 100,200,300-400) or 'all'. In cases value not set when connectedDeviceType is TRUNKING_DEVICE, default value will be 'all'). +} +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. + 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. + NativeVLANID *int `json:"nativeVlanId,omitempty"` // Native VLAN of the port assignment, this option is only applicable to TRUNKING_DEVICE connectedDeviceType. (VLAN must be between 1 and 4094. In cases value not set when connectedDeviceType is TRUNKING_DEVICE, default value will be 1). + AllowedVLANRanges string `json:"allowedVlanRanges,omitempty"` // Allowed VLAN of the port assignment, this option is only applicable to TRUNKING_DEVICE connectedDeviceType. (VLAN must be between 1 and 4094 (Ex 100,200,300-400) or 'all'. In cases value not set when connectedDeviceType is TRUNKING_DEVICE, default value will be 'all'). +} +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. + NativeVLANID *int `json:"nativeVlanId,omitempty"` // Native VLAN of the port channel, this option is only applicable to TRUNK connectedDeviceType. (VLAN must be between 1 and 4094. In cases value not set when connectedDeviceType is TRUNK, default value will be 1). + AllowedVLANRanges string `json:"allowedVlanRanges,omitempty"` // Allowed VLAN of the port channel, this option is only applicable to TRUNK connectedDeviceType. (VLAN must be between 1 and 4094 (Ex 100,200,300-400) or 'all'. In cases value not set when connectedDeviceType is TRUNK, default value will be 'all'). +} +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. + NativeVLANID *int `json:"nativeVlanId,omitempty"` // Native VLAN of the port channel, this option is only applicable to TRUNK connectedDeviceType. (VLAN must be between 1 and 4094. In cases value not set when connectedDeviceType is TRUNK, default value will be 1). + AllowedVLANRanges string `json:"allowedVlanRanges,omitempty"` // Allowed VLAN of the port channel, this option is only applicable to TRUNK connectedDeviceType. (VLAN must be between 1 and 4094 (Ex 100,200,300-400) or 'all'. In cases value not set when connectedDeviceType is TRUNK, default value will be 'all'). +} +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. + 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). + 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). + SiteID string `json:"siteId,omitempty"` // ID of the site of this transit network. The transit network will be anchored at this Site. Only Fabric Sites within this Site location can associate their borders with this transit network. Additionally, the Transit Control Plane Devices must be located within the transit network's Site. + 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). + 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 RequestSdaAddTransitNetworks []RequestItemSdaAddTransitNetworks // Array of RequestSdaAddTransitNetworks +type RequestItemSdaAddTransitNetworks struct { + Name string `json:"name,omitempty"` // Name of the transit network. + SiteID string `json:"siteId,omitempty"` // ID of the site of this transit network. The transit network will be anchored at this Site. Only Fabric Sites within this Site location can associate their borders with this transit network. Additionally, the Transit Control Plane Devices must be located within the transit network's Site. + 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 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). - - BorderDeviceSettings *RequestItemSdaUpdateFabricDevicesBorderDeviceSettings `json:"borderDeviceSettings,omitempty"` // +type RequestSdaCreateSecurityServiceInsertionOnASpecificFabricSite struct { + SiteID string `json:"siteId,omitempty"` // The ID of the fabric site where the service insertion is configured. + VirtualNetworks *[]RequestSdaCreateSecurityServiceInsertionOnASpecificFabricSiteVirtualNetworks `json:"virtualNetworks,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]. - - Layer3Settings *RequestItemSdaUpdateFabricDevicesBorderDeviceSettingsLayer3Settings `json:"layer3Settings,omitempty"` // +type RequestSdaCreateSecurityServiceInsertionOnASpecificFabricSiteVirtualNetworks struct { + Name string `json:"name,omitempty"` // Name of the virtual network associated with the fabric site. + Devices *[]RequestSdaCreateSecurityServiceInsertionOnASpecificFabricSiteVirtualNetworksDevices `json:"devices,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]. +type RequestSdaCreateSecurityServiceInsertionOnASpecificFabricSiteVirtualNetworksDevices struct { + ID string `json:"id,omitempty"` // The unique identifier of the network device. + Layer3Handoffs *[]RequestSdaCreateSecurityServiceInsertionOnASpecificFabricSiteVirtualNetworksDevicesLayer3Handoffs `json:"layer3Handoffs,omitempty"` // } -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]. - - BorderDeviceSettings *RequestItemSdaAddFabricDevicesBorderDeviceSettings `json:"borderDeviceSettings,omitempty"` // +type RequestSdaCreateSecurityServiceInsertionOnASpecificFabricSiteVirtualNetworksDevicesLayer3Handoffs struct { + FirewallIPV4AddressWithMask string `json:"firewallIpV4AddressWithMask,omitempty"` // The IPv4 address and subnet mask of the firewall. } -type RequestItemSdaAddFabricDevicesBorderDeviceSettings struct { - 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 RequestSdaUpdateTheSecurityServiceInsertion struct { + SiteID string `json:"siteId,omitempty"` // The ID of the fabric site where the service insertion is configured. + VirtualNetworks *[]RequestSdaUpdateTheSecurityServiceInsertionVirtualNetworks `json:"virtualNetworks,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]. +type RequestSdaUpdateTheSecurityServiceInsertionVirtualNetworks struct { + Name string `json:"name,omitempty"` // Name of the virtual network associated with the fabric site. + Devices *[]RequestSdaUpdateTheSecurityServiceInsertionVirtualNetworksDevices `json:"devices,omitempty"` // +} +type RequestSdaUpdateTheSecurityServiceInsertionVirtualNetworksDevices struct { + ID string `json:"id,omitempty"` // The unique identifier of the network device. + Layer3Handoffs *[]RequestSdaUpdateTheSecurityServiceInsertionVirtualNetworksDevicesLayer3Handoffs `json:"layer3Handoffs,omitempty"` // +} +type RequestSdaUpdateTheSecurityServiceInsertionVirtualNetworksDevicesLayer3Handoffs struct { + FirewallIPV4AddressWithMask string `json:"firewallIpV4AddressWithMask,omitempty"` // The IPv4 address and subnet mask of the firewall. +} +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 } -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. +//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 - 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). +@param ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams Custom header parameters +@param ReadListOfFabricSitesWithTheirHealthSummaryQueryParams Filtering parameter - 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. +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" - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. + queryString, _ := query.Values(ReadListOfFabricSitesWithTheirHealthSummaryQueryParams) - TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff ip transit. + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 3 handoff ip transit. + if ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams != nil { - 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. + if ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams.XCaLLERID) + } - 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). + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadListOfFabricSitesWithTheirHealthSummary{}). + SetError(&Error). + Get(path) - 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. + if err != nil { + return nil, nil, err - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadListOfFabricSitesWithTheirHealthSummary(ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams, ReadListOfFabricSitesWithTheirHealthSummaryQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadListOfFabricSitesWithTheirHealthSummary") + } - 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. + result := response.Result().(*ResponseSdaReadListOfFabricSitesWithTheirHealthSummary) + return result, response, err - 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). +//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 - 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). +@param ReadFabricSiteCountHeaderParams Custom header parameters +@param ReadFabricSiteCountQueryParams Filtering parameter - InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the layer 3 handoff ip transit. (updating this field is not allowed). +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" - 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). + queryString, _ := query.Values(ReadFabricSiteCountQueryParams) - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with this fabric site. (updating this field is not allowed). + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - 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). + if ReadFabricSiteCountHeaderParams != nil { - 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. + if ReadFabricSiteCountHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadFabricSiteCountHeaderParams.XCaLLERID) + } - 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). + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadFabricSiteCount{}). + SetError(&Error). + Get(path) - 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. + if err != nil { + return nil, nil, err - 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). + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadFabricSiteCount(ReadFabricSiteCountHeaderParams, ReadFabricSiteCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadFabricSiteCount") + } - TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff sda transit. (updating this field is not allowed). + result := response.Result().(*ResponseSdaReadFabricSiteCount) + return result, response, err - 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. +//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 - 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. +@param id id path parameter. unique fabric site id - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this device is assigned to. +@param ReadFabricSitesWithHealthSummaryFromIdHeaderParams Custom header parameters +@param ReadFabricSitesWithHealthSummaryFromIdQueryParams Filtering parameter - TransitNetworkID string `json:"transitNetworkId,omitempty"` // ID of the transit network of the layer 3 handoff sda transit. +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) - 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. + queryString, _ := query.Values(ReadFabricSitesWithHealthSummaryFromIdQueryParams) - 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. + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - ConnectedToInternet *bool `json:"connectedToInternet,omitempty"` // Set this true to allow associated site to provide internet access to other sites through sd-access. + if ReadFabricSitesWithHealthSummaryFromIdHeaderParams != nil { - 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. + if ReadFabricSitesWithHealthSummaryFromIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadFabricSitesWithHealthSummaryFromIdHeaderParams.XCaLLERID) + } - 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. -} -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). + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadFabricSitesWithHealthSummaryFromID{}). + SetError(&Error). + Get(path) - SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy (updating this field is not allowed). + if err != nil { + return nil, nil, err - 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. -} -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). + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadFabricSitesWithHealthSummaryFromID(id, ReadFabricSitesWithHealthSummaryFromIdHeaderParams, ReadFabricSitesWithHealthSummaryFromIdQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadFabricSitesWithHealthSummaryFromId") + } - SiteID string `json:"siteId,omitempty"` // ID of the network hierarchy (updating this field is not allowed). + result := response.Result().(*ResponseSdaReadFabricSitesWithHealthSummaryFromID) + return result, response, err - 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. - 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. +//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 - 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. +@param id id path parameter. unique fabric site id - TrafficType string `json:"trafficType,omitempty"` // The type of traffic that is served. +@param TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams Custom header parameters +@param TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams Filtering parameter - IsFabricEnabledWireless *bool `json:"isFabricEnabledWireless,omitempty"` // Set to true to enable wireless. Default is false. +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) - 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. + queryString, _ := query.Values(TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams) - 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). + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - FabricID string `json:"fabricId,omitempty"` // ID of the fabric this layer 2 virtual network is assigned to (updating this field is not allowed). + if TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams != nil { - 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). + if TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams.XCaLLERID) + } - 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. + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange{}). + SetError(&Error). + Get(path) - IsFabricEnabledWireless *bool `json:"isFabricEnabledWireless,omitempty"` // Set to true to enable wireless. + if err != nil { + return nil, nil, err - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange(id, TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams) + } + return nil, response, fmt.Errorf("error with operation TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange") + } - FabricIDs []string `json:"fabricIds,omitempty"` // IDs of the fabrics this layer 3 virtual network is to be assigned to. + result := response.Result().(*ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange) + return result, response, err - 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). +//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.1.0-resolved.yaml - 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). +@param ReadFabricEntitySummaryHeaderParams Custom header parameters +@param ReadFabricEntitySummaryQueryParams Filtering parameter - 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. +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" - VirtualNetworkName string `json:"virtualNetworkName,omitempty"` // Name of the virtual network associated with the fabric site. + queryString, _ := query.Values(ReadFabricEntitySummaryQueryParams) - IPPoolName string `json:"ipPoolName,omitempty"` // Name of the IP Pool associated with the fabric site. + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - 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. + if ReadFabricEntitySummaryHeaderParams != nil { - MulticastRPs *[]RequestItemSdaAddMulticastVirtualNetworksMulticastRPs `json:"multicastRPs,omitempty"` // -} -type RequestItemSdaAddMulticastVirtualNetworksMulticastRPs struct { - RpDeviceLocation string `json:"rpDeviceLocation,omitempty"` // Device location of the RP. + if ReadFabricEntitySummaryHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadFabricEntitySummaryHeaderParams.XCaLLERID) + } - 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. + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadFabricEntitySummary{}). + SetError(&Error). + Get(path) - IsDefaultV4RP *bool `json:"isDefaultV4RP,omitempty"` // Specifies whether it is a default IPv4 RP. + if err != nil { + return nil, nil, err - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadFabricEntitySummary(ReadFabricEntitySummaryHeaderParams, ReadFabricEntitySummaryQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadFabricEntitySummary") + } - 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. + result := response.Result().(*ResponseSdaReadFabricEntitySummary) + return result, response, err - 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). +//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 - 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). +@param ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams Custom header parameters +@param ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams Filtering parameter - 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. +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" - MulticastRPs *[]RequestItemSdaUpdateMulticastVirtualNetworksMulticastRPs `json:"multicastRPs,omitempty"` // -} -type RequestItemSdaUpdateMulticastVirtualNetworksMulticastRPs struct { - RpDeviceLocation string `json:"rpDeviceLocation,omitempty"` // Device location of the RP. + queryString, _ := query.Values(ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams) - 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. + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - 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. + if ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams != nil { - IsDefaultV4RP *bool `json:"isDefaultV4RP,omitempty"` // Specifies whether it is a default IPv4 RP. + if ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID) + } - 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. + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadListOfTransitNetworksWithTheirHealthSummary{}). + SetError(&Error). + Get(path) - 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. + if err != nil { + return nil, nil, err - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadListOfTransitNetworksWithTheirHealthSummary(ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams, ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadListOfTransitNetworksWithTheirHealthSummary") + } - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the port assignment. + result := response.Result().(*ResponseSdaReadListOfTransitNetworksWithTheirHealthSummary) + return result, response, err - InterfaceName string `json:"interfaceName,omitempty"` // Interface name of the port assignment. +} - ConnectedDeviceType string `json:"connectedDeviceType,omitempty"` // Connected device type of the port assignment. +//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 - DataVLANName string `json:"dataVlanName,omitempty"` // Data VLAN name of the port assignment. - VoiceVLANName string `json:"voiceVlanName,omitempty"` // Voice VLAN name of the port assignment. +@param ReadTransitNetworksCountHeaderParams Custom header parameters +@param ReadTransitNetworksCountQueryParams Filtering parameter - AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate template name of the port assignment. +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" - SecurityGroupName string `json:"securityGroupName,omitempty"` // Security group name of the port assignment. + queryString, _ := query.Values(ReadTransitNetworksCountQueryParams) - 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. + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to (updating this filed is not allowed). + if ReadTransitNetworksCountHeaderParams != nil { - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the port assignment (updating this field is not allowed). + if ReadTransitNetworksCountHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadTransitNetworksCountHeaderParams.XCaLLERID) + } - 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). + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadTransitNetworksCount{}). + SetError(&Error). + Get(path) - DataVLANName string `json:"dataVlanName,omitempty"` // Data VLAN name of the port assignment. + if err != nil { + return nil, nil, err - VoiceVLANName string `json:"voiceVlanName,omitempty"` // Voice VLAN name of the port assignment. + } - AuthenticateTemplateName string `json:"authenticateTemplateName,omitempty"` // Authenticate template name of the port assignment. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadTransitNetworksCount(ReadTransitNetworksCountHeaderParams, ReadTransitNetworksCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadTransitNetworksCount") + } - ScalableGroupName string `json:"scalableGroupName,omitempty"` // Scalable group name of the port assignment. + result := response.Result().(*ResponseSdaReadTransitNetworksCount) + return result, response, err - 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. +//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 - 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. +@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 - Protocol string `json:"protocol,omitempty"` // Protocol of the port channel (only PAGP is allowed if connectedDeviceType is EXTENDED_NODE). +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) - 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). + queryString, _ := query.Values(ReadTransitNetworkWithItsHealthSummaryFromIdQueryParams) - FabricID string `json:"fabricId,omitempty"` // ID of the fabric the device is assigned to (updating this field is not allowed). + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // ID of the network device (updating this field is not allowed). + if ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams != nil { - PortChannelName string `json:"portChannelName,omitempty"` // Name of the port channel (updating this field is not allowed). + if ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID) + } - 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. + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadTransitNetworkWithItsHealthSummaryFromID{}). + SetError(&Error). + Get(path) - Protocol string `json:"protocol,omitempty"` // Protocol of the port channel (updating this field is not allowed). + if err != nil { + return nil, nil, err - 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. + } - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.ReadTransitNetworkWithItsHealthSummaryFromID(id, ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams, ReadTransitNetworkWithItsHealthSummaryFromIdQueryParams) + } + return nil, response, fmt.Errorf("error with operation ReadTransitNetworkWithItsHealthSummaryFromId") + } - SiteID string `json:"siteId,omitempty"` // ID of the site this device is already provisioned to. (updating this field is not allowed). + result := response.Result().(*ResponseSdaReadTransitNetworkWithItsHealthSummaryFromID) + return result, response, err - 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). +//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 - 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). +@param id id path parameter. The unique transit network id, Ex ā€œ1551156a-bc97-3c63-aeda-8a6d3765b5b9" - 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. +@param TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams Custom header parameters +@param TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeQueryParams Filtering parameter - 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. +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) - Type string `json:"type,omitempty"` // Type of the transit network. + queryString, _ := query.Values(TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeQueryParams) - IPTransitSettings *RequestItemSdaAddTransitNetworksIPTransitSettings `json:"ipTransitSettings,omitempty"` // + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - SdaTransitSettings *RequestItemSdaAddTransitNetworksSdaTransitSettings `json:"sdaTransitSettings,omitempty"` // -} -type RequestItemSdaAddTransitNetworksIPTransitSettings struct { - RoutingProtocolName string `json:"routingProtocolName,omitempty"` // Routing protocol name of the IP transit network. + if TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams != nil { - 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. + if TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID) + } - 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. + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange{}). + SetError(&Error). + Get(path) - ScalableGroupNames []string `json:"scalableGroupNames,omitempty"` // Scalable Group to be associated to virtual network + if err != nil { + return nil, nil, err - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange(id, TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeQueryParams) + } + return nil, response, fmt.Errorf("error with operation TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange") + } - ScalableGroupNames []string `json:"scalableGroupNames,omitempty"` // Scalable Group Name to be associated to virtual network + result := response.Result().(*ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange) + return result, response, err - 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. +//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-fabricSiteHealthSummaries-1.0.1-resolved.yaml +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 ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams Custom header parameters -@param ReadListOfFabricSitesWithTheirHealthSummaryQueryParams Filtering parameter +@param ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams Custom header parameters +@param ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-list-of-fabric-sites-with-their-health-summary +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-list-of-virtual-networks-with-their-health-summary */ -func (s *SdaService) ReadListOfFabricSitesWithTheirHealthSummary(ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams *ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams, ReadListOfFabricSitesWithTheirHealthSummaryQueryParams *ReadListOfFabricSitesWithTheirHealthSummaryQueryParams) (*ResponseSdaReadListOfFabricSitesWithTheirHealthSummary, *resty.Response, error) { - path := "/dna/data/api/v1/fabricSiteHealthSummaries" +func (s *SdaService) ReadListOfVirtualNetworksWithTheirHealthSummary(ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams *ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams, ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams *ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams) (*ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummary, *resty.Response, error) { + path := "/dna/data/api/v1/virtualNetworkHealthSummaries" - queryString, _ := query.Values(ReadListOfFabricSitesWithTheirHealthSummaryQueryParams) + queryString, _ := query.Values(ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams) var response *resty.Response var err error @@ -4247,16 +3722,16 @@ func (s *SdaService) ReadListOfFabricSitesWithTheirHealthSummary(ReadListOfFabri SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams != nil { - - if ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams.XCaLLERID) + if ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams != nil { + + if ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadListOfFabricSitesWithTheirHealthSummary{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummary{}). SetError(&Error). Get(path) @@ -4267,31 +3742,31 @@ func (s *SdaService) ReadListOfFabricSitesWithTheirHealthSummary(ReadListOfFabri if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadListOfFabricSitesWithTheirHealthSummary(ReadListOfFabricSitesWithTheirHealthSummaryHeaderParams, ReadListOfFabricSitesWithTheirHealthSummaryQueryParams) + return s.ReadListOfVirtualNetworksWithTheirHealthSummary(ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams, ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadListOfFabricSitesWithTheirHealthSummary") + return nil, response, fmt.Errorf("error with operation ReadListOfVirtualNetworksWithTheirHealthSummary") } - result := response.Result().(*ResponseSdaReadListOfFabricSitesWithTheirHealthSummary) + result := response.Result().(*ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummary) 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. +//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-fabricSiteHealthSummaries-1.0.1-resolved.yaml +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 ReadFabricSiteCountHeaderParams Custom header parameters -@param ReadFabricSiteCountQueryParams Filtering parameter +@param ReadVirtualNetworksCountHeaderParams Custom header parameters +@param ReadVirtualNetworksCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-fabric-site-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-virtual-networks-count */ -func (s *SdaService) ReadFabricSiteCount(ReadFabricSiteCountHeaderParams *ReadFabricSiteCountHeaderParams, ReadFabricSiteCountQueryParams *ReadFabricSiteCountQueryParams) (*ResponseSdaReadFabricSiteCount, *resty.Response, error) { - path := "/dna/data/api/v1/fabricSiteHealthSummaries/count" +func (s *SdaService) ReadVirtualNetworksCount(ReadVirtualNetworksCountHeaderParams *ReadVirtualNetworksCountHeaderParams, ReadVirtualNetworksCountQueryParams *ReadVirtualNetworksCountQueryParams) (*ResponseSdaReadVirtualNetworksCount, *resty.Response, error) { + path := "/dna/data/api/v1/virtualNetworkHealthSummaries/count" - queryString, _ := query.Values(ReadFabricSiteCountQueryParams) + queryString, _ := query.Values(ReadVirtualNetworksCountQueryParams) var response *resty.Response var err error @@ -4299,16 +3774,16 @@ func (s *SdaService) ReadFabricSiteCount(ReadFabricSiteCountHeaderParams *ReadFa SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if ReadFabricSiteCountHeaderParams != nil { + if ReadVirtualNetworksCountHeaderParams != nil { - if ReadFabricSiteCountHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadFabricSiteCountHeaderParams.XCaLLERID) + if ReadVirtualNetworksCountHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadVirtualNetworksCountHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadFabricSiteCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadVirtualNetworksCount{}). SetError(&Error). Get(path) @@ -4319,34 +3794,34 @@ func (s *SdaService) ReadFabricSiteCount(ReadFabricSiteCountHeaderParams *ReadFa if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadFabricSiteCount(ReadFabricSiteCountHeaderParams, ReadFabricSiteCountQueryParams) + return s.ReadVirtualNetworksCount(ReadVirtualNetworksCountHeaderParams, ReadVirtualNetworksCountQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadFabricSiteCount") + return nil, response, fmt.Errorf("error with operation ReadVirtualNetworksCount") } - result := response.Result().(*ResponseSdaReadFabricSiteCount) + result := response.Result().(*ResponseSdaReadVirtualNetworksCount) 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. +//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-fabricSiteHealthSummaries-1.0.1-resolved.yaml +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 fabric site id +@param id id path parameter. unique virtual networks id -@param ReadFabricSitesWithHealthSummaryFromIdHeaderParams Custom header parameters -@param ReadFabricSitesWithHealthSummaryFromIdQueryParams Filtering parameter +@param ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams Custom header parameters +@param ReadVirtualNetworkWithItsHealthSummaryFromIdQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-fabric-sites-with-health-summary-from-id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-virtual-network-with-its-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}" +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(ReadFabricSitesWithHealthSummaryFromIdQueryParams) + queryString, _ := query.Values(ReadVirtualNetworkWithItsHealthSummaryFromIdQueryParams) var response *resty.Response var err error @@ -4354,16 +3829,16 @@ func (s *SdaService) ReadFabricSitesWithHealthSummaryFromID(id string, ReadFabri SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if ReadFabricSitesWithHealthSummaryFromIdHeaderParams != nil { + if ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams != nil { - if ReadFabricSitesWithHealthSummaryFromIdHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadFabricSitesWithHealthSummaryFromIdHeaderParams.XCaLLERID) + if ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadFabricSitesWithHealthSummaryFromID{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromID{}). SetError(&Error). Get(path) @@ -4374,36 +3849,37 @@ func (s *SdaService) ReadFabricSitesWithHealthSummaryFromID(id string, ReadFabri if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadFabricSitesWithHealthSummaryFromID(id, ReadFabricSitesWithHealthSummaryFromIdHeaderParams, ReadFabricSitesWithHealthSummaryFromIdQueryParams) + return s.ReadVirtualNetworkWithItsHealthSummaryFromID(id, ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams, ReadVirtualNetworkWithItsHealthSummaryFromIdQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadFabricSitesWithHealthSummaryFromId") + return nil, response, fmt.Errorf("error with operation ReadVirtualNetworkWithItsHealthSummaryFromId") } - result := response.Result().(*ResponseSdaReadFabricSitesWithHealthSummaryFromID) + result := response.Result().(*ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromID) 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. +//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 -ex: id:93a25378-7740-4e20-8d90-0060ad9a1be0 +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-fabricSiteHealthSummaries-1.0.1-resolved.yaml +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 fabric site id +@param id id path parameter. unique virtual network id -@param TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams Custom header parameters -@param TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams Filtering parameter +@param TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams Custom header parameters +@param TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-trend-analytics-data-for-a-fabric-site-in-the-specified-time-range +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) TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange(id string, TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams *TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams *TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams) (*ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange, *resty.Response, error) { - path := "/dna/data/api/v1/fabricSiteHealthSummaries/{id}/trendAnalytics" +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(TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams) + queryString, _ := query.Values(TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams) var response *resty.Response var err error @@ -4411,16 +3887,16 @@ func (s *SdaService) TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange( SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams != nil { + if TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams != nil { - if TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams.XCaLLERID) + if TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID) } } response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange{}). SetError(&Error). Get(path) @@ -4431,48 +3907,33 @@ func (s *SdaService) TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange( if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange(id, TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRangeQueryParams) + return s.TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange(id, TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams) } - return nil, response, fmt.Errorf("error with operation TheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange") + return nil, response, fmt.Errorf("error with operation TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange") } - result := response.Result().(*ResponseSdaTheTrendAnalyticsDataForAFabricSiteInTheSpecifiedTimeRange) + result := response.Result().(*ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange) 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 +//GetDefaultAuthenticationProfileFromSdaFabric Get default authentication profile from SDA Fabric - 8b90-8a4e-4c5a-9a23 +/* Get default authentication profile from SDA Fabric -@param ReadFabricEntitySummaryHeaderParams Custom header parameters -@param ReadFabricEntitySummaryQueryParams Filtering parameter +@param GetDefaultAuthenticationProfileFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-fabric-entity-summary +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-default-authentication-profile-from-sda-fabric */ -func (s *SdaService) ReadFabricEntitySummary(ReadFabricEntitySummaryHeaderParams *ReadFabricEntitySummaryHeaderParams, ReadFabricEntitySummaryQueryParams *ReadFabricEntitySummaryQueryParams) (*ResponseSdaReadFabricEntitySummary, *resty.Response, error) { - path := "/dna/data/api/v1/fabricSummary" +func (s *SdaService) GetDefaultAuthenticationProfileFromSdaFabric(GetDefaultAuthenticationProfileFromSDAFabricQueryParams *GetDefaultAuthenticationProfileFromSdaFabricQueryParams) (*ResponseSdaGetDefaultAuthenticationProfileFromSdaFabric, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/authentication-profile" - queryString, _ := query.Values(ReadFabricEntitySummaryQueryParams) + queryString, _ := query.Values(GetDefaultAuthenticationProfileFromSDAFabricQueryParams) - 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 ReadFabricEntitySummaryHeaderParams != nil { - - if ReadFabricEntitySummaryHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadFabricEntitySummaryHeaderParams.XCaLLERID) - } - - } - - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadFabricEntitySummary{}). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetDefaultAuthenticationProfileFromSdaFabric{}). SetError(&Error). Get(path) @@ -4483,48 +3944,33 @@ func (s *SdaService) ReadFabricEntitySummary(ReadFabricEntitySummaryHeaderParams if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadFabricEntitySummary(ReadFabricEntitySummaryHeaderParams, ReadFabricEntitySummaryQueryParams) + return s.GetDefaultAuthenticationProfileFromSdaFabric(GetDefaultAuthenticationProfileFromSDAFabricQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadFabricEntitySummary") + return nil, response, fmt.Errorf("error with operation GetDefaultAuthenticationProfileFromSdaFabric") } - result := response.Result().(*ResponseSdaReadFabricEntitySummary) + result := response.Result().(*ResponseSdaGetDefaultAuthenticationProfileFromSdaFabric) 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 +//GetBorderDeviceDetailFromSdaFabric Get border device detail from SDA Fabric - 98a3-9bf4-485a-9871 +/* Get border device detail from SDA Fabric -@param ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams Custom header parameters -@param ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams Filtering parameter +@param GetBorderDeviceDetailFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-list-of-transit-networks-with-their-health-summary +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-border-device-detail-from-sda-fabric */ -func (s *SdaService) ReadListOfTransitNetworksWithTheirHealthSummary(ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams *ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams, ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams *ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams) (*ResponseSdaReadListOfTransitNetworksWithTheirHealthSummary, *resty.Response, error) { - path := "/dna/data/api/v1/transitNetworkHealthSummaries" +func (s *SdaService) GetBorderDeviceDetailFromSdaFabric(GetBorderDeviceDetailFromSDAFabricQueryParams *GetBorderDeviceDetailFromSdaFabricQueryParams) (*ResponseSdaGetBorderDeviceDetailFromSdaFabric, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/border-device" - queryString, _ := query.Values(ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams) + queryString, _ := query.Values(GetBorderDeviceDetailFromSDAFabricQueryParams) - 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 ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams != nil { - - if ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID) - } - - } - - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadListOfTransitNetworksWithTheirHealthSummary{}). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetBorderDeviceDetailFromSdaFabric{}). SetError(&Error). Get(path) @@ -4535,48 +3981,33 @@ func (s *SdaService) ReadListOfTransitNetworksWithTheirHealthSummary(ReadListOfT if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadListOfTransitNetworksWithTheirHealthSummary(ReadListOfTransitNetworksWithTheirHealthSummaryHeaderParams, ReadListOfTransitNetworksWithTheirHealthSummaryQueryParams) + return s.GetBorderDeviceDetailFromSdaFabric(GetBorderDeviceDetailFromSDAFabricQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadListOfTransitNetworksWithTheirHealthSummary") + return nil, response, fmt.Errorf("error with operation GetBorderDeviceDetailFromSdaFabric") } - result := response.Result().(*ResponseSdaReadListOfTransitNetworksWithTheirHealthSummary) + result := response.Result().(*ResponseSdaGetBorderDeviceDetailFromSdaFabric) 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 +//GetControlPlaneDeviceFromSdaFabric Get control plane device from SDA Fabric - aba4-991d-4e9b-8747 +/* Get control plane device from SDA Fabric -@param ReadTransitNetworksCountHeaderParams Custom header parameters -@param ReadTransitNetworksCountQueryParams Filtering parameter +@param GetControlPlaneDeviceFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-transit-networks-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-control-plane-device-from-sda-fabric */ -func (s *SdaService) ReadTransitNetworksCount(ReadTransitNetworksCountHeaderParams *ReadTransitNetworksCountHeaderParams, ReadTransitNetworksCountQueryParams *ReadTransitNetworksCountQueryParams) (*ResponseSdaReadTransitNetworksCount, *resty.Response, error) { - path := "/dna/data/api/v1/transitNetworkHealthSummaries/count" +func (s *SdaService) GetControlPlaneDeviceFromSdaFabric(GetControlPlaneDeviceFromSDAFabricQueryParams *GetControlPlaneDeviceFromSdaFabricQueryParams) (*ResponseSdaGetControlPlaneDeviceFromSdaFabric, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/control-plane-device" - queryString, _ := query.Values(ReadTransitNetworksCountQueryParams) + queryString, _ := query.Values(GetControlPlaneDeviceFromSDAFabricQueryParams) - 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 ReadTransitNetworksCountHeaderParams != nil { - - if ReadTransitNetworksCountHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadTransitNetworksCountHeaderParams.XCaLLERID) - } - - } - - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadTransitNetworksCount{}). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetControlPlaneDeviceFromSdaFabric{}). SetError(&Error). Get(path) @@ -4587,51 +4018,33 @@ func (s *SdaService) ReadTransitNetworksCount(ReadTransitNetworksCountHeaderPara if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadTransitNetworksCount(ReadTransitNetworksCountHeaderParams, ReadTransitNetworksCountQueryParams) + return s.GetControlPlaneDeviceFromSdaFabric(GetControlPlaneDeviceFromSDAFabricQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadTransitNetworksCount") + return nil, response, fmt.Errorf("error with operation GetControlPlaneDeviceFromSdaFabric") } - 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) + result := response.Result().(*ResponseSdaGetControlPlaneDeviceFromSdaFabric) + return result, response, err - queryString, _ := query.Values(ReadTransitNetworkWithItsHealthSummaryFromIdQueryParams) +} - var response *resty.Response - var err error - clientRequest := s.client.R(). - SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json") +//GetDeviceInfoFromSdaFabric Get device info from SDA Fabric - 1385-18e1-4069-ab5f +/* Get device info from SDA Fabric - if ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams != nil { - if ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID) - } +@param GetDeviceInfoFromSDAFabricQueryParams Filtering parameter - } +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" - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadTransitNetworkWithItsHealthSummaryFromID{}). + queryString, _ := query.Values(GetDeviceInfoFromSDAFabricQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetDeviceInfoFromSdaFabric{}). SetError(&Error). Get(path) @@ -4642,52 +4055,33 @@ func (s *SdaService) ReadTransitNetworkWithItsHealthSummaryFromID(id string, Rea if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadTransitNetworkWithItsHealthSummaryFromID(id, ReadTransitNetworkWithItsHealthSummaryFromIdHeaderParams, ReadTransitNetworkWithItsHealthSummaryFromIdQueryParams) + return s.GetDeviceInfoFromSdaFabric(GetDeviceInfoFromSDAFabricQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadTransitNetworkWithItsHealthSummaryFromId") + return nil, response, fmt.Errorf("error with operation GetDeviceInfoFromSdaFabric") } - result := response.Result().(*ResponseSdaReadTransitNetworkWithItsHealthSummaryFromID) + result := response.Result().(*ResponseSdaGetDeviceInfoFromSdaFabric) return result, response, err } -//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 - +//GetDeviceRoleInSdaFabric Get device role in SDA Fabric - 8a92-d87c-416a-8e83 +/* Get device role in SDA Fabric -@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 +@param GetDeviceRoleInSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-trend-analytics-data-for-a-transit-network-in-the-specified-time-range +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-role-in-sda-fabric */ -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) +func (s *SdaService) GetDeviceRoleInSdaFabric(GetDeviceRoleInSDAFabricQueryParams *GetDeviceRoleInSdaFabricQueryParams) (*ResponseSdaGetDeviceRoleInSdaFabric, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/device/role" - queryString, _ := query.Values(TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeQueryParams) + queryString, _ := query.Values(GetDeviceRoleInSDAFabricQueryParams) - 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 TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams != nil { - - if TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID) - } - - } - - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange{}). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetDeviceRoleInSdaFabric{}). SetError(&Error). Get(path) @@ -4698,48 +4092,33 @@ func (s *SdaService) TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRa if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange(id, TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRangeQueryParams) + return s.GetDeviceRoleInSdaFabric(GetDeviceRoleInSDAFabricQueryParams) } - return nil, response, fmt.Errorf("error with operation TheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange") + return nil, response, fmt.Errorf("error with operation GetDeviceRoleInSdaFabric") } - result := response.Result().(*ResponseSdaTheTrendAnalyticsDataForATransitNetworkInTheSpecifiedTimeRange) + result := response.Result().(*ResponseSdaGetDeviceRoleInSdaFabric) return result, response, err } -//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 +//GetEdgeDeviceFromSdaFabric Get edge device from SDA Fabric - 7683-f90b-4efa-b090 +/* Get edge device from SDA Fabric -@param ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams Custom header parameters -@param ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams Filtering parameter +@param GetEdgeDeviceFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-list-of-virtual-networks-with-their-health-summary +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-edge-device-from-sda-fabric */ -func (s *SdaService) ReadListOfVirtualNetworksWithTheirHealthSummary(ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams *ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams, ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams *ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams) (*ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummary, *resty.Response, error) { - path := "/dna/data/api/v1/virtualNetworkHealthSummaries" +func (s *SdaService) GetEdgeDeviceFromSdaFabric(GetEdgeDeviceFromSDAFabricQueryParams *GetEdgeDeviceFromSdaFabricQueryParams) (*ResponseSdaGetEdgeDeviceFromSdaFabric, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/edge-device" - queryString, _ := query.Values(ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams) + queryString, _ := query.Values(GetEdgeDeviceFromSDAFabricQueryParams) - 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 ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams != nil { - - if ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams.XCaLLERID) - } - - } - - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummary{}). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetEdgeDeviceFromSdaFabric{}). SetError(&Error). Get(path) @@ -4750,48 +4129,33 @@ func (s *SdaService) ReadListOfVirtualNetworksWithTheirHealthSummary(ReadListOfV if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadListOfVirtualNetworksWithTheirHealthSummary(ReadListOfVirtualNetworksWithTheirHealthSummaryHeaderParams, ReadListOfVirtualNetworksWithTheirHealthSummaryQueryParams) + return s.GetEdgeDeviceFromSdaFabric(GetEdgeDeviceFromSDAFabricQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadListOfVirtualNetworksWithTheirHealthSummary") + return nil, response, fmt.Errorf("error with operation GetEdgeDeviceFromSdaFabric") } - result := response.Result().(*ResponseSdaReadListOfVirtualNetworksWithTheirHealthSummary) + result := response.Result().(*ResponseSdaGetEdgeDeviceFromSdaFabric) return result, response, err } -//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 +//GetSiteFromSdaFabric Get Site from SDA Fabric - 80b7-f8e6-406a-8701 +/* Get Site info from SDA Fabric -@param ReadVirtualNetworksCountHeaderParams Custom header parameters -@param ReadVirtualNetworksCountQueryParams Filtering parameter +@param GetSiteFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-virtual-networks-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-from-sda-fabric */ -func (s *SdaService) ReadVirtualNetworksCount(ReadVirtualNetworksCountHeaderParams *ReadVirtualNetworksCountHeaderParams, ReadVirtualNetworksCountQueryParams *ReadVirtualNetworksCountQueryParams) (*ResponseSdaReadVirtualNetworksCount, *resty.Response, error) { - path := "/dna/data/api/v1/virtualNetworkHealthSummaries/count" +func (s *SdaService) GetSiteFromSdaFabric(GetSiteFromSDAFabricQueryParams *GetSiteFromSdaFabricQueryParams) (*ResponseSdaGetSiteFromSdaFabric, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/fabric-site" - queryString, _ := query.Values(ReadVirtualNetworksCountQueryParams) + queryString, _ := query.Values(GetSiteFromSDAFabricQueryParams) - 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 ReadVirtualNetworksCountHeaderParams != nil { - - if ReadVirtualNetworksCountHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadVirtualNetworksCountHeaderParams.XCaLLERID) - } - - } - - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadVirtualNetworksCount{}). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetSiteFromSdaFabric{}). SetError(&Error). Get(path) @@ -4802,51 +4166,33 @@ func (s *SdaService) ReadVirtualNetworksCount(ReadVirtualNetworksCountHeaderPara if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadVirtualNetworksCount(ReadVirtualNetworksCountHeaderParams, ReadVirtualNetworksCountQueryParams) + return s.GetSiteFromSdaFabric(GetSiteFromSDAFabricQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadVirtualNetworksCount") + return nil, response, fmt.Errorf("error with operation GetSiteFromSdaFabric") } - result := response.Result().(*ResponseSdaReadVirtualNetworksCount) + result := response.Result().(*ResponseSdaGetSiteFromSdaFabric) return result, response, err } -//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 - +//GetPortAssignmentForAccessPointInSdaFabric Get Port assignment for access point in SDA Fabric - 5097-f8d4-45f9-8f51 +/* Get Port assignment for access point in SDA Fabric -@param id id path parameter. unique virtual networks id -@param ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams Custom header parameters -@param ReadVirtualNetworkWithItsHealthSummaryFromIdQueryParams Filtering parameter +@param GetPortAssignmentForAccessPointInSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!read-virtual-network-with-its-health-summary-from-id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignment-for-access-point-in-sda-fabric */ -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) +func (s *SdaService) GetPortAssignmentForAccessPointInSdaFabric(GetPortAssignmentForAccessPointInSDAFabricQueryParams *GetPortAssignmentForAccessPointInSdaFabricQueryParams) (*ResponseSdaGetPortAssignmentForAccessPointInSdaFabric, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/hostonboarding/access-point" - queryString, _ := query.Values(ReadVirtualNetworkWithItsHealthSummaryFromIdQueryParams) + queryString, _ := query.Values(GetPortAssignmentForAccessPointInSDAFabricQueryParams) - 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 ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams != nil { - - if ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams.XCaLLERID) - } - - } - - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromID{}). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortAssignmentForAccessPointInSdaFabric{}). SetError(&Error). Get(path) @@ -4857,54 +4203,33 @@ func (s *SdaService) ReadVirtualNetworkWithItsHealthSummaryFromID(id string, Rea if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ReadVirtualNetworkWithItsHealthSummaryFromID(id, ReadVirtualNetworkWithItsHealthSummaryFromIdHeaderParams, ReadVirtualNetworkWithItsHealthSummaryFromIdQueryParams) + return s.GetPortAssignmentForAccessPointInSdaFabric(GetPortAssignmentForAccessPointInSDAFabricQueryParams) } - return nil, response, fmt.Errorf("error with operation ReadVirtualNetworkWithItsHealthSummaryFromId") + return nil, response, fmt.Errorf("error with operation GetPortAssignmentForAccessPointInSdaFabric") } - result := response.Result().(*ResponseSdaReadVirtualNetworkWithItsHealthSummaryFromID) + result := response.Result().(*ResponseSdaGetPortAssignmentForAccessPointInSdaFabric) return result, response, err } -//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 - +//GetPortAssignmentForUserDeviceInSdaFabric Get Port assignment for user device in SDA Fabric - a4a1-e8ed-41cb-9653 +/* Get Port assignment for user device in SDA Fabric. -@param id id path parameter. unique virtual network id -@param TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams Custom header parameters -@param TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams Filtering parameter +@param GetPortAssignmentForUserDeviceInSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!the-trend-analytics-data-for-a-virtual-network-in-the-specified-time-range +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignment-for-user-device-in-sda-fabric */ -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) +func (s *SdaService) GetPortAssignmentForUserDeviceInSdaFabric(GetPortAssignmentForUserDeviceInSDAFabricQueryParams *GetPortAssignmentForUserDeviceInSdaFabricQueryParams) (*ResponseSdaGetPortAssignmentForUserDeviceInSdaFabric, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/hostonboarding/user-device" - queryString, _ := query.Values(TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams) + queryString, _ := query.Values(GetPortAssignmentForUserDeviceInSDAFabricQueryParams) - 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 TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams != nil { - - if TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID != "" { - clientRequest = clientRequest.SetHeader("X-CALLER-ID", TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams.XCaLLERID) - } - - } - - response, err = clientRequest. - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange{}). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortAssignmentForUserDeviceInSdaFabric{}). SetError(&Error). Get(path) @@ -4915,33 +4240,33 @@ func (s *SdaService) TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRa if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange(id, TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeHeaderParams, TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRangeQueryParams) + return s.GetPortAssignmentForUserDeviceInSdaFabric(GetPortAssignmentForUserDeviceInSDAFabricQueryParams) } - return nil, response, fmt.Errorf("error with operation TheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange") + return nil, response, fmt.Errorf("error with operation GetPortAssignmentForUserDeviceInSdaFabric") } - result := response.Result().(*ResponseSdaTheTrendAnalyticsDataForAVirtualNetworkInTheSpecifiedTimeRange) + result := response.Result().(*ResponseSdaGetPortAssignmentForUserDeviceInSdaFabric) return result, response, err } -//GetDefaultAuthenticationProfileFromSdaFabric Get default authentication profile from SDA Fabric - 8b90-8a4e-4c5a-9a23 -/* Get default authentication profile from SDA Fabric +//GetMulticastDetailsFromSdaFabric Get multicast details from SDA fabric - c286-f98b-47ba-9ab4 +/* Get multicast details from SDA fabric -@param GetDefaultAuthenticationProfileFromSDAFabricQueryParams Filtering parameter +@param GetMulticastDetailsFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-default-authentication-profile-from-sda-fabric +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-details-from-sda-fabric */ -func (s *SdaService) GetDefaultAuthenticationProfileFromSdaFabric(GetDefaultAuthenticationProfileFromSDAFabricQueryParams *GetDefaultAuthenticationProfileFromSdaFabricQueryParams) (*ResponseSdaGetDefaultAuthenticationProfileFromSdaFabric, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/authentication-profile" +func (s *SdaService) GetMulticastDetailsFromSdaFabric(GetMulticastDetailsFromSDAFabricQueryParams *GetMulticastDetailsFromSdaFabricQueryParams) (*ResponseSdaGetMulticastDetailsFromSdaFabric, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/multicast" - queryString, _ := query.Values(GetDefaultAuthenticationProfileFromSDAFabricQueryParams) + queryString, _ := query.Values(GetMulticastDetailsFromSDAFabricQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetDefaultAuthenticationProfileFromSdaFabric{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetMulticastDetailsFromSdaFabric{}). SetError(&Error). Get(path) @@ -4952,33 +4277,33 @@ func (s *SdaService) GetDefaultAuthenticationProfileFromSdaFabric(GetDefaultAuth if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDefaultAuthenticationProfileFromSdaFabric(GetDefaultAuthenticationProfileFromSDAFabricQueryParams) + return s.GetMulticastDetailsFromSdaFabric(GetMulticastDetailsFromSDAFabricQueryParams) } - return nil, response, fmt.Errorf("error with operation GetDefaultAuthenticationProfileFromSdaFabric") + return nil, response, fmt.Errorf("error with operation GetMulticastDetailsFromSdaFabric") } - result := response.Result().(*ResponseSdaGetDefaultAuthenticationProfileFromSdaFabric) + result := response.Result().(*ResponseSdaGetMulticastDetailsFromSdaFabric) return result, response, err } -//GetBorderDeviceDetailFromSdaFabric Get border device detail from SDA Fabric - 98a3-9bf4-485a-9871 -/* Get border device detail from SDA Fabric +//GetProvisionedWiredDevice Get Provisioned Wired Device - dfbf-2ae2-42ca-a449 +/* Get Provisioned Wired Device -@param GetBorderDeviceDetailFromSDAFabricQueryParams Filtering parameter +@param GetProvisionedWiredDeviceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-border-device-detail-from-sda-fabric +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-wired-device */ -func (s *SdaService) GetBorderDeviceDetailFromSdaFabric(GetBorderDeviceDetailFromSDAFabricQueryParams *GetBorderDeviceDetailFromSdaFabricQueryParams) (*ResponseSdaGetBorderDeviceDetailFromSdaFabric, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/border-device" +func (s *SdaService) GetProvisionedWiredDevice(GetProvisionedWiredDeviceQueryParams *GetProvisionedWiredDeviceQueryParams) (*ResponseSdaGetProvisionedWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/provision-device" - queryString, _ := query.Values(GetBorderDeviceDetailFromSDAFabricQueryParams) + queryString, _ := query.Values(GetProvisionedWiredDeviceQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetBorderDeviceDetailFromSdaFabric{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetProvisionedWiredDevice{}). SetError(&Error). Get(path) @@ -4989,33 +4314,33 @@ func (s *SdaService) GetBorderDeviceDetailFromSdaFabric(GetBorderDeviceDetailFro if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetBorderDeviceDetailFromSdaFabric(GetBorderDeviceDetailFromSDAFabricQueryParams) + return s.GetProvisionedWiredDevice(GetProvisionedWiredDeviceQueryParams) } - return nil, response, fmt.Errorf("error with operation GetBorderDeviceDetailFromSdaFabric") + return nil, response, fmt.Errorf("error with operation GetProvisionedWiredDevice") } - result := response.Result().(*ResponseSdaGetBorderDeviceDetailFromSdaFabric) + result := response.Result().(*ResponseSdaGetProvisionedWiredDevice) return result, response, err } -//GetControlPlaneDeviceFromSdaFabric Get control plane device from SDA Fabric - aba4-991d-4e9b-8747 -/* Get control plane device from SDA Fabric +//GetTransitPeerNetworkInfo Get Transit Peer Network Info - 16a1-bb5d-48cb-873d +/* Get Transit Peer Network Info from SD-Access -@param GetControlPlaneDeviceFromSDAFabricQueryParams Filtering parameter +@param GetTransitPeerNetworkInfoQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-control-plane-device-from-sda-fabric +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-transit-peer-network-info */ -func (s *SdaService) GetControlPlaneDeviceFromSdaFabric(GetControlPlaneDeviceFromSDAFabricQueryParams *GetControlPlaneDeviceFromSdaFabricQueryParams) (*ResponseSdaGetControlPlaneDeviceFromSdaFabric, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/control-plane-device" +func (s *SdaService) GetTransitPeerNetworkInfo(GetTransitPeerNetworkInfoQueryParams *GetTransitPeerNetworkInfoQueryParams) (*ResponseSdaGetTransitPeerNetworkInfo, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/transit-peer-network" - queryString, _ := query.Values(GetControlPlaneDeviceFromSDAFabricQueryParams) + queryString, _ := query.Values(GetTransitPeerNetworkInfoQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetControlPlaneDeviceFromSdaFabric{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetTransitPeerNetworkInfo{}). SetError(&Error). Get(path) @@ -5026,33 +4351,33 @@ func (s *SdaService) GetControlPlaneDeviceFromSdaFabric(GetControlPlaneDeviceFro if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetControlPlaneDeviceFromSdaFabric(GetControlPlaneDeviceFromSDAFabricQueryParams) + return s.GetTransitPeerNetworkInfo(GetTransitPeerNetworkInfoQueryParams) } - return nil, response, fmt.Errorf("error with operation GetControlPlaneDeviceFromSdaFabric") + return nil, response, fmt.Errorf("error with operation GetTransitPeerNetworkInfo") } - result := response.Result().(*ResponseSdaGetControlPlaneDeviceFromSdaFabric) + result := response.Result().(*ResponseSdaGetTransitPeerNetworkInfo) return result, response, err } -//GetDeviceInfoFromSdaFabric Get device info from SDA Fabric - 1385-18e1-4069-ab5f -/* Get device info from SDA Fabric +//GetVnFromSdaFabric Get VN from SDA Fabric - 2eb1-fa1e-49ca-a2b4 +/* Get virtual network (VN) from SDA Fabric -@param GetDeviceInfoFromSDAFabricQueryParams Filtering parameter +@param GetVNFromSDAFabricQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-info-from-sda-fabric +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-vn-from-sda-fabric */ -func (s *SdaService) GetDeviceInfoFromSdaFabric(GetDeviceInfoFromSDAFabricQueryParams *GetDeviceInfoFromSdaFabricQueryParams) (*ResponseSdaGetDeviceInfoFromSdaFabric, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/device" +func (s *SdaService) GetVnFromSdaFabric(GetVNFromSDAFabricQueryParams *GetVnFromSdaFabricQueryParams) (*ResponseSdaGetVnFromSdaFabric, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/virtual-network" - queryString, _ := query.Values(GetDeviceInfoFromSDAFabricQueryParams) + queryString, _ := query.Values(GetVNFromSDAFabricQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetDeviceInfoFromSdaFabric{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetVnFromSdaFabric{}). SetError(&Error). Get(path) @@ -5063,33 +4388,33 @@ func (s *SdaService) GetDeviceInfoFromSdaFabric(GetDeviceInfoFromSDAFabricQueryP if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceInfoFromSdaFabric(GetDeviceInfoFromSDAFabricQueryParams) + return s.GetVnFromSdaFabric(GetVNFromSDAFabricQueryParams) } - return nil, response, fmt.Errorf("error with operation GetDeviceInfoFromSdaFabric") + return nil, response, fmt.Errorf("error with operation GetVnFromSdaFabric") } - result := response.Result().(*ResponseSdaGetDeviceInfoFromSdaFabric) + result := response.Result().(*ResponseSdaGetVnFromSdaFabric) return result, response, err } -//GetDeviceRoleInSdaFabric Get device role in SDA Fabric - 8a92-d87c-416a-8e83 -/* Get device role in SDA Fabric +//GetVirtualNetworkSummary Get Virtual Network Summary - 6fa0-f8d5-4d29-857a +/* Get Virtual Network Summary -@param GetDeviceRoleInSDAFabricQueryParams Filtering parameter +@param GetVirtualNetworkSummaryQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-role-in-sda-fabric +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-virtual-network-summary */ -func (s *SdaService) GetDeviceRoleInSdaFabric(GetDeviceRoleInSDAFabricQueryParams *GetDeviceRoleInSdaFabricQueryParams) (*ResponseSdaGetDeviceRoleInSdaFabric, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/device/role" +func (s *SdaService) GetVirtualNetworkSummary(GetVirtualNetworkSummaryQueryParams *GetVirtualNetworkSummaryQueryParams) (*ResponseSdaGetVirtualNetworkSummary, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/virtual-network/summary" - queryString, _ := query.Values(GetDeviceRoleInSDAFabricQueryParams) + queryString, _ := query.Values(GetVirtualNetworkSummaryQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetDeviceRoleInSdaFabric{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetVirtualNetworkSummary{}). SetError(&Error). Get(path) @@ -5100,33 +4425,33 @@ func (s *SdaService) GetDeviceRoleInSdaFabric(GetDeviceRoleInSDAFabricQueryParam if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDeviceRoleInSdaFabric(GetDeviceRoleInSDAFabricQueryParams) + return s.GetVirtualNetworkSummary(GetVirtualNetworkSummaryQueryParams) } - return nil, response, fmt.Errorf("error with operation GetDeviceRoleInSdaFabric") + return nil, response, fmt.Errorf("error with operation GetVirtualNetworkSummary") } - result := response.Result().(*ResponseSdaGetDeviceRoleInSdaFabric) + result := response.Result().(*ResponseSdaGetVirtualNetworkSummary) return result, response, err } -//GetEdgeDeviceFromSdaFabric Get edge device from SDA Fabric - 7683-f90b-4efa-b090 -/* Get edge device from SDA Fabric +//GetIPPoolFromSdaVirtualNetwork Get IP Pool from SDA Virtual Network - fa92-19bf-45c8-b43b +/* Get IP Pool from SDA Virtual Network -@param GetEdgeDeviceFromSDAFabricQueryParams Filtering parameter +@param GetIPPoolFromSDAVirtualNetworkQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-edge-device-from-sda-fabric +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ip-pool-from-sda-virtual-network */ -func (s *SdaService) GetEdgeDeviceFromSdaFabric(GetEdgeDeviceFromSDAFabricQueryParams *GetEdgeDeviceFromSdaFabricQueryParams) (*ResponseSdaGetEdgeDeviceFromSdaFabric, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/edge-device" +func (s *SdaService) GetIPPoolFromSdaVirtualNetwork(GetIPPoolFromSDAVirtualNetworkQueryParams *GetIPPoolFromSdaVirtualNetworkQueryParams) (*ResponseSdaGetIPPoolFromSdaVirtualNetwork, *resty.Response, error) { + path := "/dna/intent/api/v1/business/sda/virtualnetwork/ippool" - queryString, _ := query.Values(GetEdgeDeviceFromSDAFabricQueryParams) + queryString, _ := query.Values(GetIPPoolFromSDAVirtualNetworkQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetEdgeDeviceFromSdaFabric{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetIPPoolFromSdaVirtualNetwork{}). SetError(&Error). Get(path) @@ -5137,33 +4462,33 @@ func (s *SdaService) GetEdgeDeviceFromSdaFabric(GetEdgeDeviceFromSDAFabricQueryP if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetEdgeDeviceFromSdaFabric(GetEdgeDeviceFromSDAFabricQueryParams) + return s.GetIPPoolFromSdaVirtualNetwork(GetIPPoolFromSDAVirtualNetworkQueryParams) } - return nil, response, fmt.Errorf("error with operation GetEdgeDeviceFromSdaFabric") + return nil, response, fmt.Errorf("error with operation GetIpPoolFromSdaVirtualNetwork") } - result := response.Result().(*ResponseSdaGetEdgeDeviceFromSdaFabric) + result := response.Result().(*ResponseSdaGetIPPoolFromSdaVirtualNetwork) return result, response, err } -//GetSiteFromSdaFabric Get Site from SDA Fabric - 80b7-f8e6-406a-8701 -/* Get Site info from SDA Fabric +//GetAnycastGateways Get anycast gateways - 5cb3-f980-670e-770a +/* Returns a list of anycast gateways that match the provided query parameters. -@param GetSiteFromSDAFabricQueryParams Filtering parameter +@param GetAnycastGatewaysQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-from-sda-fabric +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anycast-gateways */ -func (s *SdaService) GetSiteFromSdaFabric(GetSiteFromSDAFabricQueryParams *GetSiteFromSdaFabricQueryParams) (*ResponseSdaGetSiteFromSdaFabric, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/fabric-site" +func (s *SdaService) GetAnycastGateways(GetAnycastGatewaysQueryParams *GetAnycastGatewaysQueryParams) (*ResponseSdaGetAnycastGateways, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/anycastGateways" - queryString, _ := query.Values(GetSiteFromSDAFabricQueryParams) + queryString, _ := query.Values(GetAnycastGatewaysQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetSiteFromSdaFabric{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetAnycastGateways{}). SetError(&Error). Get(path) @@ -5174,33 +4499,33 @@ func (s *SdaService) GetSiteFromSdaFabric(GetSiteFromSDAFabricQueryParams *GetSi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetSiteFromSdaFabric(GetSiteFromSDAFabricQueryParams) + return s.GetAnycastGateways(GetAnycastGatewaysQueryParams) } - return nil, response, fmt.Errorf("error with operation GetSiteFromSdaFabric") + return nil, response, fmt.Errorf("error with operation GetAnycastGateways") } - result := response.Result().(*ResponseSdaGetSiteFromSdaFabric) + result := response.Result().(*ResponseSdaGetAnycastGateways) return result, response, err } -//GetPortAssignmentForAccessPointInSdaFabric Get Port assignment for access point in SDA Fabric - 5097-f8d4-45f9-8f51 -/* Get Port assignment for access point in SDA Fabric +//GetAnycastGatewayCount Get anycast gateway count - e504-152d-3f53-4d07 +/* Returns the count of anycast gateways that match the provided query parameters. -@param GetPortAssignmentForAccessPointInSDAFabricQueryParams Filtering parameter +@param GetAnycastGatewayCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignment-for-access-point-in-sda-fabric +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anycast-gateway-count */ -func (s *SdaService) GetPortAssignmentForAccessPointInSdaFabric(GetPortAssignmentForAccessPointInSDAFabricQueryParams *GetPortAssignmentForAccessPointInSdaFabricQueryParams) (*ResponseSdaGetPortAssignmentForAccessPointInSdaFabric, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/hostonboarding/access-point" +func (s *SdaService) GetAnycastGatewayCount(GetAnycastGatewayCountQueryParams *GetAnycastGatewayCountQueryParams) (*ResponseSdaGetAnycastGatewayCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/anycastGateways/count" - queryString, _ := query.Values(GetPortAssignmentForAccessPointInSDAFabricQueryParams) + queryString, _ := query.Values(GetAnycastGatewayCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortAssignmentForAccessPointInSdaFabric{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetAnycastGatewayCount{}). SetError(&Error). Get(path) @@ -5211,33 +4536,33 @@ func (s *SdaService) GetPortAssignmentForAccessPointInSdaFabric(GetPortAssignmen if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPortAssignmentForAccessPointInSdaFabric(GetPortAssignmentForAccessPointInSDAFabricQueryParams) + return s.GetAnycastGatewayCount(GetAnycastGatewayCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetPortAssignmentForAccessPointInSdaFabric") + return nil, response, fmt.Errorf("error with operation GetAnycastGatewayCount") } - result := response.Result().(*ResponseSdaGetPortAssignmentForAccessPointInSdaFabric) + result := response.Result().(*ResponseSdaGetAnycastGatewayCount) return result, response, err } -//GetPortAssignmentForUserDeviceInSdaFabric Get Port assignment for user device in SDA Fabric - a4a1-e8ed-41cb-9653 -/* Get Port assignment for user device in SDA Fabric. +//GetAuthenticationProfiles Get authentication profiles - 9eb7-1a2d-44c8-82aa +/* Returns a list of authentication profiles that match the provided query parameters. -@param GetPortAssignmentForUserDeviceInSDAFabricQueryParams Filtering parameter +@param GetAuthenticationProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignment-for-user-device-in-sda-fabric +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-authentication-profiles */ -func (s *SdaService) GetPortAssignmentForUserDeviceInSdaFabric(GetPortAssignmentForUserDeviceInSDAFabricQueryParams *GetPortAssignmentForUserDeviceInSdaFabricQueryParams) (*ResponseSdaGetPortAssignmentForUserDeviceInSdaFabric, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/hostonboarding/user-device" +func (s *SdaService) GetAuthenticationProfiles(GetAuthenticationProfilesQueryParams *GetAuthenticationProfilesQueryParams) (*ResponseSdaGetAuthenticationProfiles, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/authenticationProfiles" - queryString, _ := query.Values(GetPortAssignmentForUserDeviceInSDAFabricQueryParams) + queryString, _ := query.Values(GetAuthenticationProfilesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortAssignmentForUserDeviceInSdaFabric{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetAuthenticationProfiles{}). SetError(&Error). Get(path) @@ -5248,33 +4573,33 @@ func (s *SdaService) GetPortAssignmentForUserDeviceInSdaFabric(GetPortAssignment if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPortAssignmentForUserDeviceInSdaFabric(GetPortAssignmentForUserDeviceInSDAFabricQueryParams) + return s.GetAuthenticationProfiles(GetAuthenticationProfilesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetPortAssignmentForUserDeviceInSdaFabric") + return nil, response, fmt.Errorf("error with operation GetAuthenticationProfiles") } - result := response.Result().(*ResponseSdaGetPortAssignmentForUserDeviceInSdaFabric) + result := response.Result().(*ResponseSdaGetAuthenticationProfiles) return result, response, err } -//GetMulticastDetailsFromSdaFabric Get multicast details from SDA fabric - c286-f98b-47ba-9ab4 -/* Get multicast details from SDA fabric +//GetExtranetPolicies Get extranet policies - 3f85-3834-4b1b-bbcb +/* Returns a list of extranet policies that match the provided query parameters. -@param GetMulticastDetailsFromSDAFabricQueryParams Filtering parameter +@param GetExtranetPoliciesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-details-from-sda-fabric +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-extranet-policies */ -func (s *SdaService) GetMulticastDetailsFromSdaFabric(GetMulticastDetailsFromSDAFabricQueryParams *GetMulticastDetailsFromSdaFabricQueryParams) (*ResponseSdaGetMulticastDetailsFromSdaFabric, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/multicast" +func (s *SdaService) GetExtranetPolicies(GetExtranetPoliciesQueryParams *GetExtranetPoliciesQueryParams) (*ResponseSdaGetExtranetPolicies, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/extranetPolicies" - queryString, _ := query.Values(GetMulticastDetailsFromSDAFabricQueryParams) + queryString, _ := query.Values(GetExtranetPoliciesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetMulticastDetailsFromSdaFabric{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetExtranetPolicies{}). SetError(&Error). Get(path) @@ -5285,33 +4610,30 @@ func (s *SdaService) GetMulticastDetailsFromSdaFabric(GetMulticastDetailsFromSDA if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetMulticastDetailsFromSdaFabric(GetMulticastDetailsFromSDAFabricQueryParams) + return s.GetExtranetPolicies(GetExtranetPoliciesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetMulticastDetailsFromSdaFabric") + return nil, response, fmt.Errorf("error with operation GetExtranetPolicies") } - result := response.Result().(*ResponseSdaGetMulticastDetailsFromSdaFabric) + result := response.Result().(*ResponseSdaGetExtranetPolicies) return result, response, err } -//GetProvisionedWiredDevice Get Provisioned Wired Device - dfbf-2ae2-42ca-a449 -/* Get Provisioned Wired Device +//GetExtranetPolicyCount Get extranet policy count - 35a7-4975-447a-a6b8 +/* Returns the count of extranet policies that match the provided query parameters. -@param GetProvisionedWiredDeviceQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-wired-device +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-extranet-policy-count */ -func (s *SdaService) GetProvisionedWiredDevice(GetProvisionedWiredDeviceQueryParams *GetProvisionedWiredDeviceQueryParams) (*ResponseSdaGetProvisionedWiredDevice, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/provision-device" - - queryString, _ := query.Values(GetProvisionedWiredDeviceQueryParams) +func (s *SdaService) GetExtranetPolicyCount() (*ResponseSdaGetExtranetPolicyCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/extranetPolicies/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetProvisionedWiredDevice{}). + SetResult(&ResponseSdaGetExtranetPolicyCount{}). SetError(&Error). Get(path) @@ -5322,33 +4644,33 @@ func (s *SdaService) GetProvisionedWiredDevice(GetProvisionedWiredDeviceQueryPar if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetProvisionedWiredDevice(GetProvisionedWiredDeviceQueryParams) + return s.GetExtranetPolicyCount() } - return nil, response, fmt.Errorf("error with operation GetProvisionedWiredDevice") + return nil, response, fmt.Errorf("error with operation GetExtranetPolicyCount") } - result := response.Result().(*ResponseSdaGetProvisionedWiredDevice) + result := response.Result().(*ResponseSdaGetExtranetPolicyCount) return result, response, err } -//GetTransitPeerNetworkInfo Get Transit Peer Network Info - 16a1-bb5d-48cb-873d -/* Get Transit Peer Network Info from SD-Access +//GetFabricDevices Get fabric devices - e680-7a97-47db-99e5 +/* Returns a list of fabric devices that match the provided query parameters. -@param GetTransitPeerNetworkInfoQueryParams Filtering parameter +@param GetFabricDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-transit-peer-network-info +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices */ -func (s *SdaService) GetTransitPeerNetworkInfo(GetTransitPeerNetworkInfoQueryParams *GetTransitPeerNetworkInfoQueryParams) (*ResponseSdaGetTransitPeerNetworkInfo, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/transit-peer-network" +func (s *SdaService) GetFabricDevices(GetFabricDevicesQueryParams *GetFabricDevicesQueryParams) (*ResponseSdaGetFabricDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricDevices" - queryString, _ := query.Values(GetTransitPeerNetworkInfoQueryParams) + queryString, _ := query.Values(GetFabricDevicesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetTransitPeerNetworkInfo{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevices{}). SetError(&Error). Get(path) @@ -5359,33 +4681,33 @@ func (s *SdaService) GetTransitPeerNetworkInfo(GetTransitPeerNetworkInfoQueryPar if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetTransitPeerNetworkInfo(GetTransitPeerNetworkInfoQueryParams) + return s.GetFabricDevices(GetFabricDevicesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetTransitPeerNetworkInfo") + return nil, response, fmt.Errorf("error with operation GetFabricDevices") } - result := response.Result().(*ResponseSdaGetTransitPeerNetworkInfo) + result := response.Result().(*ResponseSdaGetFabricDevices) return result, response, err } -//GetVnFromSdaFabric Get VN from SDA Fabric - 2eb1-fa1e-49ca-a2b4 -/* Get virtual network (VN) from SDA Fabric +//GetFabricDevicesCount Get fabric devices count - 9ba6-7b73-44b9-bb42 +/* Returns the count of fabric devices that match the provided query parameters. -@param GetVNFromSDAFabricQueryParams Filtering parameter +@param GetFabricDevicesCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-vn-from-sda-fabric +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-count */ -func (s *SdaService) GetVnFromSdaFabric(GetVNFromSDAFabricQueryParams *GetVnFromSdaFabricQueryParams) (*ResponseSdaGetVnFromSdaFabric, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/virtual-network" +func (s *SdaService) GetFabricDevicesCount(GetFabricDevicesCountQueryParams *GetFabricDevicesCountQueryParams) (*ResponseSdaGetFabricDevicesCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricDevices/count" - queryString, _ := query.Values(GetVNFromSDAFabricQueryParams) + queryString, _ := query.Values(GetFabricDevicesCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetVnFromSdaFabric{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesCount{}). SetError(&Error). Get(path) @@ -5396,33 +4718,33 @@ func (s *SdaService) GetVnFromSdaFabric(GetVNFromSDAFabricQueryParams *GetVnFrom if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetVnFromSdaFabric(GetVNFromSDAFabricQueryParams) + return s.GetFabricDevicesCount(GetFabricDevicesCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetVnFromSdaFabric") + return nil, response, fmt.Errorf("error with operation GetFabricDevicesCount") } - result := response.Result().(*ResponseSdaGetVnFromSdaFabric) + result := response.Result().(*ResponseSdaGetFabricDevicesCount) return result, response, err } -//GetVirtualNetworkSummary Get Virtual Network Summary - 6fa0-f8d5-4d29-857a -/* Get Virtual Network Summary +//GetFabricDevicesLayer2Handoffs Get fabric devices layer 2 handoffs - b7af-eb15-4409-86a4 +/* Returns a list of layer 2 handoffs of fabric devices that match the provided query parameters. -@param GetVirtualNetworkSummaryQueryParams Filtering parameter +@param GetFabricDevicesLayer2HandoffsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-virtual-network-summary +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer2-handoffs */ -func (s *SdaService) GetVirtualNetworkSummary(GetVirtualNetworkSummaryQueryParams *GetVirtualNetworkSummaryQueryParams) (*ResponseSdaGetVirtualNetworkSummary, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/virtual-network/summary" +func (s *SdaService) GetFabricDevicesLayer2Handoffs(GetFabricDevicesLayer2HandoffsQueryParams *GetFabricDevicesLayer2HandoffsQueryParams) (*ResponseSdaGetFabricDevicesLayer2Handoffs, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricDevices/layer2Handoffs" - queryString, _ := query.Values(GetVirtualNetworkSummaryQueryParams) + queryString, _ := query.Values(GetFabricDevicesLayer2HandoffsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetVirtualNetworkSummary{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer2Handoffs{}). SetError(&Error). Get(path) @@ -5433,33 +4755,33 @@ func (s *SdaService) GetVirtualNetworkSummary(GetVirtualNetworkSummaryQueryParam if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetVirtualNetworkSummary(GetVirtualNetworkSummaryQueryParams) + return s.GetFabricDevicesLayer2Handoffs(GetFabricDevicesLayer2HandoffsQueryParams) } - return nil, response, fmt.Errorf("error with operation GetVirtualNetworkSummary") + return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer2Handoffs") } - result := response.Result().(*ResponseSdaGetVirtualNetworkSummary) + result := response.Result().(*ResponseSdaGetFabricDevicesLayer2Handoffs) return result, response, err } -//GetIPPoolFromSdaVirtualNetwork Get IP Pool from SDA Virtual Network - fa92-19bf-45c8-b43b -/* Get IP Pool from SDA Virtual Network +//GetFabricDevicesLayer2HandoffsCount Get fabric devices layer 2 handoffs count - 019c-791b-48f9-b1d9 +/* Returns the count of layer 2 handoffs of fabric devices that match the provided query parameters. -@param GetIPPoolFromSDAVirtualNetworkQueryParams Filtering parameter +@param GetFabricDevicesLayer2HandoffsCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ip-pool-from-sda-virtual-network +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer2-handoffs-count */ -func (s *SdaService) GetIPPoolFromSdaVirtualNetwork(GetIPPoolFromSDAVirtualNetworkQueryParams *GetIPPoolFromSdaVirtualNetworkQueryParams) (*ResponseSdaGetIPPoolFromSdaVirtualNetwork, *resty.Response, error) { - path := "/dna/intent/api/v1/business/sda/virtualnetwork/ippool" +func (s *SdaService) GetFabricDevicesLayer2HandoffsCount(GetFabricDevicesLayer2HandoffsCountQueryParams *GetFabricDevicesLayer2HandoffsCountQueryParams) (*ResponseSdaGetFabricDevicesLayer2HandoffsCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricDevices/layer2Handoffs/count" - queryString, _ := query.Values(GetIPPoolFromSDAVirtualNetworkQueryParams) + queryString, _ := query.Values(GetFabricDevicesLayer2HandoffsCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetIPPoolFromSdaVirtualNetwork{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer2HandoffsCount{}). SetError(&Error). Get(path) @@ -5470,33 +4792,33 @@ func (s *SdaService) GetIPPoolFromSdaVirtualNetwork(GetIPPoolFromSDAVirtualNetwo if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetIPPoolFromSdaVirtualNetwork(GetIPPoolFromSDAVirtualNetworkQueryParams) + return s.GetFabricDevicesLayer2HandoffsCount(GetFabricDevicesLayer2HandoffsCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetIpPoolFromSdaVirtualNetwork") + return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer2HandoffsCount") } - result := response.Result().(*ResponseSdaGetIPPoolFromSdaVirtualNetwork) + result := response.Result().(*ResponseSdaGetFabricDevicesLayer2HandoffsCount) return result, response, err } -//GetAnycastGateways Get anycast gateways - 5cb3-f980-670e-770a -/* Returns a list of anycast gateways that match the provided query parameters. +//GetFabricDevicesLayer3HandoffsWithIPTransit Get fabric devices layer 3 handoffs with ip transit - cbb9-daa0-43a9-913b +/* Returns a list of layer 3 handoffs with ip transit of fabric devices that match the provided query parameters. -@param GetAnycastGatewaysQueryParams Filtering parameter +@param GetFabricDevicesLayer3HandoffsWithIpTransitQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anycast-gateways +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-ip-transit */ -func (s *SdaService) GetAnycastGateways(GetAnycastGatewaysQueryParams *GetAnycastGatewaysQueryParams) (*ResponseSdaGetAnycastGateways, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/anycastGateways" +func (s *SdaService) GetFabricDevicesLayer3HandoffsWithIPTransit(GetFabricDevicesLayer3HandoffsWithIpTransitQueryParams *GetFabricDevicesLayer3HandoffsWithIPTransitQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransit, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/ipTransits" - queryString, _ := query.Values(GetAnycastGatewaysQueryParams) + queryString, _ := query.Values(GetFabricDevicesLayer3HandoffsWithIpTransitQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetAnycastGateways{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransit{}). SetError(&Error). Get(path) @@ -5507,33 +4829,33 @@ func (s *SdaService) GetAnycastGateways(GetAnycastGatewaysQueryParams *GetAnycas if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAnycastGateways(GetAnycastGatewaysQueryParams) + return s.GetFabricDevicesLayer3HandoffsWithIPTransit(GetFabricDevicesLayer3HandoffsWithIpTransitQueryParams) } - return nil, response, fmt.Errorf("error with operation GetAnycastGateways") + return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer3HandoffsWithIpTransit") } - result := response.Result().(*ResponseSdaGetAnycastGateways) + result := response.Result().(*ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransit) return result, response, err } -//GetAnycastGatewayCount Get anycast gateway count - e504-152d-3f53-4d07 -/* Returns the count of anycast gateways that match the provided query parameters. +//GetFabricDevicesLayer3HandoffsWithIPTransitCount Get fabric devices layer 3 handoffs with ip transit count - bb90-4a31-4378-9125 +/* Returns the count of layer 3 handoffs with ip transit of fabric devices that match the provided query parameters. -@param GetAnycastGatewayCountQueryParams Filtering parameter +@param GetFabricDevicesLayer3HandoffsWithIpTransitCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anycast-gateway-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-ip-transit-count */ -func (s *SdaService) GetAnycastGatewayCount(GetAnycastGatewayCountQueryParams *GetAnycastGatewayCountQueryParams) (*ResponseSdaGetAnycastGatewayCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/anycastGateways/count" +func (s *SdaService) GetFabricDevicesLayer3HandoffsWithIPTransitCount(GetFabricDevicesLayer3HandoffsWithIpTransitCountQueryParams *GetFabricDevicesLayer3HandoffsWithIPTransitCountQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/ipTransits/count" - queryString, _ := query.Values(GetAnycastGatewayCountQueryParams) + queryString, _ := query.Values(GetFabricDevicesLayer3HandoffsWithIpTransitCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetAnycastGatewayCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitCount{}). SetError(&Error). Get(path) @@ -5544,33 +4866,33 @@ func (s *SdaService) GetAnycastGatewayCount(GetAnycastGatewayCountQueryParams *G if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAnycastGatewayCount(GetAnycastGatewayCountQueryParams) + return s.GetFabricDevicesLayer3HandoffsWithIPTransitCount(GetFabricDevicesLayer3HandoffsWithIpTransitCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetAnycastGatewayCount") + return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer3HandoffsWithIpTransitCount") } - result := response.Result().(*ResponseSdaGetAnycastGatewayCount) + result := response.Result().(*ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitCount) return result, response, err } -//GetAuthenticationProfiles Get authentication profiles - 9eb7-1a2d-44c8-82aa -/* Returns a list of authentication profiles that match the provided query parameters. +//GetFabricDevicesLayer3HandoffsWithSdaTransit Get fabric devices layer 3 handoffs with sda transit - 0d8e-d8dd-458b-9dc1 +/* Returns a list of layer 3 handoffs with sda transit of fabric devices that match the provided query parameters. -@param GetAuthenticationProfilesQueryParams Filtering parameter +@param GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-authentication-profiles +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-sda-transit */ -func (s *SdaService) GetAuthenticationProfiles(GetAuthenticationProfilesQueryParams *GetAuthenticationProfilesQueryParams) (*ResponseSdaGetAuthenticationProfiles, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/authenticationProfiles" +func (s *SdaService) GetFabricDevicesLayer3HandoffsWithSdaTransit(GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams *GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransit, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/sdaTransits" - queryString, _ := query.Values(GetAuthenticationProfilesQueryParams) + queryString, _ := query.Values(GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetAuthenticationProfiles{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransit{}). SetError(&Error). Get(path) @@ -5581,33 +4903,33 @@ func (s *SdaService) GetAuthenticationProfiles(GetAuthenticationProfilesQueryPar if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAuthenticationProfiles(GetAuthenticationProfilesQueryParams) + return s.GetFabricDevicesLayer3HandoffsWithSdaTransit(GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams) } - return nil, response, fmt.Errorf("error with operation GetAuthenticationProfiles") + return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer3HandoffsWithSdaTransit") } - result := response.Result().(*ResponseSdaGetAuthenticationProfiles) + result := response.Result().(*ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransit) return result, response, err } -//GetExtranetPolicies Get extranet policies - 3f85-3834-4b1b-bbcb -/* Returns a list of extranet policies that match the provided query parameters. +//GetFabricDevicesLayer3HandoffsWithSdaTransitCount Get fabric devices layer 3 handoffs with sda transit count - bd89-6aca-46cb-8f65 +/* Returns the count of layer 3 handoffs with sda transit of fabric devices that match the provided query parameters. -@param GetExtranetPoliciesQueryParams Filtering parameter +@param GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-extranet-policies +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-sda-transit-count */ -func (s *SdaService) GetExtranetPolicies(GetExtranetPoliciesQueryParams *GetExtranetPoliciesQueryParams) (*ResponseSdaGetExtranetPolicies, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/extranetPolicies" +func (s *SdaService) GetFabricDevicesLayer3HandoffsWithSdaTransitCount(GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams *GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/sdaTransits/count" - queryString, _ := query.Values(GetExtranetPoliciesQueryParams) + queryString, _ := query.Values(GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetExtranetPolicies{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitCount{}). SetError(&Error). Get(path) @@ -5618,30 +4940,33 @@ func (s *SdaService) GetExtranetPolicies(GetExtranetPoliciesQueryParams *GetExtr if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetExtranetPolicies(GetExtranetPoliciesQueryParams) + return s.GetFabricDevicesLayer3HandoffsWithSdaTransitCount(GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetExtranetPolicies") + return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer3HandoffsWithSdaTransitCount") } - result := response.Result().(*ResponseSdaGetExtranetPolicies) + result := response.Result().(*ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitCount) return result, response, err } -//GetExtranetPolicyCount Get extranet policy count - 35a7-4975-447a-a6b8 -/* Returns the count of extranet policies that match the provided query parameters. +//GetFabricSites Get fabric sites - b78b-fa87-49a9-b804 +/* Returns a list of fabric sites that match the provided query parameters. +@param GetFabricSitesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-extranet-policy-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-sites */ -func (s *SdaService) GetExtranetPolicyCount() (*ResponseSdaGetExtranetPolicyCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/extranetPolicies/count" +func (s *SdaService) GetFabricSites(GetFabricSitesQueryParams *GetFabricSitesQueryParams) (*ResponseSdaGetFabricSites, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricSites" + + queryString, _ := query.Values(GetFabricSitesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseSdaGetExtranetPolicyCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricSites{}). SetError(&Error). Get(path) @@ -5652,33 +4977,30 @@ func (s *SdaService) GetExtranetPolicyCount() (*ResponseSdaGetExtranetPolicyCoun if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetExtranetPolicyCount() + return s.GetFabricSites(GetFabricSitesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetExtranetPolicyCount") + return nil, response, fmt.Errorf("error with operation GetFabricSites") } - result := response.Result().(*ResponseSdaGetExtranetPolicyCount) + result := response.Result().(*ResponseSdaGetFabricSites) return result, response, err } -//GetFabricDevices Get fabric devices - e680-7a97-47db-99e5 -/* Returns a list of fabric devices that match the provided query parameters. +//GetFabricSiteCount Get fabric site count - 109a-0907-4a9b-82ef +/* Returns the count of fabric sites that match the provided query parameters. -@param GetFabricDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-site-count */ -func (s *SdaService) GetFabricDevices(GetFabricDevicesQueryParams *GetFabricDevicesQueryParams) (*ResponseSdaGetFabricDevices, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricDevices" - - queryString, _ := query.Values(GetFabricDevicesQueryParams) +func (s *SdaService) GetFabricSiteCount() (*ResponseSdaGetFabricSiteCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricSites/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevices{}). + SetResult(&ResponseSdaGetFabricSiteCount{}). SetError(&Error). Get(path) @@ -5689,33 +5011,33 @@ func (s *SdaService) GetFabricDevices(GetFabricDevicesQueryParams *GetFabricDevi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricDevices(GetFabricDevicesQueryParams) + return s.GetFabricSiteCount() } - return nil, response, fmt.Errorf("error with operation GetFabricDevices") + return nil, response, fmt.Errorf("error with operation GetFabricSiteCount") } - result := response.Result().(*ResponseSdaGetFabricDevices) + result := response.Result().(*ResponseSdaGetFabricSiteCount) return result, response, err } -//GetFabricDevicesCount Get fabric devices count - 9ba6-7b73-44b9-bb42 -/* Returns the count of fabric devices that match the provided query parameters. +//GetFabricZones Get fabric zones - d0bc-0b5c-4fdb-839a +/* Returns a list of fabric zones that match the provided query parameters. -@param GetFabricDevicesCountQueryParams Filtering parameter +@param GetFabricZonesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-zones */ -func (s *SdaService) GetFabricDevicesCount(GetFabricDevicesCountQueryParams *GetFabricDevicesCountQueryParams) (*ResponseSdaGetFabricDevicesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricDevices/count" +func (s *SdaService) GetFabricZones(GetFabricZonesQueryParams *GetFabricZonesQueryParams) (*ResponseSdaGetFabricZones, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricZones" - queryString, _ := query.Values(GetFabricDevicesCountQueryParams) + queryString, _ := query.Values(GetFabricZonesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricZones{}). SetError(&Error). Get(path) @@ -5726,33 +5048,30 @@ func (s *SdaService) GetFabricDevicesCount(GetFabricDevicesCountQueryParams *Get if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricDevicesCount(GetFabricDevicesCountQueryParams) + return s.GetFabricZones(GetFabricZonesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetFabricDevicesCount") + return nil, response, fmt.Errorf("error with operation GetFabricZones") } - result := response.Result().(*ResponseSdaGetFabricDevicesCount) + result := response.Result().(*ResponseSdaGetFabricZones) return result, response, err } -//GetFabricDevicesLayer2Handoffs Get fabric devices layer 2 handoffs - b7af-eb15-4409-86a4 -/* Returns a list of layer 2 handoffs of fabric devices that match the provided query parameters. +//GetFabricZoneCount Get fabric zone count - 15a2-da20-4758-bc78 +/* Returns the count of fabric zones that match the provided query parameters. -@param GetFabricDevicesLayer2HandoffsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer2-handoffs +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-zone-count */ -func (s *SdaService) GetFabricDevicesLayer2Handoffs(GetFabricDevicesLayer2HandoffsQueryParams *GetFabricDevicesLayer2HandoffsQueryParams) (*ResponseSdaGetFabricDevicesLayer2Handoffs, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricDevices/layer2Handoffs" - - queryString, _ := query.Values(GetFabricDevicesLayer2HandoffsQueryParams) +func (s *SdaService) GetFabricZoneCount() (*ResponseSdaGetFabricZoneCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/fabricZones/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer2Handoffs{}). + SetResult(&ResponseSdaGetFabricZoneCount{}). SetError(&Error). Get(path) @@ -5763,33 +5082,33 @@ func (s *SdaService) GetFabricDevicesLayer2Handoffs(GetFabricDevicesLayer2Handof if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricDevicesLayer2Handoffs(GetFabricDevicesLayer2HandoffsQueryParams) + return s.GetFabricZoneCount() } - return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer2Handoffs") + return nil, response, fmt.Errorf("error with operation GetFabricZoneCount") } - result := response.Result().(*ResponseSdaGetFabricDevicesLayer2Handoffs) + result := response.Result().(*ResponseSdaGetFabricZoneCount) return result, response, err } -//GetFabricDevicesLayer2HandoffsCount Get fabric devices layer 2 handoffs count - 019c-791b-48f9-b1d9 -/* Returns the count of layer 2 handoffs of fabric devices that match the provided query parameters. +//GetLayer2VirtualNetworks Get layer 2 virtual networks - 659a-ab00-4c69-a663 +/* Returns a list of layer 2 virtual networks that match the provided query parameters. -@param GetFabricDevicesLayer2HandoffsCountQueryParams Filtering parameter +@param GetLayer2VirtualNetworksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer2-handoffs-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer2-virtual-networks */ -func (s *SdaService) GetFabricDevicesLayer2HandoffsCount(GetFabricDevicesLayer2HandoffsCountQueryParams *GetFabricDevicesLayer2HandoffsCountQueryParams) (*ResponseSdaGetFabricDevicesLayer2HandoffsCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricDevices/layer2Handoffs/count" +func (s *SdaService) GetLayer2VirtualNetworks(GetLayer2VirtualNetworksQueryParams *GetLayer2VirtualNetworksQueryParams) (*ResponseSdaGetLayer2VirtualNetworks, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/layer2VirtualNetworks" - queryString, _ := query.Values(GetFabricDevicesLayer2HandoffsCountQueryParams) + queryString, _ := query.Values(GetLayer2VirtualNetworksQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer2HandoffsCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetLayer2VirtualNetworks{}). SetError(&Error). Get(path) @@ -5800,33 +5119,33 @@ func (s *SdaService) GetFabricDevicesLayer2HandoffsCount(GetFabricDevicesLayer2H if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricDevicesLayer2HandoffsCount(GetFabricDevicesLayer2HandoffsCountQueryParams) + return s.GetLayer2VirtualNetworks(GetLayer2VirtualNetworksQueryParams) } - return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer2HandoffsCount") + return nil, response, fmt.Errorf("error with operation GetLayer2VirtualNetworks") } - result := response.Result().(*ResponseSdaGetFabricDevicesLayer2HandoffsCount) + result := response.Result().(*ResponseSdaGetLayer2VirtualNetworks) return result, response, err } -//GetFabricDevicesLayer3HandoffsWithIPTransit Get fabric devices layer 3 handoffs with ip transit - cbb9-daa0-43a9-913b -/* Returns a list of layer 3 handoffs with ip transit of fabric devices that match the provided query parameters. +//GetLayer2VirtualNetworkCount Get layer 2 virtual network count - 5c9f-0a6e-445b-b743 +/* Returns the count of layer 2 virtual networks that match the provided query parameters. -@param GetFabricDevicesLayer3HandoffsWithIpTransitQueryParams Filtering parameter +@param GetLayer2VirtualNetworkCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-ip-transit +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer2-virtual-network-count */ -func (s *SdaService) GetFabricDevicesLayer3HandoffsWithIPTransit(GetFabricDevicesLayer3HandoffsWithIpTransitQueryParams *GetFabricDevicesLayer3HandoffsWithIPTransitQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransit, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/ipTransits" +func (s *SdaService) GetLayer2VirtualNetworkCount(GetLayer2VirtualNetworkCountQueryParams *GetLayer2VirtualNetworkCountQueryParams) (*ResponseSdaGetLayer2VirtualNetworkCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/layer2VirtualNetworks/count" - queryString, _ := query.Values(GetFabricDevicesLayer3HandoffsWithIpTransitQueryParams) + queryString, _ := query.Values(GetLayer2VirtualNetworkCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransit{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetLayer2VirtualNetworkCount{}). SetError(&Error). Get(path) @@ -5837,33 +5156,33 @@ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithIPTransit(GetFabricDevice if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricDevicesLayer3HandoffsWithIPTransit(GetFabricDevicesLayer3HandoffsWithIpTransitQueryParams) + return s.GetLayer2VirtualNetworkCount(GetLayer2VirtualNetworkCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer3HandoffsWithIpTransit") + return nil, response, fmt.Errorf("error with operation GetLayer2VirtualNetworkCount") } - result := response.Result().(*ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransit) + result := response.Result().(*ResponseSdaGetLayer2VirtualNetworkCount) return result, response, err } -//GetFabricDevicesLayer3HandoffsWithIPTransitCount Get fabric devices layer 3 handoffs with ip transit count - bb90-4a31-4378-9125 -/* Returns the count of layer 3 handoffs with ip transit of fabric devices that match the provided query parameters. +//GetLayer3VirtualNetworks Get layer 3 virtual networks - 2892-e9d4-4b68-b538 +/* Returns a list of layer 3 virtual networks that match the provided query parameters. -@param GetFabricDevicesLayer3HandoffsWithIpTransitCountQueryParams Filtering parameter +@param GetLayer3VirtualNetworksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-ip-transit-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer3-virtual-networks */ -func (s *SdaService) GetFabricDevicesLayer3HandoffsWithIPTransitCount(GetFabricDevicesLayer3HandoffsWithIpTransitCountQueryParams *GetFabricDevicesLayer3HandoffsWithIPTransitCountQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/ipTransits/count" +func (s *SdaService) GetLayer3VirtualNetworks(GetLayer3VirtualNetworksQueryParams *GetLayer3VirtualNetworksQueryParams) (*ResponseSdaGetLayer3VirtualNetworks, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/layer3VirtualNetworks" - queryString, _ := query.Values(GetFabricDevicesLayer3HandoffsWithIpTransitCountQueryParams) + queryString, _ := query.Values(GetLayer3VirtualNetworksQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetLayer3VirtualNetworks{}). SetError(&Error). Get(path) @@ -5874,33 +5193,33 @@ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithIPTransitCount(GetFabricD if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricDevicesLayer3HandoffsWithIPTransitCount(GetFabricDevicesLayer3HandoffsWithIpTransitCountQueryParams) + return s.GetLayer3VirtualNetworks(GetLayer3VirtualNetworksQueryParams) } - return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer3HandoffsWithIpTransitCount") + return nil, response, fmt.Errorf("error with operation GetLayer3VirtualNetworks") } - result := response.Result().(*ResponseSdaGetFabricDevicesLayer3HandoffsWithIPTransitCount) + result := response.Result().(*ResponseSdaGetLayer3VirtualNetworks) return result, response, err } -//GetFabricDevicesLayer3HandoffsWithSdaTransit Get fabric devices layer 3 handoffs with sda transit - 0d8e-d8dd-458b-9dc1 -/* Returns a list of layer 3 handoffs with sda transit of fabric devices that match the provided query parameters. +//GetLayer3VirtualNetworksCount Get layer 3 virtual networks count - 87af-99e9-493b-9f3d +/* Returns the count of layer 3 virtual networks that match the provided query parameters. -@param GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams Filtering parameter +@param GetLayer3VirtualNetworksCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-sda-transit +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer3-virtual-networks-count */ -func (s *SdaService) GetFabricDevicesLayer3HandoffsWithSdaTransit(GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams *GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransit, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/sdaTransits" +func (s *SdaService) GetLayer3VirtualNetworksCount(GetLayer3VirtualNetworksCountQueryParams *GetLayer3VirtualNetworksCountQueryParams) (*ResponseSdaGetLayer3VirtualNetworksCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/layer3VirtualNetworks/count" - queryString, _ := query.Values(GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams) + queryString, _ := query.Values(GetLayer3VirtualNetworksCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransit{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetLayer3VirtualNetworksCount{}). SetError(&Error). Get(path) @@ -5911,33 +5230,33 @@ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithSdaTransit(GetFabricDevic if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricDevicesLayer3HandoffsWithSdaTransit(GetFabricDevicesLayer3HandoffsWithSdaTransitQueryParams) + return s.GetLayer3VirtualNetworksCount(GetLayer3VirtualNetworksCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer3HandoffsWithSdaTransit") + return nil, response, fmt.Errorf("error with operation GetLayer3VirtualNetworksCount") } - result := response.Result().(*ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransit) + result := response.Result().(*ResponseSdaGetLayer3VirtualNetworksCount) return result, response, err } -//GetFabricDevicesLayer3HandoffsWithSdaTransitCount Get fabric devices layer 3 handoffs with sda transit count - bd89-6aca-46cb-8f65 -/* Returns the count of layer 3 handoffs with sda transit of fabric devices that match the provided query parameters. +//GetMulticast Get multicast - b48d-e933-4e5b-988a +/* Returns a list of multicast configurations at a fabric site level that match the provided query parameters. -@param GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams Filtering parameter +@param GetMulticastQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-devices-layer3-handoffs-with-sda-transit-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast */ -func (s *SdaService) GetFabricDevicesLayer3HandoffsWithSdaTransitCount(GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams *GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams) (*ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricDevices/layer3Handoffs/sdaTransits/count" +func (s *SdaService) GetMulticast(GetMulticastQueryParams *GetMulticastQueryParams) (*ResponseSdaGetMulticast, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/multicast" - queryString, _ := query.Values(GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams) + queryString, _ := query.Values(GetMulticastQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetMulticast{}). SetError(&Error). Get(path) @@ -5948,33 +5267,33 @@ func (s *SdaService) GetFabricDevicesLayer3HandoffsWithSdaTransitCount(GetFabric if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricDevicesLayer3HandoffsWithSdaTransitCount(GetFabricDevicesLayer3HandoffsWithSdaTransitCountQueryParams) + return s.GetMulticast(GetMulticastQueryParams) } - return nil, response, fmt.Errorf("error with operation GetFabricDevicesLayer3HandoffsWithSdaTransitCount") + return nil, response, fmt.Errorf("error with operation GetMulticast") } - result := response.Result().(*ResponseSdaGetFabricDevicesLayer3HandoffsWithSdaTransitCount) + result := response.Result().(*ResponseSdaGetMulticast) return result, response, err } -//GetFabricSites Get fabric sites - b78b-fa87-49a9-b804 -/* Returns a list of fabric sites that match the provided query parameters. +//GetMulticastVirtualNetworks Get multicast virtual networks - 048b-698b-4048-b3aa +/* Returns a list of multicast configurations for virtual networks that match the provided query parameters. -@param GetFabricSitesQueryParams Filtering parameter +@param GetMulticastVirtualNetworksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-sites +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-virtual-networks */ -func (s *SdaService) GetFabricSites(GetFabricSitesQueryParams *GetFabricSitesQueryParams) (*ResponseSdaGetFabricSites, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricSites" +func (s *SdaService) GetMulticastVirtualNetworks(GetMulticastVirtualNetworksQueryParams *GetMulticastVirtualNetworksQueryParams) (*ResponseSdaGetMulticastVirtualNetworks, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/multicast/virtualNetworks" - queryString, _ := query.Values(GetFabricSitesQueryParams) + queryString, _ := query.Values(GetMulticastVirtualNetworksQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricSites{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetMulticastVirtualNetworks{}). SetError(&Error). Get(path) @@ -5985,30 +5304,33 @@ func (s *SdaService) GetFabricSites(GetFabricSitesQueryParams *GetFabricSitesQue if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricSites(GetFabricSitesQueryParams) + return s.GetMulticastVirtualNetworks(GetMulticastVirtualNetworksQueryParams) } - return nil, response, fmt.Errorf("error with operation GetFabricSites") + return nil, response, fmt.Errorf("error with operation GetMulticastVirtualNetworks") } - result := response.Result().(*ResponseSdaGetFabricSites) + result := response.Result().(*ResponseSdaGetMulticastVirtualNetworks) return result, response, err } -//GetFabricSiteCount Get fabric site count - 109a-0907-4a9b-82ef -/* Returns the count of fabric sites that match the provided query parameters. +//GetMulticastVirtualNetworkCount Get multicast virtual network count - 7cbb-0b86-4a39-98ab +/* Returns the count of multicast configurations associated to virtual networks that match the provided query parameters. +@param GetMulticastVirtualNetworkCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-site-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-virtual-network-count */ -func (s *SdaService) GetFabricSiteCount() (*ResponseSdaGetFabricSiteCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricSites/count" +func (s *SdaService) GetMulticastVirtualNetworkCount(GetMulticastVirtualNetworkCountQueryParams *GetMulticastVirtualNetworkCountQueryParams) (*ResponseSdaGetMulticastVirtualNetworkCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/multicast/virtualNetworks/count" + + queryString, _ := query.Values(GetMulticastVirtualNetworkCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseSdaGetFabricSiteCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetMulticastVirtualNetworkCount{}). SetError(&Error). Get(path) @@ -6019,33 +5341,33 @@ func (s *SdaService) GetFabricSiteCount() (*ResponseSdaGetFabricSiteCount, *rest if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricSiteCount() + return s.GetMulticastVirtualNetworkCount(GetMulticastVirtualNetworkCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetFabricSiteCount") + return nil, response, fmt.Errorf("error with operation GetMulticastVirtualNetworkCount") } - result := response.Result().(*ResponseSdaGetFabricSiteCount) + result := response.Result().(*ResponseSdaGetMulticastVirtualNetworkCount) return result, response, err } -//GetFabricZones Get fabric zones - d0bc-0b5c-4fdb-839a -/* Returns a list of fabric zones that match the provided query parameters. +//GetPendingFabricEvents Get pending fabric events - 46aa-996a-4eda-a8fc +/* Returns a list of pending fabric events that match the provided query parameters. -@param GetFabricZonesQueryParams Filtering parameter +@param GetPendingFabricEventsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-fabric-zones +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-pending-fabric-events */ -func (s *SdaService) GetFabricZones(GetFabricZonesQueryParams *GetFabricZonesQueryParams) (*ResponseSdaGetFabricZones, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricZones" +func (s *SdaService) GetPendingFabricEvents(GetPendingFabricEventsQueryParams *GetPendingFabricEventsQueryParams) (*ResponseSdaGetPendingFabricEvents, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/pendingFabricEvents" - queryString, _ := query.Values(GetFabricZonesQueryParams) + queryString, _ := query.Values(GetPendingFabricEventsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetFabricZones{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPendingFabricEvents{}). SetError(&Error). Get(path) @@ -6056,30 +5378,33 @@ func (s *SdaService) GetFabricZones(GetFabricZonesQueryParams *GetFabricZonesQue if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricZones(GetFabricZonesQueryParams) + return s.GetPendingFabricEvents(GetPendingFabricEventsQueryParams) } - return nil, response, fmt.Errorf("error with operation GetFabricZones") + return nil, response, fmt.Errorf("error with operation GetPendingFabricEvents") } - result := response.Result().(*ResponseSdaGetFabricZones) + result := response.Result().(*ResponseSdaGetPendingFabricEvents) return result, response, err } -//GetFabricZoneCount Get fabric zone count - 15a2-da20-4758-bc78 -/* Returns the count of fabric zones that match the provided query parameters. +//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-fabric-zone-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignments */ -func (s *SdaService) GetFabricZoneCount() (*ResponseSdaGetFabricZoneCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/fabricZones/count" +func (s *SdaService) GetPortAssignments(GetPortAssignmentsQueryParams *GetPortAssignmentsQueryParams) (*ResponseSdaGetPortAssignments, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/portAssignments" + + queryString, _ := query.Values(GetPortAssignmentsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseSdaGetFabricZoneCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortAssignments{}). SetError(&Error). Get(path) @@ -6090,33 +5415,33 @@ func (s *SdaService) GetFabricZoneCount() (*ResponseSdaGetFabricZoneCount, *rest if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetFabricZoneCount() + return s.GetPortAssignments(GetPortAssignmentsQueryParams) } - return nil, response, fmt.Errorf("error with operation GetFabricZoneCount") + return nil, response, fmt.Errorf("error with operation GetPortAssignments") } - result := response.Result().(*ResponseSdaGetFabricZoneCount) + result := response.Result().(*ResponseSdaGetPortAssignments) return result, response, err } -//GetLayer2VirtualNetworks Get layer 2 virtual networks - 659a-ab00-4c69-a663 -/* Returns a list of layer 2 virtual networks that match the provided query parameters. +//GetPortAssignmentCount Get port assignment count - 4587-0827-4f1b-a2d4 +/* Returns the count of port assignments that match the provided query parameters. -@param GetLayer2VirtualNetworksQueryParams Filtering parameter +@param GetPortAssignmentCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer2-virtual-networks +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignment-count */ -func (s *SdaService) GetLayer2VirtualNetworks(GetLayer2VirtualNetworksQueryParams *GetLayer2VirtualNetworksQueryParams) (*ResponseSdaGetLayer2VirtualNetworks, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/layer2VirtualNetworks" +func (s *SdaService) GetPortAssignmentCount(GetPortAssignmentCountQueryParams *GetPortAssignmentCountQueryParams) (*ResponseSdaGetPortAssignmentCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/portAssignments/count" - queryString, _ := query.Values(GetLayer2VirtualNetworksQueryParams) + queryString, _ := query.Values(GetPortAssignmentCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetLayer2VirtualNetworks{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortAssignmentCount{}). SetError(&Error). Get(path) @@ -6127,33 +5452,33 @@ func (s *SdaService) GetLayer2VirtualNetworks(GetLayer2VirtualNetworksQueryParam if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetLayer2VirtualNetworks(GetLayer2VirtualNetworksQueryParams) + return s.GetPortAssignmentCount(GetPortAssignmentCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetLayer2VirtualNetworks") + return nil, response, fmt.Errorf("error with operation GetPortAssignmentCount") } - result := response.Result().(*ResponseSdaGetLayer2VirtualNetworks) + result := response.Result().(*ResponseSdaGetPortAssignmentCount) return result, response, err } -//GetLayer2VirtualNetworkCount Get layer 2 virtual network count - 5c9f-0a6e-445b-b743 -/* Returns the count of layer 2 virtual networks that match the provided query parameters. +//GetPortChannelsConnectivity Get port channels - dea6-fbe3-4469-8d79 +/* Returns a list of port channels that match the provided query parameters. -@param GetLayer2VirtualNetworkCountQueryParams Filtering parameter +@param GetPortChannelsConnectivityQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer2-virtual-network-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-channels-connectivity */ -func (s *SdaService) GetLayer2VirtualNetworkCount(GetLayer2VirtualNetworkCountQueryParams *GetLayer2VirtualNetworkCountQueryParams) (*ResponseSdaGetLayer2VirtualNetworkCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/layer2VirtualNetworks/count" +func (s *SdaService) GetPortChannelsConnectivity(GetPortChannelsConnectivityQueryParams *GetPortChannelsConnectivityQueryParams) (*ResponseSdaGetPortChannelsConnectivity, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/portChannels" - queryString, _ := query.Values(GetLayer2VirtualNetworkCountQueryParams) + queryString, _ := query.Values(GetPortChannelsConnectivityQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetLayer2VirtualNetworkCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortChannelsConnectivity{}). SetError(&Error). Get(path) @@ -6164,33 +5489,33 @@ func (s *SdaService) GetLayer2VirtualNetworkCount(GetLayer2VirtualNetworkCountQu if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetLayer2VirtualNetworkCount(GetLayer2VirtualNetworkCountQueryParams) + return s.GetPortChannelsConnectivity(GetPortChannelsConnectivityQueryParams) } - return nil, response, fmt.Errorf("error with operation GetLayer2VirtualNetworkCount") + return nil, response, fmt.Errorf("error with operation GetPortChannelsConnectivity") } - result := response.Result().(*ResponseSdaGetLayer2VirtualNetworkCount) + result := response.Result().(*ResponseSdaGetPortChannelsConnectivity) return result, response, err } -//GetLayer3VirtualNetworks Get layer 3 virtual networks - 2892-e9d4-4b68-b538 -/* Returns a list of layer 3 virtual networks that match the provided query parameters. +//GetPortChannelCount Get port channel count - 7ebb-88ff-4c2b-989c +/* Returns the count of port channels that match the provided query parameters. -@param GetLayer3VirtualNetworksQueryParams Filtering parameter +@param GetPortChannelCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer3-virtual-networks +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-channel-count */ -func (s *SdaService) GetLayer3VirtualNetworks(GetLayer3VirtualNetworksQueryParams *GetLayer3VirtualNetworksQueryParams) (*ResponseSdaGetLayer3VirtualNetworks, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/layer3VirtualNetworks" +func (s *SdaService) GetPortChannelCount(GetPortChannelCountQueryParams *GetPortChannelCountQueryParams) (*ResponseSdaGetPortChannelCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/portChannels/count" - queryString, _ := query.Values(GetLayer3VirtualNetworksQueryParams) + queryString, _ := query.Values(GetPortChannelCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetLayer3VirtualNetworks{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortChannelCount{}). SetError(&Error). Get(path) @@ -6201,33 +5526,33 @@ func (s *SdaService) GetLayer3VirtualNetworks(GetLayer3VirtualNetworksQueryParam if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetLayer3VirtualNetworks(GetLayer3VirtualNetworksQueryParams) + return s.GetPortChannelCount(GetPortChannelCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetLayer3VirtualNetworks") + return nil, response, fmt.Errorf("error with operation GetPortChannelCount") } - result := response.Result().(*ResponseSdaGetLayer3VirtualNetworks) + result := response.Result().(*ResponseSdaGetPortChannelCount) return result, response, err } -//GetLayer3VirtualNetworksCount Get layer 3 virtual networks count - 87af-99e9-493b-9f3d -/* Returns the count of layer 3 virtual networks that match the provided query parameters. +//GetProvisionedDevices Get provisioned devices - 99b3-ba27-4fe9-9e6b +/* Returns the list of provisioned devices based on query parameters. -@param GetLayer3VirtualNetworksCountQueryParams Filtering parameter +@param GetProvisionedDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-layer3-virtual-networks-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-devices */ -func (s *SdaService) GetLayer3VirtualNetworksCount(GetLayer3VirtualNetworksCountQueryParams *GetLayer3VirtualNetworksCountQueryParams) (*ResponseSdaGetLayer3VirtualNetworksCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/layer3VirtualNetworks/count" +func (s *SdaService) GetProvisionedDevices(GetProvisionedDevicesQueryParams *GetProvisionedDevicesQueryParams) (*ResponseSdaGetProvisionedDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/provisionDevices" - queryString, _ := query.Values(GetLayer3VirtualNetworksCountQueryParams) + queryString, _ := query.Values(GetProvisionedDevicesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetLayer3VirtualNetworksCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetProvisionedDevices{}). SetError(&Error). Get(path) @@ -6238,33 +5563,33 @@ func (s *SdaService) GetLayer3VirtualNetworksCount(GetLayer3VirtualNetworksCount if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetLayer3VirtualNetworksCount(GetLayer3VirtualNetworksCountQueryParams) + return s.GetProvisionedDevices(GetProvisionedDevicesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetLayer3VirtualNetworksCount") + return nil, response, fmt.Errorf("error with operation GetProvisionedDevices") } - result := response.Result().(*ResponseSdaGetLayer3VirtualNetworksCount) + result := response.Result().(*ResponseSdaGetProvisionedDevices) return result, response, err } -//GetMulticast Get multicast - b48d-e933-4e5b-988a -/* Returns a list of multicast configurations at a fabric site level that match the provided query parameters. +//GetProvisionedDevicesCount Get Provisioned Devices count - e0b3-195e-4678-aeb4 +/* Returns the count of provisioned devices based on query parameters. -@param GetMulticastQueryParams Filtering parameter +@param GetProvisionedDevicesCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-devices-count */ -func (s *SdaService) GetMulticast(GetMulticastQueryParams *GetMulticastQueryParams) (*ResponseSdaGetMulticast, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/multicast" +func (s *SdaService) GetProvisionedDevicesCount(GetProvisionedDevicesCountQueryParams *GetProvisionedDevicesCountQueryParams) (*ResponseSdaGetProvisionedDevicesCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/provisionDevices/count" - queryString, _ := query.Values(GetMulticastQueryParams) + queryString, _ := query.Values(GetProvisionedDevicesCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetMulticast{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetProvisionedDevicesCount{}). SetError(&Error). Get(path) @@ -6275,33 +5600,33 @@ func (s *SdaService) GetMulticast(GetMulticastQueryParams *GetMulticastQueryPara if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetMulticast(GetMulticastQueryParams) + return s.GetProvisionedDevicesCount(GetProvisionedDevicesCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetMulticast") + return nil, response, fmt.Errorf("error with operation GetProvisionedDevicesCount") } - result := response.Result().(*ResponseSdaGetMulticast) + result := response.Result().(*ResponseSdaGetProvisionedDevicesCount) return result, response, err } -//GetMulticastVirtualNetworks Get multicast virtual networks - 048b-698b-4048-b3aa -/* Returns a list of multicast configurations for virtual networks that match the provided query parameters. +//GetTransitNetworks Get transit networks - e395-fae2-4f0a-b11e +/* Returns a list of transit networks that match the provided query parameters. -@param GetMulticastVirtualNetworksQueryParams Filtering parameter +@param GetTransitNetworksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-virtual-networks +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-transit-networks */ -func (s *SdaService) GetMulticastVirtualNetworks(GetMulticastVirtualNetworksQueryParams *GetMulticastVirtualNetworksQueryParams) (*ResponseSdaGetMulticastVirtualNetworks, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/multicast/virtualNetworks" +func (s *SdaService) GetTransitNetworks(GetTransitNetworksQueryParams *GetTransitNetworksQueryParams) (*ResponseSdaGetTransitNetworks, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/transitNetworks" - queryString, _ := query.Values(GetMulticastVirtualNetworksQueryParams) + queryString, _ := query.Values(GetTransitNetworksQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetMulticastVirtualNetworks{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetTransitNetworks{}). SetError(&Error). Get(path) @@ -6312,33 +5637,33 @@ func (s *SdaService) GetMulticastVirtualNetworks(GetMulticastVirtualNetworksQuer if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetMulticastVirtualNetworks(GetMulticastVirtualNetworksQueryParams) + return s.GetTransitNetworks(GetTransitNetworksQueryParams) } - return nil, response, fmt.Errorf("error with operation GetMulticastVirtualNetworks") + return nil, response, fmt.Errorf("error with operation GetTransitNetworks") } - result := response.Result().(*ResponseSdaGetMulticastVirtualNetworks) + result := response.Result().(*ResponseSdaGetTransitNetworks) return result, response, err } -//GetMulticastVirtualNetworkCount Get multicast virtual network count - 7cbb-0b86-4a39-98ab -/* Returns the count of multicast configurations associated to virtual networks that match the provided query parameters. +//GetTransitNetworksCount Get transit networks count - 9397-d838-446b-b716 +/* Returns the count of transit networks that match the provided query parameters. -@param GetMulticastVirtualNetworkCountQueryParams Filtering parameter +@param GetTransitNetworksCountQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-virtual-network-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-transit-networks-count */ -func (s *SdaService) GetMulticastVirtualNetworkCount(GetMulticastVirtualNetworkCountQueryParams *GetMulticastVirtualNetworkCountQueryParams) (*ResponseSdaGetMulticastVirtualNetworkCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/multicast/virtualNetworks/count" +func (s *SdaService) GetTransitNetworksCount(GetTransitNetworksCountQueryParams *GetTransitNetworksCountQueryParams) (*ResponseSdaGetTransitNetworksCount, *resty.Response, error) { + path := "/dna/intent/api/v1/sda/transitNetworks/count" - queryString, _ := query.Values(GetMulticastVirtualNetworkCountQueryParams) + queryString, _ := query.Values(GetTransitNetworksCountQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetMulticastVirtualNetworkCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetTransitNetworksCount{}). SetError(&Error). Get(path) @@ -6349,33 +5674,33 @@ func (s *SdaService) GetMulticastVirtualNetworkCount(GetMulticastVirtualNetworkC if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetMulticastVirtualNetworkCount(GetMulticastVirtualNetworkCountQueryParams) + return s.GetTransitNetworksCount(GetTransitNetworksCountQueryParams) } - return nil, response, fmt.Errorf("error with operation GetMulticastVirtualNetworkCount") + return nil, response, fmt.Errorf("error with operation GetTransitNetworksCount") } - result := response.Result().(*ResponseSdaGetMulticastVirtualNetworkCount) + result := response.Result().(*ResponseSdaGetTransitNetworksCount) return result, response, err } -//GetPendingFabricEvents Get pending fabric events - 46aa-996a-4eda-a8fc -/* Returns a list of pending fabric events that match the provided query parameters. +//SdaFabricSitesReadiness Sda Fabric Sites Readiness - 0883-ab25-471a-9d0f +/* Retrieves a list of all SDA fabric sites along with their readiness status for Security Service Insertion (SSI) deployment. -@param GetPendingFabricEventsQueryParams Filtering parameter +@param SdaFabricSitesReadinessQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-pending-fabric-events +Documentation Link: https://developer.cisco.com/docs/dna-center/#!sda-fabric-sites-readiness */ -func (s *SdaService) GetPendingFabricEvents(GetPendingFabricEventsQueryParams *GetPendingFabricEventsQueryParams) (*ResponseSdaGetPendingFabricEvents, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/pendingFabricEvents" +func (s *SdaService) SdaFabricSitesReadiness(SdaFabricSitesReadinessQueryParams *SdaFabricSitesReadinessQueryParams) (*ResponseSdaSdaFabricSitesReadiness, *resty.Response, error) { + path := "/dna/intent/api/v1/securityServiceInsertion/fabricSitesReadiness" - queryString, _ := query.Values(GetPendingFabricEventsQueryParams) + queryString, _ := query.Values(SdaFabricSitesReadinessQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPendingFabricEvents{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaSdaFabricSitesReadiness{}). SetError(&Error). Get(path) @@ -6386,33 +5711,36 @@ func (s *SdaService) GetPendingFabricEvents(GetPendingFabricEventsQueryParams *G if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPendingFabricEvents(GetPendingFabricEventsQueryParams) + return s.SdaFabricSitesReadiness(SdaFabricSitesReadinessQueryParams) } - return nil, response, fmt.Errorf("error with operation GetPendingFabricEvents") + return nil, response, fmt.Errorf("error with operation SdaFabricSitesReadiness") } - result := response.Result().(*ResponseSdaGetPendingFabricEvents) + result := response.Result().(*ResponseSdaSdaFabricSitesReadiness) return result, response, err } -//GetPortAssignments Get port assignments - c199-09a2-4619-a140 -/* Returns a list of port assignments that match the provided query parameters. +//ReadinessStatusForAFabricSite Readiness status for a fabric site. - 87a2-e879-4e7b-8bb8 +/* Gets a list of SDA virtual networks for the specified fabric site, including their individual readiness status for Security Service Insertion (SSI) deployment. -@param GetPortAssignmentsQueryParams Filtering parameter +@param id id path parameter. Sda fabric site id. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-assignments +@param ReadinessStatusForAFabricSiteQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!readiness-status-for-a-fabric-site */ -func (s *SdaService) GetPortAssignments(GetPortAssignmentsQueryParams *GetPortAssignmentsQueryParams) (*ResponseSdaGetPortAssignments, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/portAssignments" +func (s *SdaService) ReadinessStatusForAFabricSite(id string, ReadinessStatusForAFabricSiteQueryParams *ReadinessStatusForAFabricSiteQueryParams) (*ResponseSdaReadinessStatusForAFabricSite, *resty.Response, error) { + path := "/dna/intent/api/v1/securityServiceInsertion/fabricSitesReadiness/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - queryString, _ := query.Values(GetPortAssignmentsQueryParams) + queryString, _ := query.Values(ReadinessStatusForAFabricSiteQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortAssignments{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaReadinessStatusForAFabricSite{}). SetError(&Error). Get(path) @@ -6423,33 +5751,36 @@ func (s *SdaService) GetPortAssignments(GetPortAssignmentsQueryParams *GetPortAs if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPortAssignments(GetPortAssignmentsQueryParams) + return s.ReadinessStatusForAFabricSite(id, ReadinessStatusForAFabricSiteQueryParams) } - return nil, response, fmt.Errorf("error with operation GetPortAssignments") + return nil, response, fmt.Errorf("error with operation ReadinessStatusForAFabricSite") } - result := response.Result().(*ResponseSdaGetPortAssignments) + result := response.Result().(*ResponseSdaReadinessStatusForAFabricSite) return result, response, err } -//GetPortAssignmentCount Get port assignment count - 4587-0827-4f1b-a2d4 -/* Returns the count of port assignments that match the provided query parameters. +//ReadinessStatusOfSwitchesInASpecifiedVirtualNetworkWithinAFabricSite Readiness status of switches in a specified virtual network within a fabric site. - b280-4bc7-40ea-bea5 +/* Retrieves a list of switches list of switches for the specified virtual network within a fabric site, including their individual readiness status for Security Service Insertion (SSI) deployment. -@param GetPortAssignmentCountQueryParams Filtering parameter +@param siteID siteId path parameter. Sda fabric site id. -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" +@param id id path parameter. Virtual network id - queryString, _ := query.Values(GetPortAssignmentCountQueryParams) + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!readiness-status-of-switches-in-a-specified-virtual-network-within-a-fabric-site +*/ +func (s *SdaService) ReadinessStatusOfSwitchesInASpecifiedVirtualNetworkWithinAFabricSite(siteID string, id string) (*ResponseSdaReadinessStatusOfSwitchesInASpecifiedVirtualNetworkWithinAFabricSite, *resty.Response, error) { + path := "/dna/intent/api/v1/securityServiceInsertion/fabricSitesReadiness/{siteId}/virtualNetworks/{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"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortAssignmentCount{}). + SetResult(&ResponseSdaReadinessStatusOfSwitchesInASpecifiedVirtualNetworkWithinAFabricSite{}). SetError(&Error). Get(path) @@ -6460,33 +5791,30 @@ func (s *SdaService) GetPortAssignmentCount(GetPortAssignmentCountQueryParams *G if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPortAssignmentCount(GetPortAssignmentCountQueryParams) + return s.ReadinessStatusOfSwitchesInASpecifiedVirtualNetworkWithinAFabricSite(siteID, id) } - return nil, response, fmt.Errorf("error with operation GetPortAssignmentCount") + return nil, response, fmt.Errorf("error with operation ReadinessStatusOfSwitchesInASpecifiedVirtualNetworkWithinAFabricSite") } - result := response.Result().(*ResponseSdaGetPortAssignmentCount) + result := response.Result().(*ResponseSdaReadinessStatusOfSwitchesInASpecifiedVirtualNetworkWithinAFabricSite) return result, response, err } -//GetPortChannels Get port channels - dea6-fbe3-4469-8d79 -/* Returns a list of port channels that match the provided query parameters. +//SecurityServiceInsertionReadiness Security Service Insertion Readiness - 329a-29a0-4c48-ad49 +/* Retrieves readiness information for Security Service Insertion, including integration status, security group details, and access control information. -@param GetPortChannelsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-channels +Documentation Link: https://developer.cisco.com/docs/dna-center/#!security-service-insertion-readiness */ -func (s *SdaService) GetPortChannels(GetPortChannelsQueryParams *GetPortChannelsQueryParams) (*ResponseSdaGetPortChannels, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/portChannels" - - queryString, _ := query.Values(GetPortChannelsQueryParams) +func (s *SdaService) SecurityServiceInsertionReadiness() (*ResponseSdaSecurityServiceInsertionReadiness, *resty.Response, error) { + path := "/dna/intent/api/v1/securityServiceInsertion/systemReadiness" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortChannels{}). + SetResult(&ResponseSdaSecurityServiceInsertionReadiness{}). SetError(&Error). Get(path) @@ -6497,33 +5825,33 @@ func (s *SdaService) GetPortChannels(GetPortChannelsQueryParams *GetPortChannels if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPortChannels(GetPortChannelsQueryParams) + return s.SecurityServiceInsertionReadiness() } - return nil, response, fmt.Errorf("error with operation GetPortChannels") + return nil, response, fmt.Errorf("error with operation SecurityServiceInsertionReadiness") } - result := response.Result().(*ResponseSdaGetPortChannels) + result := response.Result().(*ResponseSdaSecurityServiceInsertionReadiness) return result, response, err } -//GetPortChannelCount Get port channel count - 7ebb-88ff-4c2b-989c -/* Returns the count of port channels that match the provided query parameters. +//SecurityServiceInsertionSummary Security Service Insertion Summary - 0fb2-eac1-4598-9e9a +/* Retrieves a summary of all Security Service Insertions (SSIs). -@param GetPortChannelCountQueryParams Filtering parameter +@param SecurityServiceInsertionSummaryQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-port-channel-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!security-service-insertion-summary */ -func (s *SdaService) GetPortChannelCount(GetPortChannelCountQueryParams *GetPortChannelCountQueryParams) (*ResponseSdaGetPortChannelCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/portChannels/count" +func (s *SdaService) SecurityServiceInsertionSummary(SecurityServiceInsertionSummaryQueryParams *SecurityServiceInsertionSummaryQueryParams) (*ResponseSdaSecurityServiceInsertionSummary, *resty.Response, error) { + path := "/dna/intent/api/v1/securityServiceInsertionSummaries" - queryString, _ := query.Values(GetPortChannelCountQueryParams) + queryString, _ := query.Values(SecurityServiceInsertionSummaryQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetPortChannelCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaSecurityServiceInsertionSummary{}). SetError(&Error). Get(path) @@ -6534,33 +5862,30 @@ func (s *SdaService) GetPortChannelCount(GetPortChannelCountQueryParams *GetPort if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPortChannelCount(GetPortChannelCountQueryParams) + return s.SecurityServiceInsertionSummary(SecurityServiceInsertionSummaryQueryParams) } - return nil, response, fmt.Errorf("error with operation GetPortChannelCount") + return nil, response, fmt.Errorf("error with operation SecurityServiceInsertionSummary") } - result := response.Result().(*ResponseSdaGetPortChannelCount) + result := response.Result().(*ResponseSdaSecurityServiceInsertionSummary) return result, response, err } -//GetProvisionedDevices Get provisioned devices - 99b3-ba27-4fe9-9e6b -/* Returns the list of provisioned devices based on query parameters. +//CountOfSecurityServiceInsertionSummaries Count of Security Service Insertion summaries. - 7cbc-f961-4e79-a922 +/* Retrieves the total count of Security Service Insertion (SSI) summaries. -@param GetProvisionedDevicesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-devices +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-security-service-insertion-summaries */ -func (s *SdaService) GetProvisionedDevices(GetProvisionedDevicesQueryParams *GetProvisionedDevicesQueryParams) (*ResponseSdaGetProvisionedDevices, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/provisionDevices" - - queryString, _ := query.Values(GetProvisionedDevicesQueryParams) +func (s *SdaService) CountOfSecurityServiceInsertionSummaries() (*ResponseSdaCountOfSecurityServiceInsertionSummaries, *resty.Response, error) { + path := "/dna/intent/api/v1/securityServiceInsertionSummaries/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetProvisionedDevices{}). + SetResult(&ResponseSdaCountOfSecurityServiceInsertionSummaries{}). SetError(&Error). Get(path) @@ -6571,33 +5896,33 @@ func (s *SdaService) GetProvisionedDevices(GetProvisionedDevicesQueryParams *Get if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetProvisionedDevices(GetProvisionedDevicesQueryParams) + return s.CountOfSecurityServiceInsertionSummaries() } - return nil, response, fmt.Errorf("error with operation GetProvisionedDevices") + return nil, response, fmt.Errorf("error with operation CountOfSecurityServiceInsertionSummaries") } - result := response.Result().(*ResponseSdaGetProvisionedDevices) + result := response.Result().(*ResponseSdaCountOfSecurityServiceInsertionSummaries) return result, response, err } -//GetProvisionedDevicesCount Get Provisioned Devices count - e0b3-195e-4678-aeb4 -/* Returns the count of provisioned devices based on query parameters. +//SecurityServiceInsertions Security Service Insertions. - d8b3-8ac7-457b-b2d3 +/* Retrieves a list of all Security Service Insertions (SSIs) configured across fabric sites. -@param GetProvisionedDevicesCountQueryParams Filtering parameter +@param SecurityServiceInsertionsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-provisioned-devices-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!security-service-insertions */ -func (s *SdaService) GetProvisionedDevicesCount(GetProvisionedDevicesCountQueryParams *GetProvisionedDevicesCountQueryParams) (*ResponseSdaGetProvisionedDevicesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/provisionDevices/count" +func (s *SdaService) SecurityServiceInsertions(SecurityServiceInsertionsQueryParams *SecurityServiceInsertionsQueryParams) (*ResponseSdaSecurityServiceInsertions, *resty.Response, error) { + path := "/dna/intent/api/v1/securityServiceInsertions" - queryString, _ := query.Values(GetProvisionedDevicesCountQueryParams) + queryString, _ := query.Values(SecurityServiceInsertionsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetProvisionedDevicesCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaSecurityServiceInsertions{}). SetError(&Error). Get(path) @@ -6608,33 +5933,30 @@ func (s *SdaService) GetProvisionedDevicesCount(GetProvisionedDevicesCountQueryP if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetProvisionedDevicesCount(GetProvisionedDevicesCountQueryParams) + return s.SecurityServiceInsertions(SecurityServiceInsertionsQueryParams) } - return nil, response, fmt.Errorf("error with operation GetProvisionedDevicesCount") + return nil, response, fmt.Errorf("error with operation SecurityServiceInsertions") } - result := response.Result().(*ResponseSdaGetProvisionedDevicesCount) + result := response.Result().(*ResponseSdaSecurityServiceInsertions) return result, response, err } -//GetTransitNetworks Get transit networks - e395-fae2-4f0a-b11e -/* Returns a list of transit networks that match the provided query parameters. +//CountOfSecurityServiceInsertions Count of Security Service Insertions. - 9e9f-6b33-4bd9-8e48 +/* Retrieves the count of Security Service Insertions. -@param GetTransitNetworksQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-transit-networks +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-security-service-insertions */ -func (s *SdaService) GetTransitNetworks(GetTransitNetworksQueryParams *GetTransitNetworksQueryParams) (*ResponseSdaGetTransitNetworks, *resty.Response, error) { - path := "/dna/intent/api/v1/sda/transitNetworks" - - queryString, _ := query.Values(GetTransitNetworksQueryParams) +func (s *SdaService) CountOfSecurityServiceInsertions() (*ResponseSdaCountOfSecurityServiceInsertions, *resty.Response, error) { + path := "/dna/intent/api/v1/securityServiceInsertions/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSdaGetTransitNetworks{}). + SetResult(&ResponseSdaCountOfSecurityServiceInsertions{}). SetError(&Error). Get(path) @@ -6645,33 +5967,33 @@ func (s *SdaService) GetTransitNetworks(GetTransitNetworksQueryParams *GetTransi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetTransitNetworks(GetTransitNetworksQueryParams) + return s.CountOfSecurityServiceInsertions() } - return nil, response, fmt.Errorf("error with operation GetTransitNetworks") + return nil, response, fmt.Errorf("error with operation CountOfSecurityServiceInsertions") } - result := response.Result().(*ResponseSdaGetTransitNetworks) + result := response.Result().(*ResponseSdaCountOfSecurityServiceInsertions) return result, response, err } -//GetTransitNetworksCount Get transit networks count - 9397-d838-446b-b716 -/* Returns the count of transit networks that match the provided query parameters. +//SecurityServiceInsertionByID Security Service Insertion by Id. - f1aa-0888-4749-8ef9 +/* Retrieves the details of a specific Security Service Insertion (SSI) by its ID. -@param GetTransitNetworksCountQueryParams Filtering parameter +@param id id path parameter. The unique identifier of the Security Service Insertion (SSI). -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" - queryString, _ := query.Values(GetTransitNetworksCountQueryParams) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!security-service-insertion-by-id +*/ +func (s *SdaService) SecurityServiceInsertionByID(id string) (*ResponseSdaSecurityServiceInsertionByID, *resty.Response, error) { + path := "/dna/intent/api/v1/securityServiceInsertions/{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(&ResponseSdaGetTransitNetworksCount{}). + SetResult(&ResponseSdaSecurityServiceInsertionByID{}). SetError(&Error). Get(path) @@ -6682,12 +6004,12 @@ func (s *SdaService) GetTransitNetworksCount(GetTransitNetworksCountQueryParams if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetTransitNetworksCount(GetTransitNetworksCountQueryParams) + return s.SecurityServiceInsertionByID(id) } - return nil, response, fmt.Errorf("error with operation GetTransitNetworksCount") + return nil, response, fmt.Errorf("error with operation SecurityServiceInsertionById") } - result := response.Result().(*ResponseSdaGetTransitNetworksCount) + result := response.Result().(*ResponseSdaSecurityServiceInsertionByID) return result, response, err } @@ -7765,6 +7087,43 @@ func (s *SdaService) AddTransitNetworks(requestSdaAddTransitNetworks *RequestSda } +//CreateSecurityServiceInsertionOnASpecificFabricSite Create security service insertion on a specific fabric site. - c595-bbdd-48cb-9109 +/* Enables Security Service Insertion (SSI) on a fabric site within a network. Security Service Insertion allows the integration of security services, such as firewalls, into the fabric network, ensuring that traffic within Virtual Networks (VNs) is routed through these security devices. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-security-service-insertion-on-a-specific-fabric-site +*/ +func (s *SdaService) CreateSecurityServiceInsertionOnASpecificFabricSite(requestSdaCreateSecurityServiceInsertionOnASpecificFabricSite *RequestSdaCreateSecurityServiceInsertionOnASpecificFabricSite) (*ResponseSdaCreateSecurityServiceInsertionOnASpecificFabricSite, *resty.Response, error) { + path := "/dna/intent/api/v1/securityServiceInsertions" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSdaCreateSecurityServiceInsertionOnASpecificFabricSite). + SetResult(&ResponseSdaCreateSecurityServiceInsertionOnASpecificFabricSite{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateSecurityServiceInsertionOnASpecificFabricSite(requestSdaCreateSecurityServiceInsertionOnASpecificFabricSite) + } + + return nil, response, fmt.Errorf("error with operation CreateSecurityServiceInsertionOnASpecificFabricSite") + } + + result := response.Result().(*ResponseSdaCreateSecurityServiceInsertionOnASpecificFabricSite) + return result, response, err + +} + //AddVirtualNetworkWithScalableGroups Add virtual network with scalable groups - e3a8-5b19-406a-9f4e /* Add virtual network with scalable groups at global level @@ -8396,6 +7755,42 @@ func (s *SdaService) UpdateTransitNetworks(requestSdaUpdateTransitNetworks *Requ } +//UpdateTheSecurityServiceInsertion Update the Security Service Insertion. - 6d98-bbcc-4528-bcc3 +/* Updates the Security Service Insertion (SSI). It allows modifications to the associated Virtual Networks (VNs), border devices, and firewall ips. + + +@param id id path parameter. The unique identifier of the Security Service Insertion (SSI). + +*/ +func (s *SdaService) UpdateTheSecurityServiceInsertion(id string, requestSdaUpdateTheSecurityServiceInsertion *RequestSdaUpdateTheSecurityServiceInsertion) (*ResponseSdaUpdateTheSecurityServiceInsertion, *resty.Response, error) { + path := "/dna/intent/api/v1/securityServiceInsertions/{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(requestSdaUpdateTheSecurityServiceInsertion). + SetResult(&ResponseSdaUpdateTheSecurityServiceInsertion{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdateTheSecurityServiceInsertion(id, requestSdaUpdateTheSecurityServiceInsertion) + } + return nil, response, fmt.Errorf("error with operation UpdateTheSecurityServiceInsertion") + } + + result := response.Result().(*ResponseSdaUpdateTheSecurityServiceInsertion) + return result, response, err + +} + //UpdateVirtualNetworkWithScalableGroups Update virtual network with scalable groups - c48b-2904-49bb-875f /* Update virtual network with scalable groups @@ -8457,7 +7852,8 @@ func (s *SdaService) DeleteDefaultAuthenticationProfileFromSdaFabric(DeleteDefau if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteDefaultAuthenticationProfileFromSdaFabric(DeleteDefaultAuthenticationProfileFromSDAFabricQueryParams) + return s.DeleteDefaultAuthenticationProfileFromSdaFabric( + DeleteDefaultAuthenticationProfileFromSDAFabricQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteDefaultAuthenticationProfileFromSdaFabric") } @@ -8495,7 +7891,8 @@ func (s *SdaService) DeleteBorderDeviceFromSdaFabric(DeleteBorderDeviceFromSDAFa if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteBorderDeviceFromSdaFabric(DeleteBorderDeviceFromSDAFabricQueryParams) + return s.DeleteBorderDeviceFromSdaFabric( + DeleteBorderDeviceFromSDAFabricQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteBorderDeviceFromSdaFabric") } @@ -8533,7 +7930,8 @@ func (s *SdaService) DeleteControlPlaneDeviceInSdaFabric(DeleteControlPlaneDevic if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteControlPlaneDeviceInSdaFabric(DeleteControlPlaneDeviceInSDAFabricQueryParams) + return s.DeleteControlPlaneDeviceInSdaFabric( + DeleteControlPlaneDeviceInSDAFabricQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteControlPlaneDeviceInSdaFabric") } @@ -8571,7 +7969,8 @@ func (s *SdaService) DeleteEdgeDeviceFromSdaFabric(DeleteEdgeDeviceFromSDAFabric if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteEdgeDeviceFromSdaFabric(DeleteEdgeDeviceFromSDAFabricQueryParams) + return s.DeleteEdgeDeviceFromSdaFabric( + DeleteEdgeDeviceFromSDAFabricQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteEdgeDeviceFromSdaFabric") } @@ -8609,7 +8008,8 @@ func (s *SdaService) DeleteSiteFromSdaFabric(DeleteSiteFromSDAFabricQueryParams if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteSiteFromSdaFabric(DeleteSiteFromSDAFabricQueryParams) + return s.DeleteSiteFromSdaFabric( + DeleteSiteFromSDAFabricQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteSiteFromSdaFabric") } @@ -8647,7 +8047,8 @@ func (s *SdaService) DeletePortAssignmentForAccessPointInSdaFabric(DeletePortAss if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletePortAssignmentForAccessPointInSdaFabric(DeletePortAssignmentForAccessPointInSDAFabricQueryParams) + return s.DeletePortAssignmentForAccessPointInSdaFabric( + DeletePortAssignmentForAccessPointInSDAFabricQueryParams) } return nil, response, fmt.Errorf("error with operation DeletePortAssignmentForAccessPointInSdaFabric") } @@ -8685,7 +8086,8 @@ func (s *SdaService) DeletePortAssignmentForUserDeviceInSdaFabric(DeletePortAssi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletePortAssignmentForUserDeviceInSdaFabric(DeletePortAssignmentForUserDeviceInSDAFabricQueryParams) + return s.DeletePortAssignmentForUserDeviceInSdaFabric( + DeletePortAssignmentForUserDeviceInSDAFabricQueryParams) } return nil, response, fmt.Errorf("error with operation DeletePortAssignmentForUserDeviceInSdaFabric") } @@ -8723,7 +8125,8 @@ func (s *SdaService) DeleteMulticastFromSdaFabric(DeleteMulticastFromSDAFabricQu if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteMulticastFromSdaFabric(DeleteMulticastFromSDAFabricQueryParams) + return s.DeleteMulticastFromSdaFabric( + DeleteMulticastFromSDAFabricQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteMulticastFromSdaFabric") } @@ -8761,7 +8164,8 @@ func (s *SdaService) DeleteProvisionedWiredDevice(DeleteProvisionedWiredDeviceQu if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteProvisionedWiredDevice(DeleteProvisionedWiredDeviceQueryParams) + return s.DeleteProvisionedWiredDevice( + DeleteProvisionedWiredDeviceQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteProvisionedWiredDevice") } @@ -8799,7 +8203,8 @@ func (s *SdaService) DeleteTransitPeerNetwork(DeleteTransitPeerNetworkQueryParam if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteTransitPeerNetwork(DeleteTransitPeerNetworkQueryParams) + return s.DeleteTransitPeerNetwork( + DeleteTransitPeerNetworkQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteTransitPeerNetwork") } @@ -8837,7 +8242,8 @@ func (s *SdaService) DeleteVnFromSdaFabric(DeleteVNFromSDAFabricQueryParams *Del if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteVnFromSdaFabric(DeleteVNFromSDAFabricQueryParams) + return s.DeleteVnFromSdaFabric( + DeleteVNFromSDAFabricQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteVnFromSdaFabric") } @@ -8875,7 +8281,8 @@ func (s *SdaService) DeleteIPPoolFromSdaVirtualNetwork(DeleteIPPoolFromSDAVirtua if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteIPPoolFromSdaVirtualNetwork(DeleteIPPoolFromSDAVirtualNetworkQueryParams) + return s.DeleteIPPoolFromSdaVirtualNetwork( + DeleteIPPoolFromSDAVirtualNetworkQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteIpPoolFromSdaVirtualNetwork") } @@ -8913,7 +8320,8 @@ func (s *SdaService) DeleteAnycastGatewayByID(id string) (*ResponseSdaDeleteAnyc if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteAnycastGatewayByID(id) + return s.DeleteAnycastGatewayByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteAnycastGatewayById") } @@ -8951,7 +8359,8 @@ func (s *SdaService) DeleteExtranetPolicies(DeleteExtranetPoliciesQueryParams *D if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteExtranetPolicies(DeleteExtranetPoliciesQueryParams) + return s.DeleteExtranetPolicies( + DeleteExtranetPoliciesQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteExtranetPolicies") } @@ -8989,7 +8398,8 @@ func (s *SdaService) DeleteExtranetPolicyByID(id string) (*ResponseSdaDeleteExtr if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteExtranetPolicyByID(id) + return s.DeleteExtranetPolicyByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteExtranetPolicyById") } @@ -9027,7 +8437,8 @@ func (s *SdaService) DeleteFabricDevices(DeleteFabricDevicesQueryParams *DeleteF if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteFabricDevices(DeleteFabricDevicesQueryParams) + return s.DeleteFabricDevices( + DeleteFabricDevicesQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteFabricDevices") } @@ -9065,7 +8476,8 @@ func (s *SdaService) DeleteFabricDeviceLayer2Handoffs(DeleteFabricDeviceLayer2Ha if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteFabricDeviceLayer2Handoffs(DeleteFabricDeviceLayer2HandoffsQueryParams) + return s.DeleteFabricDeviceLayer2Handoffs( + DeleteFabricDeviceLayer2HandoffsQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteFabricDeviceLayer2Handoffs") } @@ -9103,7 +8515,8 @@ func (s *SdaService) DeleteFabricDeviceLayer2HandoffByID(id string) (*ResponseSd if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteFabricDeviceLayer2HandoffByID(id) + return s.DeleteFabricDeviceLayer2HandoffByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteFabricDeviceLayer2HandoffById") } @@ -9141,7 +8554,8 @@ func (s *SdaService) DeleteFabricDeviceLayer3HandoffsWithIPTransit(DeleteFabricD if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteFabricDeviceLayer3HandoffsWithIPTransit(DeleteFabricDeviceLayer3HandoffsWithIpTransitQueryParams) + return s.DeleteFabricDeviceLayer3HandoffsWithIPTransit( + DeleteFabricDeviceLayer3HandoffsWithIpTransitQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteFabricDeviceLayer3HandoffsWithIpTransit") } @@ -9179,7 +8593,8 @@ func (s *SdaService) DeleteFabricDeviceLayer3HandoffWithIPTransitByID(id string) if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteFabricDeviceLayer3HandoffWithIPTransitByID(id) + return s.DeleteFabricDeviceLayer3HandoffWithIPTransitByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteFabricDeviceLayer3HandoffWithIpTransitById") } @@ -9217,7 +8632,8 @@ 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") } @@ -9255,7 +8671,8 @@ func (s *SdaService) DeleteFabricDeviceByID(id string) (*ResponseSdaDeleteFabric if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteFabricDeviceByID(id) + return s.DeleteFabricDeviceByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteFabricDeviceById") } @@ -9293,7 +8710,8 @@ func (s *SdaService) DeleteFabricSiteByID(id string) (*ResponseSdaDeleteFabricSi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteFabricSiteByID(id) + return s.DeleteFabricSiteByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteFabricSiteById") } @@ -9331,7 +8749,8 @@ func (s *SdaService) DeleteFabricZoneByID(id string) (*ResponseSdaDeleteFabricZo if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteFabricZoneByID(id) + return s.DeleteFabricZoneByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteFabricZoneById") } @@ -9369,7 +8788,8 @@ func (s *SdaService) DeleteLayer2VirtualNetworks(DeleteLayer2VirtualNetworksQuer if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteLayer2VirtualNetworks(DeleteLayer2VirtualNetworksQueryParams) + return s.DeleteLayer2VirtualNetworks( + DeleteLayer2VirtualNetworksQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteLayer2VirtualNetworks") } @@ -9407,7 +8827,8 @@ func (s *SdaService) DeleteLayer2VirtualNetworkByID(id string) (*ResponseSdaDele if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteLayer2VirtualNetworkByID(id) + return s.DeleteLayer2VirtualNetworkByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteLayer2VirtualNetworkById") } @@ -9445,7 +8866,8 @@ func (s *SdaService) DeleteLayer3VirtualNetworks(DeleteLayer3VirtualNetworksQuer if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteLayer3VirtualNetworks(DeleteLayer3VirtualNetworksQueryParams) + return s.DeleteLayer3VirtualNetworks( + DeleteLayer3VirtualNetworksQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteLayer3VirtualNetworks") } @@ -9483,7 +8905,8 @@ func (s *SdaService) DeleteLayer3VirtualNetworkByID(id string) (*ResponseSdaDele if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteLayer3VirtualNetworkByID(id) + return s.DeleteLayer3VirtualNetworkByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteLayer3VirtualNetworkById") } @@ -9521,7 +8944,8 @@ func (s *SdaService) DeleteMulticastVirtualNetworkByID(id string) (*ResponseSdaD if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteMulticastVirtualNetworkByID(id) + return s.DeleteMulticastVirtualNetworkByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteMulticastVirtualNetworkById") } @@ -9559,7 +8983,8 @@ func (s *SdaService) DeletePortAssignments(DeletePortAssignmentsQueryParams *Del if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletePortAssignments(DeletePortAssignmentsQueryParams) + return s.DeletePortAssignments( + DeletePortAssignmentsQueryParams) } return nil, response, fmt.Errorf("error with operation DeletePortAssignments") } @@ -9597,7 +9022,8 @@ func (s *SdaService) DeletePortAssignmentByID(id string) (*ResponseSdaDeletePort if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletePortAssignmentByID(id) + return s.DeletePortAssignmentByID( + id) } return nil, response, fmt.Errorf("error with operation DeletePortAssignmentById") } @@ -9635,7 +9061,8 @@ func (s *SdaService) DeletePortChannels(DeletePortChannelsQueryParams *DeletePor if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletePortChannels(DeletePortChannelsQueryParams) + return s.DeletePortChannels( + DeletePortChannelsQueryParams) } return nil, response, fmt.Errorf("error with operation DeletePortChannels") } @@ -9673,7 +9100,8 @@ func (s *SdaService) DeletePortChannelByID(id string) (*ResponseSdaDeletePortCha if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletePortChannelByID(id) + return s.DeletePortChannelByID( + id) } return nil, response, fmt.Errorf("error with operation DeletePortChannelById") } @@ -9711,7 +9139,8 @@ func (s *SdaService) DeleteProvisionedDevices(DeleteProvisionedDevicesQueryParam if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteProvisionedDevices(DeleteProvisionedDevicesQueryParams) + return s.DeleteProvisionedDevices( + DeleteProvisionedDevicesQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteProvisionedDevices") } @@ -9727,18 +9156,21 @@ func (s *SdaService) DeleteProvisionedDevices(DeleteProvisionedDevicesQueryParam @param id id path parameter. ID of the provisioned device. +@param DeleteProvisionedDeviceByIdQueryParams Filtering parameter 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 +func (s *SdaService) DeleteProvisionedDeviceByID(id string, DeleteProvisionedDeviceByIdQueryParams *DeleteProvisionedDeviceByIDQueryParams) (*ResponseSdaDeleteProvisionedDeviceByID, *resty.Response, error) { + //id string,DeleteProvisionedDeviceByIdQueryParams *DeleteProvisionedDeviceByIDQueryParams path := "/dna/intent/api/v1/sda/provisionDevices/{id}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + queryString, _ := query.Values(DeleteProvisionedDeviceByIdQueryParams) + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseSdaDeleteProvisionedDeviceByID{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSdaDeleteProvisionedDeviceByID{}). SetError(&Error). Delete(path) @@ -9749,7 +9181,8 @@ func (s *SdaService) DeleteProvisionedDeviceByID(id string) (*ResponseSdaDeleteP if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteProvisionedDeviceByID(id) + return s.DeleteProvisionedDeviceByID( + id, DeleteProvisionedDeviceByIdQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteProvisionedDeviceById") } @@ -9787,7 +9220,8 @@ func (s *SdaService) DeleteTransitNetworkByID(id string) (*ResponseSdaDeleteTran if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteTransitNetworkByID(id) + return s.DeleteTransitNetworkByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteTransitNetworkById") } @@ -9797,6 +9231,45 @@ func (s *SdaService) DeleteTransitNetworkByID(id string) (*ResponseSdaDeleteTran } +//DeleteSecurityServiceInsertion Delete Security Service Insertion - 5987-a8b4-4c88-9687 +/* Removes the Security Service Insertion (SSI) configuration from the fabric site where it was created. + + +@param id id path parameter. The unique identifier of the Security Service Insertion (SSI). + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-security-service-insertion +*/ +func (s *SdaService) DeleteSecurityServiceInsertion(id string) (*ResponseSdaDeleteSecurityServiceInsertion, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/securityServiceInsertions/{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(&ResponseSdaDeleteSecurityServiceInsertion{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteSecurityServiceInsertion( + id) + } + return nil, response, fmt.Errorf("error with operation DeleteSecurityServiceInsertion") + } + + result := response.Result().(*ResponseSdaDeleteSecurityServiceInsertion) + return result, response, err + +} + //DeleteVirtualNetworkWithScalableGroups Delete virtual network with scalable groups - c8b6-0bc3-4808-8d56 /* Delete virtual network with scalable groups @@ -9825,7 +9298,8 @@ func (s *SdaService) DeleteVirtualNetworkWithScalableGroups(DeleteVirtualNetwork if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteVirtualNetworkWithScalableGroups(DeleteVirtualNetworkWithScalableGroupsQueryParams) + return s.DeleteVirtualNetworkWithScalableGroups( + DeleteVirtualNetworkWithScalableGroupsQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteVirtualNetworkWithScalableGroups") } diff --git a/sdk/security_advisories.go b/sdk/security_advisories.go index 1f2affe..8d09398 100644 --- a/sdk/security_advisories.go +++ b/sdk/security_advisories.go @@ -11,32 +11,23 @@ import ( type SecurityAdvisoriesService service type ResponseSecurityAdvisoriesGetAdvisoriesList struct { - Response *ResponseSecurityAdvisoriesGetAdvisoriesListResponse `json:"response,omitempty"` // - Version string `json:"version,omitempty"` // Version of the response + Response *[]ResponseSecurityAdvisoriesGetAdvisoriesListResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } type ResponseSecurityAdvisoriesGetAdvisoriesListResponse struct { - 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"` // + 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 + V27E1A []string `json:"15.2(7)E1a,omitempty"` // 15.2(7) E1a } type ResponseSecurityAdvisoriesGetAdvisoriesSummary struct { Response *ResponseSecurityAdvisoriesGetAdvisoriesSummaryResponse `json:"response,omitempty"` // diff --git a/sdk/sensors.go b/sdk/sensors.go index 0a6cae3..00382d7 100644 --- a/sdk/sensors.go +++ b/sdk/sensors.go @@ -115,284 +115,173 @@ type SensorsQueryParams struct { type ResponseSensorsListsICapPacketCaptureFilesMatchingSpecifiedCriteria struct { Response *[]ResponseSensorsListsICapPacketCaptureFilesMatchingSpecifiedCriteriaResponse `json:"response,omitempty"` // - - Page *ResponseSensorsListsICapPacketCaptureFilesMatchingSpecifiedCriteriaPage `json:"page,omitempty"` // - - Version string `json:"version,omitempty"` // Version + 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 + 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 - + 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 ResponseSensorsRetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteria struct { Response *ResponseSensorsRetrievesTheTotalNumberOfPacketCaptureFilesMatchingSpecifiedCriteriaResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + 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 + 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 + 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 + 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 - + 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 + 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 - + 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 + 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 + 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 - + 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 + 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 + 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 - + 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 + 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 + 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 - + 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 { @@ -628,1979 +517,1153 @@ 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 ResponseSensorsRetrievesDeployedICapConfigurationsWhileSupportingBasicFiltering struct { Response *[]ResponseSensorsRetrievesDeployedICapConfigurationsWhileSupportingBasicFilteringResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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 + 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 ResponseSensorsCreatesAnICapConfigurationIntentForPreviewApprove struct { Response *ResponseSensorsCreatesAnICapConfigurationIntentForPreviewApproveResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSensorsCreatesAnICapConfigurationIntentForPreviewApproveResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url + URL string `json:"url,omitempty"` // Url } -type ResponseSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice struct { - Response *ResponseSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDeviceResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version +type ResponseSensorsCreatesAiCapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice struct { + Response *ResponseSensorsCreatesAiCapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } -type ResponseSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDeviceResponse struct { +type ResponseSensorsCreatesAiCapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDeviceResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url + URL string `json:"url,omitempty"` // Url } type ResponseSensorsDiscardsTheICapConfigurationIntentByActivityID struct { Response *ResponseSensorsDiscardsTheICapConfigurationIntentByActivityIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSensorsDiscardsTheICapConfigurationIntentByActivityIDResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url + URL string `json:"url,omitempty"` // Url } type ResponseSensorsDeploysTheICapConfigurationIntentByActivityID struct { Response *ResponseSensorsDeploysTheICapConfigurationIntentByActivityIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSensorsDeploysTheICapConfigurationIntentByActivityIDResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url + URL string `json:"url,omitempty"` // Url } type ResponseSensorsGetICapConfigurationStatusPerNetworkDevice struct { Response *[]ResponseSensorsGetICapConfigurationStatusPerNetworkDeviceResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSensorsGetICapConfigurationStatusPerNetworkDeviceResponse struct { NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id - - Status string `json:"status,omitempty"` // Status + Status string `json:"status,omitempty"` // Status } type ResponseSensorsRetrievesTheDevicesClisOfTheICapintent struct { Response *ResponseSensorsRetrievesTheDevicesClisOfTheICapintentResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSensorsRetrievesTheDevicesClisOfTheICapintentResponse struct { - NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id - - PreviewItems *[]ResponseSensorsRetrievesTheDevicesClisOfTheICapintentResponsePreviewItems `json:"previewItems,omitempty"` // - - Status string `json:"status,omitempty"` // Status + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network Device Id + PreviewItems *[]ResponseSensorsRetrievesTheDevicesClisOfTheICapintentResponsePreviewItems `json:"previewItems,omitempty"` // + Status string `json:"status,omitempty"` // Status } type ResponseSensorsRetrievesTheDevicesClisOfTheICapintentResponsePreviewItems struct { - ConfigPreview string `json:"configPreview,omitempty"` // Config Preview - - ConfigType string `json:"configType,omitempty"` // Config Type - + 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 + Name string `json:"name,omitempty"` // Name } type ResponseSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntent struct { Response *ResponseSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntentResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntentResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url + URL string `json:"url,omitempty"` // Url } type ResponseSensorsRetrievesTheCountOfDeployedICapConfigurationsWhileSupportingBasicFiltering struct { Response *float64 `json:"response,omitempty"` // Response - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApprove struct { Response *ResponseSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApproveResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSensorsDeploysTheGivenICapConfigurationIntentWithoutPreviewAndApproveResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url + URL string `json:"url,omitempty"` // Url } type ResponseSensorsRemoveTheICapConfigurationOnTheDeviceWithoutPreview struct { Response *ResponseSensorsRemoveTheICapConfigurationOnTheDeviceWithoutPreviewResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSensorsRemoveTheICapConfigurationOnTheDeviceWithoutPreviewResponse struct { TaskID string `json:"taskId,omitempty"` // Task Id - - URL string `json:"url,omitempty"` // Url + URL string `json:"url,omitempty"` // Url } type ResponseSensorsGetDeviceDeploymentStatus struct { Response *[]ResponseSensorsGetDeviceDeploymentStatusResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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 + 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 ResponseSensorsGetDeviceDeploymentStatusResponseError interface{} type ResponseSensorsGetDeviceDeploymentStatusCount struct { Response *ResponseSensorsGetDeviceDeploymentStatusCountResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSensorsGetDeviceDeploymentStatusCountResponse struct { Count *float64 `json:"count,omitempty"` // Count } type ResponseSensorsCreateSensorTestTemplate struct { - Version string `json:"version,omitempty"` // Version - + 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"` // + 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) + 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"` // + 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 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 ResponseSensorsCreateSensorTestTemplateResponseSSIDsTests struct { - Name string `json:"name,omitempty"` // Name of the test - + Name string `json:"name,omitempty"` // Name of the test Config *[]ResponseSensorsCreateSensorTestTemplateResponseSSIDsTestsConfig `json:"config,omitempty"` // } 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 + 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 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"` // + 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 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 ResponseSensorsCreateSensorTestTemplateResponseProfilesTests struct { - Name string `json:"name,omitempty"` // Name of the test - + Name string `json:"name,omitempty"` // Name of the test Config *[]ResponseSensorsCreateSensorTestTemplateResponseProfilesTestsConfig `json:"config,omitempty"` // } 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 + 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 ResponseSensorsCreateSensorTestTemplateResponseProfilesLocationVLANList 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 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 + 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 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 + 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 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 + 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 ResponseSensorsDeleteSensorTest struct { - Version string `json:"version,omitempty"` // Version - + Version string `json:"version,omitempty"` // Version Response *ResponseSensorsDeleteSensorTestResponse `json:"response,omitempty"` // } type ResponseSensorsDeleteSensorTestResponse struct { TemplateName string `json:"templateName,omitempty"` // Test template name to be delete - - Status string `json:"status,omitempty"` // Status of the DELETE action + Status string `json:"status,omitempty"` // Status of the DELETE action } type ResponseSensorsSensors struct { - Version string `json:"version,omitempty"` // Version string of this API - + Version string `json:"version,omitempty"` // Version string of this API Response *[]ResponseSensorsSensorsResponse `json:"response,omitempty"` // } 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 + 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 ResponseSensorsSensorsResponseSSH struct { - SSHState string `json:"sshState,omitempty"` // SSH state - - SSHUserName string `json:"sshUserName,omitempty"` // SSH user name - - SSHPassword string `json:"sshPassword,omitempty"` // SSH password - + 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 ResponseSensorsDuplicateSensorTestTemplate struct { - Version string `json:"version,omitempty"` // Version - + Version string `json:"version,omitempty"` // Version Response *ResponseSensorsDuplicateSensorTestTemplateResponse `json:"response,omitempty"` // } 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"` // + 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 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) + 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 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"` // + 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 ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsTests struct { - Name string `json:"name,omitempty"` // Name of the test - + Name string `json:"name,omitempty"` // Name of the test Config *[]ResponseSensorsDuplicateSensorTestTemplateResponseSSIDsTestsConfig `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 + 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"` // + 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 ResponseSensorsDuplicateSensorTestTemplateResponseProfilesExtWebAuthHTMLTag 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 - + Name string `json:"name,omitempty"` // Name of the test Config *[]ResponseSensorsDuplicateSensorTestTemplateResponseProfilesTestsConfig `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 + 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 + 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 + 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 + 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 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 + 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 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"` // + 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 RequestSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimeFilters struct { - Key string `json:"key,omitempty"` // Key - + Key string `json:"key,omitempty"` // Key Operator string `json:"operator,omitempty"` // Operator - - Value *int `json:"value,omitempty"` // Value + Value *int `json:"value,omitempty"` // Value } type RequestSensorsRetrievesSpecificClientStatisticsOverSpecifiedPeriodOfTimePage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *int `json:"offset,omitempty"` // Offset - + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order } 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"` // + 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 RequestSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimeFilters struct { - Key string `json:"key,omitempty"` // Key - + Key string `json:"key,omitempty"` // Key Operator string `json:"operator,omitempty"` // Operator - - Value *int `json:"value,omitempty"` // Value + Value *int `json:"value,omitempty"` // Value } type RequestSensorsRetrievesSpecificRadioStatisticsOverSpecifiedPeriodOfTimePage struct { - Limit *int `json:"limit,omitempty"` // Limit - - Offset *int `json:"offset,omitempty"` // Offset - + 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"` // + 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) + 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"` // + 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 - + Tag string `json:"tag,omitempty"` // Tag Value string `json:"value,omitempty"` // Value } type RequestSensorsEditSensorTestTemplateSSIDsTests struct { - Name string `json:"name,omitempty"` // Name of the test - + 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 + 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"` // + 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 - + Tag string `json:"tag,omitempty"` // Tag Value string `json:"value,omitempty"` // Value } type RequestSensorsEditSensorTestTemplateProfilesTests struct { - Name string `json:"name,omitempty"` // Name of the test - + 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 + 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 + 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 + 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 RequestSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice struct { - object string `json:"object,omitempty"` // object +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 RequestSensorsDeploysTheICapConfigurationIntentByActivityID struct { - object string `json:"object,omitempty"` // object +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 RequestSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntent map[string]interface{} - +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 interface{} +type RequestSensorsDeploysTheICapConfigurationIntentByActivityID interface{} +type RequestSensorsGeneratesTheDevicesClisOfTheICapConfigurationIntent interface{} 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 + 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) - + 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"` // + 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"` // + 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 - + Tag string `json:"tag,omitempty"` // Tag Value string `json:"value,omitempty"` // Value } type RequestSensorsCreateSensorTestTemplateSSIDsTests struct { - Name string `json:"name,omitempty"` // Name of the test - + 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 + 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"` // + 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 - + Tag string `json:"tag,omitempty"` // Tag Value string `json:"value,omitempty"` // Value } type RequestSensorsCreateSensorTestTemplateProfilesTests struct { - Name string `json:"name,omitempty"` // Name of the test - + 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 + 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 + 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 + 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 + 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 - + TemplateName string `json:"templateName,omitempty"` // Source test template name NewTemplateName string `json:"newTemplateName,omitempty"` // Destination test template name } @@ -2781,6 +1844,7 @@ func (s *SensorsService) DownloadsASpecificICapPacketCaptureFile(id string, Down } } + response, err = clientRequest. SetResult(&ResponseSensorsDownloadsASpecificICapPacketCaptureFile{}). SetError(&Error). @@ -3315,16 +2379,16 @@ func (s *SensorsService) CreatesAnICapConfigurationIntentForPreviewApprove(reque } -//CreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice Creates a ICAP configuration workflow for ICAP intent to remove the ICAP configuration on the device. - e681-4857-4298-9079 +//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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!creates-ai-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) { +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) @@ -3332,7 +2396,7 @@ func (s *SensorsService) CreatesAICapConfigurationWorkflowForICapintentToRemoveT SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). SetBody(requestSensorsCreatesAICAPConfigurationWorkflowForICAPIntentToRemoveTheICAPConfigurationOnTheDevice). - SetResult(&ResponseSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice{}). + SetResult(&ResponseSensorsCreatesAiCapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice{}). SetError(&Error). Post(path) @@ -3344,13 +2408,13 @@ func (s *SensorsService) CreatesAICapConfigurationWorkflowForICapintentToRemoveT if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice(id, requestSensorsCreatesAICAPConfigurationWorkflowForICAPIntentToRemoveTheICAPConfigurationOnTheDevice) + return s.CreatesAiCapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice(id, requestSensorsCreatesAICAPConfigurationWorkflowForICAPIntentToRemoveTheICAPConfigurationOnTheDevice) } - return nil, response, fmt.Errorf("error with operation CreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice") + return nil, response, fmt.Errorf("error with operation CreatesAiCapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice") } - result := response.Result().(*ResponseSensorsCreatesAICapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice) + result := response.Result().(*ResponseSensorsCreatesAiCapConfigurationWorkflowForICapintentToRemoveTheICapConfigurationOnTheDevice) return result, response, err } @@ -3397,7 +2461,7 @@ func (s *SensorsService) DeploysTheICapConfigurationIntentByActivityID(previewAc } //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. +/* 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. 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 @@ -3682,7 +2746,8 @@ func (s *SensorsService) DiscardsTheICapConfigurationIntentByActivityID(previewA if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DiscardsTheICapConfigurationIntentByActivityID(previewActivityID) + return s.DiscardsTheICapConfigurationIntentByActivityID( + previewActivityID) } return nil, response, fmt.Errorf("error with operation DiscardsTheICapConfigurationIntentByActivityId") } @@ -3720,7 +2785,8 @@ func (s *SensorsService) DeleteSensorTest(DeleteSensorTestQueryParams *DeleteSen if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteSensorTest(DeleteSensorTestQueryParams) + return s.DeleteSensorTest( + DeleteSensorTestQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteSensorTest") } diff --git a/sdk/site_design.go b/sdk/site_design.go index 55ec5f9..8891df8 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 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. + 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. @@ -86,625 +86,483 @@ type GetsAFloorV2QueryParams struct { } 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 - - NameHierarchy string `json:"nameHierarchy,omitempty"` // Area hierarchical name. Read only. - - ParentID string `json:"parentId,omitempty"` // Parent Id - - Type string `json:"type,omitempty"` // Site Type. + ID string `json:"id,omitempty"` // Aread Id. Read only. + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchical Id. Read Only. Can be used to add the access groups using the API POST:/dna/system/api/v1/accessGroups, this value should be used to populate the srcResourceId field of the request payload. + 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. } 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 + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchical Id. Read only. Can be used to add the access groups using the API POST:/dna/system/api/v1/accessGroups, this value should be used to populate the srcResourceId field of the request payload. } 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 - - 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 + 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 + ID string `json:"id,omitempty"` // Building Id. Read only + NameHierarchy string `json:"nameHierarchy,omitempty"` // Building hierarchical name. Read only + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchical Id. Read only. Can be used to add the access groups using the API POST:/dna/system/api/v1/accessGroups, this value should be used to populate the srcResourceId field of the request payload. } 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 + 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"` // + 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 - + 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 + 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 - + 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 - + 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 + 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 + 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) + 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 - + 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) + 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 + 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 - + 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 - + 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 - + 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 - + 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 - + 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 - + 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 + 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 - + 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 - + 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. + SiteHierarchyID string `json:"siteHierarchyId,omitempty"` // Site Hierarchical Id. Read only. Can be used to add the access groups using the API POST:/dna/system/api/v1/accessGroups, this value should be used to populate the srcResourceId field of the request payload. } 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, 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'. + 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, ranging from a minimum of 1 to a maximum of 100. @@ -713,188 +571,126 @@ type RequestSiteDesignAssignANetworkProfileForSitesToTheGivenSite struct { ID string `json:"id,omitempty"` // Id } type RequestSiteDesignAssignANetworkProfileForSitesToAListOfSites struct { - Items []struct { - ID string `json:"id,omitempty"` - } `json:"items,omitempty"` // Items + Items *[][]string `json:"items,omitempty"` // Items } 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. 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 + 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. 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 + 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 - + ID string `json:"id,omitempty"` // Access Point Id Position *RequestItemSiteDesignEditTheAccessPointsPositionsV2Position `json:"position,omitempty"` // - - Radios *[]RequestItemSiteDesignEditTheAccessPointsPositionsV2Radios `json:"radios,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 - + 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 + 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 + 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"` // + 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 - + 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 + 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 + 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 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 - + 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 + 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 + 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 @@ -2352,15 +2148,18 @@ 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. + 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. + 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. + Wired Endpoint Data Collection Enablement. Controller Certificates. SNMP Trap Server Definitions. @@ -2375,6 +2174,7 @@ The following device settings will be enabled when devices are assigned to a sit 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. PKCS12 certificate issue. @@ -2545,7 +2345,8 @@ func (s *SiteDesignService) DeletesAnArea(id string) (*ResponseSiteDesignDeletes if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletesAnArea(id) + return s.DeletesAnArea( + id) } return nil, response, fmt.Errorf("error with operation DeletesAnArea") } @@ -2583,7 +2384,8 @@ func (s *SiteDesignService) DeletesANetworkProfileForSites(id string) (*Response if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletesANetworkProfileForSites(id) + return s.DeletesANetworkProfileForSites( + id) } return nil, response, fmt.Errorf("error with operation DeletesANetworkProfileForSites") } @@ -2624,7 +2426,8 @@ func (s *SiteDesignService) UnassignsANetworkProfileForSitesFromMultipleSites(pr if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UnassignsANetworkProfileForSitesFromMultipleSites(profileID, UnassignsANetworkProfileForSitesFromMultipleSitesQueryParams) + return s.UnassignsANetworkProfileForSitesFromMultipleSites( + profileID, UnassignsANetworkProfileForSitesFromMultipleSitesQueryParams) } return nil, response, fmt.Errorf("error with operation UnassignsANetworkProfileForSitesFromMultipleSites") } @@ -2665,7 +2468,8 @@ func (s *SiteDesignService) UnassignsANetworkProfileForSitesFromASite(profileID if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UnassignsANetworkProfileForSitesFromASite(profileID, id) + return s.UnassignsANetworkProfileForSitesFromASite( + profileID, id) } return nil, response, fmt.Errorf("error with operation UnassignsANetworkProfileForSitesFromASite") } @@ -2706,7 +2510,8 @@ func (s *SiteDesignService) Disassociate(networkProfileID string, siteID string) if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.Disassociate(networkProfileID, siteID) + return s.Disassociate( + networkProfileID, siteID) } return nil, response, fmt.Errorf("error with operation Disassociate") } @@ -2744,7 +2549,8 @@ func (s *SiteDesignService) DeletesABuildingV2(id string) (*ResponseSiteDesignDe if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletesABuildingV2(id) + return s.DeletesABuildingV2( + id) } return nil, response, fmt.Errorf("error with operation DeletesABuildingV2") } @@ -2785,7 +2591,8 @@ func (s *SiteDesignService) DeletePlannedAccessPointsPositionV2(floorID string, if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletePlannedAccessPointsPositionV2(floorID, id) + return s.DeletePlannedAccessPointsPositionV2( + floorID, id) } return nil, response, fmt.Errorf("error with operation DeletePlannedAccessPointsPositionV2") } @@ -2823,7 +2630,8 @@ func (s *SiteDesignService) DeletesAFloorV2(id string) (*ResponseSiteDesignDelet if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletesAFloorV2(id) + return s.DeletesAFloorV2( + id) } return nil, response, fmt.Errorf("error with operation DeletesAFloorV2") } diff --git a/sdk/sites.go b/sdk/sites.go index 1ff0034..26734da 100644 --- a/sdk/sites.go +++ b/sdk/sites.go @@ -11,6 +11,70 @@ import ( type SitesService service +type GetSitesEnergyQueryParams 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 one day before `endTime`. + 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. If `endTime` is not provided, API will default to one day after `startTime`. If `startTime` is not provided either, API will default to current time. + 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. + 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) + SiteName string `url:"siteName,omitempty"` //The name of the site. (Ex. `FloorName`) This field supports wildcard asterisk (`*`) character search support. E.g. `*San*, *San, San*` Examples: `?siteName=building1` (single siteName requested) `?siteName=building1&siteName=building2&siteName=building3` (multiple siteNames 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) + DeviceCategory string `url:"deviceCategory,omitempty"` //The list of device categories. Note that this filter specifies which devices will be included when calculating energy consumption values, rather than specifying the list of returned sites. Examples: `deviceCategory=Switch` (single device category requested) `deviceCategory=Switch&deviceCategory=Router` (multiple device categories with comma separator) + 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) + Views string `url:"views,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. **Energy** [energyConsumed, estimatedCost, estimatedEmission, carbonIntensity, numberOfDevices] When this query parameter is not added the default summaries are: **[site,energy]** Examples: views=site (single view requested) views=site,energy (multiple views requested) + Attribute string `url:"attribute,omitempty"` //Supported Attributes: [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude, energyConsumed, estimatedCost, estimatedEmission, carbonIntensity, numberOfDevices] If length of attribute list is too long, please use 'view' param instead. Examples: attribute=siteHierarchy (single attribute requested) attribute=siteHierarchy&attribute=energyConsumed (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 GetSitesEnergyHeaderParams 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 CountSitesEnergyQueryParams 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 one day before `endTime`. + 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. If `endTime` is not provided, API will default to one day after `startTime`. If `startTime` is not provided either, API will default to current time. + 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) + SiteName string `url:"siteName,omitempty"` //The name of the site. (Ex. `FloorName`) This field supports wildcard asterisk (`*`) character search support. E.g. `*San*, *San, San*` Examples: `?siteName=building1` (single siteName requested) `?siteName=building1&siteName=building2&siteName=building3` (multiple siteNames 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) + DeviceCategory string `url:"deviceCategory,omitempty"` //The list of device categories. Note that this filter specifies which devices will be included when calculating energy consumption values, rather than specifying the list of returned sites. Examples: `deviceCategory=Switch` (single device category requested) `deviceCategory=Switch&deviceCategory=Router` (multiple device categories with comma separator) + 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) + 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 CountSitesEnergyHeaderParams 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 SubmitRequestToQuerySitesEnergyQueryParams 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 SubmitRequestToQuerySitesEnergyHeaderParams 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 QuerySitesEnergyForTheGivenTaskIDQueryParams 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 CountSitesEnergyForTheGivenTaskIDQueryParams 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 CountSitesEnergyForTheGivenTaskIDHeaderParams 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 SubmitRequestToCountSitesEnergyFromQueryQueryParams 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 GetSiteEnergyByIDQueryParams 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 one day before `endTime`. + 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. If `endTime` is not provided, API will default to one day after `startTime`. If `startTime` is not provided either, API will default to current time. + Views string `url:"views,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. **Energy** [energyConsumed, estimatedCost, estimatedEmission, carbonIntensity, numberOfDevices] When this query parameter is not added the default summaries are: **[site,energy]** Examples: views=site (single view requested) views=site,energy (multiple views requested) + Attribute string `url:"attribute,omitempty"` //Supported Attributes: [id, siteHierarchy, siteHierarchyId, siteType, latitude, longitude, energyConsumed, estimatedCost, estimatedEmission, carbonIntensity, numberOfDevices] If length of attribute list is too long, please use 'view' param instead. Examples: attribute=siteHierarchy (single attribute requested) attribute=siteHierarchy&attribute=energyConsumed (multiple attributes requested) + DeviceCategory string `url:"deviceCategory,omitempty"` //The list of device categories. Note that this filter specifies which devices will be included when calculating energy consumption values, rather than specifying the list of returned sites. Examples: `deviceCategory=Switch` (single device category requested) `deviceCategory=Switch&deviceCategory=Router` (multiple device categories with comma separator) + 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 GetSiteEnergyByIDHeaderParams 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 ReadListOfSiteHealthSummariesQueryParams 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. @@ -281,1217 +345,862 @@ type GetSiteCountV2QueryParams struct { ID string `url:"id,omitempty"` //Site instance UUID } +type ResponseSitesGetSitesEnergy struct { + Response *[]ResponseSitesGetSitesEnergyResponse `json:"response,omitempty"` // + Page *ResponseSitesGetSitesEnergyPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseSitesGetSitesEnergyResponse struct { + ID string `json:"id,omitempty"` // Id + SiteName string `json:"siteName,omitempty"` // Site Name + 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 + DeviceCategories []string `json:"deviceCategories,omitempty"` // Device Categories + EnergyConsumed *float64 `json:"energyConsumed,omitempty"` // Energy Consumed + EstimatedCost *float64 `json:"estimatedCost,omitempty"` // Estimated Cost + EstimatedEmission *float64 `json:"estimatedEmission,omitempty"` // Estimated Emission + CarbonIntensity *float64 `json:"carbonIntensity,omitempty"` // Carbon Intensity + NumberOfDevices *int `json:"numberOfDevices,omitempty"` // Number Of Devices +} +type ResponseSitesGetSitesEnergyPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseSitesGetSitesEnergyPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseSitesGetSitesEnergyPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order +} +type ResponseSitesCountSitesEnergy struct { + Response *ResponseSitesCountSitesEnergyResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseSitesCountSitesEnergyResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseSitesSubmitRequestToQuerySitesEnergy struct { + Response *ResponseSitesSubmitRequestToQuerySitesEnergyResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseSitesSubmitRequestToQuerySitesEnergyResponse struct { + TaskLocation string `json:"taskLocation,omitempty"` // Task Location + TaskID string `json:"taskId,omitempty"` // Task Id +} +type ResponseSitesQuerySitesEnergyForTheGivenTaskID struct { + Response *[]ResponseSitesQuerySitesEnergyForTheGivenTaskIDResponse `json:"response,omitempty"` // + Page *ResponseSitesQuerySitesEnergyForTheGivenTaskIDPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseSitesQuerySitesEnergyForTheGivenTaskIDResponse struct { + ID string `json:"id,omitempty"` // Id + SiteName string `json:"siteName,omitempty"` // Site Name + 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 + DeviceCategories []string `json:"deviceCategories,omitempty"` // Device Categories + EnergyConsumed *float64 `json:"energyConsumed,omitempty"` // Energy Consumed + EstimatedCost *float64 `json:"estimatedCost,omitempty"` // Estimated Cost + EstimatedEmission *float64 `json:"estimatedEmission,omitempty"` // Estimated Emission + CarbonIntensity *float64 `json:"carbonIntensity,omitempty"` // Carbon Intensity + NumberOfDevices *int `json:"numberOfDevices,omitempty"` // Number Of Devices + AggregateAttributes *[]ResponseSitesQuerySitesEnergyForTheGivenTaskIDResponseAggregateAttributes `json:"aggregateAttributes,omitempty"` // +} +type ResponseSitesQuerySitesEnergyForTheGivenTaskIDResponseAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function + Value *float64 `json:"value,omitempty"` // Value +} +type ResponseSitesQuerySitesEnergyForTheGivenTaskIDPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + Count *int `json:"count,omitempty"` // Count + SortBy *[]ResponseSitesQuerySitesEnergyForTheGivenTaskIDPageSortBy `json:"sortBy,omitempty"` // +} +type ResponseSitesQuerySitesEnergyForTheGivenTaskIDPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + Function string `json:"function,omitempty"` // Function +} +type ResponseSitesCountSitesEnergyForTheGivenTaskID struct { + Response *ResponseSitesCountSitesEnergyForTheGivenTaskIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseSitesCountSitesEnergyForTheGivenTaskIDResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseSitesSubmitRequestToCountSitesEnergyFromQuery struct { + Response *ResponseSitesSubmitRequestToCountSitesEnergyFromQueryResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseSitesSubmitRequestToCountSitesEnergyFromQueryResponse struct { + Count *int `json:"count,omitempty"` // Count +} +type ResponseSitesGetSiteEnergyByID struct { + Response *ResponseSitesGetSiteEnergyByIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseSitesGetSiteEnergyByIDResponse struct { + ID string `json:"id,omitempty"` // Id + SiteName string `json:"siteName,omitempty"` // Site Name + 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 + DeviceCategories []string `json:"deviceCategories,omitempty"` // Device Categories + EnergyConsumed *float64 `json:"energyConsumed,omitempty"` // Energy Consumed + EstimatedCost *float64 `json:"estimatedCost,omitempty"` // Estimated Cost + EstimatedEmission *float64 `json:"estimatedEmission,omitempty"` // Estimated Emission + CarbonIntensity *float64 `json:"carbonIntensity,omitempty"` // Carbon Intensity + NumberOfDevices *int `json:"numberOfDevices,omitempty"` // Number Of Devices +} 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 ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetwork struct { Response *[]ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkResponse `json:"response,omitempty"` // - - Page *ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkPage `json:"page,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Page *ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version } type ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkResponse struct { - Timestamp *int `json:"timestamp,omitempty"` // Timestamp - + Timestamp *int `json:"timestamp,omitempty"` // Timestamp Attributes *[]ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkResponseAttributes `json:"attributes,omitempty"` // } type ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkResponseAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Value *float64 `json:"value,omitempty"` // Value } type ResponseSitesReadTrendAnalyticsDataForAGroupingOfSitesInYourNetworkPage 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 TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order } type ResponseSitesReadSiteHealthSummaryDataBySiteID struct { Response *ResponseSitesReadSiteHealthSummaryDataBySiteIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + 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 + 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 ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetwork struct { Response *[]ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkResponse `json:"response,omitempty"` // - - Page *ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkPage `json:"page,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Page *ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version } type ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkResponse struct { - Timestamp *int `json:"timestamp,omitempty"` // Timestamp - + Timestamp *int `json:"timestamp,omitempty"` // Timestamp Attributes *[]ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkResponseAttributes `json:"attributes,omitempty"` // } type ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkResponseAttributes struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Value *float64 `json:"value,omitempty"` // Value } type ResponseSitesReadTrendAnalyticsDataForASpecificSiteInYourNetworkPage 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 TimeSortOrder string `json:"timeSortOrder,omitempty"` // Time Sort Order } type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParameters struct { Response *[]ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponse `json:"response,omitempty"` // - - Page *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersPage `json:"page,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Page *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersPage `json:"page,omitempty"` // + Version string `json:"version,omitempty"` // Version } 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"` // - + 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"` // - + 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"` // + 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 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 + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + ApCount *int `json:"apCount,omitempty"` // Ap Count } 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 + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + ApCount *int `json:"apCount,omitempty"` // Ap Count } type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseCoverageFailureMetrics struct { - FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } 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 + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + ApCount *int `json:"apCount,omitempty"` // Ap Count } 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 + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + ApCount *int `json:"apCount,omitempty"` // Ap Count } type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingAttemptsFailureMetrics struct { - FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } 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 + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + ApCount *int `json:"apCount,omitempty"` // Ap Count } 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 + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + ApCount *int `json:"apCount,omitempty"` // Ap Count } type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseOnboardingDurationFailureMetrics struct { - FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } 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 + 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 - - FloorCount *int `json:"floorCount,omitempty"` // Floor Count - - SitesCount *int `json:"sitesCount,omitempty"` // Sites Count - - ApCount *int `json:"apCount,omitempty"` // Ap Count + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + 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 - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } 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 + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + ApCount *int `json:"apCount,omitempty"` // Ap Count } 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 + 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 - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseConnectionSpeedImpactedEntities 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 + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + ApCount *int `json:"apCount,omitempty"` // Ap Count } 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 + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + ApCount *int `json:"apCount,omitempty"` // Ap Count } type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersResponseConnectionSpeedFailureMetrics struct { - FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersPage 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 *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersPageSortBy `json:"sortBy,omitempty"` // } type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherQueryParametersPageSortBy struct { - Name string `json:"name,omitempty"` // Name - + Name string `json:"name,omitempty"` // Name Order string `json:"order,omitempty"` // Order } type ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParameters struct { Response *ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfQueryParametersResponse struct { Count *int `json:"count,omitempty"` // Count } type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters struct { Response *ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersResponse struct { TaskLocation string `json:"taskLocation,omitempty"` // Task Location - - TaskID string `json:"taskId,omitempty"` // Task Id + TaskID string `json:"taskId,omitempty"` // Task Id } type ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters struct { Response *ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersResponse struct { Count *int `json:"count,omitempty"` // Count } type ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskID struct { Response *ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskIDResponse struct { Attributes *[]ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskIDResponseAttributes `json:"attributes,omitempty"` // } type ResponseSitesGetSiteAnalyticsSummaryDataForTheGivenTaskIDResponseAttributes struct { - Name string `json:"name,omitempty"` // Name - - Value *int `json:"value,omitempty"` // Value + Name string `json:"name,omitempty"` // Name + Value *int `json:"value,omitempty"` // Value } type ResponseSitesSubmitRequestForSiteAnalyticsSummaryData struct { Response *ResponseSitesSubmitRequestForSiteAnalyticsSummaryDataResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSitesSubmitRequestForSiteAnalyticsSummaryDataResponse struct { TaskLocation string `json:"taskLocation,omitempty"` // Task Location - - TaskID string `json:"taskId,omitempty"` // Task Id + TaskID string `json:"taskId,omitempty"` // Task Id } type ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskID struct { - Version string `json:"version,omitempty"` // Version - + Version string `json:"version,omitempty"` // Version Response *[]ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDResponse `json:"response,omitempty"` // - - Page *ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDPage `json:"page,omitempty"` // + Page *ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDPage `json:"page,omitempty"` // } type ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDResponse struct { - ID string `json:"id,omitempty"` // Id - + ID string `json:"id,omitempty"` // Id Attributes *[]ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDResponseAttributes `json:"attributes,omitempty"` // } type ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDResponseAttributes struct { - Name string `json:"name,omitempty"` // Name - - Value *int `json:"value,omitempty"` // Value + Name string `json:"name,omitempty"` // Name + Value *int `json:"value,omitempty"` // Value } type ResponseSitesGetTopNEntitiesRelatedToSiteAnalyticsForTheGivenTaskIDPage struct { - Limit *int `json:"limit,omitempty"` // Limit - + Limit *int `json:"limit,omitempty"` // Limit Offset *int `json:"offset,omitempty"` // Offset - - Count *int `json:"count,omitempty"` // Count + Count *int `json:"count,omitempty"` // Count } type ResponseSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalytics struct { Response *ResponseSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalyticsResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalyticsResponse struct { TaskLocation string `json:"taskLocation,omitempty"` // Task Location - - TaskID string `json:"taskId,omitempty"` // Task Id + TaskID string `json:"taskId,omitempty"` // Task Id } type ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskID struct { - Version string `json:"version,omitempty"` // Version - + Version string `json:"version,omitempty"` // Version Response *[]ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDResponse `json:"response,omitempty"` // - - Page *ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDPage `json:"page,omitempty"` // + Page *ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDPage `json:"page,omitempty"` // } type ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDResponse struct { - Timestamp *int `json:"timestamp,omitempty"` // Timestamp - + Timestamp *int `json:"timestamp,omitempty"` // Timestamp Attributes *[]ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDResponseAttributes `json:"attributes,omitempty"` // } type ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDResponseAttributes struct { - Name string `json:"name,omitempty"` // Name - - Value *int `json:"value,omitempty"` // Value + Name string `json:"name,omitempty"` // Name + Value *int `json:"value,omitempty"` // Value } type ResponseSitesGetSiteAnalyticsTrendDataForTheGivenTaskIDPage 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 ResponseSitesSubmitRequestForSiteAnalyticsTrendData struct { Response *ResponseSitesSubmitRequestForSiteAnalyticsTrendDataResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseSitesSubmitRequestForSiteAnalyticsTrendDataResponse struct { TaskLocation string `json:"taskLocation,omitempty"` // Task Location - - TaskID string `json:"taskId,omitempty"` // Task Id + TaskID string `json:"taskId,omitempty"` // Task Id } type ResponseSitesGetSiteAnalyticsForOneSite struct { Response *ResponseSitesGetSiteAnalyticsForOneSiteResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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"` // - + 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"` // - + 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"` // + 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 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 + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + ApCount *int `json:"apCount,omitempty"` // Ap Count } 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 + FloorCount *int `json:"floorCount,omitempty"` // Floor Count + SitesCount *int `json:"sitesCount,omitempty"` // Sites Count + ApCount *int `json:"apCount,omitempty"` // Ap Count } type ResponseSitesGetSiteAnalyticsForOneSiteResponseCoverageFailureMetrics struct { - FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } 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 + 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 + 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 - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + 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 + 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 + 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 - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + 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 + 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 + 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 - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + 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 + 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 + 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 - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + 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 + 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 + 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 - + FailureApCount *int `json:"failureApCount,omitempty"` // Failure Ap Count FailureClientCount *int `json:"failureClientCount,omitempty"` // Failure Client Count - - FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage + FailurePercentage *int `json:"failurePercentage,omitempty"` // Failure Percentage } type ResponseSitesAssignDevicesToSite 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 ResponseSitesExportMapArchive struct { Response *ResponseSitesExportMapArchiveResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // + Version string `json:"version,omitempty"` // } type ResponseSitesExportMapArchiveResponse struct { TaskID string `json:"taskId,omitempty"` // - - URL string `json:"url,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"` // + 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"` // + 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 { @@ -1514,45 +1223,36 @@ type ResponseSitesImportMapArchiveImportStatusAuditLogWarnings struct { } type ResponseSitesImportMapArchiveImportStatusUUID struct { LeastSignificantBits *int `json:"leastSignificantBits,omitempty"` // - - MostSignificantBits *int `json:"mostSignificantBits,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"` // + ApType string `json:"apType,omitempty"` // } type ResponseItemSitesMapsSupportedAccessPointsAntennaPatterns struct { - Band string `json:"band,omitempty"` // - + Band string `json:"band,omitempty"` // Names []string `json:"names,omitempty"` // } type ResponseSitesGetMembership struct { - Site *ResponseSitesGetMembershipSite `json:"site,omitempty"` // - + 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 + 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 + 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 - + 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 ResponseSitesGetSite struct { Response *[]ResponseSitesGetSiteResponse `json:"response,omitempty"` // @@ -1592,560 +1292,652 @@ 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"` // + 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 + 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 - + 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"` // - + AppTotalCount *float64 `json:"appTotalCount,omitempty"` // Total application count + BusinessRelevantAppCount *ResponseSitesGetSiteHealthResponseApplicationHealthStatsBusinessRelevantAppCount `json:"businessRelevantAppCount,omitempty"` // BusinessIrrelevantAppCount *ResponseSitesGetSiteHealthResponseApplicationHealthStatsBusinessIrrelevantAppCount `json:"businessIrrelevantAppCount,omitempty"` // - - DefaultHealthAppCount *ResponseSitesGetSiteHealthResponseApplicationHealthStatsDefaultHealthAppCount `json:"defaultHealthAppCount,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) - + 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 + 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 + Response *int `json:"response,omitempty"` // Response + Version string `json:"version,omitempty"` // Version } type ResponseSitesUpdateSite struct { - Result string `json:"result,omitempty"` // Result - + Result string `json:"result,omitempty"` // Result Response *ResponseSitesUpdateSiteResponse `json:"response,omitempty"` // - - Status string `json:"status,omitempty"` // Status + 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 + 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 - + 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 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 RequestSitesSubmitRequestToQuerySitesEnergy struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + EndTime *int `json:"endTime,omitempty"` // End Time + Filters *[]RequestSitesSubmitRequestToQuerySitesEnergyFilters `json:"filters,omitempty"` // + Views []string `json:"views,omitempty"` // Views + Attributes []string `json:"attributes,omitempty"` // Attributes + AggregateAttributes *[]RequestSitesSubmitRequestToQuerySitesEnergyAggregateAttributes `json:"aggregateAttributes,omitempty"` // + Page *RequestSitesSubmitRequestToQuerySitesEnergyPage `json:"page,omitempty"` // +} +type RequestSitesSubmitRequestToQuerySitesEnergyFilters struct { + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + Filters *[]RequestSitesSubmitRequestToQuerySitesEnergyFiltersFilters `json:"filters,omitempty"` // +} +type RequestSitesSubmitRequestToQuerySitesEnergyFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value []string `json:"value,omitempty"` // Value +} +type RequestSitesSubmitRequestToQuerySitesEnergyAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function +} +type RequestSitesSubmitRequestToQuerySitesEnergyPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + SortBy *[]RequestSitesSubmitRequestToQuerySitesEnergyPageSortBy `json:"sortBy,omitempty"` // +} +type RequestSitesSubmitRequestToQuerySitesEnergyPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + Function string `json:"function,omitempty"` // Function +} +type RequestSitesSubmitRequestToCountSitesEnergyFromQuery struct { + StartTime *int `json:"startTime,omitempty"` // Start Time + EndTime *int `json:"endTime,omitempty"` // End Time + Filters *[]RequestSitesSubmitRequestToCountSitesEnergyFromQueryFilters `json:"filters,omitempty"` // + Views []string `json:"views,omitempty"` // Views + Attributes []string `json:"attributes,omitempty"` // Attributes + AggregateAttributes *[]RequestSitesSubmitRequestToCountSitesEnergyFromQueryAggregateAttributes `json:"aggregateAttributes,omitempty"` // + Page *RequestSitesSubmitRequestToCountSitesEnergyFromQueryPage `json:"page,omitempty"` // +} +type RequestSitesSubmitRequestToCountSitesEnergyFromQueryFilters struct { + LogicalOperator string `json:"logicalOperator,omitempty"` // Logical Operator + Filters *[]RequestSitesSubmitRequestToCountSitesEnergyFromQueryFiltersFilters `json:"filters,omitempty"` // +} +type RequestSitesSubmitRequestToCountSitesEnergyFromQueryFiltersFilters struct { + Key string `json:"key,omitempty"` // Key + Operator string `json:"operator,omitempty"` // Operator + Value []string `json:"value,omitempty"` // Value +} +type RequestSitesSubmitRequestToCountSitesEnergyFromQueryAggregateAttributes struct { + Name string `json:"name,omitempty"` // Name + Function string `json:"function,omitempty"` // Function +} +type RequestSitesSubmitRequestToCountSitesEnergyFromQueryPage struct { + Limit *int `json:"limit,omitempty"` // Limit + Offset *int `json:"offset,omitempty"` // Offset + SortBy *[]RequestSitesSubmitRequestToCountSitesEnergyFromQueryPageSortBy `json:"sortBy,omitempty"` // +} +type RequestSitesSubmitRequestToCountSitesEnergyFromQueryPageSortBy struct { + Name string `json:"name,omitempty"` // Name + Order string `json:"order,omitempty"` // Order + Function string `json:"function,omitempty"` // Function +} +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 ResponseSitesGetSiteV2 struct { - Response *[]ResponseSitesGetSiteV2Response `json:"response,omitempty"` // +type RequestSitesUpdateSiteSiteArea struct { + Name string `json:"name,omitempty"` // Area name + ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA) } -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 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 ResponseSitesGetSiteV2ResponseAdditionalInfo struct { - NameSpace string `json:"nameSpace,omitempty"` // Site name space. Default value is 'Location' - - Attributes *ResponseSitesGetSiteV2ResponseAdditionalInfoAttributes `json:"attributes,omitempty"` // +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) } -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 +//GetSitesEnergy Get sites energy - 5985-7ad7-4b3a-b26a +/* Retrieves a list of sites with energy data based on the specified 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-sitesEnergy-1.0.1-resolved.yaml - 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) +@param GetSitesEnergyHeaderParams Custom header parameters +@param GetSitesEnergyQueryParams Filtering parameter - 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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-sites-energy +*/ +func (s *SitesService) GetSitesEnergy(GetSitesEnergyHeaderParams *GetSitesEnergyHeaderParams, GetSitesEnergyQueryParams *GetSitesEnergyQueryParams) (*ResponseSitesGetSitesEnergy, *resty.Response, error) { + path := "/dna/data/api/v1/energy/sites" - Version string `json:"version,omitempty"` // Version -} -type RequestSitesQueryAnAggregatedSummaryOfSiteHealthData struct { - StartTime *int `json:"startTime,omitempty"` // Start Time + queryString, _ := query.Values(GetSitesEnergyQueryParams) - EndTime *int `json:"endTime,omitempty"` // End Time + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - Views []string `json:"views,omitempty"` // Views + if GetSitesEnergyHeaderParams != nil { - Attributes []string `json:"attributes,omitempty"` // Attributes -} -type RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFilters struct { - StartTime *int `json:"startTime,omitempty"` // Start Time + if GetSitesEnergyHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetSitesEnergyHeaderParams.XCaLLERID) + } - EndTime *int `json:"endTime,omitempty"` // End Time + } - Filters *[]RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersFilters `json:"filters,omitempty"` // + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesGetSitesEnergy{}). + SetError(&Error). + Get(path) - Attributes []string `json:"attributes,omitempty"` // Attributes + if err != nil { + return nil, nil, err - Views []string `json:"views,omitempty"` // Views + } - Page *RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersPage `json:"page,omitempty"` // -} -type RequestSitesGetSiteAnalyticsForTheChildSitesOfGivenParentSiteAndOtherFiltersFilters struct { - Key string `json:"key,omitempty"` // Key + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSitesEnergy(GetSitesEnergyHeaderParams, GetSitesEnergyQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSitesEnergy") + } - Operator string `json:"operator,omitempty"` // Operator + result := response.Result().(*ResponseSitesGetSitesEnergy) + return result, response, err - 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 +//CountSitesEnergy Count sites energy - b9b8-5b6f-4ae8-8e7c +/* Retrieves the total count of sites that provide energy data, filtered according to the specified 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-sitesEnergy-1.0.1-resolved.yaml - Order string `json:"order,omitempty"` // Order -} -type RequestSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFilters struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time +@param CountSitesEnergyHeaderParams Custom header parameters +@param CountSitesEnergyQueryParams Filtering parameter - Filters *[]RequestSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersFilters `json:"filters,omitempty"` // -} -type RequestSitesGetTheTotalNumberOfSiteAnalyticsRecordsAvailableForForGivenSetOfFiltersFilters struct { - Key string `json:"key,omitempty"` // Key +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-sites-energy +*/ +func (s *SitesService) CountSitesEnergy(CountSitesEnergyHeaderParams *CountSitesEnergyHeaderParams, CountSitesEnergyQueryParams *CountSitesEnergyQueryParams) (*ResponseSitesCountSitesEnergy, *resty.Response, error) { + path := "/dna/data/api/v1/energy/sites/count" - Operator string `json:"operator,omitempty"` // Operator + queryString, _ := query.Values(CountSitesEnergyQueryParams) - Value string `json:"value,omitempty"` // Value -} -type RequestSitesSubmitRequestForSiteAnalyticsSummaryData struct { - StartTime *int `json:"startTime,omitempty"` // Start Time + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - EndTime *int `json:"endTime,omitempty"` // End Time + if CountSitesEnergyHeaderParams != nil { - Filters *[]RequestSitesSubmitRequestForSiteAnalyticsSummaryDataFilters `json:"filters,omitempty"` // + if CountSitesEnergyHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", CountSitesEnergyHeaderParams.XCaLLERID) + } - Attributes []string `json:"attributes,omitempty"` // Attributes -} -type RequestSitesSubmitRequestForSiteAnalyticsSummaryDataFilters struct { - Key string `json:"key,omitempty"` // Key + } - Operator string `json:"operator,omitempty"` // Operator + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesCountSitesEnergy{}). + SetError(&Error). + Get(path) - Value string `json:"value,omitempty"` // Value -} -type RequestSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalytics struct { - StartTime *int `json:"startTime,omitempty"` // Start Time + if err != nil { + return nil, nil, err - EndTime *int `json:"endTime,omitempty"` // End Time + } - TopN *int `json:"topN,omitempty"` // Top N + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.CountSitesEnergy(CountSitesEnergyHeaderParams, CountSitesEnergyQueryParams) + } + return nil, response, fmt.Errorf("error with operation CountSitesEnergy") + } - GroupBy []string `json:"groupBy,omitempty"` // Group By + result := response.Result().(*ResponseSitesCountSitesEnergy) + return result, response, err - Filters *[]RequestSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalyticsFilters `json:"filters,omitempty"` // } -type RequestSitesSubmitRequestForTopNEntitiesRelatedToSiteAnalyticsFilters struct { - Key string `json:"key,omitempty"` // Key - Operator string `json:"operator,omitempty"` // Operator +//QuerySitesEnergyForTheGivenTaskID Query sites energy for the given task ID - e28f-4afb-44fa-989d +/* Gets query sites energy task result 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-sitesEnergy-1.0.1-resolved.yaml - Value string `json:"value,omitempty"` // Value -} -type RequestSitesSubmitRequestForSiteAnalyticsTrendData struct { - StartTime *int `json:"startTime,omitempty"` // Start Time - EndTime *int `json:"endTime,omitempty"` // End Time +@param QuerySitesEnergyForTheGivenTaskIDQueryParams Filtering parameter - TrendInterval string `json:"trendInterval,omitempty"` // Trend Interval +Documentation Link: https://developer.cisco.com/docs/dna-center/#!query-sites-energy-for-the-given-task-id +*/ +func (s *SitesService) QuerySitesEnergyForTheGivenTaskID(QuerySitesEnergyForTheGivenTaskIDQueryParams *QuerySitesEnergyForTheGivenTaskIDQueryParams) (*ResponseSitesQuerySitesEnergyForTheGivenTaskID, *resty.Response, error) { + path := "/dna/data/api/v1/energy/sites/query" - Filters *[]RequestSitesSubmitRequestForSiteAnalyticsTrendDataFilters `json:"filters,omitempty"` // + queryString, _ := query.Values(QuerySitesEnergyForTheGivenTaskIDQueryParams) - Attributes []string `json:"attributes,omitempty"` // Attributes + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesQuerySitesEnergyForTheGivenTaskID{}). + SetError(&Error). + Get(path) - Page *RequestSitesSubmitRequestForSiteAnalyticsTrendDataPage `json:"page,omitempty"` // -} -type RequestSitesSubmitRequestForSiteAnalyticsTrendDataFilters struct { - Key string `json:"key,omitempty"` // Key + if err != nil { + return nil, nil, err - Operator string `json:"operator,omitempty"` // Operator + } - Value string `json:"value,omitempty"` // Value -} -type RequestSitesSubmitRequestForSiteAnalyticsTrendDataPage struct { - Limit *int `json:"limit,omitempty"` // Limit + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.QuerySitesEnergyForTheGivenTaskID(QuerySitesEnergyForTheGivenTaskIDQueryParams) + } + return nil, response, fmt.Errorf("error with operation QuerySitesEnergyForTheGivenTaskId") + } - Offset *int `json:"offset,omitempty"` // Offset + result := response.Result().(*ResponseSitesQuerySitesEnergyForTheGivenTaskID) + return result, response, err - 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"` // +//CountSitesEnergyForTheGivenTaskID Count sites energy for the given task ID - 75ae-3959-4c1a-b993 +/* Gets count sites energy task result 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-sitesEnergy-1.0.1-resolved.yaml - Building *RequestSitesCreateSiteSiteBuilding `json:"building,omitempty"` // - Floor *RequestSitesCreateSiteSiteFloor `json:"floor,omitempty"` // -} -type RequestSitesCreateSiteSiteArea struct { - Name string `json:"name,omitempty"` // Name of the area (eg: Area1) +@param CountSitesEnergyForTheGivenTaskIDHeaderParams Custom header parameters +@param CountSitesEnergyForTheGivenTaskIDQueryParams Filtering parameter - 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) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-sites-energy-for-the-given-task-id +*/ +func (s *SitesService) CountSitesEnergyForTheGivenTaskID(CountSitesEnergyForTheGivenTaskIDHeaderParams *CountSitesEnergyForTheGivenTaskIDHeaderParams, CountSitesEnergyForTheGivenTaskIDQueryParams *CountSitesEnergyForTheGivenTaskIDQueryParams) (*ResponseSitesCountSitesEnergyForTheGivenTaskID, *resty.Response, error) { + path := "/dna/data/api/v1/energy/sites/query/count" - Address string `json:"address,omitempty"` // Address of the building to be created + queryString, _ := query.Values(CountSitesEnergyForTheGivenTaskIDQueryParams) - ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA/SantaClara) + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - Latitude *float64 `json:"latitude,omitempty"` // Latitude coordinate of the building (eg:37.338) + if CountSitesEnergyForTheGivenTaskIDHeaderParams != nil { - Longitude *float64 `json:"longitude,omitempty"` // Longitude coordinate of the building (eg:-121.832) + if CountSitesEnergyForTheGivenTaskIDHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", CountSitesEnergyForTheGivenTaskIDHeaderParams.XCaLLERID) + } - 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) + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesCountSitesEnergyForTheGivenTaskID{}). + SetError(&Error). + Get(path) - RfModel string `json:"rfModel,omitempty"` // Type of floor (eg: Cubes And Walled Offices0 + if err != nil { + return nil, nil, err - 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) + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.CountSitesEnergyForTheGivenTaskID(CountSitesEnergyForTheGivenTaskIDHeaderParams, CountSitesEnergyForTheGivenTaskIDQueryParams) + } + return nil, response, fmt.Errorf("error with operation CountSitesEnergyForTheGivenTaskId") + } - Height *float64 `json:"height,omitempty"` // Height of the floor. Unit of measure is ft. (eg: 15) + result := response.Result().(*ResponseSitesCountSitesEnergyForTheGivenTaskID) + return result, response, err - 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"` // +//GetSiteEnergyByID Get site energy by ID - 62ad-aba7-4ec8-9429 +/* Retrieve the energy summary data for a specific site based on the site 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-sitesEnergy-1.0.1-resolved.yaml - Building *RequestSitesUpdateSiteSiteBuilding `json:"building,omitempty"` // - Floor *RequestSitesUpdateSiteSiteFloor `json:"floor,omitempty"` // -} -type RequestSitesUpdateSiteSiteArea struct { - Name string `json:"name,omitempty"` // Area name +@param id id path parameter. The UUID of the Site. (Ex. "6bef213c-19ca-4170-8375-b694e251101c") - ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA) -} -type RequestSitesUpdateSiteSiteBuilding struct { - Name string `json:"name,omitempty"` // Building name +@param GetSiteEnergyByIDHeaderParams Custom header parameters +@param GetSiteEnergyByIDQueryParams Filtering parameter - Address string `json:"address,omitempty"` // Building address (Example: 4900 Marie P. Debartolo Way, Santa Clara, California 95054, United States) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-site-energy-by-id +*/ +func (s *SitesService) GetSiteEnergyByID(id string, GetSiteEnergyByIDHeaderParams *GetSiteEnergyByIDHeaderParams, GetSiteEnergyByIDQueryParams *GetSiteEnergyByIDQueryParams) (*ResponseSitesGetSiteEnergyByID, *resty.Response, error) { + path := "/dna/data/api/v1/energy/sites/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - ParentName string `json:"parentName,omitempty"` // Parent hierarchical name (Example: Global/USA/CA/SantaClara) + queryString, _ := query.Values(GetSiteEnergyByIDQueryParams) - Latitude *float64 `json:"latitude,omitempty"` // Building latitude (Example: 37.403712) + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - Longitude *float64 `json:"longitude,omitempty"` // Building longitude (Example: -121.971063) + if GetSiteEnergyByIDHeaderParams != nil { - 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 + if GetSiteEnergyByIDHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", GetSiteEnergyByIDHeaderParams.XCaLLERID) + } - RfModel string `json:"rfModel,omitempty"` // RF model (Example : Cubes And Walled Offices) + } - Width *float64 `json:"width,omitempty"` // Floor width in feet (Example: 200) + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetResult(&ResponseSitesGetSiteEnergyByID{}). + SetError(&Error). + Get(path) - Length *float64 `json:"length,omitempty"` // Floor length in feet (Example: 100) + if err != nil { + return nil, nil, err - Height *float64 `json:"height,omitempty"` // Floor height in feet (Example: 10) + } - FloorNumber *float64 `json:"floorNumber,omitempty"` // Floor Number (Example: 3) + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSiteEnergyByID(id, GetSiteEnergyByIDHeaderParams, GetSiteEnergyByIDQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSiteEnergyById") + } + + result := response.Result().(*ResponseSitesGetSiteEnergyByID) + return result, response, err - 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 @@ -3093,9 +2885,103 @@ func (s *SitesService) GetSiteCountV2(GetSiteCountV2QueryParams *GetSiteCountV2Q } +//SubmitRequestToQuerySitesEnergy Submit request to query sites energy - a1af-fadd-401a-bbdf +/* Submits a request to retrieve a list of sites along with their energy data for a specified time range, based on the filters provided in the request body. 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-sitesEnergy-1.0.1-resolved.yaml + + +@param SubmitRequestToQuerySitesEnergyHeaderParams Custom header parameters +@param SubmitRequestToQuerySitesEnergyQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!submit-request-to-query-sites-energy +*/ +func (s *SitesService) SubmitRequestToQuerySitesEnergy(requestSitesSubmitRequestToQuerySitesEnergy *RequestSitesSubmitRequestToQuerySitesEnergy, SubmitRequestToQuerySitesEnergyHeaderParams *SubmitRequestToQuerySitesEnergyHeaderParams, SubmitRequestToQuerySitesEnergyQueryParams *SubmitRequestToQuerySitesEnergyQueryParams) (*ResponseSitesSubmitRequestToQuerySitesEnergy, *resty.Response, error) { + path := "/dna/data/api/v1/energy/sites/query" + + queryString, _ := query.Values(SubmitRequestToQuerySitesEnergyQueryParams) + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") + + if SubmitRequestToQuerySitesEnergyHeaderParams != nil { + + if SubmitRequestToQuerySitesEnergyHeaderParams.XCaLLERID != "" { + clientRequest = clientRequest.SetHeader("X-CALLER-ID", SubmitRequestToQuerySitesEnergyHeaderParams.XCaLLERID) + } + + } + + response, err = clientRequest. + SetQueryString(queryString.Encode()).SetBody(requestSitesSubmitRequestToQuerySitesEnergy). + SetResult(&ResponseSitesSubmitRequestToQuerySitesEnergy{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.SubmitRequestToQuerySitesEnergy(requestSitesSubmitRequestToQuerySitesEnergy, SubmitRequestToQuerySitesEnergyHeaderParams, SubmitRequestToQuerySitesEnergyQueryParams) + } + + return nil, response, fmt.Errorf("error with operation SubmitRequestToQuerySitesEnergy") + } + + result := response.Result().(*ResponseSitesSubmitRequestToQuerySitesEnergy) + return result, response, err + +} + +//SubmitRequestToCountSitesEnergyFromQuery Submit request to count sites energy from query - 03a3-496c-4c0b-86a9 +/* Submits a request to retrieve the total count of sites that provide energy data, filtered according to the specified 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-sitesEnergy-1.0.1-resolved.yaml + + +@param SubmitRequestToCountSitesEnergyFromQueryQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!submit-request-to-count-sites-energy-from-query +*/ +func (s *SitesService) SubmitRequestToCountSitesEnergyFromQuery(requestSitesSubmitRequestToCountSitesEnergyFromQuery *RequestSitesSubmitRequestToCountSitesEnergyFromQuery, SubmitRequestToCountSitesEnergyFromQueryQueryParams *SubmitRequestToCountSitesEnergyFromQueryQueryParams) (*ResponseSitesSubmitRequestToCountSitesEnergyFromQuery, *resty.Response, error) { + path := "/dna/data/api/v1/energy/sites/query/count" + + queryString, _ := query.Values(SubmitRequestToCountSitesEnergyFromQueryQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetBody(requestSitesSubmitRequestToCountSitesEnergyFromQuery). + SetResult(&ResponseSitesSubmitRequestToCountSitesEnergyFromQuery{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.SubmitRequestToCountSitesEnergyFromQuery(requestSitesSubmitRequestToCountSitesEnergyFromQuery, SubmitRequestToCountSitesEnergyFromQueryQueryParams) + } + + return nil, response, fmt.Errorf("error with operation SubmitRequestToCountSitesEnergyFromQuery") + } + + result := response.Result().(*ResponseSitesSubmitRequestToCountSitesEnergyFromQuery) + return result, response, err + +} + //QueryAnAggregatedSummaryOfSiteHealthData Query an aggregated summary of site health data. - 2782-ca59-4cc8-ad34 /* Query an aggregated summary of all site health 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`, @@ -3667,7 +3553,8 @@ 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") } @@ -3706,7 +3593,8 @@ func (s *SitesService) DeleteSite(siteID string) (*ResponseSitesDeleteSite, *res if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteSite(siteID) + return s.DeleteSite( + siteID) } return nil, response, fmt.Errorf("error with operation DeleteSite") } diff --git a/sdk/software_image_management_swim.go b/sdk/software_image_management_swim.go index e2bcb22..4b13c6c 100644 --- a/sdk/software_image_management_swim.go +++ b/sdk/software_image_management_swim.go @@ -123,6 +123,50 @@ type CountOfNetworkDeviceImageUpdatesQueryParams struct { StartTime float64 `url:"startTime,omitempty"` //Image update started after the given time (as milliseconds since UNIX epoch). EndTime float64 `url:"endTime,omitempty"` //Image update started before the given time (as milliseconds since UNIX epoch). } +type GetTheListOfNetworkDevicesWithImageDetailsQueryParams struct { + ManagementAddress string `url:"managementAddress,omitempty"` //IP address or DNS name used to access and manage network devices. + NetworkDeviceImageStatus string `url:"networkDeviceImageStatus,omitempty"` //Network device image status with respect to golden images. Available values : OUTDATED, UP_TO_DATE, UNKNOWN, CONFLICTED, UNSUPPORTED. + NetworkDeviceUpdateStatus string `url:"networkDeviceUpdateStatus,omitempty"` //Network device current update status with respect to golden images. Available values : DISTRIBUTION_PENDING, DISTRIBUTION_IN_PROGRESS, DISTRIBUTION_FAILED, ACTIVATION_PENDING, ACTIVATION_IN_PROGRESS, ACTIVATION_FAILED, DEVICE_UP_TO_DATE,UNKNOWN. + SortBy string `url:"sortBy,omitempty"` //Sort the response by a specified attribute. Available attributes for sorting are: `id`,`networkDeviceUpdateStatus`,`networkDeviceImageStatus`, `goldenImages.name`, `goldenImages.version`, `installedImages.name`, `installedImages.version`. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. The minimum value is 1. + 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 CountOfNetworkDevicesForTheGivenStatusFiltersQueryParams struct { + ManagementAddress string `url:"managementAddress,omitempty"` //IP address or DNS name used to access and manage network devices. + NetworkDeviceImageStatus string `url:"networkDeviceImageStatus,omitempty"` //Network device image status with respect to golden images. Available values : OUTDATED, UP_TO_DATE, UNKNOWN, CONFLICTED, UNSUPPORTED. + NetworkDeviceUpdateStatus string `url:"networkDeviceUpdateStatus,omitempty"` //Network device current update status with respect to golden images. Available values : DISTRIBUTION_PENDING, DISTRIBUTION_IN_PROGRESS, DISTRIBUTION_FAILED, ACTIVATION_PENDING, ACTIVATION_IN_PROGRESS, ACTIVATION_FAILED, DEVICE_UP_TO_DATE,UNKNOWN. +} +type NetworkDeviceImageUpdateValidationResultsQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Network device identifier. + ID string `url:"id,omitempty"` //Unique identifier of network device validation task. + OperationType string `url:"operationType,omitempty"` //The operation type, as part of which this validation will get triggered. Available values : DISTRIBUTION, ACTIVATION, READINESS_CHECK. + Status string `url:"status,omitempty"` //Status of the validation result. SUCCESS, FAILED, IN_PROGRESS, WARNING. + Type string `url:"type,omitempty"` //Type of the validation. Available values : PRE_VALIDATION, POST_VALIDATION. + 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 + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. The minimum and maximum values are 1 and 500, respectively. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. The minimum value is 1. +} +type CountOfNetworkDeviceImageUpdateValidationResultsQueryParams struct { + NetworkDeviceID string `url:"networkDeviceId,omitempty"` //Network device identifier. + OperationType string `url:"operationType,omitempty"` //The operation type, as part of which this validation will get triggered. Available values : DISTRIBUTION, ACTIVATION, READINESS_CHECK. + Status string `url:"status,omitempty"` //Status of the validation result. Available values : SUCCESS, FAILED, IN_PROGRESS, WARNING. + Type string `url:"type,omitempty"` //Type of the validation. Available values : PRE_VALIDATION, POST_VALIDATION. +} +type GetTheListOfCustomNetworkDeviceValidationsQueryParams struct { + ProductSeriesOrdinal float64 `url:"productSeriesOrdinal,omitempty"` //Unique identifier of product series. + OperationType string `url:"operationType,omitempty"` //The operation type, as part of which this validation will get triggered. Available values : DISTRIBUTION, ACTIVATION. + Type string `url:"type,omitempty"` //Type of the validation. Available values : PRE_VALIDATION, POST_VALIDATION. + Order string `url:"order,omitempty"` //Whether ascending or descending order should be used to sort the response. Available values : asc, desc. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. The minimum value is 1. + 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 CountOfCustomNetworkDeviceValidationsQueryParams struct { + ProductSeriesOrdinal float64 `url:"productSeriesOrdinal,omitempty"` //Unique identifier of product series. + OperationType string `url:"operationType,omitempty"` //The operation type, as part of which this validation will get triggered. Available values : DISTRIBUTION, ACTIVATION, READINESS_CHECK. + Type string `url:"type,omitempty"` //Type of the validation. Available values : PRE_VALIDATION, POST_VALIDATION. +} type RetrievesTheListOfNetworkDeviceProductNamesQueryParams 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) @@ -133,6 +177,14 @@ 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 RetrievesTheListOfNetworkDeviceProductSeriesQueryParams struct { + Name string `url:"name,omitempty"` //Product series name. Supports partial case-insensitive search. A minimum of 3 characters is required for the search. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page; the first record is numbered 1. The minimum value is 1. + 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 CountOfNetworkProductSeriesQueryParams struct { + Name string `url:"name,omitempty"` //Product series name. Supports partial case-insensitive search. A minimum of 3 characters is required for the search. +} 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` } @@ -149,662 +201,772 @@ 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 + 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 ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetails struct { + Response *[]ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response. +} +type ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponse struct { + ID string `json:"id,omitempty"` // Network device identifier. + ManagementAddress string `json:"managementAddress,omitempty"` // Either an IP address or a fully-qualified domain name. + NetworkDevice *ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponseNetworkDevice `json:"networkDevice,omitempty"` // + NetworkDeviceImageStatus string `json:"networkDeviceImageStatus,omitempty"` // The network device's current status concerns golden bundle images. + NetworkDeviceUpdateStatus string `json:"networkDeviceUpdateStatus,omitempty"` // The network device's current update status concerns golden images. + GoldenImages *[]ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponseGoldenImages `json:"goldenImages,omitempty"` // + InstalledImages *[]ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponseInstalledImages `json:"installedImages,omitempty"` // + CompatibleFeatures *[]ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponseCompatibleFeatures `json:"compatibleFeatures,omitempty"` // +} +type ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponseNetworkDevice 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 the 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 ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponseGoldenImages struct { + ID string `json:"id,omitempty"` // Software image identifier. + Name string `json:"name,omitempty"` // Name of the image. + Version string `json:"version,omitempty"` // Image version. + ImageType string `json:"imageType,omitempty"` // Image Type + GoldenTaggingDetails *ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponseGoldenImagesGoldenTaggingDetails `json:"goldenTaggingDetails,omitempty"` // +} +type ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponseGoldenImagesGoldenTaggingDetails struct { + DeviceRoles string `json:"deviceRoles,omitempty"` // Role assigned to the network device. + DeviceTags string `json:"deviceTags,omitempty"` // A device tag is either user-defined or system-defined and is associated with a given network device. + SiteID string `json:"siteId,omitempty"` // The site id of the site from which these golden images originate. + SiteName string `json:"siteName,omitempty"` // The name of the site from which these golden images originate. + IsInherited *bool `json:"isInherited,omitempty"` // Inherited flag is set to 'true' if the golden images are inherited from sites higher in the site hierarchy, and 'false' if they are from the native site. +} +type ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponseInstalledImages struct { + ID string `json:"id,omitempty"` // Software image identifier. + Name string `json:"name,omitempty"` // Network device running image. + Version string `json:"version,omitempty"` // Image version. + ImageType string `json:"imageType,omitempty"` // Image Type. +} +type ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetailsResponseCompatibleFeatures struct { + Key string `json:"key,omitempty"` // Name of the compatible feature. + Value string `json:"value,omitempty"` // Feature that can be enabled or disabled. +} +type ResponseSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices struct { + Response *ResponseSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevicesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevicesResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseSoftwareImageManagementSwimCountOfNetworkDevicesForTheGivenStatusFilters struct { + Response *ResponseSoftwareImageManagementSwimCountOfNetworkDevicesForTheGivenStatusFiltersResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseSoftwareImageManagementSwimCountOfNetworkDevicesForTheGivenStatusFiltersResponse struct { + Count *int `json:"count,omitempty"` // The reported count. +} +type ResponseSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices struct { + Response *ResponseSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevicesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevicesResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseSoftwareImageManagementSwimNetworkDeviceImageUpdateValidationResults struct { + Response *[]ResponseSoftwareImageManagementSwimNetworkDeviceImageUpdateValidationResultsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response. +} +type ResponseSoftwareImageManagementSwimNetworkDeviceImageUpdateValidationResultsResponse struct { + ID string `json:"id,omitempty"` // Network validation result identifier. + ParentID string `json:"parentId,omitempty"` // Parent identifier for the network validation results. + Name string `json:"name,omitempty"` // Network device validation name. + OperationType string `json:"operationType,omitempty"` // The operation type, as part of which this validation got triggered. + Type string `json:"type,omitempty"` // The type of network device validation determines whether this validation runs before or after the operation. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device identifier. + StartTime *float64 `json:"startTime,omitempty"` // A date and time represented as milliseconds since the Unix epoch. + EndTime *float64 `json:"endTime,omitempty"` // A date and time represented as milliseconds since the Unix epoch. + Status string `json:"status,omitempty"` // Status of the network device validation result. + ResultDetails *ResponseSoftwareImageManagementSwimNetworkDeviceImageUpdateValidationResultsResponseResultDetails `json:"resultDetails,omitempty"` // +} +type ResponseSoftwareImageManagementSwimNetworkDeviceImageUpdateValidationResultsResponseResultDetails struct { + Key string `json:"key,omitempty"` // Key + Value string `json:"value,omitempty"` // Holds the information for each `key`. +} +type ResponseSoftwareImageManagementSwimCountOfNetworkDeviceImageUpdateValidationResults struct { + Response *ResponseSoftwareImageManagementSwimCountOfNetworkDeviceImageUpdateValidationResultsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseSoftwareImageManagementSwimCountOfNetworkDeviceImageUpdateValidationResultsResponse struct { + Count *int `json:"count,omitempty"` // The reported count. +} +type ResponseSoftwareImageManagementSwimCreateCustomNetworkDeviceValidation struct { + Response *ResponseSoftwareImageManagementSwimCreateCustomNetworkDeviceValidationResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseSoftwareImageManagementSwimCreateCustomNetworkDeviceValidationResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseSoftwareImageManagementSwimGetTheListOfCustomNetworkDeviceValidations struct { + Response *[]ResponseSoftwareImageManagementSwimGetTheListOfCustomNetworkDeviceValidationsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response. +} +type ResponseSoftwareImageManagementSwimGetTheListOfCustomNetworkDeviceValidationsResponse struct { + ID string `json:"id,omitempty"` // Unique identifier of network device validation. + Name string `json:"name,omitempty"` // Name of the network device validation. + Type string `json:"type,omitempty"` // The type of network device validation determines whether this validation runs before or after the operation. + OperationType string `json:"operationType,omitempty"` // The operation type, as part of which this validation will get triggered. + Description string `json:"description,omitempty"` // Details of the network device validation. + Category string `json:"category,omitempty"` // Category of the network device validation. + Cli string `json:"cli,omitempty"` // Show commands that will be executed. Validate the CLI - Cisco DevNet [ https://developer.cisco.com/docs/dna-center/2-3-7/run-read-only-commands-on-devices-to-get-their-real-time-configuration/ ] + ProductSeriesOrdinals *[]float64 `json:"productSeriesOrdinals,omitempty"` // The custom check will be mapped to the product series and devices that belong to this series. These devices will consume this check when triggered. +} +type ResponseSoftwareImageManagementSwimCountOfCustomNetworkDeviceValidations struct { + Response *ResponseSoftwareImageManagementSwimCountOfCustomNetworkDeviceValidationsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseSoftwareImageManagementSwimCountOfCustomNetworkDeviceValidationsResponse struct { + Count *int `json:"count,omitempty"` // The reported count. +} +type ResponseSoftwareImageManagementSwimUpdateCustomNetworkDeviceValidation struct { + Response *ResponseSoftwareImageManagementSwimUpdateCustomNetworkDeviceValidationResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseSoftwareImageManagementSwimUpdateCustomNetworkDeviceValidationResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseSoftwareImageManagementSwimGetCustomNetworkDeviceValidationDetails struct { + Response *ResponseSoftwareImageManagementSwimGetCustomNetworkDeviceValidationDetailsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseSoftwareImageManagementSwimGetCustomNetworkDeviceValidationDetailsResponse struct { + ID string `json:"id,omitempty"` // Unique identifier of network device validation. + Name string `json:"name,omitempty"` // Name of the network device validation. + Type string `json:"type,omitempty"` // The type of network device validation determines whether this validation runs before or after the operation. + OperationType string `json:"operationType,omitempty"` // The operation type, as part of which this validation will get triggered. + Description string `json:"description,omitempty"` // Details of the network device validation. + Category string `json:"category,omitempty"` // Category of the network device validation. + Cli string `json:"cli,omitempty"` // Show commands that will be executed. Validate the CLI - Cisco DevNet [https://developer.cisco.com/docs/dna-center/2-3-7/run-read-only-commands-on-devices-to-get-their-real-time-configuration/] + ProductSeriesOrdinals *[]float64 `json:"productSeriesOrdinals,omitempty"` // The custom check will be mapped to the product series and devices that belong to this series. These devices will consume this check when triggered. +} +type ResponseSoftwareImageManagementSwimDeleteCustomNetworkDeviceValidation struct { + Response *ResponseSoftwareImageManagementSwimDeleteCustomNetworkDeviceValidationResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseSoftwareImageManagementSwimDeleteCustomNetworkDeviceValidationResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetails struct { + Response *ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response. +} +type ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponse struct { + ID string `json:"id,omitempty"` // Network device identifier. + ManagementAddress string `json:"managementAddress,omitempty"` // Either an IP address or a fully-qualified domain name. + NetworkDevice *ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponseNetworkDevice `json:"networkDevice,omitempty"` // + NetworkDeviceImageStatus string `json:"networkDeviceImageStatus,omitempty"` // The network device's current status concerns golden bundle images. + NetworkDeviceUpdateStatus string `json:"networkDeviceUpdateStatus,omitempty"` // The network device's current update status concerns golden images. + GoldenImages *[]ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponseGoldenImages `json:"goldenImages,omitempty"` // + InstalledImages *[]ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponseInstalledImages `json:"installedImages,omitempty"` // + CompatibleFeatures *[]ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponseCompatibleFeatures `json:"compatibleFeatures,omitempty"` // +} +type ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponseNetworkDevice 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. +} +type ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponseGoldenImages struct { + ID string `json:"id,omitempty"` // Software image identifier. + Name string `json:"name,omitempty"` // Name of the image. + Version string `json:"version,omitempty"` // Image version. + ImageType string `json:"imageType,omitempty"` // Image Type + GoldenTaggingDetails *ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponseGoldenImagesGoldenTaggingDetails `json:"goldenTaggingDetails,omitempty"` // +} +type ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponseGoldenImagesGoldenTaggingDetails struct { + DeviceRoles string `json:"deviceRoles,omitempty"` // Role assigned to the network device. + DeviceTags string `json:"deviceTags,omitempty"` // A device tag is either user-defined or system-defined and is associated with a given network device. + SiteID string `json:"siteId,omitempty"` // The site id of the site from which these golden images originate. + SiteName string `json:"siteName,omitempty"` // The name of the site from which these golden images originate. + IsInherited *bool `json:"isInherited,omitempty"` // Inherited flag is set to 'true' if the golden images are inherited from sites higher in the site hierarchy, and 'false' if they are from the native site. +} +type ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponseInstalledImages struct { + ID string `json:"id,omitempty"` // Software image identifier + Name string `json:"name,omitempty"` // Network device running image. + Version string `json:"version,omitempty"` // Image version. + ImageType string `json:"imageType,omitempty"` // Image Type. +} +type ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetailsResponseCompatibleFeatures struct { + Key string `json:"key,omitempty"` // Name of the compatible feature. + Value string `json:"value,omitempty"` // Feature that can be enabled or disabled. +} +type ResponseSoftwareImageManagementSwimUpdateImagesOnTheNetworkDevice struct { + Response *ResponseSoftwareImageManagementSwimUpdateImagesOnTheNetworkDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseSoftwareImageManagementSwimUpdateImagesOnTheNetworkDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseSoftwareImageManagementSwimDistributeImagesOnTheNetworkDevice struct { + Response *ResponseSoftwareImageManagementSwimDistributeImagesOnTheNetworkDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseSoftwareImageManagementSwimDistributeImagesOnTheNetworkDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} +type ResponseSoftwareImageManagementSwimTriggerUpdateReadinessForNetworkDevice struct { + Response *ResponseSoftwareImageManagementSwimTriggerUpdateReadinessForNetworkDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version of the response. +} +type ResponseSoftwareImageManagementSwimTriggerUpdateReadinessForNetworkDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Unique identifier for the task. + URL string `json:"url,omitempty"` // URL for the task. +} 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 ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductSeries struct { + Response *[]ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductSeriesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response. +} +type ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductSeriesResponse struct { + ID string `json:"id,omitempty"` // Unique identifier for product series. + ProductSeries string `json:"productSeries,omitempty"` // Network device product Series. + ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product series ordinal value. +} +type ResponseSoftwareImageManagementSwimCountOfNetworkProductSeries struct { + Response *ResponseSoftwareImageManagementSwimCountOfNetworkProductSeriesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseSoftwareImageManagementSwimCountOfNetworkProductSeriesResponse struct { + Count *int `json:"count,omitempty"` // The reported count. +} +type ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductSeries struct { + Response *ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductSeriesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response. +} +type ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductSeriesResponse struct { + ID string `json:"id,omitempty"` // Unique identifier for product series. + ProductSeries string `json:"productSeries,omitempty"` // Network device product series. + ProductNameOrdinal *float64 `json:"productNameOrdinal,omitempty"` // Product series ordinal value. } type ResponseSoftwareImageManagementSwimReturnsTheImageSummaryForTheGivenSite struct { Response *ResponseSoftwareImageManagementSwimReturnsTheImageSummaryForTheGivenSiteResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version of the response + 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 - + 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 - + 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=` - + 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 + 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=` - + 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 + 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 } +type RequestSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices []RequestItemSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices // Array of RequestSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices +type RequestItemSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices struct { + ID string `json:"id,omitempty"` // Network device identifier. + InstalledImages *[]RequestItemSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevicesInstalledImages `json:"installedImages,omitempty"` // + CompatibleFeatures *[]RequestItemSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevicesCompatibleFeatures `json:"compatibleFeatures,omitempty"` // + NetworkValidationIDs []string `json:"networkValidationIds,omitempty"` // List of unique identifiers of custom network device validations. +} +type RequestItemSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevicesInstalledImages struct { + ID string `json:"id,omitempty"` // Software image identifier. +} +type RequestItemSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevicesCompatibleFeatures struct { + Key string `json:"key,omitempty"` // Name of the compatible feature. + Value string `json:"value,omitempty"` // Feature that can be enabled or disabled. +} +type RequestSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices []RequestItemSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices // Array of RequestSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices +type RequestItemSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices struct { + ID string `json:"id,omitempty"` // Network device identifier. + DistributedImages *[]RequestItemSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevicesDistributedImages `json:"distributedImages,omitempty"` // + NetworkValidationIDs []string `json:"networkValidationIds,omitempty"` // List of unique identifier of custom network device validations. +} +type RequestItemSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevicesDistributedImages struct { + ID string `json:"id,omitempty"` // Software image identifier. +} +type RequestSoftwareImageManagementSwimCreateCustomNetworkDeviceValidation struct { + Name string `json:"name,omitempty"` // Name of the network device validation. + Type string `json:"type,omitempty"` // The type of network device validation determines whether this validation runs before or after the operation. + OperationType string `json:"operationType,omitempty"` // The operation type, as part of which this validation will get triggered. + Description string `json:"description,omitempty"` // Details of the network device validation. + Cli string `json:"cli,omitempty"` // Show commands that will be executed. Validate the CLI - Cisco DevNet [ https://developer.cisco.com/docs/dna-center/2-3-7/run-read-only-commands-on-devices-to-get-their-real-time-configuration/ ] + ProductSeriesOrdinals *[]float64 `json:"productSeriesOrdinals,omitempty"` // The custom check will be mapped to the product series and devices that belong to this series. These devices will consume this check when triggered. Fetch productSeriesOrdinal from API `/dna/intent/api/v1/productSeries`. +} +type RequestSoftwareImageManagementSwimUpdateCustomNetworkDeviceValidation struct { + Description string `json:"description,omitempty"` // Details of the network device validation. + Cli string `json:"cli,omitempty"` // Edit the Command line interface (CLI). Validate the CLI - Cisco DevNet [ https://developer.cisco.com/docs/dna-center/2-3-7/run-read-only-commands-on-devices-to-get-their-real-time-configuration/ ] + ProductSeriesOrdinals *[]float64 `json:"productSeriesOrdinals,omitempty"` // The custom check will be mapped to the product series and devices that belong to this series. These devices will consume this check when triggered. +} +type RequestSoftwareImageManagementSwimUpdateImagesOnTheNetworkDevice struct { + InstalledImages *[]RequestSoftwareImageManagementSwimUpdateImagesOnTheNetworkDeviceInstalledImages `json:"installedImages,omitempty"` // + CompatibleFeatures *[]RequestSoftwareImageManagementSwimUpdateImagesOnTheNetworkDeviceCompatibleFeatures `json:"compatibleFeatures,omitempty"` // + NetworkValidationIDs []string `json:"networkValidationIds,omitempty"` // List of unique identifiers of custom network device validations. +} +type RequestSoftwareImageManagementSwimUpdateImagesOnTheNetworkDeviceInstalledImages struct { + ID string `json:"id,omitempty"` // Software image identifier. +} +type RequestSoftwareImageManagementSwimUpdateImagesOnTheNetworkDeviceCompatibleFeatures struct { + Key string `json:"key,omitempty"` // Name of the compatible feature. + Value string `json:"value,omitempty"` // Feature that can be enabled or disabled. +} +type RequestSoftwareImageManagementSwimDistributeImagesOnTheNetworkDevice struct { + DistributedImages *[]RequestSoftwareImageManagementSwimDistributeImagesOnTheNetworkDeviceDistributedImages `json:"distributedImages,omitempty"` // + NetworkValidationIDs []string `json:"networkValidationIds,omitempty"` // List of unique identifiers of custom network device validations. +} +type RequestSoftwareImageManagementSwimDistributeImagesOnTheNetworkDeviceDistributedImages struct { + ID string `json:"id,omitempty"` // Software image identifier. +} //GetSoftwareImageDetails Get software image details - 0c8f-7a0b-49b9-aedd /* Returns software image list based on a filter criteria. For example: "filterbyName = cat3k%" @@ -1296,23 +1458,431 @@ func (s *SoftwareImageManagementSwimService) CountOfNetworkDeviceImageUpdates(Co } -//RetrievesTheListOfNetworkDeviceProductNames Retrieves the list of network device product names - a7bf-3baf-4c29-b1ca -/* Get the list of network device product names, their ordinal, and the support PIDs based on filter criteria. +//GetTheListOfNetworkDevicesWithImageDetails Get the list of network devices with image details - 90b9-8925-48da-9af6 +/* This API retrieves information about running images and golden image bundle, if they are available for network devices. It also provides network device update status and image update status related to the golden image bundle and the compatible features supported by the network devices. +Network devices with `networkDeviceImageStatus` set as `OUTDATED` are considered ready for update based on the golden bundle. + + +@param GetTheListOfNetworkDevicesWithImageDetailsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-list-of-network-devices-with-image-details +*/ +func (s *SoftwareImageManagementSwimService) GetTheListOfNetworkDevicesWithImageDetails(GetTheListOfNetworkDevicesWithImageDetailsQueryParams *GetTheListOfNetworkDevicesWithImageDetailsQueryParams) (*ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetails, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages" + + queryString, _ := query.Values(GetTheListOfNetworkDevicesWithImageDetailsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetails{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTheListOfNetworkDevicesWithImageDetails(GetTheListOfNetworkDevicesWithImageDetailsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetTheListOfNetworkDevicesWithImageDetails") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimGetTheListOfNetworkDevicesWithImageDetails) + return result, response, err + +} + +//CountOfNetworkDevicesForTheGivenStatusFilters Count of network devices for the given status filters - 7896-0b28-4c4a-8976 +/* Returns the count of network devices based on the given filters + + +@param CountOfNetworkDevicesForTheGivenStatusFiltersQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-network-devices-for-the-given-status-filters +*/ +func (s *SoftwareImageManagementSwimService) CountOfNetworkDevicesForTheGivenStatusFilters(CountOfNetworkDevicesForTheGivenStatusFiltersQueryParams *CountOfNetworkDevicesForTheGivenStatusFiltersQueryParams) (*ResponseSoftwareImageManagementSwimCountOfNetworkDevicesForTheGivenStatusFilters, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/count" + + queryString, _ := query.Values(CountOfNetworkDevicesForTheGivenStatusFiltersQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimCountOfNetworkDevicesForTheGivenStatusFilters{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.CountOfNetworkDevicesForTheGivenStatusFilters(CountOfNetworkDevicesForTheGivenStatusFiltersQueryParams) + } + return nil, response, fmt.Errorf("error with operation CountOfNetworkDevicesForTheGivenStatusFilters") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimCountOfNetworkDevicesForTheGivenStatusFilters) + return result, response, err + +} + +//NetworkDeviceImageUpdateValidationResults Network device image update validation results - e3b5-0967-4a5a-bf31 +/* This API provides a comprehensive overview of the outcomes from various tests and assessments defined by system and custom validations related to network device images. These results are essential for identifying potential issues, verifying configurations, and ensuring that the network meets the requirement for image update. + + +@param NetworkDeviceImageUpdateValidationResultsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!network-device-image-update-validation-results +*/ +func (s *SoftwareImageManagementSwimService) NetworkDeviceImageUpdateValidationResults(NetworkDeviceImageUpdateValidationResultsQueryParams *NetworkDeviceImageUpdateValidationResultsQueryParams) (*ResponseSoftwareImageManagementSwimNetworkDeviceImageUpdateValidationResults, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/validationResults" + + queryString, _ := query.Values(NetworkDeviceImageUpdateValidationResultsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimNetworkDeviceImageUpdateValidationResults{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.NetworkDeviceImageUpdateValidationResults(NetworkDeviceImageUpdateValidationResultsQueryParams) + } + return nil, response, fmt.Errorf("error with operation NetworkDeviceImageUpdateValidationResults") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimNetworkDeviceImageUpdateValidationResults) + return result, response, err + +} + +//CountOfNetworkDeviceImageUpdateValidationResults Count of network device image update validation results - 158d-aab6-45ca-abc9 +/* The count of network device validation results. + + +@param CountOfNetworkDeviceImageUpdateValidationResultsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-network-device-image-update-validation-results +*/ +func (s *SoftwareImageManagementSwimService) CountOfNetworkDeviceImageUpdateValidationResults(CountOfNetworkDeviceImageUpdateValidationResultsQueryParams *CountOfNetworkDeviceImageUpdateValidationResultsQueryParams) (*ResponseSoftwareImageManagementSwimCountOfNetworkDeviceImageUpdateValidationResults, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/validationResults/count" + + queryString, _ := query.Values(CountOfNetworkDeviceImageUpdateValidationResultsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimCountOfNetworkDeviceImageUpdateValidationResults{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.CountOfNetworkDeviceImageUpdateValidationResults(CountOfNetworkDeviceImageUpdateValidationResultsQueryParams) + } + return nil, response, fmt.Errorf("error with operation CountOfNetworkDeviceImageUpdateValidationResults") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimCountOfNetworkDeviceImageUpdateValidationResults) + return result, response, err + +} + +//GetTheListOfCustomNetworkDeviceValidations Get the list of custom network device validations - e4ae-9931-40c8-8c94 +/* Fetches custom network device validations that run on the network device as part of the update workflow. This process verifies and assesses the configuration of the network devices. + + +@param GetTheListOfCustomNetworkDeviceValidationsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-list-of-custom-network-device-validations +*/ +func (s *SoftwareImageManagementSwimService) GetTheListOfCustomNetworkDeviceValidations(GetTheListOfCustomNetworkDeviceValidationsQueryParams *GetTheListOfCustomNetworkDeviceValidationsQueryParams) (*ResponseSoftwareImageManagementSwimGetTheListOfCustomNetworkDeviceValidations, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/validations" + + queryString, _ := query.Values(GetTheListOfCustomNetworkDeviceValidationsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimGetTheListOfCustomNetworkDeviceValidations{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTheListOfCustomNetworkDeviceValidations(GetTheListOfCustomNetworkDeviceValidationsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetTheListOfCustomNetworkDeviceValidations") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimGetTheListOfCustomNetworkDeviceValidations) + return result, response, err + +} + +//CountOfCustomNetworkDeviceValidations Count of custom network device validations - beb4-b8fe-43b8-9127 +/* Count the number of network device validations. + + +@param CountOfCustomNetworkDeviceValidationsQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-custom-network-device-validations +*/ +func (s *SoftwareImageManagementSwimService) CountOfCustomNetworkDeviceValidations(CountOfCustomNetworkDeviceValidationsQueryParams *CountOfCustomNetworkDeviceValidationsQueryParams) (*ResponseSoftwareImageManagementSwimCountOfCustomNetworkDeviceValidations, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/validations/count" + + queryString, _ := query.Values(CountOfCustomNetworkDeviceValidationsQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimCountOfCustomNetworkDeviceValidations{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.CountOfCustomNetworkDeviceValidations(CountOfCustomNetworkDeviceValidationsQueryParams) + } + return nil, response, fmt.Errorf("error with operation CountOfCustomNetworkDeviceValidations") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimCountOfCustomNetworkDeviceValidations) + return result, response, err + +} + +//GetCustomNetworkDeviceValidationDetails Get custom network device validation details - 7db4-6aa3-4d58-af3f +/* This API fetches the details for the given network device validation. + + +@param id id path parameter. Unique identifier of network device validation. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-custom-network-device-validation-details +*/ +func (s *SoftwareImageManagementSwimService) GetCustomNetworkDeviceValidationDetails(id string) (*ResponseSoftwareImageManagementSwimGetCustomNetworkDeviceValidationDetails, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/validations/{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(&ResponseSoftwareImageManagementSwimGetCustomNetworkDeviceValidationDetails{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCustomNetworkDeviceValidationDetails(id) + } + return nil, response, fmt.Errorf("error with operation GetCustomNetworkDeviceValidationDetails") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimGetCustomNetworkDeviceValidationDetails) + return result, response, err + +} + +//FetchNetworkDeviceWithImageDetails Fetch network device with image details - ec9f-29d4-4faa-975d +/* The API retrieves information about running images and golden image bundle, if they are available for the network device. It also provides network device update status and image update status related to the golden image bundle and the compatible features supported by the network device. Network device with `networkDeviceImageStatus` set as `OUTDATED` is considered ready for update based on the golden image bundle. + + +@param id id path parameter. Network device identifier + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!fetch-network-device-with-image-details +*/ +func (s *SoftwareImageManagementSwimService) FetchNetworkDeviceWithImageDetails(id string) (*ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetails, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/{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(&ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetails{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.FetchNetworkDeviceWithImageDetails(id) + } + return nil, response, fmt.Errorf("error with operation FetchNetworkDeviceWithImageDetails") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimFetchNetworkDeviceWithImageDetails) + return result, response, err + +} + +//RetrievesTheListOfNetworkDeviceProductNames Retrieves the list of network device product names - a7bf-3baf-4c29-b1ca +/* Get the list of network device product names, their ordinal, and the support PIDs based on filter criteria. + + +@param RetrievesTheListOfNetworkDeviceProductNamesQueryParams Filtering parameter + +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" + + queryString, _ := query.Values(RetrievesTheListOfNetworkDeviceProductNamesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductNames{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheListOfNetworkDeviceProductNames(RetrievesTheListOfNetworkDeviceProductNamesQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfNetworkDeviceProductNames") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductNames) + return result, response, err + +} + +//CountOfNetworkProductNames Count of network product names - baa2-9b3d-45bb-a870 +/* Count of product names based on filter criteria + + +@param CountOfNetworkProductNamesQueryParams Filtering parameter + +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" + + queryString, _ := query.Values(CountOfNetworkProductNamesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimCountOfNetworkProductNames{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.CountOfNetworkProductNames(CountOfNetworkProductNamesQueryParams) + } + return nil, response, fmt.Errorf("error with operation CountOfNetworkProductNames") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimCountOfNetworkProductNames) + return result, response, err + +} + +//RetrieveNetworkDeviceProductName Retrieve network device product name - 3aa8-fb90-4288-b606 +/* Get the network device product name, its ordinal, and supported PIDs. + + +@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 +*/ +func (s *SoftwareImageManagementSwimService) RetrieveNetworkDeviceProductName(productNameOrdinal float64) (*ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductName, *resty.Response, error) { + path := "/dna/intent/api/v1/productNames/{productNameOrdinal}" + path = strings.Replace(path, "{productNameOrdinal}", fmt.Sprintf("%v", productNameOrdinal), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductName{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveNetworkDeviceProductName(productNameOrdinal) + } + return nil, response, fmt.Errorf("error with operation RetrieveNetworkDeviceProductName") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductName) + return result, response, err + +} + +//RetrievesTheListOfNetworkDeviceProductSeries Retrieves the list of network device product series. - a3ad-eb03-4428-91fe +/* Get the list of network device product series and their ordinal on filter criteria. -@param RetrievesTheListOfNetworkDeviceProductNamesQueryParams Filtering parameter +@param RetrievesTheListOfNetworkDeviceProductSeriesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-network-device-product-names +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-list-of-network-device-product-series */ -func (s *SoftwareImageManagementSwimService) RetrievesTheListOfNetworkDeviceProductNames(RetrievesTheListOfNetworkDeviceProductNamesQueryParams *RetrievesTheListOfNetworkDeviceProductNamesQueryParams) (*ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductNames, *resty.Response, error) { - path := "/dna/intent/api/v1/productNames" +func (s *SoftwareImageManagementSwimService) RetrievesTheListOfNetworkDeviceProductSeries(RetrievesTheListOfNetworkDeviceProductSeriesQueryParams *RetrievesTheListOfNetworkDeviceProductSeriesQueryParams) (*ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductSeries, *resty.Response, error) { + path := "/dna/intent/api/v1/productSeries" - queryString, _ := query.Values(RetrievesTheListOfNetworkDeviceProductNamesQueryParams) + queryString, _ := query.Values(RetrievesTheListOfNetworkDeviceProductSeriesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductNames{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductSeries{}). SetError(&Error). Get(path) @@ -1323,33 +1893,33 @@ func (s *SoftwareImageManagementSwimService) RetrievesTheListOfNetworkDeviceProd if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RetrievesTheListOfNetworkDeviceProductNames(RetrievesTheListOfNetworkDeviceProductNamesQueryParams) + return s.RetrievesTheListOfNetworkDeviceProductSeries(RetrievesTheListOfNetworkDeviceProductSeriesQueryParams) } - return nil, response, fmt.Errorf("error with operation RetrievesTheListOfNetworkDeviceProductNames") + return nil, response, fmt.Errorf("error with operation RetrievesTheListOfNetworkDeviceProductSeries") } - result := response.Result().(*ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductNames) + result := response.Result().(*ResponseSoftwareImageManagementSwimRetrievesTheListOfNetworkDeviceProductSeries) return result, response, err } -//CountOfNetworkProductNames Count of network product names - baa2-9b3d-45bb-a870 -/* Count of product names based on filter criteria +//CountOfNetworkProductSeries Count of network product series - 729e-793b-432a-9a7f +/* Count of product series based on filter criteria -@param CountOfNetworkProductNamesQueryParams Filtering parameter +@param CountOfNetworkProductSeriesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-network-product-names +Documentation Link: https://developer.cisco.com/docs/dna-center/#!count-of-network-product-series */ -func (s *SoftwareImageManagementSwimService) CountOfNetworkProductNames(CountOfNetworkProductNamesQueryParams *CountOfNetworkProductNamesQueryParams) (*ResponseSoftwareImageManagementSwimCountOfNetworkProductNames, *resty.Response, error) { - path := "/dna/intent/api/v1/productNames/count" +func (s *SoftwareImageManagementSwimService) CountOfNetworkProductSeries(CountOfNetworkProductSeriesQueryParams *CountOfNetworkProductSeriesQueryParams) (*ResponseSoftwareImageManagementSwimCountOfNetworkProductSeries, *resty.Response, error) { + path := "/dna/intent/api/v1/productSeries/count" - queryString, _ := query.Values(CountOfNetworkProductNamesQueryParams) + queryString, _ := query.Values(CountOfNetworkProductSeriesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimCountOfNetworkProductNames{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseSoftwareImageManagementSwimCountOfNetworkProductSeries{}). SetError(&Error). Get(path) @@ -1360,33 +1930,33 @@ func (s *SoftwareImageManagementSwimService) CountOfNetworkProductNames(CountOfN if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CountOfNetworkProductNames(CountOfNetworkProductNamesQueryParams) + return s.CountOfNetworkProductSeries(CountOfNetworkProductSeriesQueryParams) } - return nil, response, fmt.Errorf("error with operation CountOfNetworkProductNames") + return nil, response, fmt.Errorf("error with operation CountOfNetworkProductSeries") } - result := response.Result().(*ResponseSoftwareImageManagementSwimCountOfNetworkProductNames) + result := response.Result().(*ResponseSoftwareImageManagementSwimCountOfNetworkProductSeries) return result, response, err } -//RetrieveNetworkDeviceProductName Retrieve network device product name - 3aa8-fb90-4288-b606 -/* Get the network device product name, its ordinal, and supported PIDs. +//RetrieveNetworkDeviceProductSeries Retrieve network device product series. - fd8e-aaa4-43da-8e7f +/* Get the network device product series, its ordinal -@param productNameOrdinal productNameOrdinal path parameter. Product name ordinal is unique value for each network device product. +@param productSeriesOrdinal productSeriesOrdinal path parameter. Unique identifier of product series. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-network-device-product-name +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-network-device-product-series */ -func (s *SoftwareImageManagementSwimService) RetrieveNetworkDeviceProductName(productNameOrdinal float64) (*ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductName, *resty.Response, error) { - path := "/dna/intent/api/v1/productNames/{productNameOrdinal}" - path = strings.Replace(path, "{productNameOrdinal}", fmt.Sprintf("%v", productNameOrdinal), -1) +func (s *SoftwareImageManagementSwimService) RetrieveNetworkDeviceProductSeries(productSeriesOrdinal float64) (*ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductSeries, *resty.Response, error) { + path := "/dna/intent/api/v1/productSeries/{productSeriesOrdinal}" + path = strings.Replace(path, "{productSeriesOrdinal}", fmt.Sprintf("%v", productSeriesOrdinal), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductName{}). + SetResult(&ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductSeries{}). SetError(&Error). Get(path) @@ -1397,12 +1967,12 @@ func (s *SoftwareImageManagementSwimService) RetrieveNetworkDeviceProductName(pr if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RetrieveNetworkDeviceProductName(productNameOrdinal) + return s.RetrieveNetworkDeviceProductSeries(productSeriesOrdinal) } - return nil, response, fmt.Errorf("error with operation RetrieveNetworkDeviceProductName") + return nil, response, fmt.Errorf("error with operation RetrieveNetworkDeviceProductSeries") } - result := response.Result().(*ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductName) + result := response.Result().(*ResponseSoftwareImageManagementSwimRetrieveNetworkDeviceProductSeries) return result, response, err } @@ -1853,6 +2423,7 @@ func (s *SoftwareImageManagementSwimService) DownloadTheSoftwareImage(id string) /* 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. @@ -1902,6 +2473,7 @@ func (s *SoftwareImageManagementSwimService) TaggingGoldenImage(id string, siteI //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. @@ -1985,6 +2557,236 @@ func (s *SoftwareImageManagementSwimService) AssignNetworkDeviceProductNameToThe } +//BulkUpdateImagesOnNetworkDevices Bulk update images on network devices - 6385-38fa-44ea-ba6e +/* This API initiates the process of updating the software image on the given network devices. Providing value for the `installedImages` in request payload will initiate both distribution and activation of the images. At the end of this process, only the images which are part of `installedImages` will be running on the network devices. To monitor the progress and completion of the update task, call the GET API `/dna/intent/api/v1/networkDeviceImageUpdates?parentId={taskId}`, where `taskId` is from the response of the current endpoint. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!bulk-update-images-on-network-devices +*/ +func (s *SoftwareImageManagementSwimService) BulkUpdateImagesOnNetworkDevices(requestSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices *RequestSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices) (*ResponseSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/activate/bulk" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices). + SetResult(&ResponseSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.BulkUpdateImagesOnNetworkDevices(requestSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices) + } + + return nil, response, fmt.Errorf("error with operation BulkUpdateImagesOnNetworkDevices") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimBulkUpdateImagesOnNetworkDevices) + return result, response, err + +} + +//BulkDistributeImagesOnNetworkDevices Bulk distribute images on network devices - d39e-fba4-49c8-9b34 +/* This API initiates the process of distributing the software image on the given network devices. Providing value for the `distributedImages` will only trigger the distribution process. To monitor the progress and completion of the update task, please call the GET API `/dna/intent/api/v1/networkDeviceImageUpdates?parentId={taskId}`, where `taskId` is from the response of the current endpoint. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!bulk-distribute-images-on-network-devices +*/ +func (s *SoftwareImageManagementSwimService) BulkDistributeImagesOnNetworkDevices(requestSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices *RequestSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices) (*ResponseSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/distribute/bulk" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices). + SetResult(&ResponseSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.BulkDistributeImagesOnNetworkDevices(requestSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices) + } + + return nil, response, fmt.Errorf("error with operation BulkDistributeImagesOnNetworkDevices") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimBulkDistributeImagesOnNetworkDevices) + return result, response, err + +} + +//CreateCustomNetworkDeviceValidation Create custom network device validation - df9d-0902-4199-a2b2 +/* Custom network device validation refers to the tailored process of verifying and assessing the configurations of network devices based on specific organizational requirements and unique network environments. Unlike standard validations, custom network device validations are designed to address the distinctive needs and challenges of a particular network infrastructure, ensuring that devices operate optimally within the defined parameters. Upon task completion, the task API response's `resultLocation` attribute will provide the URL to retrieve the validation id. + + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-custom-network-device-validation +*/ +func (s *SoftwareImageManagementSwimService) CreateCustomNetworkDeviceValidation(requestSoftwareImageManagementSwimCreateCustomNetworkDeviceValidation *RequestSoftwareImageManagementSwimCreateCustomNetworkDeviceValidation) (*ResponseSoftwareImageManagementSwimCreateCustomNetworkDeviceValidation, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/validations" + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestSoftwareImageManagementSwimCreateCustomNetworkDeviceValidation). + SetResult(&ResponseSoftwareImageManagementSwimCreateCustomNetworkDeviceValidation{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateCustomNetworkDeviceValidation(requestSoftwareImageManagementSwimCreateCustomNetworkDeviceValidation) + } + + return nil, response, fmt.Errorf("error with operation CreateCustomNetworkDeviceValidation") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimCreateCustomNetworkDeviceValidation) + return result, response, err + +} + +//UpdateImagesOnTheNetworkDevice Update images on the network device - 4099-3acd-4928-a5b2 +/* This API initiates the process of updating the software image on the network device. Providing value for the `installedImages` in request payload will initiate both distribution and activation of the images. At the end of this process, only the images which are part of `installedImages` will be running on the network device. To monitor the progress and completion of the update task, call the GET API `/dna/intent/api/v1/networkDeviceImageUpdates?parentId={taskId}`, where `taskId` is from the response of the current endpoint. + + +@param id id path parameter. Network device identifier. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!update-images-on-the-network-device +*/ +func (s *SoftwareImageManagementSwimService) UpdateImagesOnTheNetworkDevice(id string, requestSoftwareImageManagementSwimUpdateImagesOnTheNetworkDevice *RequestSoftwareImageManagementSwimUpdateImagesOnTheNetworkDevice) (*ResponseSoftwareImageManagementSwimUpdateImagesOnTheNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/{id}/activate" + 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(requestSoftwareImageManagementSwimUpdateImagesOnTheNetworkDevice). + SetResult(&ResponseSoftwareImageManagementSwimUpdateImagesOnTheNetworkDevice{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdateImagesOnTheNetworkDevice(id, requestSoftwareImageManagementSwimUpdateImagesOnTheNetworkDevice) + } + + return nil, response, fmt.Errorf("error with operation UpdateImagesOnTheNetworkDevice") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimUpdateImagesOnTheNetworkDevice) + return result, response, err + +} + +//DistributeImagesOnTheNetworkDevice Distribute images on the network device - c7ad-992e-43cb-89b6 +/* This API initiates the process of distributing the software image on the network device. Providing value for the `distributedImages` will only trigger the distribution process. To monitor the progress and completion of the update task, please call the GET API `/dna/intent/api/v1/networkDeviceImageUpdates?parentId={taskId}`, where `taskId` is from the response of the current endpoint. + + +@param id id path parameter. Network device identifier. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!distribute-images-on-the-network-device +*/ +func (s *SoftwareImageManagementSwimService) DistributeImagesOnTheNetworkDevice(id string, requestSoftwareImageManagementSwimDistributeImagesOnTheNetworkDevice *RequestSoftwareImageManagementSwimDistributeImagesOnTheNetworkDevice) (*ResponseSoftwareImageManagementSwimDistributeImagesOnTheNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/{id}/distribute" + 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(requestSoftwareImageManagementSwimDistributeImagesOnTheNetworkDevice). + SetResult(&ResponseSoftwareImageManagementSwimDistributeImagesOnTheNetworkDevice{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.DistributeImagesOnTheNetworkDevice(id, requestSoftwareImageManagementSwimDistributeImagesOnTheNetworkDevice) + } + + return nil, response, fmt.Errorf("error with operation DistributeImagesOnTheNetworkDevice") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimDistributeImagesOnTheNetworkDevice) + return result, response, err + +} + +//TriggerUpdateReadinessForNetworkDevice Trigger update readiness for network device - b593-3949-4068-9034 +/* Triggers an on-demand network device update readiness check, where system-defined pre-checks will be performed. Upon task completion, the task API response's `resultLocation` attribute will contain the URL for fetching the validation result. + + +@param id id path parameter. Network device identifier. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!trigger-update-readiness-for-network-device +*/ +func (s *SoftwareImageManagementSwimService) TriggerUpdateReadinessForNetworkDevice(id string) (*ResponseSoftwareImageManagementSwimTriggerUpdateReadinessForNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/{id}/readinessChecks" + 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(&ResponseSoftwareImageManagementSwimTriggerUpdateReadinessForNetworkDevice{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.TriggerUpdateReadinessForNetworkDevice(id) + } + + return nil, response, fmt.Errorf("error with operation TriggerUpdateReadinessForNetworkDevice") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimTriggerUpdateReadinessForNetworkDevice) + return result, response, err + +} + //UpdateRemoteImageDistributionServer Update remote image distribution server - 2caa-c9cc-469b-a3d5 /* Update remote image distribution server details. @@ -2060,6 +2862,42 @@ func (s *SoftwareImageManagementSwimService) UpdateTheListOfSitesForTheNetworkDe } +//UpdateCustomNetworkDeviceValidation Update custom network device validation - bab1-78e1-48c9-a794 +/* Update the custom network device validation details. + + +@param id id path parameter. Unique identifier of network device validation. + +*/ +func (s *SoftwareImageManagementSwimService) UpdateCustomNetworkDeviceValidation(id string, requestSoftwareImageManagementSwimUpdateCustomNetworkDeviceValidation *RequestSoftwareImageManagementSwimUpdateCustomNetworkDeviceValidation) (*ResponseSoftwareImageManagementSwimUpdateCustomNetworkDeviceValidation, *resty.Response, error) { + path := "/dna/intent/api/v1/networkDeviceImages/validations/{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(requestSoftwareImageManagementSwimUpdateCustomNetworkDeviceValidation). + SetResult(&ResponseSoftwareImageManagementSwimUpdateCustomNetworkDeviceValidation{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdateCustomNetworkDeviceValidation(id, requestSoftwareImageManagementSwimUpdateCustomNetworkDeviceValidation) + } + return nil, response, fmt.Errorf("error with operation UpdateCustomNetworkDeviceValidation") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimUpdateCustomNetworkDeviceValidation) + return result, response, err + +} + //RemoveGoldenTagForImage Remove Golden Tag for image. - f3b9-5978-4f6a-897a /* Remove golden tag. Set siteId as -1 for Global site. @@ -2097,7 +2935,8 @@ func (s *SoftwareImageManagementSwimService) RemoveGoldenTagForImage(siteID stri if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RemoveGoldenTagForImage(siteID, deviceFamilyIDentifier, deviceRole, imageID) + return s.RemoveGoldenTagForImage( + siteID, deviceFamilyIDentifier, deviceRole, imageID) } return nil, response, fmt.Errorf("error with operation RemoveGoldenTagForImage") } @@ -2135,7 +2974,8 @@ func (s *SoftwareImageManagementSwimService) RemoveImageDistributionServer(id st if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RemoveImageDistributionServer(id) + return s.RemoveImageDistributionServer( + id) } return nil, response, fmt.Errorf("error with operation RemoveImageDistributionServer") } @@ -2173,7 +3013,8 @@ func (s *SoftwareImageManagementSwimService) DeleteImage(id string) (*ResponseSo if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteImage(id) + return s.DeleteImage( + id) } return nil, response, fmt.Errorf("error with operation DeleteImage") } @@ -2185,6 +3026,7 @@ func (s *SoftwareImageManagementSwimService) DeleteImage(id string) (*ResponseSo //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. @@ -2215,7 +3057,8 @@ func (s *SoftwareImageManagementSwimService) UnassignNetworkDeviceProductNameFro if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UnassignNetworkDeviceProductNameFromTheGivenSoftwareImage(imageID, productNameOrdinal) + return s.UnassignNetworkDeviceProductNameFromTheGivenSoftwareImage( + imageID, productNameOrdinal) } return nil, response, fmt.Errorf("error with operation UnassignNetworkDeviceProductNameFromTheGivenSoftwareImage") } @@ -2224,3 +3067,42 @@ func (s *SoftwareImageManagementSwimService) UnassignNetworkDeviceProductNameFro return result, response, err } + +//DeleteCustomNetworkDeviceValidation Delete custom network device validation - 4188-28f3-48e9-b25f +/* Delete the custom network device validation. + + +@param id id path parameter. Unique identifier of network device validation. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-custom-network-device-validation +*/ +func (s *SoftwareImageManagementSwimService) DeleteCustomNetworkDeviceValidation(id string) (*ResponseSoftwareImageManagementSwimDeleteCustomNetworkDeviceValidation, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/networkDeviceImages/validations/{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(&ResponseSoftwareImageManagementSwimDeleteCustomNetworkDeviceValidation{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteCustomNetworkDeviceValidation( + id) + } + return nil, response, fmt.Errorf("error with operation DeleteCustomNetworkDeviceValidation") + } + + result := response.Result().(*ResponseSoftwareImageManagementSwimDeleteCustomNetworkDeviceValidation) + return result, response, err + +} diff --git a/sdk/system_settings.go b/sdk/system_settings.go index 9240afb..115995e 100644 --- a/sdk/system_settings.go +++ b/sdk/system_settings.go @@ -19,92 +19,56 @@ type GetAuthenticationAndPolicyServersQueryParams struct { 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 + Version string `json:"version,omitempty"` // Version } type ResponseSystemSettingsGetAuthenticationAndPolicyServersResponse struct { - 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 + 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 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 - + 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 { @@ -112,226 +76,160 @@ 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 struct { + object string `json:"object,omitempty"` // object } -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"` // Id of the task for this external IPAM integration process. - - URL string `json:"url,omitempty"` // URL to call to check status of this task. + 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"` // Id of the task for this external IPAM removal process. - - URL string `json:"url,omitempty"` // URL to call to check status of this task. + 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"` // Id of the task for this external IPAM update process. - - URL string `json:"url,omitempty"` // URL to call to check status of this task. + 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) -} -type ResponseSystemSettingsCustomPromptSupportGETAPI struct { - Response *ResponseSystemSettingsCustomPromptSupportGETAPIResponse `json:"response,omitempty"` // - - 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 - + 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 +} +type ResponseSystemSettingsCustomPromptSupportGetAPIResponse struct { + 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 +type ResponseSystemSettingsCustomPromptPostAPI struct { + Response *ResponseSystemSettingsCustomPromptPostAPIResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } -type ResponseSystemSettingsCustomPromptPOSTAPIResponse struct { +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. 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 - + 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. 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 - + 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 + 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 } type RequestSystemSettingsEditAuthenticationAndPolicyServerAccessConfiguration 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 *[]RequestSystemSettingsEditAuthenticationAndPolicyServerAccessConfigurationCiscoIseDtos `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) ExternalCiscoIseIPAddrDtos *[]RequestSystemSettingsEditAuthenticationAndPolicyServerAccessConfigurationExternalCiscoIseIPAddrDtos `json:"externalCiscoIseIpAddrDtos,omitempty"` // + 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 + Port *int `json:"port,omitempty"` // Port of TACACS server. It is required for TACACS server. The range is from 1 to 65535 + UseDnacCertForPxgrid *bool `json:"useDnacCertForPxgrid,omitempty"` // Value true to use Catalyst Center certificate for Pxgrid. Default value is false } type RequestSystemSettingsEditAuthenticationAndPolicyServerAccessConfigurationCiscoIseDtos 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 + 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 + UserName string `json:"userName,omitempty"` // User name of the Cisco ISE server } type RequestSystemSettingsEditAuthenticationAndPolicyServerAccessConfigurationExternalCiscoIseIPAddrDtos struct { ExternalCiscoIseIPAddresses *[]RequestSystemSettingsEditAuthenticationAndPolicyServerAccessConfigurationExternalCiscoIseIPAddrDtosExternalCiscoIseIPAddresses `json:"externalCiscoIseIpAddresses,omitempty"` // @@ -345,41 +243,28 @@ 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 { +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 @@ -487,20 +372,20 @@ func (s *SystemSettingsService) CiscoIseServerIntegrationStatus() (*ResponseSyst } -//CustomPromptSupportGETAPI Custom-prompt support GET API - 2aa8-f90e-4ebb-a629 +//CustomPromptSupportGetAPI Custom-prompt support GET API - 2aa8-f90e-4ebb-a629 /* Returns supported custom prompts by Catalyst Center -Documentation Link: https://developer.cisco.com/docs/dna-center/#!custom-prompt-support-g-e-t-api +Documentation Link: https://developer.cisco.com/docs/dna-center/#!custom-prompt-support-get-api */ -func (s *SystemSettingsService) CustomPromptSupportGETAPI() (*ResponseSystemSettingsCustomPromptSupportGETAPI, *resty.Response, error) { +func (s *SystemSettingsService) CustomPromptSupportGetAPI() (*ResponseSystemSettingsCustomPromptSupportGetAPI, *resty.Response, error) { path := "/dna/intent/api/v1/network-device/custom-prompt" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseSystemSettingsCustomPromptSupportGETAPI{}). + SetResult(&ResponseSystemSettingsCustomPromptSupportGetAPI{}). SetError(&Error). Get(path) @@ -511,12 +396,12 @@ func (s *SystemSettingsService) CustomPromptSupportGETAPI() (*ResponseSystemSett if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CustomPromptSupportGETAPI() + return s.CustomPromptSupportGetAPI() } - return nil, response, fmt.Errorf("error with operation CustomPromptSupportGETApi") + return nil, response, fmt.Errorf("error with operation CustomPromptSupportGetApi") } - result := response.Result().(*ResponseSystemSettingsCustomPromptSupportGETAPI) + result := response.Result().(*ResponseSystemSettingsCustomPromptSupportGetAPI) return result, response, err } @@ -629,21 +514,21 @@ func (s *SystemSettingsService) CreatesConfigurationDetailsOfTheExternalIPAMServ } -//CustomPromptPOSTAPI Custom Prompt POST API - f4b9-1a8a-4718-aa97 +//CustomPromptPostAPI Custom Prompt POST API - f4b9-1a8a-4718-aa97 /* Save custom prompt added by user in Catalyst Center. API will always override the existing prompts. User should provide all the custom prompt in case of any update -Documentation Link: https://developer.cisco.com/docs/dna-center/#!custom-prompt-p-o-s-t-api +Documentation Link: https://developer.cisco.com/docs/dna-center/#!custom-prompt-post-api */ -func (s *SystemSettingsService) CustomPromptPOSTAPI(requestSystemSettingsCustomPromptPOSTAPI *RequestSystemSettingsCustomPromptPOSTAPI) (*ResponseSystemSettingsCustomPromptPOSTAPI, *resty.Response, error) { +func (s *SystemSettingsService) CustomPromptPostAPI(requestSystemSettingsCustomPromptPOSTAPI *RequestSystemSettingsCustomPromptPostAPI) (*ResponseSystemSettingsCustomPromptPostAPI, *resty.Response, error) { path := "/dna/intent/api/v1/network-device/custom-prompt" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). SetBody(requestSystemSettingsCustomPromptPOSTAPI). - SetResult(&ResponseSystemSettingsCustomPromptPOSTAPI{}). + SetResult(&ResponseSystemSettingsCustomPromptPostAPI{}). SetError(&Error). Post(path) @@ -655,13 +540,13 @@ func (s *SystemSettingsService) CustomPromptPOSTAPI(requestSystemSettingsCustomP if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CustomPromptPOSTAPI(requestSystemSettingsCustomPromptPOSTAPI) + return s.CustomPromptPostAPI(requestSystemSettingsCustomPromptPOSTAPI) } - return nil, response, fmt.Errorf("error with operation CustomPromptPOSTApi") + return nil, response, fmt.Errorf("error with operation CustomPromptPostApi") } - result := response.Result().(*ResponseSystemSettingsCustomPromptPOSTAPI) + result := response.Result().(*ResponseSystemSettingsCustomPromptPostAPI) return result, response, err } @@ -709,7 +594,7 @@ func (s *SystemSettingsService) EditAuthenticationAndPolicyServerAccessConfigura @param id id path parameter. Cisco ISE Server Identifier. Use 'Get Authentication and Policy Servers' intent API to find the identifier. */ -func (s *SystemSettingsService) AcceptCiscoIseServerCertificateForCiscoIseServerIntegration(id string, requestSystemSettingsAcceptCiscoISEServerCertificateForCiscoISEServerIntegration *RequestSystemSettingsAcceptCiscoIseServerCertificateForCiscoIseServerIntegration) (*resty.Response, error) { +func (s *SystemSettingsService) AcceptCiscoIseServerCertificateForCiscoIseServerIntegration(id string, requestSystemSettingsAcceptCiscoISEServerCertificateForCiscoISEServerIntegration *RequestSystemSettingsAcceptCiscoIseServerCertificateForCiscoIseServerIntegration) (*ResponseSystemSettingsAcceptCiscoIseServerCertificateForCiscoIseServerIntegration, *resty.Response, error) { path := "/dna/intent/api/v1/integrate-ise/{id}" path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) @@ -717,11 +602,12 @@ func (s *SystemSettingsService) AcceptCiscoIseServerCertificateForCiscoIseServer SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). SetBody(requestSystemSettingsAcceptCiscoISEServerCertificateForCiscoISEServerIntegration). + SetResult(&ResponseSystemSettingsAcceptCiscoIseServerCertificateForCiscoIseServerIntegration{}). SetError(&Error). Put(path) if err != nil { - return nil, err + return nil, nil, err } @@ -729,10 +615,11 @@ func (s *SystemSettingsService) AcceptCiscoIseServerCertificateForCiscoIseServer if response.StatusCode() == http.StatusUnauthorized { return s.AcceptCiscoIseServerCertificateForCiscoIseServerIntegration(id, requestSystemSettingsAcceptCiscoISEServerCertificateForCiscoISEServerIntegration) } - return response, fmt.Errorf("error with operation AcceptCiscoIseServerCertificateForCiscoIseServerIntegration") + return nil, response, fmt.Errorf("error with operation AcceptCiscoIseServerCertificateForCiscoIseServerIntegration") } - return response, err + result := response.Result().(*ResponseSystemSettingsAcceptCiscoIseServerCertificateForCiscoIseServerIntegration) + return result, response, err } @@ -830,7 +717,8 @@ func (s *SystemSettingsService) DeleteAuthenticationAndPolicyServerAccessConfigu if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteAuthenticationAndPolicyServerAccessConfiguration(id) + return s.DeleteAuthenticationAndPolicyServerAccessConfiguration( + id) } return nil, response, fmt.Errorf("error with operation DeleteAuthenticationAndPolicyServerAccessConfiguration") } diff --git a/sdk/tag.go b/sdk/tag.go index e9400a8..eef631b 100644 --- a/sdk/tag.go +++ b/sdk/tag.go @@ -52,311 +52,241 @@ 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 + 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 + 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 + 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 + 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"]) - Items interface{} `json:"items,omitempty"` // items details,multiple rules can be defined by items(e.g. "items": [{"operation": "ILIKE", "name": "managementIpAddress", "value": "%10%"}, {"operation": "ILIKE", "name": "hostname", "value": "%NA%"} ]) - Operation string `json:"operation,omitempty"` // opeartion used in the rules (e.g. OR,IN,EQ,LIKE,ILIKE,AND) - Name string `json:"name,omitempty"` // name of the parameter (e.g. for interface:portName,adminStatus,speed,status,description. for networkdevice:family,series,hostname,managementIpAddress,groupNameHierarchy,softwareVersion) - Value string `json:"value,omitempty"` // value of the parameter (e.g. for portName:1/0/1,for adminStatus,status:up/down, for speed: any integer value, for description: any valid string, for family:switches, for series:C3650, for managementIpAddress:10.197.124.90, groupNameHierarchy:Global, softwareVersion: 16.9.1) + 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"]) + Items *[]RequestTagUpdateTagDynamicRulesRulesItems `json:"items,omitempty"` // items details,multiple rules can be defined by items(e.g. "items": [{"operation": "ILIKE", "name": "managementIpAddress", "value": "%10%"}, {"operation": "ILIKE", "name": "hostname", "value": "%NA%"} ]) + Operation string `json:"operation,omitempty"` // opeartion used in the rules (e.g. OR,IN,EQ,LIKE,ILIKE,AND) + Name string `json:"name,omitempty"` // name of the parameter (e.g. for interface:portName,adminStatus,speed,status,description. for networkdevice:family,series,hostname,managementIpAddress,groupNameHierarchy,softwareVersion) + Value string `json:"value,omitempty"` // value of the parameter (e.g. for portName:1/0/1,for adminStatus,status:up/down, for speed: any integer value, for description: any valid string, for family:switches, for series:C3650, for managementIpAddress:10.197.124.90, groupNameHierarchy:Global, softwareVersion: 16.9.1) } - +type RequestTagUpdateTagDynamicRulesRulesItems interface{} 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"]) - Items interface{} `json:"items,omitempty"` // items details,multiple rules can be defined by items(e.g. "items": [{"operation": "ILIKE", "name": "managementIpAddress", "value": "%10%"}, {"operation": "ILIKE", "name": "hostname", "value": "%NA%"} ]) - Operation string `json:"operation,omitempty"` // opeartion used in the rules (e.g. OR,IN,EQ,LIKE,ILIKE,AND) - Name string `json:"name,omitempty"` // name of the parameter (e.g. for interface:portName,adminStatus,speed,status,description. for networkdevice:family,series,hostname,managementIpAddress,groupNameHierarchy,softwareVersion) - Value string `json:"value,omitempty"` // value of the parameter (e.g. for portName:1/0/1,for adminStatus,status:up/down, for speed: any integer value, for description: any valid string, for family:switches, for series:C3650, for managementIpAddress:10.197.124.90, groupNameHierarchy:Global, softwareVersion: 16.9.1) + 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"]) + Items *[]RequestTagCreateTagDynamicRulesRulesItems `json:"items,omitempty"` // items details,multiple rules can be defined by items(e.g. "items": [{"operation": "ILIKE", "name": "managementIpAddress", "value": "%10%"}, {"operation": "ILIKE", "name": "hostname", "value": "%NA%"} ]) + Operation string `json:"operation,omitempty"` // opeartion used in the rules (e.g. OR,IN,EQ,LIKE,ILIKE,AND) + Name string `json:"name,omitempty"` // name of the parameter (e.g. for interface:portName,adminStatus,speed,status,description. for networkdevice:family,series,hostname,managementIpAddress,groupNameHierarchy,softwareVersion) + Value string `json:"value,omitempty"` // value of the parameter (e.g. for portName:1/0/1,for adminStatus,status:up/down, for speed: any integer value, for description: any valid string, for family:switches, for series:C3650, for managementIpAddress:10.197.124.90, groupNameHierarchy:Global, softwareVersion: 16.9.1) } - +type RequestTagCreateTagDynamicRulesRulesItems interface{} 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"` // @@ -364,8 +294,7 @@ type RequestTagUpdateTagMembershipMemberToTags struct { type RequestTagAddMembersToTheTag map[string][]string type RequestTagUpdateTagsAssociatedWithTheInterfaces []RequestItemTagUpdateTagsAssociatedWithTheInterfaces // Array of RequestTagUpdateTagsAssociatedWithTheInterfaces type RequestItemTagUpdateTagsAssociatedWithTheInterfaces struct { - ID string `json:"id,omitempty"` // Interface id - + ID string `json:"id,omitempty"` // Interface id Tags *[]RequestItemTagUpdateTagsAssociatedWithTheInterfacesTags `json:"tags,omitempty"` // } type RequestItemTagUpdateTagsAssociatedWithTheInterfacesTags struct { @@ -376,8 +305,7 @@ type RequestTagQueryTheTagsAssociatedWithInterfaces struct { } type RequestTagUpdateTagsAssociatedWithTheNetworkDevices []RequestItemTagUpdateTagsAssociatedWithTheNetworkDevices // Array of RequestTagUpdateTagsAssociatedWithTheNetworkDevices type RequestItemTagUpdateTagsAssociatedWithTheNetworkDevices struct { - ID string `json:"id,omitempty"` // Network device id - + ID string `json:"id,omitempty"` // Network device id Tags *[]RequestItemTagUpdateTagsAssociatedWithTheNetworkDevicesTags `json:"tags,omitempty"` // } type RequestItemTagUpdateTagsAssociatedWithTheNetworkDevicesTags struct { @@ -1065,7 +993,8 @@ func (s *TagService) DeleteTag(id string) (*ResponseTagDeleteTag, *resty.Respons if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteTag(id) + return s.DeleteTag( + id) } return nil, response, fmt.Errorf("error with operation DeleteTag") } @@ -1106,7 +1035,8 @@ func (s *TagService) RemoveTagMember(id string, memberID string) (*ResponseTagRe if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RemoveTagMember(id, memberID) + return s.RemoveTagMember( + id, memberID) } return nil, response, fmt.Errorf("error with operation RemoveTagMember") } diff --git a/sdk/task.go b/sdk/task.go index 65283e8..196dd71 100644 --- a/sdk/task.go +++ b/sdk/task.go @@ -30,21 +30,47 @@ type RetrieveACountOfTheNumberOfAssuranceTasksThatCurrentlyExistHeaderParams str 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 GetActivitiesQueryParams struct { + Description string `url:"description,omitempty"` //The description of the activity + Status string `url:"status,omitempty"` //The status of the activity + Type string `url:"type,omitempty"` //The type of the activity + Recurring bool `url:"recurring,omitempty"` //If the activity is recurring + StartTime string `url:"startTime,omitempty"` //This is the epoch millisecond start time from which activities need to be fetched + EndTime string `url:"endTime,omitempty"` //This is the epoch millisecond end time upto which activities need to be fetched + 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 RetrievesTheCountOfActivitiesQueryParams struct { + Description string `url:"description,omitempty"` //The description provided when creating the activity + Status string `url:"status,omitempty"` //Status of the activity + Type string `url:"type,omitempty"` //Type of the activity + Recurring bool `url:"recurring,omitempty"` //Denotes whether an activity is recurring or not + StartTime string `url:"startTime,omitempty"` //This is the epoch millisecond start time from which activities need to be fetched + EndTime string `url:"endTime,omitempty"` //This is the epoch millisecond end time upto which activities need to be fetched +} +type GetTriggeredJobsByActivityIDQueryParams 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. + 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 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"` //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 + 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 @@ -59,15 +85,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;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 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 @@ -79,353 +105,272 @@ type GetTasksCountQueryParams struct { type ResponseTaskRetrieveAListOfAssuranceTasks struct { Response *[]ResponseTaskRetrieveAListOfAssuranceTasksResponse `json:"response,omitempty"` // - - Page *ResponseTaskRetrieveAListOfAssuranceTasksPage `json:"page,omitempty"` // - - Version string `json:"version,omitempty"` // Version + 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 + 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 - + 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 - + 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 + 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 + 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 + 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 ResponseTaskGetActivities struct { + Response *[]ResponseTaskGetActivitiesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // +} +type ResponseTaskGetActivitiesResponse struct { + Description string `json:"description,omitempty"` // The description provided when creating the activity + EndTime *float64 `json:"endTime,omitempty"` // The time at which the activity ended + ID string `json:"id,omitempty"` // The id of the activity + OriginatingWorkItemActivityID string `json:"originatingWorkItemActivityId,omitempty"` // The id of the activity of type WORK_ITEM whose deployment created this TASK activity. a preview activity is of type WORK_ITEM. if the preview is deployed then a new activity of type TASK is created for deploying the preview and the originatingWorkItemActivityId is set to the preview activity id. + Recurring *bool `json:"recurring,omitempty"` // Denotes whether an activity is recurring or not + StartTime *float64 `json:"startTime,omitempty"` // The time at which the activity started + Status string `json:"status,omitempty"` // The status of the activity + Type string `json:"type,omitempty"` // Type of activity: * 'WORK_ITEM' - activity that requires user action when the status is READY or FAILED * 'TASK' - activity that is not of type WORK_ITEM +} +type ResponseTaskRetrievesTheCountOfActivities struct { + Response *ResponseTaskRetrievesTheCountOfActivitiesResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseTaskRetrievesTheCountOfActivitiesResponse struct { + Count *float64 `json:"count,omitempty"` // The reported count. +} +type ResponseTaskGetTriggeredJobsByActivityID struct { + Response *[]ResponseTaskGetTriggeredJobsByActivityIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // +} +type ResponseTaskGetTriggeredJobsByActivityIDResponse struct { + Description string `json:"description,omitempty"` // The description of the triggered job + ID string `json:"id,omitempty"` // The id of the triggered job + Status string `json:"status,omitempty"` // Triggered job state: * 'NOT_STARTED' - job hasn't started * 'IN_PROGRESS' - job is running * 'SUCCESS' - job has completed with success * 'FAILURE' - job has completed with failure + TaskID string `json:"taskId,omitempty"` // The id of the task for the job that was triggered + TaskURL string `json:"taskUrl,omitempty"` // The path to the API endpoint to GET information on the task +} +type ResponseTaskRetrievesTheCountOfTriggeredJobsByActivityID struct { + Response *ResponseTaskRetrievesTheCountOfTriggeredJobsByActivityIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // The version of the response +} +type ResponseTaskRetrievesTheCountOfTriggeredJobsByActivityIDResponse struct { + Count *float64 `json:"count,omitempty"` // The reported count. +} 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 - - BapiSyncResponse string `json:"bapiSyncResponse,omitempty"` // Returns the actual response of the original API as a string - + 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"` // Returns the error response of the original API as a string + RuntimeInstanceID string `json:"runtimeInstanceId,omitempty"` // Pod Id in which the Business API is executed + 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"` // Operation Id List + 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"` // Operation Id List + 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"` // Operation Id List + 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"` // Operation Id List + 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 } +type ResponseTaskGetActivityByID struct { + Response *ResponseTaskGetActivityByIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // +} +type ResponseTaskGetActivityByIDResponse struct { + Description string `json:"description,omitempty"` // The description provided when creating the activity + EndTime *float64 `json:"endTime,omitempty"` // The time at which the activity ended + ID string `json:"id,omitempty"` // The id of the activity + OriginatingWorkItemActivityID string `json:"originatingWorkItemActivityId,omitempty"` // The id of the activity of type WORK_ITEM whose deployment created this TASK activity. a preview activity is of type WORK_ITEM. if the preview is deployed then a new activity of type TASK is created for deploying the preview and the originatingWorkItemActivityId is set to the preview activity id. + Recurring *bool `json:"recurring,omitempty"` // Denotes whether an activity is recurring or not + StartTime *float64 `json:"startTime,omitempty"` // The time at which the activity started + Status string `json:"status,omitempty"` // The status of the activity + Type string `json:"type,omitempty"` // Type of activity: * 'WORK_ITEM' - activity that requires user action when the status is READY or FAILED * 'TASK' - activity that is not of type WORK_ITEM +} //RetrieveAListOfAssuranceTasks Retrieve a list of assurance tasks - ee8a-e874-40ca-8154 /* returns all existing tasks in a paginated list @@ -579,6 +524,157 @@ func (s *TaskService) RetrieveASpecificAssuranceTaskByID(id string, RetrieveASpe } +//GetActivities Get activities - a6ad-1afe-4b98-a3f7 +/* Returns activity(s) based on filter criteria + + +@param GetActivitiesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-activities +*/ +func (s *TaskService) GetActivities(GetActivitiesQueryParams *GetActivitiesQueryParams) (*ResponseTaskGetActivities, *resty.Response, error) { + path := "/dna/intent/api/v1/activities" + + queryString, _ := query.Values(GetActivitiesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseTaskGetActivities{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetActivities(GetActivitiesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetActivities") + } + + result := response.Result().(*ResponseTaskGetActivities) + return result, response, err + +} + +//RetrievesTheCountOfActivities Retrieves the count of activities - a591-6b36-4238-a907 +/* Retrieves the count of activities + + +@param RetrievesTheCountOfActivitiesQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-activities +*/ +func (s *TaskService) RetrievesTheCountOfActivities(RetrievesTheCountOfActivitiesQueryParams *RetrievesTheCountOfActivitiesQueryParams) (*ResponseTaskRetrievesTheCountOfActivities, *resty.Response, error) { + path := "/dna/intent/api/v1/activities/count" + + queryString, _ := query.Values(RetrievesTheCountOfActivitiesQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseTaskRetrievesTheCountOfActivities{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheCountOfActivities(RetrievesTheCountOfActivitiesQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheCountOfActivities") + } + + result := response.Result().(*ResponseTaskRetrievesTheCountOfActivities) + return result, response, err + +} + +//GetTriggeredJobsByActivityID Get triggered jobs by activity id. - 539b-2999-497b-8848 +/* Returns the triggered jobs by the activity with the given activity id + + +@param activityID activityId path parameter. The id of the activity + +@param GetTriggeredJobsByActivityIdQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-triggered-jobs-by-activity-id +*/ +func (s *TaskService) GetTriggeredJobsByActivityID(activityID string, GetTriggeredJobsByActivityIdQueryParams *GetTriggeredJobsByActivityIDQueryParams) (*ResponseTaskGetTriggeredJobsByActivityID, *resty.Response, error) { + path := "/dna/intent/api/v1/activities/{activityId}/triggeredJobs" + path = strings.Replace(path, "{activityId}", fmt.Sprintf("%v", activityID), -1) + + queryString, _ := query.Values(GetTriggeredJobsByActivityIdQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseTaskGetTriggeredJobsByActivityID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTriggeredJobsByActivityID(activityID, GetTriggeredJobsByActivityIdQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetTriggeredJobsByActivityId") + } + + result := response.Result().(*ResponseTaskGetTriggeredJobsByActivityID) + return result, response, err + +} + +//RetrievesTheCountOfTriggeredJobsByActivityID Retrieves the count of triggered jobs by activity id. - e8a1-cbfc-4ae9-a4ed +/* Retrieves the count of triggered jobs by activity id. + + +@param activityID activityId path parameter. The id of the activity + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieves-the-count-of-triggered-jobs-by-activity-id +*/ +func (s *TaskService) RetrievesTheCountOfTriggeredJobsByActivityID(activityID string) (*ResponseTaskRetrievesTheCountOfTriggeredJobsByActivityID, *resty.Response, error) { + path := "/dna/intent/api/v1/activities/{activityId}/triggeredJobs/count" + path = strings.Replace(path, "{activityId}", fmt.Sprintf("%v", activityID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseTaskRetrievesTheCountOfTriggeredJobsByActivityID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrievesTheCountOfTriggeredJobsByActivityID(activityID) + } + return nil, response, fmt.Errorf("error with operation RetrievesTheCountOfTriggeredJobsByActivityId") + } + + result := response.Result().(*ResponseTaskRetrievesTheCountOfTriggeredJobsByActivityID) + return result, response, err + +} + //GetBusinessAPIExecutionDetails Get Business API Execution Details - c1bc-a8c1-41fb-9f75 /* Retrieves the execution details of a Business API @@ -953,3 +1049,40 @@ func (s *TaskService) GetTaskDetailsByID(id string) (*ResponseTaskGetTaskDetails return result, response, err } + +//GetActivityByID Get activity by ID. - 7f9e-892b-4749-9d3b +/* Returns the activity with the given ID + + +@param id id path parameter. The id of the activity to retrieve + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-activity-by-id +*/ +func (s *TaskService) GetActivityByID(id string) (*ResponseTaskGetActivityByID, *resty.Response, error) { + path := "/intent/api/v1/activities/{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(&ResponseTaskGetActivityByID{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetActivityByID(id) + } + return nil, response, fmt.Errorf("error with operation GetActivityById") + } + + result := response.Result().(*ResponseTaskGetActivityByID) + return result, response, err + +} diff --git a/sdk/topology.go b/sdk/topology.go index d58d260..7a0aa16 100644 --- a/sdk/topology.go +++ b/sdk/topology.go @@ -19,473 +19,276 @@ 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 diff --git a/sdk/user_and_roles.go b/sdk/user_and_roles.go index d719da8..f4d0a58 100644 --- a/sdk/user_and_roles.go +++ b/sdk/user_and_roles.go @@ -26,16 +26,14 @@ 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 { @@ -45,12 +43,9 @@ 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 { @@ -67,27 +62,19 @@ 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 { @@ -97,29 +84,21 @@ 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"` // @@ -155,25 +134,16 @@ 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"` // @@ -197,54 +167,38 @@ 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 the 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 the 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. @@ -447,7 +401,7 @@ func (s *UserandRolesService) GetExternalAuthenticationServersAPI(GetExternalAut -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-a-a-a-attribute-api +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-aaa-attribute-api */ func (s *UserandRolesService) GetAAAAttributeAPI() (*ResponseUserandRolesGetAAAAttributeAPI, *resty.Response, error) { path := "/dna/system/api/v1/users/external-servers/aaa-attribute" @@ -468,7 +422,7 @@ func (s *UserandRolesService) GetAAAAttributeAPI() (*ResponseUserandRolesGetAAAA if response.StatusCode() == http.StatusUnauthorized { return s.GetAAAAttributeAPI() } - return nil, response, fmt.Errorf("error with operation GetAAAAttributeApi") + return nil, response, fmt.Errorf("error with operation GetAaaAttributeApi") } result := response.Result().(*ResponseUserandRolesGetAAAAttributeAPI) @@ -594,7 +548,7 @@ func (s *UserandRolesService) ManageExternalAuthenticationSettingAPI(requestUser -Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-and-update-a-a-a-attribute-api +Documentation Link: https://developer.cisco.com/docs/dna-center/#!add-and-update-aaa-attribute-api */ func (s *UserandRolesService) AddAndUpdateAAAAttributeAPI(requestUserandRolesAddAndUpdateAAAAttributeAPI *RequestUserandRolesAddAndUpdateAAAAttributeAPI) (*ResponseUserandRolesAddAndUpdateAAAAttributeAPI, *resty.Response, error) { path := "/dna/system/api/v1/users/external-servers/aaa-attribute" @@ -618,7 +572,7 @@ func (s *UserandRolesService) AddAndUpdateAAAAttributeAPI(requestUserandRolesAdd return s.AddAndUpdateAAAAttributeAPI(requestUserandRolesAddAndUpdateAAAAttributeAPI) } - return nil, response, fmt.Errorf("error with operation AddAndUpdateAAAAttributeApi") + return nil, response, fmt.Errorf("error with operation AddAndUpdateAaaAttributeApi") } result := response.Result().(*ResponseUserandRolesAddAndUpdateAAAAttributeAPI) @@ -720,7 +674,8 @@ 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") } @@ -758,7 +713,8 @@ func (s *UserandRolesService) DeleteUserAPI(userID string) (*ResponseUserandRole if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteUserAPI(userID) + return s.DeleteUserAPI( + userID) } return nil, response, fmt.Errorf("error with operation DeleteUserApi") } @@ -773,7 +729,7 @@ func (s *UserandRolesService) DeleteUserAPI(userID string) (*ResponseUserandRole -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-a-a-a-attribute-api +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-aaa-attribute-api */ func (s *UserandRolesService) DeleteAAAAttributeAPI() (*ResponseUserandRolesDeleteAAAAttributeAPI, *resty.Response, error) { // @@ -795,7 +751,7 @@ func (s *UserandRolesService) DeleteAAAAttributeAPI() (*ResponseUserandRolesDele if response.StatusCode() == http.StatusUnauthorized { return s.DeleteAAAAttributeAPI() } - return nil, response, fmt.Errorf("error with operation DeleteAAAAttributeApi") + return nil, response, fmt.Errorf("error with operation DeleteAaaAttributeApi") } result := response.Result().(*ResponseUserandRolesDeleteAAAAttributeAPI) diff --git a/sdk/users.go b/sdk/users.go index 791fa3f..f73c08a 100644 --- a/sdk/users.go +++ b/sdk/users.go @@ -17,80 +17,45 @@ type GetUserEnrichmentDetailsHeaderParams struct { 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{} @@ -98,10 +63,8 @@ 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{} @@ -121,25 +84,16 @@ 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{} @@ -157,81 +111,44 @@ 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{} @@ -240,11 +157,9 @@ 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 diff --git a/sdk/wired.go b/sdk/wired.go new file mode 100644 index 0000000..0345921 --- /dev/null +++ b/sdk/wired.go @@ -0,0 +1,1315 @@ +package dnac + +import ( + "fmt" + "net/http" + "strings" + + "github.com/go-resty/resty/v2" + "github.com/google/go-querystring/query" +) + +type WiredService service + +type GetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceQueryParams struct { + Feature string `url:"feature,omitempty"` //Name of the feature to configure. The API /data/intent/api/wired/networkDevices/{id}/configFeatures/supported/layer2 can be used to get the list of features supported on a device. +} + +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDevice struct { + Response *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponse struct { + Features *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeatures `json:"features,omitempty"` // +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeatures struct { + CdpGlobalConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesCdpGlobalConfig `json:"cdpGlobalConfig,omitempty"` // + CdpInterfaceConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesCdpInterfaceConfig `json:"cdpInterfaceConfig,omitempty"` // + DhcpSnoopingGlobalConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesDhcpSnoopingGlobalConfig `json:"dhcpSnoopingGlobalConfig,omitempty"` // + DhcpSnoopingInterfaceConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesDhcpSnoopingInterfaceConfig `json:"dhcpSnoopingInterfaceConfig,omitempty"` // + Dot1XGlobalConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesDot1XGlobalConfig `json:"dot1xGlobalConfig,omitempty"` // + Dot1XInterfaceConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesDot1XInterfaceConfig `json:"dot1xInterfaceConfig,omitempty"` // + IgmpSnoopingGlobalConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesIgmpSnoopingGlobalConfig `json:"igmpSnoopingGlobalConfig,omitempty"` // + LldpGlobalConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesLldpGlobalConfig `json:"lldpGlobalConfig,omitempty"` // + LldpInterfaceConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesLldpInterfaceConfig `json:"lldpInterfaceConfig,omitempty"` // + MabInterfaceConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesMabInterfaceConfig `json:"mabInterfaceConfig,omitempty"` // + MldSnoopingGlobalConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesMldSnoopingGlobalConfig `json:"mldSnoopingGlobalConfig,omitempty"` // + PortchannelConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesPortchannelConfig `json:"portchannelConfig,omitempty"` // + StpGlobalConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesStpGlobalConfig `json:"stpGlobalConfig,omitempty"` // + StpInterfaceConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesStpInterfaceConfig `json:"stpInterfaceConfig,omitempty"` // + SwitchportInterfaceConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesSwitchportInterfaceConfig `json:"switchportInterfaceConfig,omitempty"` // + TrunkInterfaceConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesTrunkInterfaceConfig `json:"trunkInterfaceConfig,omitempty"` // + VLANConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesVLANConfig `json:"vlanConfig,omitempty"` // + VtpGlobalConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesVtpGlobalConfig `json:"vtpGlobalConfig,omitempty"` // + VtpInterfaceConfig *ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesVtpInterfaceConfig `json:"vtpInterfaceConfig,omitempty"` // +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesCdpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesCdpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesDhcpSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesDhcpSnoopingInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesDot1XGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesDot1XInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesIgmpSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesLldpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesLldpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesMabInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesMldSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesPortchannelConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesStpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesStpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesSwitchportInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesTrunkInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesVLANConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesVtpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponseFeaturesVtpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // Items +} +type ResponseWiredDeployTheConfigurationModelOnTheNetworkDevice struct { + Response *ResponseWiredDeployTheConfigurationModelOnTheNetworkDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredDeployTheConfigurationModelOnTheNetworkDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + URL string `json:"url,omitempty"` // Url +} +type ResponseWiredGetNumberOfConfigurationsForADeployedLayer2FeatureOnAWiredDevice struct { + Response *int `json:"response,omitempty"` // Response + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredCreateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice struct { + Response *ResponseWiredCreateConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredCreateConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + URL string `json:"url,omitempty"` // Url +} +type ResponseWiredUpdateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice struct { + Response *ResponseWiredUpdateConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredUpdateConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + URL string `json:"url,omitempty"` // Url +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice struct { + CdpGlobalConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpGlobalConfig `json:"cdpGlobalConfig,omitempty"` // + CdpInterfaceConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpInterfaceConfig `json:"cdpInterfaceConfig,omitempty"` // + DhcpSnoopingInterfaceConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingInterfaceConfig `json:"dhcpSnoopingInterfaceConfig,omitempty"` // + DhcpSnoopingGlobalConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingGlobalConfig `json:"dhcpSnoopingGlobalConfig,omitempty"` // + Dot1XInterfaceConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XInterfaceConfig `json:"dot1xInterfaceConfig,omitempty"` // + Dot1XGlobalConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XGlobalConfig `json:"dot1xGlobalConfig,omitempty"` // + LldpGlobalConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpGlobalConfig `json:"lldpGlobalConfig,omitempty"` // + LldpInterfaceConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpInterfaceConfig `json:"lldpInterfaceConfig,omitempty"` // + MabInterfaceConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMabInterfaceConfig `json:"mabInterfaceConfig,omitempty"` // + MldSnoopingGlobalConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMldSnoopingGlobalConfig `json:"mldSnoopingGlobalConfig,omitempty"` // + IgmpSnoopingGlobalConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceIgmpSnoopingGlobalConfig `json:"igmpSnoopingGlobalConfig,omitempty"` // + StpGlobalConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpGlobalConfig `json:"stpGlobalConfig,omitempty"` // + StpInterfaceConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfig `json:"stpInterfaceConfig,omitempty"` // + TrunkInterfaceConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceTrunkInterfaceConfig `json:"trunkInterfaceConfig,omitempty"` // + VtpGlobalConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpGlobalConfig `json:"vtpGlobalConfig,omitempty"` // + VtpInterfaceConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpInterfaceConfig `json:"vtpInterfaceConfig,omitempty"` // + VLANConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVLANConfig `json:"vlanConfig,omitempty"` // + PortChannelConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDevicePortChannelConfig `json:"portChannelConfig,omitempty"` // + SwitchportInterfaceConfig *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceSwitchportInterfaceConfig `json:"switchportInterfaceConfig,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMabInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMldSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceIgmpSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfig struct { + Items *[]ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItems `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItems struct { + ConfigType string `json:"configType,omitempty"` // Type of network functionality under a feature. Config type STP_INTERFACE is for configuring STP on an interface. + InterfaceName string `json:"interfaceName,omitempty"` // Interface name. The API /intent/api/v1/interface/network-device/{deviceId} can be used to get the list of interfaces on a device.example: GigabitEthernet1/0/1 + GuardMode string `json:"guardMode,omitempty"` // Enable loop guard or root guard on the interface. Corresponding CLI - spanning-tree guard [loop | none | root]. LOOP - Enables loop guard on the interface. ROOT - Enables root guard on the interface + BpduFilter string `json:"bpduFilter,omitempty"` // Configure BPDU filtering on a port. Enabling BPDU filtering on PortFast edge-enabled port keeps the port from sending or receiving BPDUs. Corresponding CLI - spanning-tree bpduguard [enable | disable]. + BpduGuard string `json:"bpduGuard,omitempty"` // Configures BPDU guard. When BPDU filtering is enabled on PortFast edge-enabled port, spanning tree shuts down the port if any BPDU is received on it. + PathCost *int `json:"pathCost,omitempty"` // Configure the cost for an interface. Corresponding CLI - spanning-tree cost <1-200000000>. + PortFastMode string `json:"portFastMode,omitempty"` // Configure the portFast mode for an interface. Corresponding CLI - spanning-tree portfast [disable | trunk | network | edge | edge trunk]. DISABLE - Disable portFast for this interface. EDGE - Enable edge behavior on a Layer 2 access port connected to an end workstation or server. EDGE_TRUNK - Enable edge behavior on a trunk port. Use this keyword if the link is a trunk. NETWORK - Configure the port as a network port. Ports that are connected to Layer 2 switches and bridges can be configured as network ports. If Bridge Assurance is enabled globally, it automatically gets enabled on a spanning tree network port. TRUNK - Enable portfast on a trunk port. + Priority *int `json:"priority,omitempty"` // Configures port priority for an interface. If a loop occurs, spanning tree uses port priority when selecting an interface to put into the forwarding state. Assign higher priority values (lower numerical values) to interfaces that you want selected first and lower priority values (higher numerical values) that you want selected last. If all interfaces have the same priority value, spanning tree puts the interface with the lowest interface number in the forwarding state and blocks the other interfaces. Corresponding CLI - spanning-tree port-priority <0-240>.multipleOf: 16 + PortVLANCostSettings *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettings `json:"portVlanCostSettings,omitempty"` // + PortVLANPrioritySettings *ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettings `json:"portVlanPrioritySettings,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettings struct { + ConfigType string `json:"configType,omitempty"` // Type of STP Cost Settings + Items *[]ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettingsItems `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettingsItems struct { + ConfigType string `json:"configType,omitempty"` // Type of network functionality under a feature. Config type STP_INTERFACE_VLAN_COST is for configuring per VLAN cost on an interface. + Cost *int `json:"cost,omitempty"` // Configure the cost for the VLANs. Corresponding CLI - spanning-tree vlan cost <1-200000000>. + VLANs string `json:"vlans,omitempty"` // VLANs can be comma separated and/or a range like '2,4-5,7,10-20'. +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettings struct { + ConfigType string `json:"configType,omitempty"` // Type of STP Priority Settings + Items *[]ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettingsItems `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettingsItems struct { + ConfigType string `json:"configType,omitempty"` // configType + Priority *int `json:"priority,omitempty"` // Configures the port priority for the VLANs. Corresponding CLI - spanning-tree vlan port-priority <0-240>.multipleOf: 16 + VLANs string `json:"vlans,omitempty"` // VLANs can be comma separated and/or a range like '2,4-5,7,10-20'. +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceTrunkInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVLANConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDevicePortChannelConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceSwitchportInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type ResponseWiredDeleteConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice struct { + Response *ResponseWiredDeleteConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredDeleteConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + URL string `json:"url,omitempty"` // Url +} +type ResponseWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice struct { + Response *ResponseWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + URL string `json:"url,omitempty"` // Url +} +type ResponseWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice struct { + Response *ResponseWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + URL string `json:"url,omitempty"` // Url +} +type ResponseWiredGetNumberOfConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice struct { + Response *int `json:"response,omitempty"` // Response + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredGetTheSupportedLayer2FeaturesOnAWiredDevice struct { + Response *[]ResponseWiredGetTheSupportedLayer2FeaturesOnAWiredDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredGetTheSupportedLayer2FeaturesOnAWiredDeviceResponse struct { + Name string `json:"name,omitempty"` // Name +} +type ResponseWiredCreateAConfigurationModelForTheIntendedConfigsForAWiredDevice struct { + Response *ResponseWiredCreateAConfigurationModelForTheIntendedConfigsForAWiredDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredCreateAConfigurationModelForTheIntendedConfigsForAWiredDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + URL string `json:"url,omitempty"` // Url +} +type ResponseWiredDeleteTheConfigurationModel struct { + Response *ResponseWiredDeleteTheConfigurationModelResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredDeleteTheConfigurationModelResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + URL string `json:"url,omitempty"` // Url +} +type ResponseWiredGetsTheDeviceConfigForTheConfigurationModel struct { + Response *ResponseWiredGetsTheDeviceConfigForTheConfigurationModelResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // version +} +type ResponseWiredGetsTheDeviceConfigForTheConfigurationModelResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the wired device to provision. The API /intent/api/v1/network-device can be used to get the network device ID. + Status string `json:"status,omitempty"` // Preview generation status: 'Not Started' - preview generation has not started 'In Progress' - preview generation is in progress 'Success' - preview generation completed and was succesful 'Failed' - preview generation completed with failure 'Warning' - preview generation completed with warning + PreviewItems *[]ResponseWiredGetsTheDeviceConfigForTheConfigurationModelResponsePreviewItems `json:"previewItems,omitempty"` // +} +type ResponseWiredGetsTheDeviceConfigForTheConfigurationModelResponsePreviewItems struct { + Name string `json:"name,omitempty"` // This is a system-generated description of the preview item. + ConfigType string `json:"configType,omitempty"` // configType + ConfigPreview string `json:"configPreview,omitempty"` // The actual preview item. This is what will be configured on the device if the user decides to go ahead with the provisioning.example: interface FortyGigabitEthernet1/1/2 device-tracking attach-policy IPDT_POLICY + ErrorMessages []string `json:"errorMessages,omitempty"` // Error messages during preview generation. +} +type ResponseWiredDeployTheIntendedConfigurationFeaturesOnAWiredDevice struct { + Response *ResponseWiredDeployTheIntendedConfigurationFeaturesOnAWiredDeviceResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWiredDeployTheIntendedConfigurationFeaturesOnAWiredDeviceResponse struct { + TaskID string `json:"taskId,omitempty"` // Task Id + URL string `json:"url,omitempty"` // Url +} +type ResponseWiredGetDeviceDeploymentStatusConnectivity struct { + Response *[]ResponseWiredGetDeviceDeploymentStatusConnectivityResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // version +} +type ResponseWiredGetDeviceDeploymentStatusConnectivityResponse struct { + ActivityID string `json:"activityId,omitempty"` // Activity id from intent/api/v1/activity.example: 7f422eeb-effe-4938-9371-ccf6dc2fe15e + ConfigGroupName string `json:"configGroupName,omitempty"` // Name of the config group that has been provisioned. example: application.telemetry + ConfigGroupVersion *int `json:"configGroupVersion,omitempty"` // Version of the config group that has been provisioned. The version increments everytime for a provisioning operation. + Status string `json:"status,omitempty"` // Provisioning status on the device. + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // Network device ID of the wired device to provision. The API /intent/api/v1/network-device can be used to get the network device ID. + CreateTime *int `json:"createTime,omitempty"` // Create time of the service deployment status record; as measured in Unix epoch time in milliseconds. + LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last update time of the service deployment status record; as measured in Unix epoch time in milliseconds. + StartTime *int `json:"startTime,omitempty"` // Service provisioning task start time; as measured in Unix epoch time in milliseconds. + EndTime *int `json:"endTime,omitempty"` // Service provisioning task end time; as measured in Unix epoch time in milliseconds. + Error *ResponseWiredGetDeviceDeploymentStatusConnectivityResponseError `json:"error,omitempty"` // +} +type ResponseWiredGetDeviceDeploymentStatusConnectivityResponseError struct { + Message string `json:"message,omitempty"` // A brief message about the error.example: Connection to device timedout + Remedy string `json:"remedy,omitempty"` // A brief message to suggest remedy to the failure. example: Upgrade the IOS version +} +type ResponseWiredGetServiceDeploymentStatus struct { + Response *[]ResponseWiredGetServiceDeploymentStatusResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // version +} +type ResponseWiredGetServiceDeploymentStatusResponse struct { + ActivityID string `json:"activityId,omitempty"` // Activity id from intent/api/v1/activity.example: 7f422eeb-effe-4938-9371-ccf6dc2fe15e + ConfigGroupName string `json:"configGroupName,omitempty"` // Name of the config group that has been provisioned. example: application.telemetry + ConfigGroupVersion *int `json:"configGroupVersion,omitempty"` // Version of the config group that has been provisioned. The version increments everytime for a provisioning operation. + Status string `json:"status,omitempty"` // Provisioning status. + ProvisioningDescription string `json:"provisioningDescription,omitempty"` // Description of the provisioning operation. example: Update device config + CreateTime *int `json:"createTime,omitempty"` // Create time of the service deployment status record; as measured in Unix epoch time in milliseconds. + LastUpdateTime *int `json:"lastUpdateTime,omitempty"` // Last update time of the service deployment status record; as measured in Unix epoch time in milliseconds. + StartTime *int `json:"startTime,omitempty"` // Service provisioning task start time; as measured in Unix epoch time in milliseconds. + EndTime *int `json:"endTime,omitempty"` // Service provisioning task end time; as measured in Unix epoch time in milliseconds. + ErrorCode string `json:"errorCode,omitempty"` // If the provisioning operation. example: NCND80300 fails, this is the error code to indicate the cause of failure. + FailureReason string `json:"failureReason,omitempty"` // If the provisioning operation fails, this is the textual description to indicate the cause of failure. + ProvisioningCompleted *bool `json:"provisioningCompleted,omitempty"` // Indicates if the service provisioning operation has completed or it is still ongoing. +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice struct { + CdpGlobalConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpGlobalConfig `json:"cdpGlobalConfig,omitempty"` // + CdpInterfaceConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpInterfaceConfig `json:"cdpInterfaceConfig,omitempty"` // + DhcpSnoopingInterfaceConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingInterfaceConfig `json:"dhcpSnoopingInterfaceConfig,omitempty"` // + DhcpSnoopingGlobalConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingGlobalConfig `json:"dhcpSnoopingGlobalConfig,omitempty"` // + Dot1XInterfaceConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XInterfaceConfig `json:"dot1xInterfaceConfig,omitempty"` // + Dot1XGlobalConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XGlobalConfig `json:"dot1xGlobalConfig,omitempty"` // + LldpGlobalConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpGlobalConfig `json:"lldpGlobalConfig,omitempty"` // + LldpInterfaceConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpInterfaceConfig `json:"lldpInterfaceConfig,omitempty"` // + MabInterfaceConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMabInterfaceConfig `json:"mabInterfaceConfig,omitempty"` // + MldSnoopingGlobalConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMldSnoopingGlobalConfig `json:"mldSnoopingGlobalConfig,omitempty"` // + IgmpSnoopingGlobalConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceIgmpSnoopingGlobalConfig `json:"igmpSnoopingGlobalConfig,omitempty"` // + StpGlobalConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpGlobalConfig `json:"stpGlobalConfig,omitempty"` // + StpInterfaceConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfig `json:"stpInterfaceConfig,omitempty"` // + TrunkInterfaceConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceTrunkInterfaceConfig `json:"trunkInterfaceConfig,omitempty"` // + VtpGlobalConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpGlobalConfig `json:"vtpGlobalConfig,omitempty"` // + VtpInterfaceConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpInterfaceConfig `json:"vtpInterfaceConfig,omitempty"` // + VLANConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVLANConfig `json:"vlanConfig,omitempty"` // + PortChannelConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevicePortChannelConfig `json:"portChannelConfig,omitempty"` // + SwitchportInterfaceConfig *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceSwitchportInterfaceConfig `json:"switchportInterfaceConfig,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMabInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMldSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceIgmpSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfig struct { + Items *[]RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItems `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItems struct { + ConfigType string `json:"configType,omitempty"` // Type of network functionality under a feature. Config type STP_INTERFACE is for configuring STP on an interface. + InterfaceName string `json:"interfaceName,omitempty"` // Interface name. The API /intent/api/v1/interface/network-device/{deviceId} can be used to get the list of interfaces on a device.example: GigabitEthernet1/0/1 + GuardMode string `json:"guardMode,omitempty"` // Enable loop guard or root guard on the interface. Corresponding CLI - spanning-tree guard [loop | none | root]. LOOP - Enables loop guard on the interface. ROOT - Enables root guard on the interface + BpduFilter string `json:"bpduFilter,omitempty"` // Configure BPDU filtering on a port. Enabling BPDU filtering on PortFast edge-enabled port keeps the port from sending or receiving BPDUs. Corresponding CLI - spanning-tree bpduguard [enable | disable]. + BpduGuard string `json:"bpduGuard,omitempty"` // Configures BPDU guard. When BPDU filtering is enabled on PortFast edge-enabled port, spanning tree shuts down the port if any BPDU is received on it. + PathCost *int `json:"pathCost,omitempty"` // Configure the cost for an interface. Corresponding CLI - spanning-tree cost <1-200000000>. + PortFastMode string `json:"portFastMode,omitempty"` // Configure the portFast mode for an interface. Corresponding CLI - spanning-tree portfast [disable | trunk | network | edge | edge trunk]. DISABLE - Disable portFast for this interface. EDGE - Enable edge behavior on a Layer 2 access port connected to an end workstation or server. EDGE_TRUNK - Enable edge behavior on a trunk port. Use this keyword if the link is a trunk. NETWORK - Configure the port as a network port. Ports that are connected to Layer 2 switches and bridges can be configured as network ports. If Bridge Assurance is enabled globally, it automatically gets enabled on a spanning tree network port. TRUNK - Enable portfast on a trunk port. + Priority *int `json:"priority,omitempty"` // Configures port priority for an interface. If a loop occurs, spanning tree uses port priority when selecting an interface to put into the forwarding state. Assign higher priority values (lower numerical values) to interfaces that you want selected first and lower priority values (higher numerical values) that you want selected last. If all interfaces have the same priority value, spanning tree puts the interface with the lowest interface number in the forwarding state and blocks the other interfaces. Corresponding CLI - spanning-tree port-priority <0-240>.multipleOf: 16 + PortVLANCostSettings *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettings `json:"portVlanCostSettings,omitempty"` // + PortVLANPrioritySettings *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettings `json:"portVlanPrioritySettings,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettings struct { + ConfigType string `json:"configType,omitempty"` // Type of STP Cost Settings + Items *[]RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettingsItems `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettingsItems struct { + ConfigType string `json:"configType,omitempty"` // Type of network functionality under a feature. Config type STP_INTERFACE_VLAN_COST is for configuring per VLAN cost on an interface. + Cost *int `json:"cost,omitempty"` // Configure the cost for the VLANs. Corresponding CLI - spanning-tree vlan cost <1-200000000>. + VLANs string `json:"vlans,omitempty"` // VLANs can be comma separated and/or a range like '2,4-5,7,10-20'. +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettings struct { + ConfigType string `json:"configType,omitempty"` // Type of STP Priority Settings + Items *[]RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettingsItems `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettingsItems struct { + ConfigType string `json:"configType,omitempty"` // configType + Priority *int `json:"priority,omitempty"` // Configures the port priority for the VLANs. Corresponding CLI - spanning-tree vlan port-priority <0-240>.multipleOf: 16 + VLANs string `json:"vlans,omitempty"` // VLANs can be comma separated and/or a range like '2,4-5,7,10-20'. +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceTrunkInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVLANConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevicePortChannelConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceSwitchportInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice struct { + CdpGlobalConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpGlobalConfig `json:"cdpGlobalConfig,omitempty"` // + CdpInterfaceConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpInterfaceConfig `json:"cdpInterfaceConfig,omitempty"` // + DhcpSnoopingInterfaceConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingInterfaceConfig `json:"dhcpSnoopingInterfaceConfig,omitempty"` // + DhcpSnoopingGlobalConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingGlobalConfig `json:"dhcpSnoopingGlobalConfig,omitempty"` // + Dot1XInterfaceConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XInterfaceConfig `json:"dot1xInterfaceConfig,omitempty"` // + Dot1XGlobalConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XGlobalConfig `json:"dot1xGlobalConfig,omitempty"` // + LldpGlobalConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpGlobalConfig `json:"lldpGlobalConfig,omitempty"` // + LldpInterfaceConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpInterfaceConfig `json:"lldpInterfaceConfig,omitempty"` // + MabInterfaceConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMabInterfaceConfig `json:"mabInterfaceConfig,omitempty"` // + MldSnoopingGlobalConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMldSnoopingGlobalConfig `json:"mldSnoopingGlobalConfig,omitempty"` // + IgmpSnoopingGlobalConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceIgmpSnoopingGlobalConfig `json:"igmpSnoopingGlobalConfig,omitempty"` // + StpGlobalConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpGlobalConfig `json:"stpGlobalConfig,omitempty"` // + StpInterfaceConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfig `json:"stpInterfaceConfig,omitempty"` // + TrunkInterfaceConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceTrunkInterfaceConfig `json:"trunkInterfaceConfig,omitempty"` // + VtpGlobalConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpGlobalConfig `json:"vtpGlobalConfig,omitempty"` // + VtpInterfaceConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpInterfaceConfig `json:"vtpInterfaceConfig,omitempty"` // + VLANConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVLANConfig `json:"vlanConfig,omitempty"` // + PortChannelConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevicePortChannelConfig `json:"portChannelConfig,omitempty"` // + SwitchportInterfaceConfig *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceSwitchportInterfaceConfig `json:"switchportInterfaceConfig,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceCdpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDhcpSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceDot1XGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceLldpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMabInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceMldSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceIgmpSnoopingGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfig struct { + Items *[]RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItems `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItems struct { + ConfigType string `json:"configType,omitempty"` // Type of network functionality under a feature. Config type STP_INTERFACE is for configuring STP on an interface. + InterfaceName string `json:"interfaceName,omitempty"` // Interface name. The API /intent/api/v1/interface/network-device/{deviceId} can be used to get the list of interfaces on a device.example: GigabitEthernet1/0/1 + GuardMode string `json:"guardMode,omitempty"` // Enable loop guard or root guard on the interface. Corresponding CLI - spanning-tree guard [loop | none | root]. LOOP - Enables loop guard on the interface. ROOT - Enables root guard on the interface + BpduFilter string `json:"bpduFilter,omitempty"` // Configure BPDU filtering on a port. Enabling BPDU filtering on PortFast edge-enabled port keeps the port from sending or receiving BPDUs. Corresponding CLI - spanning-tree bpduguard [enable | disable]. + BpduGuard string `json:"bpduGuard,omitempty"` // Configures BPDU guard. When BPDU filtering is enabled on PortFast edge-enabled port, spanning tree shuts down the port if any BPDU is received on it. + PathCost *int `json:"pathCost,omitempty"` // Configure the cost for an interface. Corresponding CLI - spanning-tree cost <1-200000000>. + PortFastMode string `json:"portFastMode,omitempty"` // Configure the portFast mode for an interface. Corresponding CLI - spanning-tree portfast [disable | trunk | network | edge | edge trunk]. DISABLE - Disable portFast for this interface. EDGE - Enable edge behavior on a Layer 2 access port connected to an end workstation or server. EDGE_TRUNK - Enable edge behavior on a trunk port. Use this keyword if the link is a trunk. NETWORK - Configure the port as a network port. Ports that are connected to Layer 2 switches and bridges can be configured as network ports. If Bridge Assurance is enabled globally, it automatically gets enabled on a spanning tree network port. TRUNK - Enable portfast on a trunk port. + Priority *int `json:"priority,omitempty"` // Configures port priority for an interface. If a loop occurs, spanning tree uses port priority when selecting an interface to put into the forwarding state. Assign higher priority values (lower numerical values) to interfaces that you want selected first and lower priority values (higher numerical values) that you want selected last. If all interfaces have the same priority value, spanning tree puts the interface with the lowest interface number in the forwarding state and blocks the other interfaces. Corresponding CLI - spanning-tree port-priority <0-240>.multipleOf: 16 + PortVLANCostSettings *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettings `json:"portVlanCostSettings,omitempty"` // + PortVLANPrioritySettings *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettings `json:"portVlanPrioritySettings,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettings struct { + ConfigType string `json:"configType,omitempty"` // Type of STP Cost Settings + Items *[]RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettingsItems `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANCostSettingsItems struct { + ConfigType string `json:"configType,omitempty"` // Type of network functionality under a feature. Config type STP_INTERFACE_VLAN_COST is for configuring per VLAN cost on an interface. + Cost *int `json:"cost,omitempty"` // Configure the cost for the VLANs. Corresponding CLI - spanning-tree vlan cost <1-200000000>. + VLANs string `json:"vlans,omitempty"` // VLANs can be comma separated and/or a range like '2,4-5,7,10-20'. +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettings struct { + ConfigType string `json:"configType,omitempty"` // Type of STP Priority Settings + Items *[]RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettingsItems `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceStpInterfaceConfigItemsPortVLANPrioritySettingsItems struct { + ConfigType string `json:"configType,omitempty"` // configType + Priority *int `json:"priority,omitempty"` // Configures the port priority for the VLANs. Corresponding CLI - spanning-tree vlan port-priority <0-240>.multipleOf: 16 + VLANs string `json:"vlans,omitempty"` // VLANs can be comma separated and/or a range like '2,4-5,7,10-20'. +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceTrunkInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpGlobalConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVtpInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceVLANConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevicePortChannelConfig struct { + Items *[][]string `json:"items,omitempty"` // +} +type RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDeviceSwitchportInterfaceConfig struct { + Items *[][]string `json:"items,omitempty"` // +} + +//GetConfigurationsForIntendedLayer2FeaturesOnAWiredDevice Get configurations for intended layer 2 features on a wired device. - f1a7-b844-4cba-833c +/* This API returns the configurations for the intended layer 2 features on a wired device. Even after the intended configurations are deployed using the API /intent/api/v1/networkDevices/{id}/configFeatures/intended/deploy, they continue to be a part of the intended features on the device. + + +@param id id path parameter. Network device ID of the wired device to configure. + +@param GetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-configurations-for-intended-layer2-features-on-a-wired-device +*/ +func (s *WiredService) GetConfigurationsForIntendedLayer2FeaturesOnAWiredDevice(id string, GetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceQueryParams *GetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceQueryParams) (*ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/intent/api/v1/wired/networkDevices/{id}/configFeatures/intended/layer2" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + + queryString, _ := query.Values(GetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetConfigurationsForIntendedLayer2FeaturesOnAWiredDevice(id, GetConfigurationsForIntendedLayer2FeaturesOnAWiredDeviceQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetConfigurationsForIntendedLayer2FeaturesOnAWiredDevice") + } + + result := response.Result().(*ResponseWiredGetConfigurationsForIntendedLayer2FeaturesOnAWiredDevice) + return result, response, err + +} + +//GetConfigurationsForADeployedLayer2FeatureOnAWiredDevice Get configurations for a deployed layer 2 feature on a wired device. - 42a6-794b-4dc8-87ed +/* The API returns configurations for a deployed layer 2 feature on a wired device. + + +@param id id path parameter. Network device ID of the wired device to retrieve configuration for. + +@param feature feature path parameter. Name of the feature to retrieve Layer 2 configuration for. The API /dna/intent/api/v1/networkDevices/{id}/configFeatures/supported/layer2 can be used to get the list of features supported on a device. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-configurations-for-a-deployed-layer2-feature-on-a-wired-device +*/ +func (s *WiredService) GetConfigurationsForADeployedLayer2FeatureOnAWiredDevice(id string, feature string) (*resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{id}/configFeatures/deployed/layer2/{feature}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{feature}", fmt.Sprintf("%v", feature), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetError(&Error). + Get(path) + + if err != nil { + return nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetConfigurationsForADeployedLayer2FeatureOnAWiredDevice(id, feature) + } + return response, fmt.Errorf("error with operation GetConfigurationsForADeployedLayer2FeatureOnAWiredDevice") + } + + return response, err + +} + +//GetNumberOfConfigurationsForADeployedLayer2FeatureOnAWiredDevice Get number of configurations for a deployed layer 2 feature on a wired device. - 4297-4ba7-43b9-bca8 +/* The API returns the number of configurations for a deployed layer 2 feature on a wired device. + + +@param id id path parameter. Network device ID of the wired device to retrieve configuration for. + +@param feature feature path parameter. Name of the feature to retrieve configuration for. The API /dna/intent/api/v1/networkDevices/{id}/configFeatures/supported/layer2 can be used to get the list of features supported on a device. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-number-of-configurations-for-a-deployed-layer2-feature-on-a-wired-device +*/ +func (s *WiredService) GetNumberOfConfigurationsForADeployedLayer2FeatureOnAWiredDevice(id string, feature string) (*ResponseWiredGetNumberOfConfigurationsForADeployedLayer2FeatureOnAWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{id}/configFeatures/deployed/layer2/{feature}/count" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{feature}", fmt.Sprintf("%v", feature), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWiredGetNumberOfConfigurationsForADeployedLayer2FeatureOnAWiredDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetNumberOfConfigurationsForADeployedLayer2FeatureOnAWiredDevice(id, feature) + } + return nil, response, fmt.Errorf("error with operation GetNumberOfConfigurationsForADeployedLayer2FeatureOnAWiredDevice") + } + + result := response.Result().(*ResponseWiredGetNumberOfConfigurationsForADeployedLayer2FeatureOnAWiredDevice) + return result, response, err + +} + +//GetConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice Get configurations for an intended layer 2 feature on a wired device. - 8aac-8a1f-421a-9228 +/* This API returns the configurations for an intended layer 2 feature on a wired device. Even after the intended configurations are deployed using the API /dna/intent/api/v1/networkDevices/{id}/configFeatures/intended/deploy, they continue to be a part of the intended features on the device. + + +@param id id path parameter. Network device ID of the wired device to configure. + +@param feature feature path parameter. The name of the feature to be retrieved. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-configurations-for-an-intended-layer2-feature-on-a-wired-device +*/ +func (s *WiredService) GetConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice(id string, feature string) (*ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{id}/configFeatures/intended/layer2/{feature}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{feature}", fmt.Sprintf("%v", feature), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice(id, feature) + } + return nil, response, fmt.Errorf("error with operation GetConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice") + } + + result := response.Result().(*ResponseWiredGetConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice) + return result, response, err + +} + +//GetNumberOfConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice Get number of configurations for an intended layer 2 feature on a wired device. - a3ac-6a96-4eea-92e3 +/* This API returns the count of the instances of the configurations for an intended layer 2 feature on a wired device. + + +@param id id path parameter. Network device ID of the wired device to configure. + +@param feature feature path parameter. Name of the feature to configure. The API /dna/intent/api/v1/networkDevices/{id}/configFeatures/supported/layer2 can be used to get the list of features supported on a device. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-number-of-configurations-for-an-intended-layer2-feature-on-a-wired-device +*/ +func (s *WiredService) GetNumberOfConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice(id string, feature string) (*ResponseWiredGetNumberOfConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{id}/configFeatures/intended/layer2/{feature}/count" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{feature}", fmt.Sprintf("%v", feature), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWiredGetNumberOfConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetNumberOfConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice(id, feature) + } + return nil, response, fmt.Errorf("error with operation GetNumberOfConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice") + } + + result := response.Result().(*ResponseWiredGetNumberOfConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice) + return result, response, err + +} + +//GetTheSupportedLayer2FeaturesOnAWiredDevice Get the supported layer 2 features on a wired device. - 8580-a81e-441a-a4de +/* The API returns the supported layer 2 features on a wired device. + + +@param id id path parameter. Network device ID of the wired device. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-the-supported-layer2-features-on-a-wired-device +*/ +func (s *WiredService) GetTheSupportedLayer2FeaturesOnAWiredDevice(id string) (*ResponseWiredGetTheSupportedLayer2FeaturesOnAWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{id}/configFeatures/supported/layer2" + 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(&ResponseWiredGetTheSupportedLayer2FeaturesOnAWiredDevice{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetTheSupportedLayer2FeaturesOnAWiredDevice(id) + } + return nil, response, fmt.Errorf("error with operation GetTheSupportedLayer2FeaturesOnAWiredDevice") + } + + result := response.Result().(*ResponseWiredGetTheSupportedLayer2FeaturesOnAWiredDevice) + return result, response, err + +} + +//GetsTheDeviceConfigForTheConfigurationModel Gets the device config for the configuration model. - bfbe-ebc3-4668-8962 +/* Gets the device config for the configuration model. This API is 'Step 3' in the following workflow. Step 1Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels' to start the provision of intended features. The response has a taskId which is the previewActivityId in all subsequent APIs. The task must be successfully complete before proceeding to the next step. It is not recommended to proceed when there is any task failure in this step. The API 'DELETE /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}' can be used at any step to discard/cancel the provision of intended features. Step 2Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config' to generate device CLIs for preview. The response has a task ID. The task must be successfully complete before using the GET API to view CLIs. It is not recommended to proceed when there is any task failure(s) in this step. The API 'DELETE /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}' can be used at any step to discard/cancel the provision of intended features. Step 3Use 'GET /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config' to view the CLIs that will be applied to the device. Step 4Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/deploy' to deploy the intent to the device. + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the wired device to provision. The API /intent/api/v1/network-device can be used to get the network device ID. + +@param previewActivityID previewActivityId path parameter. Activity id is the taskId from Step 2- 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!gets-the-device-config-for-the-configuration-model +*/ +func (s *WiredService) GetsTheDeviceConfigForTheConfigurationModel(networkDeviceID string, previewActivityID string) (*ResponseWiredGetsTheDeviceConfigForTheConfigurationModel, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/config" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + 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(&ResponseWiredGetsTheDeviceConfigForTheConfigurationModel{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetsTheDeviceConfigForTheConfigurationModel(networkDeviceID, previewActivityID) + } + return nil, response, fmt.Errorf("error with operation GetsTheDeviceConfigForTheConfigurationModel") + } + + result := response.Result().(*ResponseWiredGetsTheDeviceConfigForTheConfigurationModel) + return result, response, err + +} + +//GetDeviceDeploymentStatusConnectivity Get device deployment status - f2a8-a8b7-4c99-a0f9 +/* The API returns device deployment status based on filter criteria. + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the wired device to provision. The API /intent/api/v1/network-device can be used to get the network device ID. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-device-deployment-status-connectivity +*/ +func (s *WiredService) GetDeviceDeploymentStatusConnectivity(networkDeviceID string) (*ResponseWiredGetDeviceDeploymentStatusConnectivity, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/deviceDeployments" + 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(&ResponseWiredGetDeviceDeploymentStatusConnectivity{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDeviceDeploymentStatusConnectivity(networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation GetDeviceDeploymentStatusConnectivity") + } + + result := response.Result().(*ResponseWiredGetDeviceDeploymentStatusConnectivity) + return result, response, err + +} + +//GetServiceDeploymentStatus Get service deployment status. - 82b5-08af-493a-9846 +/* Returns service deployment status based on filter criteria. + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the wired device to provision. The API /intent/api/v1/network-device can be used to get the network device ID. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-service-deployment-status +*/ +func (s *WiredService) GetServiceDeploymentStatus(networkDeviceID string) (*ResponseWiredGetServiceDeploymentStatus, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/serviceDeployments" + 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(&ResponseWiredGetServiceDeploymentStatus{}). + SetError(&Error). + Get(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetServiceDeploymentStatus(networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation GetServiceDeploymentStatus") + } + + result := response.Result().(*ResponseWiredGetServiceDeploymentStatus) + return result, response, err + +} + +//DeployTheConfigurationModelOnTheNetworkDevice Deploy the configuration model on the network device. - 8e98-f9f2-4868-beab +/* This API deploys the configuration model on the network device. This is the final step 'Step 4' of the following workflow. Step 1Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels' to start the provision of intended features. The response has a taskId which is the previewActivityId in all subsequent APIs. The task must be successfully complete before proceeding to the next step. It is not recommended to proceed when there is any task failure in this step. The API 'DELETE /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}' can be used at any step to discard/cancel the provision of intended features. Step 2Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config' to generate device CLIs for preview. The response has a task ID. The task must be successfully complete before using the GET API to view CLIs. It is not recommended to proceed when there is any task failure(s) in this step. The API 'DELETE /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}' can be used at any step to discard/cancel the provision of intended features. Step 3Use 'GET /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config' to view the CLIs that will be applied to the device. Step 4Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/deploy' to push the intent to the device. + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the wired device to provision. The API /intent/api/v1/network-device can be used to get the network device ID. + +@param previewActivityID previewActivityId path parameter. Activity id from intent/api/v1/activity. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deploy-the-configuration-model-on-the-network-device +*/ +func (s *WiredService) DeployTheConfigurationModelOnTheNetworkDevice(networkDeviceID string, previewActivityID string) (*ResponseWiredDeployTheConfigurationModelOnTheNetworkDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/deploy" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + 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(&ResponseWiredDeployTheConfigurationModelOnTheNetworkDevice{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.DeployTheConfigurationModelOnTheNetworkDevice(networkDeviceID, previewActivityID) + } + + return nil, response, fmt.Errorf("error with operation DeployTheConfigurationModelOnTheNetworkDevice") + } + + result := response.Result().(*ResponseWiredDeployTheConfigurationModelOnTheNetworkDevice) + return result, response, err + +} + +//CreateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice Create configurations for intended layer 2 features on a wired device - ab82-7920-485b-944e +/* This API creates configurations for the intended features on a wired device, if none have been added earlier. Only the feature configurations to be changed need to be added to the intended features. When the intended features are deployed to a device using the API /intent/api/v1/networkDevices/{id}/configFeatures/intended/deploy, they are applied on top of the existing configurations on the device. Any existing configurations on the device which are not included in the intended features, are retained on the device. + + +@param id id path parameter. Network device ID of the wired device to configure. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-configurations-for-intended-layer2-features-on-a-wired-device +*/ +func (s *WiredService) CreateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice(id string) (*ResponseWiredCreateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{id}/configFeatures/intended/layer2" + 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(&ResponseWiredCreateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice(id) + } + + return nil, response, fmt.Errorf("error with operation CreateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice") + } + + result := response.Result().(*ResponseWiredCreateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice) + return result, response, err + +} + +//CreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice Create configurations for an intended layer 2 feature on a wired device - a79a-8a2e-4598-8219 +/* This API creates configurations for an intended feature on a wired device. Once all the updates to intended features are complete, they can be deployed to a device using the API /dna/intent/api/v1/networkDevices/{id}/configFeatures/intended/deploy. When the intended features are deployed, they are applied on top of the existing configurations on the device. Any existing configurations on the device which are not included in the intended features, are retained on the device. + + +@param id id path parameter. Network device ID of the wired device to configure. + +@param feature feature path parameter. Name of the feature to configure. The API /dna/intent/api/v1/networkDevices/{id}/configFeatures/supported/layer2 can be used to get the list of features supported on a device. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-configurations-for-an-intended-layer2-feature-on-a-wired-device +*/ +func (s *WiredService) CreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice(id string, feature string, requestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice *RequestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice) (*ResponseWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{id}/configFeatures/intended/layer2/{feature}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{feature}", fmt.Sprintf("%v", feature), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice). + SetResult(&ResponseWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice(id, feature, requestWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice) + } + + return nil, response, fmt.Errorf("error with operation CreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice") + } + + result := response.Result().(*ResponseWiredCreateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice) + return result, response, err + +} + +//CreateAConfigurationModelForTheIntendedConfigsForAWiredDevice Create a configuration model for the intended configs for a wired device. - 1f83-7838-4c1b-9130 +/* Create a configuration model for the intended configs for a wired device. This is a pre-requisite to preview the generated device config for the provisioning intent. This is mandatory if the provisioning settings require Preview or ITSM Approval before deploying configurations on network devices. The API /intent/api/v1/provisioningSettings can be used to get or update provisioning settings. This API is 'Step 1' in the following workflow Step 1Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels' to start the provision of intended features. The response has a taskId which is the previewActivityId in all subsequent APIs. The task must be successfully complete before proceeding to the next step. It is not recommended to proceed when there is any task failure in this step. The API 'DELETE /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}' can be used at any step to discard/cancel the provision of intended features. Step 2Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config' to generate device CLIs for preview. The response has a task ID. The task must be successfully complete before using the GET API to view CLIs. It is not recommended to proceed when there is any task failure(s) in this step. The API 'DELETE /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}' can be used at any step to discard/cancel the provision of intended features. Step 3Use 'GET /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config' to view the CLIs that will be applied to the device. Step 4Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/deploy' to deploy the intent to the device. + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the wired device to provision. The API /intent/api/v1/network-device can be used to get the network device ID. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-a-configuration-model-for-the-intended-configs-for-a-wired-device +*/ +func (s *WiredService) CreateAConfigurationModelForTheIntendedConfigsForAWiredDevice(networkDeviceID string) (*ResponseWiredCreateAConfigurationModelForTheIntendedConfigsForAWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels" + 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(&ResponseWiredCreateAConfigurationModelForTheIntendedConfigsForAWiredDevice{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.CreateAConfigurationModelForTheIntendedConfigsForAWiredDevice(networkDeviceID) + } + + return nil, response, fmt.Errorf("error with operation CreateAConfigurationModelForTheIntendedConfigsForAWiredDevice") + } + + result := response.Result().(*ResponseWiredCreateAConfigurationModelForTheIntendedConfigsForAWiredDevice) + return result, response, err + +} + +//GenerateTheDeviceConfigForTheConfigurationModel Generate the device config for the configuration model. - 9995-b9cf-4768-b85d +/* Generates the device config for the configuration model. This API is 'Step 2' in the following workflow Step 1Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels' to start the provision of intended features. The response has a taskId which is the previewActivityId in all subsequent APIs. The task must be successfully complete before proceeding to the next step. It is not recommended to proceed when there is any task failure in this step. The API 'DELETE /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}' can be used at any step to discard/cancel the provision of intended features. Step 2Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config' to generate device CLIs for preview. The response has a task ID. The task must be successfully complete before using the GET API to view CLIs. It is not recommended to proceed when there is any task failure(s) in this step. The API 'DELETE /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}' can be used at any step to discard/cancel the provision of intended features. Step 3Use 'GET /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config' to view the CLIs that will be applied to the device. Step 4Use 'POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/deploy' to deploy the intent to the device. + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the wired device to provision. The API /intent/api/v1/network-device can be used to get the network device ID. + +@param previewActivityID previewActivityId path parameter. Activity id is taskId from Step 1- POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels' + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!generate-the-device-config-for-the-configuration-model +*/ +func (s *WiredService) GenerateTheDeviceConfigForTheConfigurationModel(networkDeviceID string, previewActivityID string) (*resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/config" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + path = strings.Replace(path, "{previewActivityId}", fmt.Sprintf("%v", previewActivityID), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetError(&Error). + Post(path) + + if err != nil { + return nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.GenerateTheDeviceConfigForTheConfigurationModel(networkDeviceID, previewActivityID) + } + + return response, fmt.Errorf("error with operation GenerateTheDeviceConfigForTheConfigurationModel") + } + + return response, err + +} + +//DeployTheIntendedConfigurationFeaturesOnAWiredDevice Deploy the intended configuration features on a wired device. - 688a-0b32-45a8-b7a6 +/* Deploy the intended configuration features on a wired device. This can be used only if the provisioning settings do not require Preview or ITSM Approval before deploying configurations on network devices. The API /intent/api/v1/provisioningSettings can be used to get or update provisioning settings. + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the wired device to provision. The API /intent/api/v1/network-device can be used to get the network device ID. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!deploy-the-intended-configuration-features-on-a-wired-device +*/ +func (s *WiredService) DeployTheIntendedConfigurationFeaturesOnAWiredDevice(networkDeviceID string) (*ResponseWiredDeployTheIntendedConfigurationFeaturesOnAWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/deploy" + 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(&ResponseWiredDeployTheIntendedConfigurationFeaturesOnAWiredDevice{}). + SetError(&Error). + Post(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + + if response.StatusCode() == http.StatusUnauthorized { + return s.DeployTheIntendedConfigurationFeaturesOnAWiredDevice(networkDeviceID) + } + + return nil, response, fmt.Errorf("error with operation DeployTheIntendedConfigurationFeaturesOnAWiredDevice") + } + + result := response.Result().(*ResponseWiredDeployTheIntendedConfigurationFeaturesOnAWiredDevice) + return result, response, err + +} + +//UpdateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice Update configurations for intended layer 2 features on a wired device. - 82aa-ba7e-4b6a-a34a +/* This API updates the configurations for the intended features on a wired device. Only the feature configurations to be changed need to be added to the intended features. Updates to intended features can be done over several iterations. Once the updates are complete, the intended features can be deployed to a device using the API /dna/intent/api/v1/networkDevices/{id}/configFeatures/intended/deploy. When the intended features are deployed, they are applied on top of the existing configurations on the device. Any existing configurations on the device which are not included in the intended features, are retained on the device. + + +@param id id path parameter. Network device ID of the wired device to configure. + +*/ +func (s *WiredService) UpdateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice(id string) (*ResponseWiredUpdateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{id}/configFeatures/intended/layer2" + 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(&ResponseWiredUpdateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice(id) + } + return nil, response, fmt.Errorf("error with operation UpdateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice") + } + + result := response.Result().(*ResponseWiredUpdateConfigurationsForIntendedLayer2FeaturesOnAWiredDevice) + return result, response, err + +} + +//UpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice Update configurations for an intended layer 2 feature on a wired device. - 2dab-88c9-45e8-93fd +/* This API updates the configurations for an intended feature on a wired device. Updates to other intended features can be done over several iterations. Once all the updates to intended features are complete, they can be deployed to a device using the API /dna/intent/api/v1/networkDevices/{id}/configFeatures/intended/deploy. When the intended features are deployed, they are applied on top of the existing configurations on the device. Any existing configurations on the device which are not included in the intended features, are retained on the device. + + +@param id id path parameter. Network device ID of the wired device to configure. + +@param feature feature path parameter. Name of the feature to update configuration for. The feature must be already created. + +*/ +func (s *WiredService) UpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice(id string, feature string, requestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice *RequestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice) (*ResponseWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice, *resty.Response, error) { + path := "/dna/intent/api/v1/wired/networkDevices/{id}/configFeatures/intended/layer2/{feature}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{feature}", fmt.Sprintf("%v", feature), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetBody(requestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice). + SetResult(&ResponseWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice{}). + SetError(&Error). + Put(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.UpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice(id, feature, requestWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice) + } + return nil, response, fmt.Errorf("error with operation UpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice") + } + + result := response.Result().(*ResponseWiredUpdateConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice) + return result, response, err + +} + +//DeleteConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice Delete configurations for an intended layer 2 feature on a wired device. - aa91-fb8a-4b3b-b2c3 +/* This API deletes the configurations for an intended feature on a wired device. Once all the updates to intended features are complete, they can be deployed to a device using the API /dna/intent/api/v1/networkDevices/{id}/configFeatures/intended/deploy. When the intended features are deployed, they are applied on top of the existing configurations on the device. Any existing configurations on the device which are not included in the intended features, are retained on the device. + + +@param id id path parameter. Network device ID of the wired device to configure. + +@param feature feature path parameter. Name of the feature to delete. + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-configurations-for-an-intended-layer2-feature-on-a-wired-device +*/ +func (s *WiredService) DeleteConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice(id string, feature string) (*ResponseWiredDeleteConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice, *resty.Response, error) { + //id string,feature string + path := "/dna/intent/api/v1/wired/networkDevices/{id}/configFeatures/intended/layer2/{feature}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) + path = strings.Replace(path, "{feature}", fmt.Sprintf("%v", feature), -1) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWiredDeleteConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice( + id, feature) + } + return nil, response, fmt.Errorf("error with operation DeleteConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice") + } + + result := response.Result().(*ResponseWiredDeleteConfigurationsForAnIntendedLayer2FeatureOnAWiredDevice) + return result, response, err + +} + +//DeleteTheConfigurationModel Delete the configuration model. - d4a0-5a32-43a9-a670 +/* Deletes the configuration model. The API can be used at any step to discard/cancel the provision of intended features. + + +@param networkDeviceID networkDeviceId path parameter. Network device ID of the wired device to provision. The API /intent/api/v1/network-device can be used to get the network device ID. + +@param previewActivityID previewActivityId path parameter. Activity id from POST /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels or /intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}/networkDevices/{networkDeviceId}/config + + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-the-configuration-model +*/ +func (s *WiredService) DeleteTheConfigurationModel(networkDeviceID string, previewActivityID string) (*ResponseWiredDeleteTheConfigurationModel, *resty.Response, error) { + //networkDeviceID string,previewActivityID string + path := "/dna/intent/api/v1/wired/networkDevices/{networkDeviceId}/configFeatures/intended/configurationModels/{previewActivityId}" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) + 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(&ResponseWiredDeleteTheConfigurationModel{}). + SetError(&Error). + Delete(path) + + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteTheConfigurationModel( + networkDeviceID, previewActivityID) + } + return nil, response, fmt.Errorf("error with operation DeleteTheConfigurationModel") + } + + result := response.Result().(*ResponseWiredDeleteTheConfigurationModel) + return result, response, err + +} diff --git a/sdk/wireless.go b/sdk/wireless.go index a5692f8..49dc702 100644 --- a/sdk/wireless.go +++ b/sdk/wireless.go @@ -30,6 +30,19 @@ type GetAccessPointRebootTaskResultQueryParams struct { 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 GetFeatureTemplateSummaryQueryParams struct { + Type string `url:"type,omitempty"` //Feature template name. Allowed values : EVENT_DRIVEN_RRM_CONFIGURATION, DOT11AX_CONFIGURATION, AAA_RADIUS_ATTRIBUTES_CONFIGURATION, ADVANCED_SSID_CONFIGURATION, RRM_FRA_CONFIGURATION, CLEANAIR_CONFIGURATION, DOT11BE_STATUS_CONFIGURATION, FLEX_CONFIGURATION, MULTICAST_CONFIGURATION, RRM_GENERAL_CONFIGURATION + DesignName string `url:"designName,omitempty"` //Feature template design name. + Limit float64 `url:"limit,omitempty"` //The number of records to show for this page. Default is 25 if not specified. Maximum allowed limit is 25. + Offset float64 `url:"offset,omitempty"` //The first record to show for this page. The first record is numbered 1. + SystemTemplate bool `url:"systemTemplate,omitempty"` //If 'True', it signifies a system-generated template; if 'False', it denotes a user-modifiable template. +} +type DeleteAAAOverrideVLANSettingsBySiteQueryParams struct { + RemoveOverrideInHierarchy bool `url:"removeOverrideInHierarchy,omitempty"` //If the siteId pertains to a Global or non-Global site (e.g., Global, Area, Building, or Floor) and removeOverrideInHierarchy is set to true, this API will remove the override from the specified siteId and any child sites for the same AAA Override VLAN. If removeOverrideInHierarchy is set to false, the API will only remove the override from the specified siteId only, leaving any overrides for the AAA Override VLAN at child sites unaffected. +} +type DeleteNativeVLANSettingsBySiteQueryParams struct { + RemoveOverrideInHierarchy bool `url:"removeOverrideInHierarchy,omitempty"` //If the siteId pertains to a Global or non-Global site (e.g., Global, Area, Building, or Floor) and removeOverrideInHierarchy is set to true, this API will remove the override from the specified siteId and any child sites for the same Native VLAN. If removeOverrideInHierarchy is set to false, the API will only remove the override from the specified siteId only, leaving any overrides for the Native VLAN at child sites unaffected. +} type GetSSIDBySiteQueryParams 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. @@ -132,14 +145,18 @@ type RetrieveAllSiteTagsForAWirelessProfileQueryParams struct { Offset float64 `url:"offset,omitempty"` //Offset SiteTagName string `url:"siteTagName,omitempty"` //SiteTagName } +type GetAnchorGroupsQueryParams struct { + 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. + Offset string `url:"offset,omitempty"` //The first record to show for this page, the first record is numbered 1. +} 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. + 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. + 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 { @@ -178,50 +195,37 @@ type RetrieveSitesWithOverriddenSSIDsQueryParams struct { } 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 { @@ -229,650 +233,945 @@ 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 { - MailServer *ResponseWirelessSensorTestResultsResponseSummaryEmailMailServer `json:"MAILSERVER,omitempty"` // +type ResponseWirelessSensorTestResultsResponseSummaryEMAiL struct { + MAiLSERVER *ResponseWirelessSensorTestResultsResponseSummaryEMAiLMAiLSERVER `json:"MAILSERVER,omitempty"` // } -type ResponseWirelessSensorTestResultsResponseSummaryEmailMailServer 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 +type ResponseWirelessCreateAAARadiusAttributesConfigurationFeatureTemplate struct { + Response *ResponseWirelessCreateAAARadiusAttributesConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessCreateSSIDResponse struct { +type ResponseWirelessCreateAAARadiusAttributesConfigurationFeatureTemplateResponse 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 +type ResponseWirelessGetAAARadiusAttributesConfigurationFeatureTemplate struct { + Response *ResponseWirelessGetAAARadiusAttributesConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } -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 - - InheritedSiteNameHierarchy string `json:"inheritedSiteNameHierarchy,omitempty"` // Inherited Site Name Hierarchy +type ResponseWirelessGetAAARadiusAttributesConfigurationFeatureTemplateResponse struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + ID string `json:"id,omitempty"` // id of the AAA Radius Attributes configuration feature template + FeatureAttributes *ResponseWirelessGetAAARadiusAttributesConfigurationFeatureTemplateResponseFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. } -type ResponseWirelessGetSSIDBySiteResponseMultipSKSettings 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 ResponseWirelessGetAAARadiusAttributesConfigurationFeatureTemplateResponseFeatureAttributes struct { + CalledStationID string `json:"calledStationId,omitempty"` // Called Station Identifier (calledStationId) } -type ResponseWirelessGetSSIDCountBySite struct { - Response *ResponseWirelessGetSSIDCountBySiteResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version +type ResponseWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplate struct { + Response *ResponseWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } -type ResponseWirelessGetSSIDCountBySiteResponse struct { - Count *int `json:"count,omitempty"` // Count of the requested resource +type ResponseWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessGetSSIDByID struct { - Response *ResponseWirelessGetSSIDByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version of the response +type ResponseWirelessDeleteAAARadiusAttributesConfigurationFeatureTemplate struct { + Response *ResponseWirelessDeleteAAARadiusAttributesConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version } -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 - - InheritedSiteNameHierarchy string `json:"inheritedSiteNameHierarchy,omitempty"` // Inherited Site Name Hierarchy - - InheritedSiteUUID string `json:"inheritedSiteUUID,omitempty"` // Inherited Site UUID +type ResponseWirelessDeleteAAARadiusAttributesConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL } -type ResponseWirelessGetSSIDByIDResponseMultipSKSettings struct { - Priority *int `json:"priority,omitempty"` // Priority - +type ResponseWirelessCreateAdvancedSSIDConfigurationFeatureTemplate struct { + Response *ResponseWirelessCreateAdvancedSSIDConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateAdvancedSSIDConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessDeleteAdvancedSSIDConfigurationFeatureTemplate struct { + Response *ResponseWirelessDeleteAdvancedSSIDConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteAdvancedSSIDConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessUpdateAdvancedSSIDConfigurationFeatureTemplate struct { + Response *ResponseWirelessUpdateAdvancedSSIDConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateAdvancedSSIDConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetAdvancedSSIDConfigurationFeatureTemplate struct { + Response *ResponseWirelessGetAdvancedSSIDConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetAdvancedSSIDConfigurationFeatureTemplateResponse struct { + DesignName string `json:"designName,omitempty"` // Design Name + FeatureAttributes *ResponseWirelessGetAdvancedSSIDConfigurationFeatureTemplateResponseFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type ResponseWirelessGetAdvancedSSIDConfigurationFeatureTemplateResponseFeatureAttributes struct { + Peer2Peerblocking string `json:"peer2peerblocking,omitempty"` // Peer-to-Peer Blocking + PassiveClient *bool `json:"passiveClient,omitempty"` // Passive Client + PredictionOptimization *bool `json:"predictionOptimization,omitempty"` // Assisted Roaming Prediction Optimization + DualBandNeighborList *bool `json:"dualBandNeighborList,omitempty"` // Neighbor List Dual Band + RadiusNacState *bool `json:"radiusNacState,omitempty"` // Network Admission Control(NAC-Radius) + DhcpRequired *bool `json:"dhcpRequired,omitempty"` // Dynamic Host Configuration Protocol (DHCP) Required + DhcpServer string `json:"dhcpServer,omitempty"` // Dynamic Host Configuration Protocol (DHCP) Server + FlexLocalAuth *bool `json:"flexLocalAuth,omitempty"` // FlexConnect Local Authentication + TargetWakeupTime *bool `json:"targetWakeupTime,omitempty"` // BSS Target Wake Up Time + DownlinkOfdma *bool `json:"downlinkOfdma,omitempty"` // Downlink orthogonal frequency-division multiple access (OFDMA) + UplinkOfdma *bool `json:"uplinkOfdma,omitempty"` // Uplink orthogonal frequency-division multiple access (OFDMA) + DownlinkMuMimo *bool `json:"downlinkMuMimo,omitempty"` // Downlink multi-user, multiple input, multiple output (MU-MIMO) + UplinkMuMimo *bool `json:"uplinkMuMimo,omitempty"` // Uplink multi-user, multiple input, multiple output (MU-MIMO) + Dot11Ax *bool `json:"dot11ax,omitempty"` // 802.11ax Status + AironetIESupport *bool `json:"aironetIESupport,omitempty"` // Aironet IE Enable + LoadBalancing *bool `json:"loadBalancing,omitempty"` // Load Balance Enable + DtimPeriod5GHz *int `json:"dtimPeriod5GHz,omitempty"` // Delivery Traffic Indication Map (DTIM) Period 5GhZ Band (1-255) + DtimPeriod24GHz *int `json:"dtimPeriod24GHz,omitempty"` // Delivery Traffic Indication Map (DTIM) Period 2.4GhZ Band (1-255) + ScanDeferTime *int `json:"scanDeferTime,omitempty"` // Scan Defer Time + MaxClients *int `json:"maxClients,omitempty"` // For physical 9800 series controllers, valid ranges are: - [0-5000] for 9800-L series - [0-32000] for 9800-40 series - [0-64000] for 9800-80 series For 9800-CL series controllers, valid ranges are: - [0-10000] for Small (S) VM - [0-32000] for Medium (M) VM - [0-64000] for Large (L) VM For Embedded Wireless Controller and Mobility Express, the valid range is [0-2000]. For the 9300 platform, the valid range is [0-4000]. For the AireOS platform, valid ranges are: - [0-3000] for 3500 series - [0-20000] for 5500 series - [0-64000] for 8500 series + MaxClientsPerRadio *int `json:"maxClientsPerRadio,omitempty"` // Max client Per AP radio Per WLAN + MaxClientsPerAp *int `json:"maxClientsPerAp,omitempty"` // Max client Per AP Per WLAN + WmmPolicy string `json:"wmmPolicy,omitempty"` // Wi-Fi Multimedia (WMM) Policy + MulticastBuffer *bool `json:"multicastBuffer,omitempty"` // Multicast Buffer Enabled + MulticastBufferValue *int `json:"multicastBufferValue,omitempty"` // Multicast Buffer Value + MediaStreamMulticastDirect *bool `json:"mediaStreamMulticastDirect,omitempty"` // Media Stream Multicast Direct + MuMimo11Ac *bool `json:"muMimo11ac,omitempty"` // multi-user, multiple input, multiple output (Mu Mimo) 11ac + WifiToCellularSteering *bool `json:"wifiToCellularSteering,omitempty"` // Wifi To Cellular Steering + WifiAllianceAgileMultiband *bool `json:"wifiAllianceAgileMultiband,omitempty"` // Wi-Fi Alliance Agile Multiband + FastlaneASR *bool `json:"fastlaneASR,omitempty"` // Fastlane Advanced Scheduling Request (ASR) + Dot11VBSSMaxIDleProtected *bool `json:"dot11vBSSMaxIdleProtected,omitempty"` // Dot11v Basic Service Set (Bss) Max Idle Protected + UniversalApAdmin *bool `json:"universalAPAdmin,omitempty"` // Universal Admin + OpportunisticKeyCaching *bool `json:"opportunisticKeyCaching,omitempty"` // Opportunistic Key Caching + IPSourceGuard *bool `json:"ipSourceGuard,omitempty"` // IP Source Guard + DhcpOpt82RemoteIDSubOption *bool `json:"dhcpOpt82RemoteIDSubOption,omitempty"` // DHCP Option82 Remote ID suboption + VLANCentralSwitching *bool `json:"vlanCentralSwitching,omitempty"` // VLAN Central Switching + CallSnooping *bool `json:"callSnooping,omitempty"` // Call Snooping + SendDisassociate *bool `json:"sendDisassociate,omitempty"` // Send Disassociate + Sent486Busy *bool `json:"sent486Busy,omitempty"` // Send 486 Busy + IPMacBinding *bool `json:"ipMacBinding,omitempty"` // IP Mac Binding + IDleThreshold *int `json:"idleThreshold,omitempty"` // Idle threshold + DeferPriority0 *bool `json:"deferPriority0,omitempty"` // Defer Priority0 + DeferPriority1 *bool `json:"deferPriority1,omitempty"` // Defer Priority1 + DeferPriority2 *bool `json:"deferPriority2,omitempty"` // Defer Priority2 + DeferPriority3 *bool `json:"deferPriority3,omitempty"` // Defer Priority3 + DeferPriority4 *bool `json:"deferPriority4,omitempty"` // Defer Priority4 + DeferPriority5 *bool `json:"deferPriority5,omitempty"` // Defer Priority5 + DeferPriority6 *bool `json:"deferPriority6,omitempty"` // Defer Priority6 + DeferPriority7 *bool `json:"deferPriority7,omitempty"` // Defer Priority7 + ShareDataWithClient *bool `json:"shareDataWithClient,omitempty"` // Share Data with Client + AdvertiseSupport *bool `json:"advertiseSupport,omitempty"` // Advertise Support + AdvertisePCanalyticsSupport *bool `json:"advertisePCAnalyticsSupport,omitempty"` // Advertise PC Analytics Support + SendBeaconOnAssociation *bool `json:"sendBeaconOnAssociation,omitempty"` // Client Scan Report On Association + SendBeaconOnRoam *bool `json:"sendBeaconOnRoam,omitempty"` // Client Scan Report On Roam + FastTransitionReassociationTimeout *int `json:"fastTransitionReassociationTimeout,omitempty"` // Reassociation Timeout time + MDNSMode string `json:"mDNSMode,omitempty"` // multicast Domain Name Services (mDNS) Mode +} +type ResponseWirelessCreateCleanAirConfigurationFeatureTemplate struct { + Response *ResponseWirelessCreateCleanAirConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateCleanAirConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessDeleteCleanAirConfigurationFeatureTemplate struct { + Response *ResponseWirelessDeleteCleanAirConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteCleanAirConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessUpdateCleanAirConfigurationFeatureTemplate struct { + Response *ResponseWirelessUpdateCleanAirConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateCleanAirConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetCleanAirConfigurationFeatureTemplate struct { + Response *ResponseWirelessGetCleanAirConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetCleanAirConfigurationFeatureTemplateResponse struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + ID string `json:"id,omitempty"` // id of the Clean Air configuration feature template + FeatureAttributes *ResponseWirelessGetCleanAirConfigurationFeatureTemplateResponseFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type ResponseWirelessGetCleanAirConfigurationFeatureTemplateResponseFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band + CleanAir *bool `json:"cleanAir,omitempty"` // Clean Air + CleanAirDeviceReporting *bool `json:"cleanAirDeviceReporting,omitempty"` // CleanAir Device Reporting + PersistentDevicePropagation *bool `json:"persistentDevicePropagation,omitempty"` // Persistent Device Propagation + Description string `json:"description,omitempty"` // CleanAir Description + InterferersFeatures *ResponseWirelessGetCleanAirConfigurationFeatureTemplateResponseFeatureAttributesInterferersFeatures `json:"interferersFeatures,omitempty"` // +} +type ResponseWirelessGetCleanAirConfigurationFeatureTemplateResponseFeatureAttributesInterferersFeatures struct { + BleBeacon *bool `json:"bleBeacon,omitempty"` // BLE Beacon is only applicable for Radio Band 2_4GHZ. + BluetoothPagingInquiry *bool `json:"bluetoothPagingInquiry,omitempty"` // Bluetooth Paging Inquiry is only applicable for Radio Band 2_4GHZ. + BluetoothScoACL *bool `json:"bluetoothScoAcl,omitempty"` // Bluetooth SCO ACL is only applicable for Radio Band 2_4GHZ. + ContinuousTransmitter *bool `json:"continuousTransmitter,omitempty"` // Continuous Transmitter is applicable for Radio Bands 2_4GHZ, 5GHZ, 6GHZ. + GenericDect *bool `json:"genericDect,omitempty"` // Generic DECT is only applicable for Radio Bands 2_4GHZ, 5GHZ. + GenericTdd *bool `json:"genericTdd,omitempty"` // Generic TDD is only applicable for Radio Band 2_4GHZ, 5GHZ. + Jammer *bool `json:"jammer,omitempty"` // Jammer is only applicable for Radio Band 2_4GHZ, 5GHZ. + MicrowaveOven *bool `json:"microwaveOven,omitempty"` // Microwave Oven is only applicable for Radio Band 2_4GHZ. + MotorolaCanopy *bool `json:"motorolaCanopy,omitempty"` // Motorola Canopy is only applicable for Radio Band 2_4GHZ, 5GHZ. + SiFhss *bool `json:"siFhss,omitempty"` // SI FHSS is only applicable for Radio Band 2_4GHZ, 5GHZ. + Spectrum80211Fh *bool `json:"spectrum80211Fh,omitempty"` // Spectrum 802.11 FH is only applicable for Radio Band 2_4GHZ. + Spectrum80211NonStandardChannel *bool `json:"spectrum80211NonStandardChannel,omitempty"` // Spectrum 802.11 Non STD Channel is only applicable for Radio Band 2_4GHZ and 5GHZ. + Spectrum802154 *bool `json:"spectrum802154,omitempty"` // Spectrum 802.15.4 is only applicable for Radio Band 2_4GHZ. + SpectrumInverted *bool `json:"spectrumInverted,omitempty"` // Spectrum Inverted is only applicable for Radio Band 2_4GHZ and 5GHZ. + SuperAg *bool `json:"superAg,omitempty"` // Super AG is only applicable for Radio Band 2_4GHZ and 5GHZ. + VideoCamera *bool `json:"videoCamera,omitempty"` // Video Camera is only applicable for Radio Band 2_4GHZ and 5GHZ. + WimaxFixed *bool `json:"wimaxFixed,omitempty"` // WiMAX Fixed is only applicable for Radio Band 2_4GHZ and 5GHZ. + WimaxMobile *bool `json:"wimaxMobile,omitempty"` // WiMAX Mobile is only applicable for Radio Band 2_4GHZ and 5GHZ. + Xbox *bool `json:"xbox,omitempty"` // Xbox is only applicable for Radio Band 2_4GHZ. +} +type ResponseWirelessCreateDot11AxConfigurationFeatureTemplate struct { + Response *ResponseWirelessCreateDot11AxConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateDot11AxConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetDot11AxConfigurationFeatureTemplate struct { + Response *ResponseWirelessGetDot11AxConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetDot11AxConfigurationFeatureTemplateResponse struct { + DesignName string `json:"designName,omitempty"` // The feature template design name + ID string `json:"id,omitempty"` // ID of the dot11ax configuration feature template + FeatureAttributes *ResponseWirelessGetDot11AxConfigurationFeatureTemplateResponseFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type ResponseWirelessGetDot11AxConfigurationFeatureTemplateResponseFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // 6 GHz radioBand is supported only on Cisco IOS-XE based Wireless Controllers running 17.7.1 and above. + BssColor *bool `json:"bssColor,omitempty"` // BSS (Basic Service Set) Color is supported on Cisco IOS-XE based Wireless Controllers running 17.1 and above. + TargetWaketimeBroadcast *bool `json:"targetWaketimeBroadcast,omitempty"` // Target Wake Time Broadcast is supported on Cisco IOS-XE based Wireless Controllers running 17.3.1 and above. + NonSRGObssPdMaxThreshold *int `json:"nonSRGObssPdMaxThreshold,omitempty"` // Non SRG Obss Pd Max Threshold is supported only on Cisco IOS-XE based Wireless Controllers running 17.4 and above. `Note:` Non SRG Obss Pd Max Threshold is only supported for radioBand 2_4GHZ and 5GHZ. + MultipleBssid *bool `json:"multipleBssid,omitempty"` // Multiple Basic service set identifiers (BSSID) is supported only on Cisco IOS-XE based Wireless Controllers running 17.7.1 and above. `Note:` Multiple Bssid is only supported for radioBand 6GHZ. + TargetWakeUpTime11Ax *bool `json:"targetWakeUpTime11ax,omitempty"` // Target Wake Up Time 11ax is supported on Cisco IOS-XE based Wireless Controllers running 17.1 and above. + ObssPd *bool `json:"obssPd,omitempty"` // Overlapping BSS Packet Detect (obssPd) is supported only on Cisco IOS-XE based Wireless Controllers running 17.4 and above. `Note:` Obss Pd is only supported for radioBand 2_4GHZ and 5GHZ. +} +type ResponseWirelessDeleteDot11AxConfigurationFeatureTemplate struct { + Response *ResponseWirelessDeleteDot11AxConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteDot11AxConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessUpdateDot11AxConfigurationFeatureTemplate struct { + Response *ResponseWirelessUpdateDot11AxConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateDot11AxConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessCreateDot11BeStatusConfigurationFeatureTemplate struct { + Response *ResponseWirelessCreateDot11BeStatusConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateDot11BeStatusConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessDeleteDot11BeStatusConfigurationFeatureTemplate struct { + Response *ResponseWirelessDeleteDot11BeStatusConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteDot11BeStatusConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessUpdateDot11BeStatusConfigurationFeatureTemplate struct { + Response *ResponseWirelessUpdateDot11BeStatusConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateDot11BeStatusConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetDot11BeStatusConfigurationFeatureTemplate struct { + Response *ResponseWirelessGetDot11BeStatusConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetDot11BeStatusConfigurationFeatureTemplateResponse struct { + DesignName string `json:"designName,omitempty"` // The feature template design name + ID string `json:"id,omitempty"` // ID of the dot11be status configuration feature template + FeatureAttributes *ResponseWirelessGetDot11BeStatusConfigurationFeatureTemplateResponseFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type ResponseWirelessGetDot11BeStatusConfigurationFeatureTemplateResponseFeatureAttributes struct { + Dot11BeStatus *bool `json:"dot11beStatus,omitempty"` // Dot11be Status is supported only on Cisco IOS-XE based Wireless Controllers running 17.15.1 and above + RadioBand string `json:"radioBand,omitempty"` // Configuring 802.11be Status will result in loss of connectivity of clients +} +type ResponseWirelessCreateEventDrivenRRMConfigurationFeatureTemplate struct { + Response *ResponseWirelessCreateEventDrivenRRMConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateEventDrivenRRMConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessDeleteEventDrivenRRMConfigurationFeatureTemplate struct { + Response *ResponseWirelessDeleteEventDrivenRRMConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteEventDrivenRRMConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetEventDrivenRRMConfigurationFeatureTemplate struct { + Response *ResponseWirelessGetEventDrivenRRMConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetEventDrivenRRMConfigurationFeatureTemplateResponse struct { + DesignName string `json:"designName,omitempty"` // The feature template design name + ID string `json:"id,omitempty"` // ID of the Event Driven RRM configuration feature template + FeatureAttributes *ResponseWirelessGetEventDrivenRRMConfigurationFeatureTemplateResponseFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type ResponseWirelessGetEventDrivenRRMConfigurationFeatureTemplateResponseFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band + EventDrivenRrmEnable *bool `json:"eventDrivenRrmEnable,omitempty"` // Event Driven Radio Resource Management (RRM) Enable, when set `true` Event Driven RRM is Enabled. + EventDrivenRrmThresholdLevel string `json:"eventDrivenRrmThresholdLevel,omitempty"` // Event Driven Radio Resource Management (RRM) Threshold Level is only supported when Event Driven RRM is `Enabled`. + EventDrivenRrmCustomThresholdVal *int `json:"eventDrivenRrmCustomThresholdVal,omitempty"` // Event Driven Radio Resource Management (RRM) Custom Threshold Val is only supported for `CUSTOM` Event Driven RRM Threshold Level. +} +type ResponseWirelessUpdateEventDrivenRRMConfigurationFeatureTemplate struct { + Response *ResponseWirelessUpdateEventDrivenRRMConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateEventDrivenRRMConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessCreateFlexConnectConfigurationFeatureTemplate struct { + Response *ResponseWirelessCreateFlexConnectConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateFlexConnectConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessUpdateFlexConnectConfigurationFeatureTemplate struct { + Response *ResponseWirelessUpdateFlexConnectConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateFlexConnectConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessDeleteFlexConnectConfigurationFeatureTemplate struct { + Response *ResponseWirelessDeleteFlexConnectConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteFlexConnectConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetFlexConnectConfigurationFeatureTemplate struct { + Response *ResponseWirelessGetFlexConnectConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetFlexConnectConfigurationFeatureTemplateResponse struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + ID string `json:"id,omitempty"` // id of the Flex Connect configuration feature template + FeatureAttributes *ResponseWirelessGetFlexConnectConfigurationFeatureTemplateResponseFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type ResponseWirelessGetFlexConnectConfigurationFeatureTemplateResponseFeatureAttributes struct { + OverlapipEnable *bool `json:"overlapIpEnable,omitempty"` // IP Overlap +} +type ResponseWirelessCreateMulticastConfigurationFeatureTemplate struct { + Response *ResponseWirelessCreateMulticastConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateMulticastConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetMulticastConfigurationFeatureTemplate struct { + Response *ResponseWirelessGetMulticastConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetMulticastConfigurationFeatureTemplateResponse struct { + DesignName string `json:"designName,omitempty"` // The feature template design name + ID string `json:"id,omitempty"` // ID of the Multicast configuration feature template + FeatureAttributes *ResponseWirelessGetMulticastConfigurationFeatureTemplateResponseFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type ResponseWirelessGetMulticastConfigurationFeatureTemplateResponseFeatureAttributes struct { + GlobalMulticastEnabled *bool `json:"globalMulticastEnabled,omitempty"` // Global Multicast Enabled. + MulticastIPv4Mode string `json:"multicastIpv4Mode,omitempty"` // Multicast Ipv4 Mode. + MulticastIPv4Address string `json:"multicastIpv4Address,omitempty"` // Multicast Ipv4 address must be between 224.0.0.0 and 239.255.255.255. Note: This is only supported when multicastIpv4Mode is set to MULTICAST. + MulticastIPv6Mode string `json:"multicastIpv6Mode,omitempty"` // Multicast Ipv6 Mode. + MulticastIPv6Address string `json:"multicastIpv6Address,omitempty"` // Multicast Ipv6 Address must start with FF[0 or 1][1,2,3,4,5,8, or E]. Note: This is only supported when multicastIpv6Mode is set to MULTICAST. +} +type ResponseWirelessDeleteMulticastConfigurationFeatureTemplate struct { + Response *ResponseWirelessDeleteMulticastConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteMulticastConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessUpdateMulticastConfigurationFeatureTemplate struct { + Response *ResponseWirelessUpdateMulticastConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateMulticastConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessCreateRRMFRAConfigurationFeatureTemplate struct { + Response *ResponseWirelessCreateRRMFRAConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateRRMFRAConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetRRMFRAConfigurationFeatureTemplate struct { + Response *ResponseWirelessGetRRMFRAConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetRRMFRAConfigurationFeatureTemplateResponse struct { + DesignName string `json:"designName,omitempty"` // The feature template design name + ID string `json:"id,omitempty"` // ID of the RRM FRA configuration feature template + FeatureAttributes *ResponseWirelessGetRRMFRAConfigurationFeatureTemplateResponseFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type ResponseWirelessGetRRMFRAConfigurationFeatureTemplateResponseFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band 5GHZ_6GHZ is supported only on Cisco IOS-XE based Wireless Controllers running 17.9.1 and above. + FraFreeze *bool `json:"fraFreeze,omitempty"` // Flexible Radio Assignment Freeze is supported only on Cisco IOS-XE based Wireless Controllers running version >= 17.6 for 2_4GHZ_5GHZ radioband and version >= 17.9 for 5GHZ_6GHZ radioband. + FraStatus *bool `json:"fraStatus,omitempty"` // Flexible Radio Assignment Status + Frainterval *int `json:"fraInterval,omitempty"` // Flexible Radio Assignment Interval. + FraSensitivity string `json:"fraSensitivity,omitempty"` // Flexible Radio Assignment Sensitivity values [HIGHER,EVEN_HIGHER and SUPER_HIGH] are supported only on Cisco IOS-XE based Wireless Controllers running 17.5 and above and FRA Sensitivity is only supported for 2_4GHZ_5GHZ radio band. +} +type ResponseWirelessUpdateRRMFRAConfigurationFeatureTemplate struct { + Response *ResponseWirelessUpdateRRMFRAConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateRRMFRAConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessDeleteRRMFRAConfigurationFeatureTemplate struct { + Response *ResponseWirelessDeleteRRMFRAConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteRRMFRAConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessCreateRRMGeneralConfigurationFeatureTemplate struct { + Response *ResponseWirelessCreateRRMGeneralConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateRRMGeneralConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessDeleteRRMGeneralConfigurationFeatureTemplate struct { + Response *ResponseWirelessDeleteRRMGeneralConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteRRMGeneralConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessUpdateRRMGeneralConfigurationFeatureTemplate struct { + Response *ResponseWirelessUpdateRRMGeneralConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateRRMGeneralConfigurationFeatureTemplateResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetRRMGeneralConfigurationFeatureTemplate struct { + Response *ResponseWirelessGetRRMGeneralConfigurationFeatureTemplateResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetRRMGeneralConfigurationFeatureTemplateResponse struct { + DesignName string `json:"designName,omitempty"` // The feature template design name + ID string `json:"id,omitempty"` // ID of the RRM FRA configuration feature template + FeatureAttributes *ResponseWirelessGetRRMGeneralConfigurationFeatureTemplateResponseFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type ResponseWirelessGetRRMGeneralConfigurationFeatureTemplateResponseFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band 2_4GHZ is supported only on Cisco IOS-XE based Wireless Controllers running 17.9.1 and above. + MonitoringChannels string `json:"monitoringChannels,omitempty"` // The monitoringChannels attribute represents the scope of monitoring channels. + NeighborDiscoverType string `json:"neighborDiscoverType,omitempty"` // The neighborDiscoverType attribute represents the type of neighbor discovery. + ThroughputThreshold *int `json:"throughputThreshold,omitempty"` // Throughput Threshold. + CoverageHoleDetection *bool `json:"coverageHoleDetection,omitempty"` // Global Coverage Hole Detection. +} +type ResponseWirelessGetFeatureTemplateSummary struct { + Response *[]ResponseWirelessGetFeatureTemplateSummaryResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetFeatureTemplateSummaryResponse struct { + Type string `json:"type,omitempty"` // Feature Template Name + Count *int `json:"count,omitempty"` // The number of feature templates for the specific Feature Template Name + Instances *[]ResponseWirelessGetFeatureTemplateSummaryResponseInstances `json:"instances,omitempty"` // +} +type ResponseWirelessGetFeatureTemplateSummaryResponseInstances struct { + DesignName string `json:"designName,omitempty"` // Feature Template Design Name + ID string `json:"id,omitempty"` // Feature Template Id + SystemTemplate *bool `json:"systemTemplate,omitempty"` // systemTemplate is set to true if the template is provided by default, meaning it cannot be modified or deleted. If the template is user-modifiable, systemTemplate is set to false. +} +type ResponseWirelessDeleteAAAOverrideVLANSettingsBySite struct { + Response *ResponseWirelessDeleteAAAOverrideVLANSettingsBySiteResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteAAAOverrideVLANSettingsBySiteResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetAAAOverrideVLANSettingsBySite struct { + Response *[]ResponseWirelessGetAAAOverrideVLANSettingsBySiteResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessGetAAAOverrideVLANSettingsBySiteResponse struct { + VLANID *int `json:"vlanId,omitempty"` // The VLAN ID is a identifier used to uniquely distinguish a Virtual Local Area Network (VLAN) within a network. + VLANName string `json:"vlanName,omitempty"` // The VLAN NAME is a label assigned to a Virtual Local Area Network (VLAN) to identify and differentiate it within a network. + InheritedSiteUUID string `json:"inheritedSiteUUID,omitempty"` // The Inherited Site UUID specifies the unique identifier of a parent site from which AAA Override VLAN is inherited + InheritedSiteNameHierarchy string `json:"inheritedSiteNameHierarchy,omitempty"` // The Inherited Site Name Hierarchy specifies the name hierarchy of a parent site from which AAA Override VLAN is inherited. +} +type ResponseWirelessUpdateAAAOverrideVLANSettingsBySite struct { + Response *ResponseWirelessUpdateAAAOverrideVLANSettingsBySiteResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateAAAOverrideVLANSettingsBySiteResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessUpdateNativeVLANSettingsBySite struct { + Response *ResponseWirelessUpdateNativeVLANSettingsBySiteResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateNativeVLANSettingsBySiteResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessDeleteNativeVLANSettingsBySite struct { + Response *ResponseWirelessDeleteNativeVLANSettingsBySiteResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessDeleteNativeVLANSettingsBySiteResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetNativeVLANSettingsBySite struct { + NativeVLANID *int `json:"nativeVlanId,omitempty"` // Native VLAN ID is used for any untagged frames. + InheritedSiteUUID string `json:"inheritedSiteUUID,omitempty"` // The Inherited Site UUID specifies the unique identifier of a parent site from which Native Vlan Id is inherited. + InheritedSiteNameHierarchy string `json:"inheritedSiteNameHierarchy,omitempty"` // The Inherited Site Name Hierarchy specifies the name hierarchy of a parent site from which Native Vlan Id is inherited. +} +type ResponseWirelessCreateSSID struct { + Response *ResponseWirelessCreateSSIDResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessCreateSSIDResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetSSIDBySite struct { + Response *[]ResponseWirelessGetSSIDBySiteResponse `json:"response,omitempty"` // + 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. Default is Basic ServiceSet ClientIdle Timeout if exists else 300. If it needs to be disabled , pass 0 as its value else valid range is [15 to 100000]. + 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. When 'wlanType' is 'Enterprise', ā€˜l3AuthType' is optional and defaults to 'open' if not specified. If 'wlanType' is 'Guest' then 'l3AuthType' is mandatory. + AuthServer string `json:"authServer,omitempty"` // For Guest SSIDs ('wlanType' is 'Guest' and 'l3AuthType' is 'web_auth'), the Authentication Server('authServer') is mandatory. Otherwise, it defaults to 'auth_external'. + 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 + IsRadiusProfilingEnabled *bool `json:"isRadiusProfilingEnabled,omitempty"` // 'true' if Radius profiling needs to be enabled, defaults to 'false' if not specified. At least one AAA/PSN server is required to enable Radius Profiling. +} +type ResponseWirelessGetSSIDBySiteResponseMultipSKSettings 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 + 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 +} +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 +} +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. Default is Basic ServiceSet ClientIdle Timeout if exists else 300. If it needs to be disabled , pass 0 as its value else valid range is [15 to 100000]. + 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. When 'wlanType' is 'Enterprise', ā€˜l3AuthType' is optional and defaults to 'open' if not specified. If 'wlanType' is 'Guest' then 'l3AuthType' is mandatory. + AuthServer string `json:"authServer,omitempty"` // For Guest SSIDs ('wlanType' is 'Guest' and 'l3AuthType' is 'web_auth'), the Authentication Server('authServer') is mandatory. Otherwise, it defaults to 'auth_external'. + 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 + IsRadiusProfilingEnabled *bool `json:"isRadiusProfilingEnabled,omitempty"` // 'true' if Radius profiling needs to be enabled, defaults to 'false' if not specified. At least one AAA/PSN server is required to enable Radius Profiling. +} +type ResponseWirelessGetSSIDByIDResponseMultipSKSettings 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 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 + Version string `json:"version,omitempty"` // Version } type ResponseWirelessUpdateOrOverridessidResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessUpdateApPnpLocationSetting struct { + Response *ResponseWirelessUpdateApPnpLocationSettingResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessUpdateApPnpLocationSettingResponse struct { + TaskID string `json:"taskId,omitempty"` // Task ID + URL string `json:"url,omitempty"` // Task URL +} +type ResponseWirelessGetApPnpLocationSetting struct { + ApPnpLocation string `json:"apPnPLocation,omitempty"` // Enable Or Disable.Once the AP PnP Location Setting is enabled, the Access Point's assigned Site name will be configured as the AP Location during the PnP Claim process. This applies only during the PnP onboarding process and not during any subsequent provisioning (dayN). } 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 ResponseWirelessGetAccessPointConfigurationCount struct { Response *ResponseWirelessGetAccessPointConfigurationCountResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version + 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"` // - + 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"` // + 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{} @@ -884,188 +1183,106 @@ 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 ResponseWirelessGetAccessPointConfiguration struct { - InstanceUUID *ResponseWirelessGetAccessPointConfigurationInstanceUUID `json:"instanceUuid,omitempty"` // - InstanceID *float64 `json:"instanceId,omitempty"` // - AuthEntityID *ResponseWirelessGetAccessPointConfigurationAuthEntityID `json:"authEntityId,omitempty"` // - DisplayName string `json:"displayName,omitempty"` // - AuthEntityClass *ResponseWirelessGetAccessPointConfigurationAuthEntityClass `json:"authEntityClass,omitempty"` // - InstanceTenantID string `json:"instanceTenantId,omitempty"` // - OrderedListOEIndex *float64 `json:"_orderedListOEIndex,omitempty"` // - OrderedListOEAssocName *ResponseWirelessGetAccessPointConfigurationOrderedListOEAssocName `json:"_orderedListOEAssocName,omitempty"` // - CreationOrderIndex *float64 `json:"_creationOrderIndex,omitempty"` // - IsBeingChanged *bool `json:"_isBeingChanged,omitempty"` // - DeployPending string `json:"deployPending,omitempty"` // - InstanceCreatedOn *ResponseWirelessGetAccessPointConfigurationInstanceCreatedOn `json:"instanceCreatedOn,omitempty"` // - InstanceUpdatedOn *ResponseWirelessGetAccessPointConfigurationInstanceUpdatedOn `json:"instanceUpdatedOn,omitempty"` // - ChangeLogList *ResponseWirelessGetAccessPointConfigurationChangeLogList `json:"changeLogList,omitempty"` // - InstanceOrigin *ResponseWirelessGetAccessPointConfigurationInstanceOrigin `json:"instanceOrigin,omitempty"` // - LazyLoadedEntities *ResponseWirelessGetAccessPointConfigurationLazyLoadedEntities `json:"lazyLoadedEntities,omitempty"` // - InstanceVersion *float64 `json:"instanceVersion,omitempty"` // - AdminStatus string `json:"adminStatus,omitempty"` // - ApHeight *float64 `json:"apHeight,omitempty"` // - ApMode string `json:"apMode,omitempty"` // - ApName string `json:"apName,omitempty"` // - EthMac string `json:"ethMac,omitempty"` // - FailoverPriority string `json:"failoverPriority,omitempty"` // - LedBrightnessLevel *int `json:"ledBrightnessLevel,omitempty"` // - LedStatus string `json:"ledStatus,omitempty"` // - Location string `json:"location,omitempty"` // - MacAddress string `json:"macAddress,omitempty"` // - PrimaryControllerName string `json:"primaryControllerName,omitempty"` // - PrimaryIPAddress string `json:"primaryIpAddress,omitempty"` // - SecondaryControllerName string `json:"secondaryControllerName,omitempty"` // - SecondaryIPAddress string `json:"secondaryIpAddress,omitempty"` // - TertiaryControllerName string `json:"tertiaryControllerName,omitempty"` // - TertiaryIPAddress string `json:"tertiaryIpAddress,omitempty"` // - MeshDTOs *[]ResponseWirelessGetAccessPointConfigurationMeshDTOs `json:"meshDTOs,omitempty"` // - RadioDTOs *[]ResponseWirelessGetAccessPointConfigurationRadioDTOs `json:"radioDTOs,omitempty"` // - InternalKey *ResponseWirelessGetAccessPointConfigurationInternalKey `json:"internalKey,omitempty"` // -} -type ResponseWirelessGetAccessPointConfigurationInstanceUUID interface{} -type ResponseWirelessGetAccessPointConfigurationAuthEntityID interface{} -type ResponseWirelessGetAccessPointConfigurationAuthEntityClass interface{} -type ResponseWirelessGetAccessPointConfigurationOrderedListOEAssocName interface{} -type ResponseWirelessGetAccessPointConfigurationInstanceCreatedOn interface{} -type ResponseWirelessGetAccessPointConfigurationInstanceUpdatedOn interface{} -type ResponseWirelessGetAccessPointConfigurationChangeLogList interface{} -type ResponseWirelessGetAccessPointConfigurationInstanceOrigin interface{} -type ResponseWirelessGetAccessPointConfigurationLazyLoadedEntities interface{} -type ResponseWirelessGetAccessPointConfigurationMeshDTOs interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOs struct { - InstanceUUID *ResponseWirelessGetAccessPointConfigurationRadioDTOsInstanceUUID `json:"instanceUuid,omitempty"` // - InstanceID *float64 `json:"instanceId,omitempty"` // - AuthEntityID *ResponseWirelessGetAccessPointConfigurationRadioDTOsAuthEntityID `json:"authEntityId,omitempty"` // - DisplayName string `json:"displayName,omitempty"` // - AuthEntityClass *ResponseWirelessGetAccessPointConfigurationRadioDTOsAuthEntityClass `json:"authEntityClass,omitempty"` // - InstanceTenantID string `json:"instanceTenantId,omitempty"` // - OrderedListOEIndex *float64 `json:"_orderedListOEIndex,omitempty"` // - OrderedListOEAssocName *ResponseWirelessGetAccessPointConfigurationRadioDTOsOrderedListOEAssocName `json:"_orderedListOEAssocName,omitempty"` // - CreationOrderIndex *float64 `json:"_creationOrderIndex,omitempty"` // - IsBeingChanged *bool `json:"_isBeingChanged,omitempty"` // - DeployPending string `json:"deployPending,omitempty"` // - InstanceCreatedOn *ResponseWirelessGetAccessPointConfigurationRadioDTOsInstanceCreatedOn `json:"instanceCreatedOn,omitempty"` // - InstanceUpdatedOn *ResponseWirelessGetAccessPointConfigurationRadioDTOsInstanceUpdatedOn `json:"instanceUpdatedOn,omitempty"` // - ChangeLogList *ResponseWirelessGetAccessPointConfigurationRadioDTOsChangeLogList `json:"changeLogList,omitempty"` // - InstanceOrigin *ResponseWirelessGetAccessPointConfigurationRadioDTOsInstanceOrigin `json:"instanceOrigin,omitempty"` // - LazyLoadedEntities *ResponseWirelessGetAccessPointConfigurationRadioDTOsLazyLoadedEntities `json:"lazyLoadedEntities,omitempty"` // - InstanceVersion *float64 `json:"instanceVersion,omitempty"` // - AdminStatus string `json:"adminStatus,omitempty"` // - AntennaAngle *float64 `json:"antennaAngle,omitempty"` // - AntennaElevAngle *float64 `json:"antennaElevAngle,omitempty"` // - AntennaGain *int `json:"antennaGain,omitempty"` // - AntennaPatternName string `json:"antennaPatternName,omitempty"` // - ChannelAssignmentMode string `json:"channelAssignmentMode,omitempty"` // - ChannelNumber *int `json:"channelNumber,omitempty"` // - ChannelWidth string `json:"channelWidth,omitempty"` // - CleanAirSI string `json:"cleanAirSI,omitempty"` // - IfType *int `json:"ifType,omitempty"` // - IfTypeValue string `json:"ifTypeValue,omitempty"` // - MacAddress string `json:"macAddress,omitempty"` // - PowerAssignmentMode string `json:"powerAssignmentMode,omitempty"` // - Powerlevel *int `json:"powerlevel,omitempty"` // - RadioBand *ResponseWirelessGetAccessPointConfigurationRadioDTOsRadioBand `json:"radioBand,omitempty"` // - RadioRoleAssignment *ResponseWirelessGetAccessPointConfigurationRadioDTOsRadioRoleAssignment `json:"radioRoleAssignment,omitempty"` // - SlotID *int `json:"slotId,omitempty"` // - InternalKey *ResponseWirelessGetAccessPointConfigurationRadioDTOsInternalKey `json:"internalKey,omitempty"` // -} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsInstanceUUID interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsAuthEntityID interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsAuthEntityClass interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsOrderedListOEAssocName interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsInstanceCreatedOn interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsInstanceUpdatedOn interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsChangeLogList interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsInstanceOrigin interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsLazyLoadedEntities interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsRadioBand interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsRadioRoleAssignment interface{} -type ResponseWirelessGetAccessPointConfigurationRadioDTOsInternalKey struct { Type string `json:"type,omitempty"` // ID *float64 `json:"id,omitempty"` // LongType string `json:"longType,omitempty"` // URL string `json:"url,omitempty"` // } -type ResponseWirelessGetAccessPointConfigurationInternalKey struct { - Type string `json:"type,omitempty"` // - ID *float64 `json:"id,omitempty"` // - LongType string `json:"longType,omitempty"` // - URL string `json:"url,omitempty"` // +type ResponseWirelessGetAccessPointConfiguration struct { + AdminStatus string `json:"adminStatus,omitempty"` // + ApHeight *float64 `json:"apHeight,omitempty"` // + ApMode string `json:"apMode,omitempty"` // + ApName string `json:"apName,omitempty"` // + EthMac string `json:"ethMac,omitempty"` // + FailoverPriority string `json:"failoverPriority,omitempty"` // + LedBrightnessLevel *int `json:"ledBrightnessLevel,omitempty"` // + LedStatus string `json:"ledStatus,omitempty"` // + Location string `json:"location,omitempty"` // + MacAddress string `json:"macAddress,omitempty"` // + PrimaryControllerName string `json:"primaryControllerName,omitempty"` // + PrimaryIPAddress string `json:"primaryIpAddress,omitempty"` // + SecondaryControllerName string `json:"secondaryControllerName,omitempty"` // + SecondaryIPAddress string `json:"secondaryIpAddress,omitempty"` // + TertiaryControllerName string `json:"tertiaryControllerName,omitempty"` // + TertiaryIPAddress string `json:"tertiaryIpAddress,omitempty"` // + MeshDTOs *[]ResponseWirelessGetAccessPointConfigurationMeshDTOs `json:"meshDTOs,omitempty"` // + Model string `json:"model,omitempty"` // AP Model + WlcIPAddress string `json:"wlcIpAddress,omitempty"` // WLC IP Address + ReachabilityStatus string `json:"reachabilityStatus,omitempty"` // Reachability Status + ManagementIPAddress string `json:"managementIpAddress,omitempty"` // Management Ip Address + ProvisioningStatus string `json:"provisioningStatus,omitempty"` // Provisioning Status + RadioDTOs *[]ResponseWirelessGetAccessPointConfigurationRadioDTOs `json:"radioDTOs,omitempty"` // +} +type ResponseWirelessGetAccessPointConfigurationMeshDTOs interface{} +type ResponseWirelessGetAccessPointConfigurationRadioDTOs struct { + IfType *int `json:"ifType,omitempty"` // + IfTypeValue string `json:"ifTypeValue,omitempty"` // If Type Value + SlotID *int `json:"slotId,omitempty"` // Slot Id + MacAddress string `json:"macAddress,omitempty"` // Mac Address + AdminStatus string `json:"adminStatus,omitempty"` // Admin Status + PowerAssignmentMode string `json:"powerAssignmentMode,omitempty"` // Power Assignment Mode + Powerlevel *int `json:"powerlevel,omitempty"` // Powerlevel + ChannelAssignmentMode string `json:"channelAssignmentMode,omitempty"` // Channel Assignment Mode + ChannelNumber *int `json:"channelNumber,omitempty"` // Channel Number + ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width + AntennaPatternName string `json:"antennaPatternName,omitempty"` // Antenna Pattern Name + AntennaAngle *int `json:"antennaAngle,omitempty"` // Antenna Angle + AntennaElevAngle *int `json:"antennaElevAngle,omitempty"` // Antenna Elev Angle + AntennaGain *int `json:"antennaGain,omitempty"` // Antenna Gain + RadioRoleAssignment *ResponseWirelessGetAccessPointConfigurationRadioDTOsRadioRoleAssignment `json:"radioRoleAssignment,omitempty"` // Radio Role Assignment + RadioBand *ResponseWirelessGetAccessPointConfigurationRadioDTOsRadioBand `json:"radioBand,omitempty"` // Radio Band + CleanAirSI string `json:"cleanAirSI,omitempty"` // Clean Air SI + DualRadioMode string `json:"dualRadioMode,omitempty"` // Dual Radio Mode } +type ResponseWirelessGetAccessPointConfigurationRadioDTOsRadioRoleAssignment interface{} +type ResponseWirelessGetAccessPointConfigurationRadioDTOsRadioBand interface{} 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 - - WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name - - PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile 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 { @@ -1103,3848 +1320,4743 @@ 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") + PowerThresholdV1 *float64 `json:"powerThresholdV1,omitempty"` // Power Threshold V1 ( (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") + PowerThresholdV1 *float64 `json:"powerThresholdV1,omitempty"` // Power Threshold V1 (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) + PowerThresholdV1 *float64 `json:"powerThresholdV1,omitempty"` // Power Threshold V1 (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 + 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 - + 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 + ID string `json:"id,omitempty"` // id + ApName string `json:"apName,omitempty"` // Name of the wireless access point + EthernetMacAddress string `json:"ethernetMacAddress,omitempty"` // Access point ethernet MAC address + NeighbourMacAddress string `json:"neighbourMacAddress,omitempty"` // Access point base radio MAC address. + WlcIPAddress string `json:"wlcIpAddress,omitempty"` // Device wireless management IP + NeighbourType string `json:"neighbourType,omitempty"` // Mesh access point neighbour type like Parent, Tentative Parent, Neigh, Blocklisted, Child. + MeshRole string `json:"meshRole,omitempty"` // Mesh access point role like MAP, RAP + NeighbourApName string `json:"neighbourApName,omitempty"` // Neighbour access point Name. If the neighbour access point is managed by Catalyst Center, its name will be displayed. Otherwise, it will not be shown. } type ResponseWirelessGetMeshApNeighboursCount struct { Response *ResponseWirelessGetMeshApNeighboursCountResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version + 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. + 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"` // + 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. - + 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 + Response *ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessControllerResponse `json:"response,omitempty"` // + 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 + 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"` // + 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 - + 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 + 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 + Response *ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessControllerResponse `json:"response,omitempty"` // + 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 ResponseWirelessWirelessControllerProvisionStatus struct { + Response *ResponseWirelessWirelessControllerProvisionStatusResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Version +} +type ResponseWirelessWirelessControllerProvisionStatusResponse struct { + NetworkDeviceID string `json:"networkDeviceId,omitempty"` // The unique identifier for the network device. + DeviceName string `json:"deviceName,omitempty"` // The name of the device. + SiteID string `json:"siteId,omitempty"` // The physical site ID. + SiteNameHierarchy string `json:"siteNameHierarchy,omitempty"` // The site name hierarchy. + NetworkIntentProvisionStatus string `json:"networkIntentProvisionStatus,omitempty"` // The provisioning status of the device for network intent provision. + ModelConfigProvisionStatus string `json:"modelConfigProvisionStatus,omitempty"` // The provisioning status of the device for model config(feature template) provision. + LastProvisionedTimeStamp string `json:"lastProvisionedTimeStamp,omitempty"` // Epoch time of last provision.'null' if 'NOT_STARTED' + OutOfSync *bool `json:"outOfSync,omitempty"` // Indicates there is a design change since last provision resulting in out of sync of settings between intent and device configuation. Please note,this does not indicate compliance difference. Will be 'false' if device's provision status is 'NOT_STARTED'. +} type ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController struct { - Response *[]ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessControllerResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Response *ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessControllerResponse `json:"response,omitempty"` // + 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"` // Wireless Profile Id - - AdditionalInterfaces []string `json:"additionalInterfaces,omitempty"` // Additional Interfaces - - ApZones *[]ResponseWirelessGetWirelessProfilesResponseApZones `json:"apZones,omitempty"` // + 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"` // + FeatureTemplates *[]ResponseWirelessGetWirelessProfilesResponseFeatureTemplates `json:"featureTemplates,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 - - AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name - - VLANGroupName string `json:"vlanGroupName,omitempty"` // VLAN Group Name + 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 + 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 ResponseWirelessGetWirelessProfilesResponseFeatureTemplates struct { + ID string `json:"id,omitempty"` // Feature Template UUID + SSIDs []string `json:"ssids,omitempty"` // List of SSIDs } 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"` // Wireless Profile Id - - AdditionalInterfaces []string `json:"additionalInterfaces,omitempty"` // Additional Interfaces - - ApZones *[]ResponseWirelessGetWirelessProfileByIDResponseApZones `json:"apZones,omitempty"` // + 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"` // + FeatureTemplates *[]ResponseWirelessGetWirelessProfileByIDResponseFeatureTemplates `json:"featureTemplates,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 - - AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name - - VLANGroupName string `json:"vlanGroupName,omitempty"` // VLAN Group Name + 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 + 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 ResponseWirelessGetWirelessProfileByIDResponseFeatureTemplates struct { + ID string `json:"id,omitempty"` // Feature Template UUID + SSIDs []string `json:"ssids,omitempty"` // List of SSIDs } 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 + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfile struct { Response *[]ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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 + 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 + 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 ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfile struct { Response *ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version + Version string `json:"version,omitempty"` // Response Version } type ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfileResponse struct { Count *int `json:"count,omitempty"` // Count of the requested resource } type ResponseWirelessDeleteASpecificPolicyTagFromAWirelessProfile struct { Response *ResponseWirelessDeleteASpecificPolicyTagFromAWirelessProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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 ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfile struct { Response *ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfileResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfile struct { Response *ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + 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 + 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 ResponseWirelessRetrieveAllSiteTagsForAWirelessProfile struct { Response *[]ResponseWirelessRetrieveAllSiteTagsForAWirelessProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + 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 + 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 ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk struct { Response *ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulkResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + 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 ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfile struct { Response *ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version + Version string `json:"version,omitempty"` // Response Version } type ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfileResponse struct { Count *int `json:"count,omitempty"` // Count of the requested resource } type ResponseWirelessUpdateASpecificSiteTagForAWirelessProfile struct { Response *ResponseWirelessUpdateASpecificSiteTagForAWirelessProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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 ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfile struct { Response *ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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 + 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 ResponseWirelessDeleteASpecificSiteTagFromAWirelessProfile struct { Response *ResponseWirelessDeleteASpecificSiteTagFromAWirelessProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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 ResponseWirelessCreateAnchorGroup struct { Response *ResponseWirelessCreateAnchorGroupResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessCreateAnchorGroupResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } 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 - + 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 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 - + 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 + PrivateIP string `json:"privateIp,omitempty"` // This indicates private management IP address } type ResponseWirelessGetCountOfAnchorGroups struct { Response *ResponseWirelessGetCountOfAnchorGroupsResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version + Version string `json:"version,omitempty"` // Response Version } type ResponseWirelessGetCountOfAnchorGroupsResponse struct { Count *int `json:"count,omitempty"` // Count of the requested resource } 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 - + 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 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 - + 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 + PrivateIP string `json:"privateIp,omitempty"` // This indicates private management IP address } type ResponseWirelessDeleteAnchorGroupByID struct { Response *ResponseWirelessDeleteAnchorGroupByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessDeleteAnchorGroupByIDResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessUpdateAnchorGroup struct { Response *ResponseWirelessUpdateAnchorGroupResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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 ResponseWirelessGetApAuthorizationLists struct { Response *ResponseWirelessGetApAuthorizationListsResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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"` // + 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 ResponseWirelessGetApAuthorizationListsResponseLocalAuthorization struct { - ApMacEntries []string `json:"apMacEntries,omitempty"` // AP Mac Addresses - + ApMacEntries []string `json:"apMacEntries,omitempty"` // AP Mac Addresses ApSerialNumberEntries []string `json:"apSerialNumberEntries,omitempty"` // AP Serial Number Entries } 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 + 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 ResponseWirelessCreateApAuthorizationList struct { Response *ResponseWirelessCreateApAuthorizationListResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessCreateApAuthorizationListResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGetApAuthorizationListCount struct { Response *ResponseWirelessGetApAuthorizationListCountResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version + Version string `json:"version,omitempty"` // Response Version } type ResponseWirelessGetApAuthorizationListCountResponse struct { Count *int `json:"count,omitempty"` // Count of the requested resource } type ResponseWirelessDeleteApAuthorizationList struct { Response *ResponseWirelessDeleteApAuthorizationListResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessDeleteApAuthorizationListResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessUpdateApAuthorizationList struct { Response *ResponseWirelessUpdateApAuthorizationListResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessUpdateApAuthorizationListResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGetApAuthorizationListByID struct { Response *ResponseWirelessGetApAuthorizationListByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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"` // + 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 ResponseWirelessGetApAuthorizationListByIDResponseLocalAuthorization struct { - ApMacEntries []string `json:"apMacEntries,omitempty"` // AP Mac Addresses - + ApMacEntries []string `json:"apMacEntries,omitempty"` // AP Mac Addresses ApSerialNumberEntries []string `json:"apSerialNumberEntries,omitempty"` // AP Serial Number Entries } 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 + 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 ResponseWirelessCreateApProfile struct { Response *ResponseWirelessCreateApProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessCreateApProfileResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGetApProfiles struct { Response *[]ResponseWirelessGetApProfilesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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. - + 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. - + 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. + 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 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. - + 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. Length must be 8-120 characters. + 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. + 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 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. + 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 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. - + 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. + RapDownlinkBackhaul string `json:"rapDownlinkBackhaul,omitempty"` // Type of downlink backhaul used. } 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"` // + 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 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. + 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. Ex: ["sunday","saturday","tuesday","wednesday","thursday","friday","monday"] + SchedulerDate []string `json:"schedulerDate,omitempty"` // Start and End date of the duration setting, applicable for MONTHLY schedulers. Values will range from 1 to 31. } type ResponseWirelessGetApProfilesCount struct { Response *ResponseWirelessGetApProfilesCountResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version + Version string `json:"version,omitempty"` // Response Version } type ResponseWirelessGetApProfilesCountResponse struct { Count *int `json:"count,omitempty"` // Count of the requested resource } type ResponseWirelessDeleteApProfileByID struct { Response *ResponseWirelessDeleteApProfileByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessDeleteApProfileByIDResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessUpdateApProfileByID struct { Response *ResponseWirelessUpdateApProfileByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessUpdateApProfileByIDResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGetApProfileByID struct { Response *[]ResponseWirelessGetApProfileByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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. - + 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. - + 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. + 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 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. - + 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. Length must be 8-120 characters. + 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. + 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 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. + 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 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. - + 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. + RapDownlinkBackhaul string `json:"rapDownlinkBackhaul,omitempty"` // Type of downlink backhaul used. } 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"` // + 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 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. + 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. Ex: ["sunday","saturday","tuesday","wednesday","thursday","friday","monday"] + SchedulerDate []string `json:"schedulerDate,omitempty"` // Start and End date of the duration setting, applicable for MONTHLY schedulers. Values will range from 1 to 31. } type ResponseWirelessGet80211BeProfiles struct { Response *[]ResponseWirelessGet80211BeProfilesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version + Version string `json:"version,omitempty"` // Response Version } 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) + 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 ResponseWirelessCreateA80211BeProfile struct { Response *ResponseWirelessCreateA80211BeProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessCreateA80211BeProfileResponse 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 + Version string `json:"version,omitempty"` // Response Version } type ResponseWirelessGet80211BeProfilesCountResponse 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 + Version string `json:"version,omitempty"` // Version } type ResponseWirelessDeleteA80211BeProfileResponse 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 + Version string `json:"version,omitempty"` // Version } type ResponseWirelessUpdate80211BeProfileResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGet80211BeProfileByID struct { Response *ResponseWirelessGet80211BeProfileByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version + Version string `json:"version,omitempty"` // Response Version } 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) + 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 ResponseWirelessGetInterfaces struct { Response *[]ResponseWirelessGetInterfacesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessGetInterfacesResponse struct { InterfaceName string `json:"interfaceName,omitempty"` // Interface Name - - VLANID *int `json:"vlanId,omitempty"` // VLAN ID - - ID string `json:"id,omitempty"` // Interface ID + VLANID *int `json:"vlanId,omitempty"` // VLAN ID + ID string `json:"id,omitempty"` // Interface ID } type ResponseWirelessCreateInterface struct { Response *ResponseWirelessCreateInterfaceResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessCreateInterfaceResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL -} -type ResponseWirelessGetInterfacesCount struct { - Response *ResponseWirelessGetInterfacesCountResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version -} -type ResponseWirelessGetInterfacesCountResponse struct { - Count *int `json:"count,omitempty"` // Count of the requested resource + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGetInterfaceByID struct { Response *ResponseWirelessGetInterfaceByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + 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 + 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 + Version string `json:"version,omitempty"` // Version } type ResponseWirelessDeleteInterfaceResponse 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 + Version string `json:"version,omitempty"` // Version } type ResponseWirelessUpdateInterfaceResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessCreatePowerProfile struct { Response *ResponseWirelessCreatePowerProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessCreatePowerProfileResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGetPowerProfiles struct { Response *[]ResponseWirelessGetPowerProfilesResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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"` // + 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 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. - + 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 ResponseWirelessGetPowerProfilesCount struct { Response *ResponseWirelessGetPowerProfilesCountResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response Version + Version string `json:"version,omitempty"` // Response Version } type ResponseWirelessGetPowerProfilesCountResponse struct { Count *int `json:"count,omitempty"` // Count of the requested resource } type ResponseWirelessDeletePowerProfileByID struct { Response *ResponseWirelessDeletePowerProfileByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessDeletePowerProfileByIDResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessUpdatePowerProfileByID struct { Response *ResponseWirelessUpdatePowerProfileByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessUpdatePowerProfileByIDResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessGetPowerProfileByID struct { Response *ResponseWirelessGetPowerProfileByIDResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } 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"` // + 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 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. - + 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 ResponseWirelessCreateRfProfile struct { Response *ResponseWirelessCreateRfProfileResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Version + Version string `json:"version,omitempty"` // Version } type ResponseWirelessCreateRfProfileResponse 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 + 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"` // - + 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 + ID string `json:"id,omitempty"` // RF Profile ID } 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"` // - + 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 + PowerThresholdV1 *int `json:"powerThresholdV1,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 + FraPropertiesA *ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesFraPropertiesA `json:"fraPropertiesA,omitempty"` // CoverageHoleDetectionProperties *ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // - - SpatialReuseProperties *ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // + SpatialReuseProperties *ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // } -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 ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesFraPropertiesA 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 ResponseWirelessGetRfProfilesResponseRadioTypeAPropertiesCoverageHoleDetectionProperties struct { - ChdClientLevel *int `json:"chdClientLevel,omitempty"` // Coverage Hole Detection Client Level - - ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold - + 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(%) + ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) } 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 + 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 - + 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 + PowerThresholdV1 *int `json:"powerThresholdV1,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"` // + 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 - + 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(%) + 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 + 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"` // - + 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 + PowerThresholdV1 *int `json:"powerThresholdV1,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 + FraPropertiesC *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesFraPropertiesC `json:"fraPropertiesC,omitempty"` // CoverageHoleDetectionProperties *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // - - SpatialReuseProperties *ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesSpatialReuseProperties `json:"spatialReuseProperties,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 + 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 - + 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 - + 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 + OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU } -type ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesFraProperties struct { - ClientResetCount *int `json:"clientResetCount,omitempty"` // Client Reset Count of 6 GHz radio band - +type ResponseWirelessGetRfProfilesResponseRadioType6GHzPropertiesFraPropertiesC 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 - + 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(%) + 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 + 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 + 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 + Version string `json:"version,omitempty"` // Version } type ResponseWirelessDeleteRfProfileResponse 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 + 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"` // - + 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 + 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"` // - + 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 + PowerThresholdV1 *int `json:"powerThresholdV1,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 + FraPropertiesA *ResponseWirelessGetRfProfileByIDResponseRadioTypeAPropertiesFraPropertiesA `json:"fraPropertiesA,omitempty"` // CoverageHoleDetectionProperties *ResponseWirelessGetRfProfileByIDResponseRadioTypeAPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // - - SpatialReuseProperties *ResponseWirelessGetRfProfileByIDResponseRadioTypeAPropertiesSpatialReuseProperties `json:"spatialReuseProperties,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 ResponseWirelessGetRfProfileByIDResponseRadioTypeAPropertiesFraPropertiesA 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 - + 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(%) + 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 + 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 - + 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 + PowerThresholdV1 *int `json:"powerThresholdV1,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"` // + 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 - + 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(%) + 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 + 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"` // - + 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 + PowerThresholdV1 *int `json:"powerThresholdV1,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 + FraPropertiesC *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesFraPropertiesC `json:"fraPropertiesC,omitempty"` // CoverageHoleDetectionProperties *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // - - SpatialReuseProperties *ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesSpatialReuseProperties `json:"spatialReuseProperties,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 + 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 - + 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 - + 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 + OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU } -type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesFraProperties struct { - ClientResetCount *int `json:"clientResetCount,omitempty"` // Client Reset Count of 6 GHz radio band - +type ResponseWirelessGetRfProfileByIDResponseRadioType6GHzPropertiesFraPropertiesC 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 - + 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(%) + 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 + 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 + Version string `json:"version,omitempty"` // Version } type ResponseWirelessUpdateRfProfileResponse struct { TaskID string `json:"taskId,omitempty"` // Task ID - - URL string `json:"url,omitempty"` // Task URL + URL string `json:"url,omitempty"` // Task URL } type ResponseWirelessRetrieveSitesWithOverriddenSSIDs struct { Response *[]ResponseWirelessRetrieveSitesWithOverriddenSSIDsResponse `json:"response,omitempty"` // - - Version string `json:"version,omitempty"` // Response version + 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"` // + 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 - + 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 + 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 + 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"` // + Version string `json:"version,omitempty"` // } type ResponseWirelessConfigureAccessPointsV2Response struct { TaskID string `json:"taskId,omitempty"` // - - URL string `json:"url,omitempty"` // + URL string `json:"url,omitempty"` // +} +type ResponseWirelessGetInterfacesCount struct { + Response *ResponseWirelessGetInterfacesCountResponse `json:"response,omitempty"` // + Version string `json:"version,omitempty"` // Response Version +} +type ResponseWirelessGetInterfacesCountResponse struct { + Count *int `json:"count,omitempty"` // Count of the requested resource } 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"` // + 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 + 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) + 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 + 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 - + 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 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 + 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 - + 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 RequestWirelessCreateAAARadiusAttributesConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessCreateAAARadiusAttributesConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessCreateAAARadiusAttributesConfigurationFeatureTemplateFeatureAttributes struct { + CalledStationID string `json:"calledStationId,omitempty"` // Called Station Identifier (calledStationId) +} +type RequestWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplateFeatureAttributes struct { + CalledStationID string `json:"calledStationId,omitempty"` // Called Station Identifier (calledStationId) +} +type RequestWirelessCreateAdvancedSSIDConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // Design Name + FeatureAttributes *RequestWirelessCreateAdvancedSSIDConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessCreateAdvancedSSIDConfigurationFeatureTemplateFeatureAttributes struct { + Peer2Peerblocking string `json:"peer2peerblocking,omitempty"` // Peer-to-Peer Blocking + PassiveClient *bool `json:"passiveClient,omitempty"` // Passive Client + PredictionOptimization *bool `json:"predictionOptimization,omitempty"` // Assisted Roaming Prediction Optimization + DualBandNeighborList *bool `json:"dualBandNeighborList,omitempty"` // Neighbor List Dual Band + RadiusNacState *bool `json:"radiusNacState,omitempty"` // Network Admission Control(NAC-Radius) + DhcpRequired *bool `json:"dhcpRequired,omitempty"` // Dynamic Host Configuration Protocol (DHCP) Required + DhcpServer string `json:"dhcpServer,omitempty"` // Dynamic Host Configuration Protocol (DHCP) Server + FlexLocalAuth *bool `json:"flexLocalAuth,omitempty"` // FlexConnect Local Authentication + TargetWakeupTime *bool `json:"targetWakeupTime,omitempty"` // BSS Target Wake Up Time + DownlinkOfdma *bool `json:"downlinkOfdma,omitempty"` // Downlink orthogonal frequency-division multiple access (OFDMA) + UplinkOfdma *bool `json:"uplinkOfdma,omitempty"` // Uplink orthogonal frequency-division multiple access (OFDMA) + DownlinkMuMimo *bool `json:"downlinkMuMimo,omitempty"` // Downlink multi-user, multiple input, multiple output (MU-MIMO) + UplinkMuMimo *bool `json:"uplinkMuMimo,omitempty"` // Uplink multi-user, multiple input, multiple output (MU-MIMO) + Dot11Ax *bool `json:"dot11ax,omitempty"` // 802.11ax Status + AironetIESupport *bool `json:"aironetIESupport,omitempty"` // Aironet IE Enable + LoadBalancing *bool `json:"loadBalancing,omitempty"` // Load Balance Enable + DtimPeriod5GHz *int `json:"dtimPeriod5GHz,omitempty"` // Delivery Traffic Indication Map (DTIM) Period 5GhZ Band (1-255) + DtimPeriod24GHz *int `json:"dtimPeriod24GHz,omitempty"` // Delivery Traffic Indication Map (DTIM) Period 2.4GhZ Band (1-255) + ScanDeferTime *int `json:"scanDeferTime,omitempty"` // Scan Defer Time + MaxClients *int `json:"maxClients,omitempty"` // For physical 9800 series controllers, valid ranges are: - [0-5000] for 9800-L series - [0-32000] for 9800-40 series - [0-64000] for 9800-80 series For 9800-CL series controllers, valid ranges are: - [0-10000] for Small (S) VM - [0-32000] for Medium (M) VM - [0-64000] for Large (L) VM For Embedded Wireless Controller and Mobility Express, the valid range is [0-2000]. For the 9300 platform, the valid range is [0-4000]. For the AireOS platform, valid ranges are: - [0-3000] for 3500 series - [0-20000] for 5500 series - [0-64000] for 8500 series + MaxClientsPerRadio *int `json:"maxClientsPerRadio,omitempty"` // Max client Per AP radio Per WLAN + MaxClientsPerAp *int `json:"maxClientsPerAp,omitempty"` // Max client Per AP Per WLAN + WmmPolicy string `json:"wmmPolicy,omitempty"` // Wi-Fi Multimedia (WMM) Policy + MulticastBuffer *bool `json:"multicastBuffer,omitempty"` // Multicast Buffer Enabled + MulticastBufferValue *int `json:"multicastBufferValue,omitempty"` // Multicast Buffer Value + MediaStreamMulticastDirect *bool `json:"mediaStreamMulticastDirect,omitempty"` // Media Stream Multicast Direct + MuMimo11Ac *bool `json:"muMimo11ac,omitempty"` // multi-user, multiple input, multiple output (Mu Mimo) 11ac + WifiToCellularSteering *bool `json:"wifiToCellularSteering,omitempty"` // Wifi To Cellular Steering + WifiAllianceAgileMultiband *bool `json:"wifiAllianceAgileMultiband,omitempty"` // Wi-Fi Alliance Agile Multiband + FastlaneASR *bool `json:"fastlaneASR,omitempty"` // Fastlane Advanced Scheduling Request (ASR) + Dot11VBSSMaxIDleProtected *bool `json:"dot11vBSSMaxIdleProtected,omitempty"` // Dot11v Basic Service Set (Bss) Max Idle Protected + UniversalApAdmin *bool `json:"universalAPAdmin,omitempty"` // Universal Admin + OpportunisticKeyCaching *bool `json:"opportunisticKeyCaching,omitempty"` // Opportunistic Key Caching + IPSourceGuard *bool `json:"ipSourceGuard,omitempty"` // IP Source Guard + DhcpOpt82RemoteIDSubOption *bool `json:"dhcpOpt82RemoteIDSubOption,omitempty"` // DHCP Option82 Remote ID suboption + VLANCentralSwitching *bool `json:"vlanCentralSwitching,omitempty"` // VLAN Central Switching + CallSnooping *bool `json:"callSnooping,omitempty"` // Call Snooping + SendDisassociate *bool `json:"sendDisassociate,omitempty"` // Send Disassociate + Sent486Busy *bool `json:"sent486Busy,omitempty"` // Send 486 Busy + IPMacBinding *bool `json:"ipMacBinding,omitempty"` // IP Mac Binding + IDleThreshold *int `json:"idleThreshold,omitempty"` // Idle threshold + DeferPriority0 *bool `json:"deferPriority0,omitempty"` // Defer Priority0 + DeferPriority1 *bool `json:"deferPriority1,omitempty"` // Defer Priority1 + DeferPriority2 *bool `json:"deferPriority2,omitempty"` // Defer Priority2 + DeferPriority3 *bool `json:"deferPriority3,omitempty"` // Defer Priority3 + DeferPriority4 *bool `json:"deferPriority4,omitempty"` // Defer Priority4 + DeferPriority5 *bool `json:"deferPriority5,omitempty"` // Defer Priority5 + DeferPriority6 *bool `json:"deferPriority6,omitempty"` // Defer Priority6 + DeferPriority7 *bool `json:"deferPriority7,omitempty"` // Defer Priority7 + ShareDataWithClient *bool `json:"shareDataWithClient,omitempty"` // Share Data with Client + AdvertiseSupport *bool `json:"advertiseSupport,omitempty"` // Advertise Support + AdvertisePCanalyticsSupport *bool `json:"advertisePCAnalyticsSupport,omitempty"` // Advertise PC Analytics Support + SendBeaconOnAssociation *bool `json:"sendBeaconOnAssociation,omitempty"` // Client Scan Report On Association + SendBeaconOnRoam *bool `json:"sendBeaconOnRoam,omitempty"` // Client Scan Report On Roam + FastTransitionReassociationTimeout *int `json:"fastTransitionReassociationTimeout,omitempty"` // Reassociation Timeout time + MDNSMode string `json:"mDNSMode,omitempty"` // multicast Domain Name Services (mDNS) Mode +} +type RequestWirelessUpdateAdvancedSSIDConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // Design Name + FeatureAttributes *RequestWirelessUpdateAdvancedSSIDConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessUpdateAdvancedSSIDConfigurationFeatureTemplateFeatureAttributes struct { + Peer2Peerblocking string `json:"peer2peerblocking,omitempty"` // Peer-to-Peer Blocking + PassiveClient *bool `json:"passiveClient,omitempty"` // Passive Client + PredictionOptimization *bool `json:"predictionOptimization,omitempty"` // Assisted Roaming Prediction Optimization + DualBandNeighborList *bool `json:"dualBandNeighborList,omitempty"` // Neighbor List Dual Band + RadiusNacState *bool `json:"radiusNacState,omitempty"` // Network Admission Control(NAC-Radius) + DhcpRequired *bool `json:"dhcpRequired,omitempty"` // Dynamic Host Configuration Protocol (DHCP) Required + DhcpServer string `json:"dhcpServer,omitempty"` // Dynamic Host Configuration Protocol (DHCP) Server + FlexLocalAuth *bool `json:"flexLocalAuth,omitempty"` // FlexConnect Local Authentication + TargetWakeupTime *bool `json:"targetWakeupTime,omitempty"` // BSS Target Wake Up Time + DownlinkOfdma *bool `json:"downlinkOfdma,omitempty"` // Downlink orthogonal frequency-division multiple access (OFDMA) + UplinkOfdma *bool `json:"uplinkOfdma,omitempty"` // Uplink orthogonal frequency-division multiple access (OFDMA) + DownlinkMuMimo *bool `json:"downlinkMuMimo,omitempty"` // Downlink multi-user, multiple input, multiple output (MU-MIMO) + UplinkMuMimo *bool `json:"uplinkMuMimo,omitempty"` // Uplink multi-user, multiple input, multiple output (MU-MIMO) + Dot11Ax *bool `json:"dot11ax,omitempty"` // 802.11ax Status + AironetIESupport *bool `json:"aironetIESupport,omitempty"` // Aironet IE Enable + LoadBalancing *bool `json:"loadBalancing,omitempty"` // Load Balance Enable + DtimPeriod5GHz *int `json:"dtimPeriod5GHz,omitempty"` // Delivery Traffic Indication Map (DTIM) Period 5GhZ Band (1-255) + DtimPeriod24GHz *int `json:"dtimPeriod24GHz,omitempty"` // Delivery Traffic Indication Map (DTIM) Period 2.4GhZ Band (1-255) + ScanDeferTime *int `json:"scanDeferTime,omitempty"` // Scan Defer Time + MaxClients *int `json:"maxClients,omitempty"` // For physical 9800 series controllers, valid ranges are: - [0-5000] for 9800-L series - [0-32000] for 9800-40 series - [0-64000] for 9800-80 series For 9800-CL series controllers, valid ranges are: - [0-10000] for Small (S) VM - [0-32000] for Medium (M) VM - [0-64000] for Large (L) VM For Embedded Wireless Controller and Mobility Express, the valid range is [0-2000]. For the 9300 platform, the valid range is [0-4000]. For the AireOS platform, valid ranges are: - [0-3000] for 3500 series - [0-20000] for 5500 series - [0-64000] for 8500 series + MaxClientsPerRadio *int `json:"maxClientsPerRadio,omitempty"` // Max client Per AP radio Per WLAN + MaxClientsPerAp *int `json:"maxClientsPerAp,omitempty"` // Max client Per AP Per WLAN + WmmPolicy string `json:"wmmPolicy,omitempty"` // Wi-Fi Multimedia (WMM) Policy + MulticastBuffer *bool `json:"multicastBuffer,omitempty"` // Multicast Buffer Enabled + MulticastBufferValue *int `json:"multicastBufferValue,omitempty"` // Multicast Buffer Value + MediaStreamMulticastDirect *bool `json:"mediaStreamMulticastDirect,omitempty"` // Media Stream Multicast Direct + MuMimo11Ac *bool `json:"muMimo11ac,omitempty"` // multi-user, multiple input, multiple output (Mu Mimo) 11ac + WifiToCellularSteering *bool `json:"wifiToCellularSteering,omitempty"` // Wifi To Cellular Steering + WifiAllianceAgileMultiband *bool `json:"wifiAllianceAgileMultiband,omitempty"` // Wi-Fi Alliance Agile Multiband + FastlaneASR *bool `json:"fastlaneASR,omitempty"` // Fastlane Advanced Scheduling Request (ASR) + Dot11VBSSMaxIDleProtected *bool `json:"dot11vBSSMaxIdleProtected,omitempty"` // Dot11v Basic Service Set (Bss) Max Idle Protected + UniversalApAdmin *bool `json:"universalAPAdmin,omitempty"` // Universal Admin + OpportunisticKeyCaching *bool `json:"opportunisticKeyCaching,omitempty"` // Opportunistic Key Caching + IPSourceGuard *bool `json:"ipSourceGuard,omitempty"` // IP Source Guard + DhcpOpt82RemoteIDSubOption *bool `json:"dhcpOpt82RemoteIDSubOption,omitempty"` // DHCP Option82 Remote ID suboption + VLANCentralSwitching *bool `json:"vlanCentralSwitching,omitempty"` // VLAN Central Switching + CallSnooping *bool `json:"callSnooping,omitempty"` // Call Snooping + SendDisassociate *bool `json:"sendDisassociate,omitempty"` // Send Disassociate + Sent486Busy *bool `json:"sent486Busy,omitempty"` // Send 486 Busy + IPMacBinding *bool `json:"ipMacBinding,omitempty"` // IP Mac Binding + IDleThreshold *int `json:"idleThreshold,omitempty"` // Idle threshold + DeferPriority0 *bool `json:"deferPriority0,omitempty"` // Defer Priority0 + DeferPriority1 *bool `json:"deferPriority1,omitempty"` // Defer Priority1 + DeferPriority2 *bool `json:"deferPriority2,omitempty"` // Defer Priority2 + DeferPriority3 *bool `json:"deferPriority3,omitempty"` // Defer Priority3 + DeferPriority4 *bool `json:"deferPriority4,omitempty"` // Defer Priority4 + DeferPriority5 *bool `json:"deferPriority5,omitempty"` // Defer Priority5 + DeferPriority6 *bool `json:"deferPriority6,omitempty"` // Defer Priority6 + DeferPriority7 *bool `json:"deferPriority7,omitempty"` // Defer Priority7 + ShareDataWithClient *bool `json:"shareDataWithClient,omitempty"` // Share Data with Client + AdvertiseSupport *bool `json:"advertiseSupport,omitempty"` // Advertise Support + AdvertisePCanalyticsSupport *bool `json:"advertisePCAnalyticsSupport,omitempty"` // Advertise PC Analytics Support + SendBeaconOnAssociation *bool `json:"sendBeaconOnAssociation,omitempty"` // Client Scan Report On Association + SendBeaconOnRoam *bool `json:"sendBeaconOnRoam,omitempty"` // Client Scan Report On Roam + FastTransitionReassociationTimeout *int `json:"fastTransitionReassociationTimeout,omitempty"` // Reassociation Timeout time + MDNSMode string `json:"mDNSMode,omitempty"` // multicast Domain Name Services (mDNS) Mode +} +type RequestWirelessCreateCleanAirConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessCreateCleanAirConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the first level attributes defined under featureAttributes. +} +type RequestWirelessCreateCleanAirConfigurationFeatureTemplateFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band + CleanAir *bool `json:"cleanAir,omitempty"` // Clean Air + CleanAirDeviceReporting *bool `json:"cleanAirDeviceReporting,omitempty"` // CleanAir Device Reporting + PersistentDevicePropagation *bool `json:"persistentDevicePropagation,omitempty"` // Persistent Device Propagation + Description string `json:"description,omitempty"` // CleanAir Description + InterferersFeatures *RequestWirelessCreateCleanAirConfigurationFeatureTemplateFeatureAttributesInterferersFeatures `json:"interferersFeatures,omitempty"` // +} +type RequestWirelessCreateCleanAirConfigurationFeatureTemplateFeatureAttributesInterferersFeatures struct { + BleBeacon *bool `json:"bleBeacon,omitempty"` // BLE Beacon is only applicable for Radio Band 2_4GHZ. + BluetoothPagingInquiry *bool `json:"bluetoothPagingInquiry,omitempty"` // Bluetooth Paging Inquiry is only applicable for Radio Band 2_4GHZ. + BluetoothScoACL *bool `json:"bluetoothScoAcl,omitempty"` // Bluetooth SCO ACL is only applicable for Radio Band 2_4GHZ. + ContinuousTransmitter *bool `json:"continuousTransmitter,omitempty"` // Continuous Transmitter is applicable for Radio Bands 2_4GHZ, 5GHZ, 6GHZ. + GenericDect *bool `json:"genericDect,omitempty"` // Generic DECT is only applicable for Radio Bands 2_4GHZ, 5GHZ. + GenericTdd *bool `json:"genericTdd,omitempty"` // Generic TDD is only applicable for Radio Band 2_4GHZ, 5GHZ. + Jammer *bool `json:"jammer,omitempty"` // Jammer is only applicable for Radio Band 2_4GHZ, 5GHZ. + MicrowaveOven *bool `json:"microwaveOven,omitempty"` // Microwave Oven is only applicable for Radio Band 2_4GHZ. + MotorolaCanopy *bool `json:"motorolaCanopy,omitempty"` // Motorola Canopy is only applicable for Radio Band 2_4GHZ, 5GHZ. + SiFhss *bool `json:"siFhss,omitempty"` // SI FHSS is only applicable for Radio Band 2_4GHZ, 5GHZ. + Spectrum80211Fh *bool `json:"spectrum80211Fh,omitempty"` // Spectrum 802.11 FH is only applicable for Radio Band 2_4GHZ. + Spectrum80211NonStandardChannel *bool `json:"spectrum80211NonStandardChannel,omitempty"` // Spectrum 802.11 Non STD Channel is only applicable for Radio Band 2_4GHZ and 5GHZ. + Spectrum802154 *bool `json:"spectrum802154,omitempty"` // Spectrum 802.15.4 is only applicable for Radio Band 2_4GHZ. + SpectrumInverted *bool `json:"spectrumInverted,omitempty"` // Spectrum Inverted is only applicable for Radio Band 2_4GHZ and 5GHZ. + SuperAg *bool `json:"superAg,omitempty"` // Super AG is only applicable for Radio Band 2_4GHZ and 5GHZ. + VideoCamera *bool `json:"videoCamera,omitempty"` // Video Camera is only applicable for Radio Band 2_4GHZ and 5GHZ. + WimaxFixed *bool `json:"wimaxFixed,omitempty"` // WiMAX Fixed is only applicable for Radio Band 2_4GHZ and 5GHZ. + WimaxMobile *bool `json:"wimaxMobile,omitempty"` // WiMAX Mobile is only applicable for Radio Band 2_4GHZ and 5GHZ. + Xbox *bool `json:"xbox,omitempty"` // Xbox is only applicable for Radio Band 2_4GHZ. +} +type RequestWirelessUpdateCleanAirConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessUpdateCleanAirConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the first level attributes defined under featureAttributes. +} +type RequestWirelessUpdateCleanAirConfigurationFeatureTemplateFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band + CleanAir *bool `json:"cleanAir,omitempty"` // Clean Air + CleanAirDeviceReporting *bool `json:"cleanAirDeviceReporting,omitempty"` // CleanAir Device Reporting + PersistentDevicePropagation *bool `json:"persistentDevicePropagation,omitempty"` // Persistent Device Propagation + Description string `json:"description,omitempty"` // CleanAir Description + InterferersFeatures *RequestWirelessUpdateCleanAirConfigurationFeatureTemplateFeatureAttributesInterferersFeatures `json:"interferersFeatures,omitempty"` // +} +type RequestWirelessUpdateCleanAirConfigurationFeatureTemplateFeatureAttributesInterferersFeatures struct { + BleBeacon *bool `json:"bleBeacon,omitempty"` // BLE Beacon is only applicable for Radio Band 2_4GHZ. + BluetoothPagingInquiry *bool `json:"bluetoothPagingInquiry,omitempty"` // Bluetooth Paging Inquiry is only applicable for Radio Band 2_4GHZ. + BluetoothScoACL *bool `json:"bluetoothScoAcl,omitempty"` // Bluetooth SCO ACL is only applicable for Radio Band 2_4GHZ. + ContinuousTransmitter *bool `json:"continuousTransmitter,omitempty"` // Continuous Transmitter is applicable for Radio Bands 2_4GHZ, 5GHZ, 6GHZ. + GenericDect *bool `json:"genericDect,omitempty"` // Generic DECT is only applicable for Radio Bands 2_4GHZ, 5GHZ. + GenericTdd *bool `json:"genericTdd,omitempty"` // Generic TDD is only applicable for Radio Band 2_4GHZ, 5GHZ. + Jammer *bool `json:"jammer,omitempty"` // Jammer is only applicable for Radio Band 2_4GHZ, 5GHZ. + MicrowaveOven *bool `json:"microwaveOven,omitempty"` // Microwave Oven is only applicable for Radio Band 2_4GHZ. + MotorolaCanopy *bool `json:"motorolaCanopy,omitempty"` // Motorola Canopy is only applicable for Radio Band 2_4GHZ, 5GHZ. + SiFhss *bool `json:"siFhss,omitempty"` // SI FHSS is only applicable for Radio Band 2_4GHZ, 5GHZ. + Spectrum80211Fh *bool `json:"spectrum80211Fh,omitempty"` // Spectrum 802.11 FH is only applicable for Radio Band 2_4GHZ. + Spectrum80211NonStandardChannel *bool `json:"spectrum80211NonStandardChannel,omitempty"` // Spectrum 802.11 Non STD Channel is only applicable for Radio Band 2_4GHZ and 5GHZ. + Spectrum802154 *bool `json:"spectrum802154,omitempty"` // Spectrum 802.15.4 is only applicable for Radio Band 2_4GHZ. + SpectrumInverted *bool `json:"spectrumInverted,omitempty"` // Spectrum Inverted is only applicable for Radio Band 2_4GHZ and 5GHZ. + SuperAg *bool `json:"superAg,omitempty"` // Super AG is only applicable for Radio Band 2_4GHZ and 5GHZ. + VideoCamera *bool `json:"videoCamera,omitempty"` // Video Camera is only applicable for Radio Band 2_4GHZ and 5GHZ. + WimaxFixed *bool `json:"wimaxFixed,omitempty"` // WiMAX Fixed is only applicable for Radio Band 2_4GHZ and 5GHZ. + WimaxMobile *bool `json:"wimaxMobile,omitempty"` // WiMAX Mobile is only applicable for Radio Band 2_4GHZ and 5GHZ. + Xbox *bool `json:"xbox,omitempty"` // Xbox is only applicable for Radio Band 2_4GHZ. +} +type RequestWirelessCreateDot11AxConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessCreateDot11AxConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessCreateDot11AxConfigurationFeatureTemplateFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // 6 GHz radioBand is supported only on Cisco IOS-XE based Wireless Controllers running 17.7.1 and above. + BssColor *bool `json:"bssColor,omitempty"` // BSS (Basic Service Set) Color is supported on Cisco IOS-XE based Wireless Controllers running 17.1 and above. + TargetWaketimeBroadcast *bool `json:"targetWaketimeBroadcast,omitempty"` // Target Wake Time Broadcast is supported on Cisco IOS-XE based Wireless Controllers running 17.3.1 and above. + NonSRGObssPdMaxThreshold *int `json:"nonSRGObssPdMaxThreshold,omitempty"` // Non SRG Obss Pd Max Threshold is supported only on Cisco IOS-XE based Wireless Controllers running 17.4 and above. `Note:` Non SRG Obss Pd Max Threshold is only supported for radioBand 2_4GHZ and 5GHZ. + MultipleBssid *bool `json:"multipleBssid,omitempty"` // Multiple Basic service set identifiers (BSSID) is supported only on Cisco IOS-XE based Wireless Controllers running 17.7.1 and above. `Note:` Multiple Bssid is only supported for radioBand 6GHZ. + TargetWakeUpTime11Ax *bool `json:"targetWakeUpTime11ax,omitempty"` // Target Wake Up Time 11ax is supported on Cisco IOS-XE based Wireless Controllers running 17.1 and above. + ObssPd *bool `json:"obssPd,omitempty"` // Overlapping BSS Packet Detect (obssPd) is supported only on Cisco IOS-XE based Wireless Controllers running 17.4 and above. `Note:` Obss Pd is only supported for radioBand 2_4GHZ and 5GHZ. +} +type RequestWirelessUpdateDot11AxConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessUpdateDot11AxConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessUpdateDot11AxConfigurationFeatureTemplateFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // 6 GHz radioBand is supported only on Cisco IOS-XE based Wireless Controllers running 17.7.1 and above. + BssColor *bool `json:"bssColor,omitempty"` // BSS (Basic Service Set) Color is supported on Cisco IOS-XE based Wireless Controllers running 17.1 and above. + TargetWaketimeBroadcast *bool `json:"targetWaketimeBroadcast,omitempty"` // Target Wake Time Broadcast is supported on Cisco IOS-XE based Wireless Controllers running 17.3.1 and above. + NonSRGObssPdMaxThreshold *int `json:"nonSRGObssPdMaxThreshold,omitempty"` // Non SRG Obss Pd Max Threshold is supported only on Cisco IOS-XE based Wireless Controllers running 17.4 and above. `Note:` Non SRG Obss Pd Max Threshold is only supported for radioBand 2_4GHZ and 5GHZ. + MultipleBssid *bool `json:"multipleBssid,omitempty"` // Multiple Basic service set identifiers (BSSID) is supported only on Cisco IOS-XE based Wireless Controllers running 17.7.1 and above. `Note:` Multiple Bssid is only supported for radioBand 6GHZ. + TargetWakeUpTime11Ax *bool `json:"targetWakeUpTime11ax,omitempty"` // Target Wake Up Time 11ax is supported on Cisco IOS-XE based Wireless Controllers running 17.1 and above. + ObssPd *bool `json:"obssPd,omitempty"` // Overlapping BSS Packet Detect (obssPd) is supported only on Cisco IOS-XE based Wireless Controllers running 17.4 and above. `Note:` Obss Pd is only supported for radioBand 2_4GHZ and 5GHZ. +} +type RequestWirelessCreateDot11BeStatusConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessCreateDot11BeStatusConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessCreateDot11BeStatusConfigurationFeatureTemplateFeatureAttributes struct { + Dot11BeStatus *bool `json:"dot11beStatus,omitempty"` // Dot11be Status is supported only on Cisco IOS-XE based Wireless Controllers running 17.15.1 and above + RadioBand string `json:"radioBand,omitempty"` // Configuring 802.11be Status will result in loss of connectivity of clients +} +type RequestWirelessUpdateDot11BeStatusConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessUpdateDot11BeStatusConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessUpdateDot11BeStatusConfigurationFeatureTemplateFeatureAttributes struct { + Dot11BeStatus *bool `json:"dot11beStatus,omitempty"` // Dot11be Status is supported only on Cisco IOS-XE based Wireless Controllers running 17.15.1 and above + RadioBand string `json:"radioBand,omitempty"` // Configuring 802.11be Status will result in loss of connectivity of clients +} +type RequestWirelessCreateEventDrivenRRMConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessCreateEventDrivenRRMConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessCreateEventDrivenRRMConfigurationFeatureTemplateFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band + EventDrivenRrmEnable *bool `json:"eventDrivenRrmEnable,omitempty"` // Event Driven Radio Resource Management (RRM) Enable, when set `true` Event Driven RRM is Enabled. + EventDrivenRrmThresholdLevel string `json:"eventDrivenRrmThresholdLevel,omitempty"` // Event Driven Radio Resource Management (RRM) Threshold Level is only supported when Event Driven RRM is `Enabled`. + EventDrivenRrmCustomThresholdVal *int `json:"eventDrivenRrmCustomThresholdVal,omitempty"` // Event Driven Radio Resource Management (RRM) Custom Threshold Val is only supported for `CUSTOM` Event Driven RRM Threshold Level. +} +type RequestWirelessUpdateEventDrivenRRMConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessUpdateEventDrivenRRMConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessUpdateEventDrivenRRMConfigurationFeatureTemplateFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band + EventDrivenRrmEnable *bool `json:"eventDrivenRrmEnable,omitempty"` // Event Driven Radio Resource Management (RRM) Enable, when set `true` Event Driven RRM is Enabled. + EventDrivenRrmThresholdLevel string `json:"eventDrivenRrmThresholdLevel,omitempty"` // Event Driven Radio Resource Management (RRM) Threshold Level is only supported when Event Driven RRM is `Enabled`. + EventDrivenRrmCustomThresholdVal *int `json:"eventDrivenRrmCustomThresholdVal,omitempty"` // Event Driven Radio Resource Management (RRM) Custom Threshold Val is only supported for `CUSTOM` Event Driven RRM Threshold Level. +} +type RequestWirelessCreateFlexConnectConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessCreateFlexConnectConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessCreateFlexConnectConfigurationFeatureTemplateFeatureAttributes struct { + OverlapipEnable *bool `json:"overlapIpEnable,omitempty"` // IP Overlap +} +type RequestWirelessUpdateFlexConnectConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessUpdateFlexConnectConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessUpdateFlexConnectConfigurationFeatureTemplateFeatureAttributes struct { + OverlapipEnable *bool `json:"overlapIpEnable,omitempty"` // IP Overlap +} +type RequestWirelessCreateMulticastConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessCreateMulticastConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessCreateMulticastConfigurationFeatureTemplateFeatureAttributes struct { + GlobalMulticastEnabled *bool `json:"globalMulticastEnabled,omitempty"` // Global Multicast Enabled. + MulticastIPv4Mode string `json:"multicastIpv4Mode,omitempty"` // Multicast Ipv4 Mode. + MulticastIPv4Address string `json:"multicastIpv4Address,omitempty"` // Multicast Ipv4 address must be between 224.0.0.0 and 239.255.255.255. Note: This is only supported when multicastIpv4Mode is set to MULTICAST. + MulticastIPv6Mode string `json:"multicastIpv6Mode,omitempty"` // Multicast Ipv6 Mode. + MulticastIPv6Address string `json:"multicastIpv6Address,omitempty"` // Multicast Ipv6 Address must start with FF[0 or 1][1,2,3,4,5,8, or E]. Note: This is only supported when multicastIpv6Mode is set to MULTICAST. +} +type RequestWirelessUpdateMulticastConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessUpdateMulticastConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessUpdateMulticastConfigurationFeatureTemplateFeatureAttributes struct { + GlobalMulticastEnabled *bool `json:"globalMulticastEnabled,omitempty"` // Global Multicast Enabled. + MulticastIPv4Mode string `json:"multicastIpv4Mode,omitempty"` // Multicast Ipv4 Mode. + MulticastIPv4Address string `json:"multicastIpv4Address,omitempty"` // Multicast Ipv4 address must be between 224.0.0.0 and 239.255.255.255. Note: This is only supported when multicastIpv4Mode is set to MULTICAST. + MulticastIPv6Mode string `json:"multicastIpv6Mode,omitempty"` // Multicast Ipv6 Mode. + MulticastIPv6Address string `json:"multicastIpv6Address,omitempty"` // Multicast Ipv6 Address must start with FF[0 or 1][1,2,3,4,5,8, or E]. Note: This is only supported when multicastIpv6Mode is set to MULTICAST. +} +type RequestWirelessCreateRRMFRAConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessCreateRRMFRAConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessCreateRRMFRAConfigurationFeatureTemplateFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band 5GHZ_6GHZ is supported only on Cisco IOS-XE based Wireless Controllers running 17.9.1 and above. + FraFreeze *bool `json:"fraFreeze,omitempty"` // Flexible Radio Assignment Freeze is supported only on Cisco IOS-XE based Wireless Controllers running version >= 17.6 for 2_4GHZ_5GHZ radioband and version >= 17.9 for 5GHZ_6GHZ radioband. + FraStatus *bool `json:"fraStatus,omitempty"` // Flexible Radio Assignment Status + Frainterval *int `json:"fraInterval,omitempty"` // Flexible Radio Assignment Interval. + FraSensitivity string `json:"fraSensitivity,omitempty"` // Flexible Radio Assignment Sensitivity values [HIGHER,EVEN_HIGHER and SUPER_HIGH] are supported only on Cisco IOS-XE based Wireless Controllers running 17.5 and above and FRA Sensitivity is only supported for 2_4GHZ_5GHZ radio band. +} +type RequestWirelessUpdateRRMFRAConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessUpdateRRMFRAConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessUpdateRRMFRAConfigurationFeatureTemplateFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band 5GHZ_6GHZ is supported only on Cisco IOS-XE based Wireless Controllers running 17.9.1 and above. + FraFreeze *bool `json:"fraFreeze,omitempty"` // Flexible Radio Assignment Freeze is supported only on Cisco IOS-XE based Wireless Controllers running version >= 17.6 for 2_4GHZ_5GHZ radioband and version >= 17.9 for 5GHZ_6GHZ radioband. + FraStatus *bool `json:"fraStatus,omitempty"` // Flexible Radio Assignment Status + Frainterval *int `json:"fraInterval,omitempty"` // Flexible Radio Assignment Interval. + FraSensitivity string `json:"fraSensitivity,omitempty"` // Flexible Radio Assignment Sensitivity values [HIGHER,EVEN_HIGHER and SUPER_HIGH] are supported only on Cisco IOS-XE based Wireless Controllers running 17.5 and above and FRA Sensitivity is only supported for 2_4GHZ_5GHZ radio band. +} +type RequestWirelessCreateRRMGeneralConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessCreateRRMGeneralConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessCreateRRMGeneralConfigurationFeatureTemplateFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band 2_4GHZ is supported only on Cisco IOS-XE based Wireless Controllers running 17.9.1 and above. + MonitoringChannels string `json:"monitoringChannels,omitempty"` // The monitoringChannels attribute represents the scope of monitoring channels. + NeighborDiscoverType string `json:"neighborDiscoverType,omitempty"` // The neighborDiscoverType attribute represents the type of neighbor discovery. + ThroughputThreshold *int `json:"throughputThreshold,omitempty"` // Throughput Threshold. + CoverageHoleDetection *bool `json:"coverageHoleDetection,omitempty"` // Global Coverage Hole Detection. +} +type RequestWirelessUpdateRRMGeneralConfigurationFeatureTemplate struct { + DesignName string `json:"designName,omitempty"` // The feature template design name. `Note:` The following characters are not allowed % & < > [ ] ' / + FeatureAttributes *RequestWirelessUpdateRRMGeneralConfigurationFeatureTemplateFeatureAttributes `json:"featureAttributes,omitempty"` // + UnlockedAttributes []string `json:"unlockedAttributes,omitempty"` // attributes unlocked in design can be changed at device provision time. `Note:` unlockedAttributes can only contain the attributes defined under featureAttributes. +} +type RequestWirelessUpdateRRMGeneralConfigurationFeatureTemplateFeatureAttributes struct { + RadioBand string `json:"radioBand,omitempty"` // Radio Band 2_4GHZ is supported only on Cisco IOS-XE based Wireless Controllers running 17.9.1 and above. + MonitoringChannels string `json:"monitoringChannels,omitempty"` // The monitoringChannels attribute represents the scope of monitoring channels. + NeighborDiscoverType string `json:"neighborDiscoverType,omitempty"` // The neighborDiscoverType attribute represents the type of neighbor discovery. + ThroughputThreshold *int `json:"throughputThreshold,omitempty"` // Throughput Threshold. + CoverageHoleDetection *bool `json:"coverageHoleDetection,omitempty"` // Global Coverage Hole Detection. +} +type RequestWirelessUpdateAAAOverrideVLANSettingsBySite []RequestItemWirelessUpdateAAAOverrideVLANSettingsBySite // Array of RequestWirelessUpdateAAAOverrideVlanSettingsBySite +type RequestItemWirelessUpdateAAAOverrideVLANSettingsBySite struct { + VLANID *int `json:"vlanId,omitempty"` // The VLAN ID is a identifier used to uniquely distinguish a Virtual Local Area Network (VLAN) within a network.Range is 1 to 4094 + VLANName string `json:"vlanName,omitempty"` // The VLAN NAME is a label assigned to a Virtual Local Area Network (VLAN) to identify and differentiate it within a network.Max allowed characters is 32 +} +type RequestWirelessUpdateNativeVLANSettingsBySite struct { + NativeVLANID *int `json:"nativeVlanId,omitempty"` // Native VLAN ID is used for any untagged frames.Range is 1 to 4094 } 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 + 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. If it needs to be disabled , pass 0 as its value else valid range is [15 to 100000]. + 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. + 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"` // L3 Authentication Type. When 'wlanType' is 'Enterprise', ā€˜l3AuthType' is optional and defaults to 'open' if not specified. If 'wlanType' is 'Guest' then 'l3AuthType' is mandatory. + AuthServer string `json:"authServer,omitempty"` // For Guest SSIDs ('wlanType' is 'Guest' and 'l3AuthType' is 'web_auth'), the Authentication Server('authServer') is mandatory. Otherwise, it defaults to 'auth_external'. + 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 + IsRadiusProfilingEnabled *bool `json:"isRadiusProfilingEnabled,omitempty"` // 'true' if Radius profiling needs to be enabled, defaults to 'false' if not specified. At least one AAA/PSN server is required to enable Radius Profiling. + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name. If 'policyProfileName' is not provided, the value of 'profileName' will be assigned to it. If 'profileName' is also not provided, an autogenerated name will be used. Autogenerated name is generated by appending ā€˜ssid’ field’s value with ā€˜_profile’ (Example : If ā€˜ssid’ = ā€˜ExampleSsid’, then autogenerated name will be ā€˜ExampleSsid_profile’). } type RequestWirelessCreateSSIDMultipSKSettings struct { - Priority *int `json:"priority,omitempty"` // Priority - + 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 + 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 + 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. If it needs to be disabled , pass 0 as its value else valid range is [15 to 100000]. + 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. + 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"` // L3 Authentication Type. When 'wlanType' is 'Enterprise', ā€˜l3AuthType' is optional and defaults to 'open' if not specified. If 'wlanType' is 'Guest' then 'l3AuthType' is mandatory. + AuthServer string `json:"authServer,omitempty"` // For Guest SSIDs ('wlanType' is 'Guest' and 'l3AuthType' is 'web_auth'), the Authentication Server('authServer') is mandatory. Otherwise, it defaults to 'auth_external'. + 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 + IsRadiusProfilingEnabled *bool `json:"isRadiusProfilingEnabled,omitempty"` // 'true' if Radius profiling needs to be enabled, defaults to 'false' if not specified. At least one AAA/PSN server is required to enable Radius Profiling. + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name. If 'policyProfileName' is not provided, the value of 'profileName' will be assigned to it. If 'profileName' is also not provided, an autogenerated name will be used. Autogenerated name is generated by appending ā€˜ssid’ field’s value with ā€˜_profile’ (Example : If ā€˜ssid’ = ā€˜ExampleSsid’, then autogenerated name will be ā€˜ExampleSsid_profile’). } type RequestWirelessUpdateSSIDMultipSKSettings struct { - Priority *int `json:"priority,omitempty"` // Priority - + 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 + 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 + 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. Default is Basic ServiceSet ClientIdle Timeout if exists else 300. If it needs to be disabled , pass 0 as its value else valid range is [15 to 100000]. + 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. + 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. When 'wlanType' is 'Enterprise', ā€˜l3AuthType' is optional and defaults to 'open' if not specified. If 'wlanType' is 'Guest' then 'l3AuthType' is mandatory. + AuthServer string `json:"authServer,omitempty"` // For Guest SSIDs ('wlanType' is 'Guest' and 'l3AuthType' is 'web_auth'), the Authentication Server('authServer') is mandatory. Otherwise, it defaults to 'auth_external'. + 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"` // 'true' if Radius profiling needs to be enabled, defaults to 'false' if not specified. At least one AAA/PSN server is required to enable Radius Profiling. + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name. +} +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 RequestWirelessUpdateApPnpLocationSetting struct { + ApPnpLocation string `json:"apPnPLocation,omitempty"` // Enable Or Disable.Once the AP PnP Location Setting is enabled, the Access Point's assigned Site name will be configured as the AP Location during the PnP Claim process. This applies only during the PnP onboarding process and not during any subsequent provisioning (dayN). +} +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"; for 6 GHz, set "RADIO6". 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". The External Antenna Gain value will be applied in 0.5 dBi increments on the controller. Therefore, the value entered will be multiplied by 2 to configure the absolute gain value. AntennaGain should be in range of 0-20. + 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") + PowerThresholdV1 *float64 `json:"powerThresholdV1,omitempty"` // Power Threshold V1 ( (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") + PowerThresholdV1 *float64 `json:"powerThresholdV1,omitempty"` // Power Threshold V1 (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) + PowerThresholdV1 *float64 `json:"powerThresholdV1,omitempty"` // Power Threshold V1 (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) + BeamState string `json:"beamState,omitempty"` // Beam State (Applicable only for CW9179F AP models) +} +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) + FeatureTemplatesOverridenAttributes *RequestWirelessWirelessControllerProvisionFeatureTemplatesOverridenAttributes `json:"featureTemplatesOverridenAttributes,omitempty"` // +} +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 RequestWirelessWirelessControllerProvisionFeatureTemplatesOverridenAttributes struct { + EditFeatureTemplates *[]RequestWirelessWirelessControllerProvisionFeatureTemplatesOverridenAttributesEditFeatureTemplates `json:"editFeatureTemplates,omitempty"` // +} +type RequestWirelessWirelessControllerProvisionFeatureTemplatesOverridenAttributesEditFeatureTemplates struct { + FeatureTemplateID string `json:"featureTemplateId,omitempty"` // Feature Template ID + Attributes *RequestWirelessWirelessControllerProvisionFeatureTemplatesOverridenAttributesEditFeatureTemplatesAttributes `json:"attributes,omitempty"` // This dynamic map should contain attribute name and overridden value of respective Feature Template whose `featureTemplateId`. List of attributes applicable to given `featureTemplateId` can be retrieved from its GET API call /dna/intent/api/v1/featureTemplates/wireless//featureTemplateId + AdditionalIDentifiers *RequestWirelessWirelessControllerProvisionFeatureTemplatesOverridenAttributesEditFeatureTemplatesAdditionalIDentifiers `json:"additionalIdentifiers,omitempty"` // + ExcludedAttributes []string `json:"excludedAttributes,omitempty"` // List of attributes which will NOT be provisioned. +} +type RequestWirelessWirelessControllerProvisionFeatureTemplatesOverridenAttributesEditFeatureTemplatesAttributes interface{} +type RequestWirelessWirelessControllerProvisionFeatureTemplatesOverridenAttributesEditFeatureTemplatesAdditionalIDentifiers struct { + WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name. This must be passed if `featureTemplateId` belongs to `Advanced SSID Configuration` Feature Template. + SiteUUID string `json:"siteUuid,omitempty"` // Site UUID. This must be provided if `featureTemplateId` belongs to `Flex Configuration` feature template. +} +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"` // + FeatureTemplates *[]RequestWirelessCreateWirelessProfileConnectivityFeatureTemplates `json:"featureTemplates,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, if not passed autogenerated profile name will be assigned. + 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 + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name. If 'policyProfileName' is not provided, the value of 'wlanProfileName' will be assigned to it. If 'profileName' is also not provided, an autogenerated name will be used. Autogenerated name is generated by appending ā€˜ssidName’ field’s value with ā€˜_profile’ (Example : If ā€˜ssidName’ = ā€˜ExampleSsid’, then autogenerated name will be ā€˜ExampleSsid_profile’). +} +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 RequestWirelessCreateWirelessProfileConnectivityFeatureTemplates struct { + ID string `json:"id,omitempty"` // Feature Template UUID + SSIDs []string `json:"ssids,omitempty"` // List of SSIDs +} +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"` // + FeatureTemplates *[]RequestWirelessUpdateWirelessProfileConnectivityFeatureTemplates `json:"featureTemplates,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, if not passed autogenerated profile name will be assigned. + 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 + PolicyProfileName string `json:"policyProfileName,omitempty"` // Policy Profile Name. If 'policyProfileName' is not provided, the value of 'wlanProfileName' will be assigned to it. If 'profileName' is also not provided, an autogenerated name will be used. Autogenerated name is generated by appending ā€˜ssidName’ field’s value with ā€˜_profile’ (Example : If ā€˜ssidName’ = ā€˜ExampleSsid’, then autogenerated name will be ā€˜ExampleSsid_profile’). +} +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 RequestWirelessUpdateWirelessProfileConnectivityFeatureTemplates struct { + ID string `json:"id,omitempty"` // Feature Template UUID + SSIDs []string `json:"ssids,omitempty"` // List of SSIDs +} +type RequestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk struct { + Items *[][]string `json:"items,omitempty"` // +} +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"` // +} +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. Length must be 8-120 characters. + 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. Ex: ["sunday","saturday","tuesday","wednesday","thursday","friday","monday"] + SchedulerDate []string `json:"schedulerDate,omitempty"` // Start and End date of the duration setting, applicable for MONTHLY schedulers. Values must be between 1 and 31. +} +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. Length must be 8-120 characters. + 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. Ex: ["sunday","saturday","tuesday","wednesday","thursday","friday","monday"] + SchedulerDate []string `json:"schedulerDate,omitempty"` // Start and End date of the duration setting, applicable for MONTHLY schedulers. Values must be between 1 and 31. +} +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 + PowerThresholdV1 *int `json:"powerThresholdV1,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 + FraPropertiesA *RequestWirelessCreateRfProfileRadioTypeAPropertiesFraPropertiesA `json:"fraPropertiesA,omitempty"` // + CoverageHoleDetectionProperties *RequestWirelessCreateRfProfileRadioTypeAPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + SpatialReuseProperties *RequestWirelessCreateRfProfileRadioTypeAPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type RequestWirelessCreateRfProfileRadioTypeAPropertiesFraPropertiesA 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 + PowerThresholdV1 *int `json:"powerThresholdV1,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 + PowerThresholdV1 *int `json:"powerThresholdV1,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 + FraPropertiesC *RequestWirelessCreateRfProfileRadioType6GHzPropertiesFraPropertiesC `json:"fraPropertiesC,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 RequestWirelessCreateRfProfileRadioType6GHzPropertiesFraPropertiesC 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 + PowerThresholdV1 *int `json:"powerThresholdV1,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 + FraPropertiesA *RequestWirelessUpdateRfProfileRadioTypeAPropertiesFraPropertiesA `json:"fraPropertiesA,omitempty"` // + CoverageHoleDetectionProperties *RequestWirelessUpdateRfProfileRadioTypeAPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + SpatialReuseProperties *RequestWirelessUpdateRfProfileRadioTypeAPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // +} +type RequestWirelessUpdateRfProfileRadioTypeAPropertiesFraPropertiesA 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 + PowerThresholdV1 *int `json:"powerThresholdV1,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 + PowerThresholdV1 *int `json:"powerThresholdV1,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 + FraPropertiesC *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesFraPropertiesC `json:"fraPropertiesC,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 RequestWirelessUpdateRfProfileRadioType6GHzPropertiesFraPropertiesC 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"; for 6 GHz, set "RADIO6". 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". The External Antenna Gain value will be applied in 0.5 dBi increments on the controller. Therefore, the value entered will be multiplied by 2 to configure the absolute gain value. AntennaGain should be in range of 0-20. + 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". +} - L3AuthType string `json:"l3AuthType,omitempty"` // L3 Authentication Type +//SensorTestResults Sensor Test Results - 87ae-7b21-4f0b-a838 +/* Intent API to get SENSOR test result summary - 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) +@param SensorTestResultsQueryParams Filtering parameter - 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 +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" - SleepingClientEnable *bool `json:"sleepingClientEnable,omitempty"` // When set to true, this will activate the timeout settings that apply to clients in sleep mode + queryString, _ := query.Values(SensorTestResultsQueryParams) - 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 + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessSensorTestResults{}). + SetError(&Error). + Get(path) - ACLName string `json:"aclName,omitempty"` // Pre-Auth Access Control List (ACL) Name + if err != nil { + return nil, nil, err - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.SensorTestResults(SensorTestResultsQueryParams) + } + return nil, response, fmt.Errorf("error with operation SensorTestResults") + } - IsAuthKeySuiteB1921X *bool `json:"isAuthKeySuiteB1921x,omitempty"` // When set to true, the SuiteB192-1x authentication key feature is enabled. + result := response.Result().(*ResponseWirelessSensorTestResults) + return result, response, err - 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. +//GetAccessPointRebootTaskResult Get Access Point Reboot task result - c4b5-e9ce-460a-a8a3 +/* Users can query the access point reboot status using this intent API - 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 +@param GetAccessPointRebootTaskResultQueryParams Filtering parameter - CckmTsfTolerance *int `json:"cckmTsfTolerance,omitempty"` // The default value is the Cckm Timestamp Tolerance (in milliseconds, if specified); otherwise, it is 0. +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" - IsCckmEnabled *bool `json:"isCckmEnabled,omitempty"` // True if CCKM is enabled, else False + queryString, _ := query.Values(GetAccessPointRebootTaskResultQueryParams) - IsHex *bool `json:"isHex,omitempty"` // True if passphrase is in Hex format, else False. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointRebootTaskResult{}). + SetError(&Error). + Get(path) - IsRandomMacFilterEnabled *bool `json:"isRandomMacFilterEnabled,omitempty"` // Deny clients using randomized MAC addresses when set to true + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAccessPointRebootTaskResult(GetAccessPointRebootTaskResultQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAccessPointRebootTaskResult") + } - PassphraseType string `json:"passphraseType,omitempty"` // Passphrase Type(default:ASCII) + result := response.Result().(*ResponseWirelessGetAccessPointRebootTaskResult) + return result, response, err - 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". +//GetEnterpriseSSID Get Enterprise SSID - cca5-19ba-45eb-b423 +/* Get Enterprise SSID - 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. +@param GetEnterpriseSSIDQueryParams Filtering parameter - ConfigureLedBrightnessLevel *bool `json:"configureLedBrightnessLevel,omitempty"` // To change the access point's LED brightness level, set this parameter's value to "true". +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" - LedBrightnessLevel *int `json:"ledBrightnessLevel,omitempty"` // Configure the access point's LED brightness level by setting a value between 1 and 8. + queryString, _ := query.Values(GetEnterpriseSSIDQueryParams) - ConfigureLocation *bool `json:"configureLocation,omitempty"` // To change the access point's location, set this parameter's value to "true". + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetEnterpriseSSID{}). + SetError(&Error). + Get(path) - Location string `json:"location,omitempty"` // Configure the access point's location. + if err != nil { + return nil, nil, err - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetEnterpriseSSID(GetEnterpriseSSIDQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetEnterpriseSsid") + } - PrimaryIPAddress *RequestWirelessConfigureAccessPointsPrimaryIPAddress `json:"primaryIpAddress,omitempty"` // + result := response.Result().(*ResponseWirelessGetEnterpriseSSID) + return result, response, err - SecondaryControllerName string `json:"secondaryControllerName,omitempty"` // Configure the hostname for an access point's secondary controller. +} - SecondaryIPAddress *RequestWirelessConfigureAccessPointsSecondaryIPAddress `json:"secondaryIpAddress,omitempty"` // +//GetAAARadiusAttributesConfigurationFeatureTemplate Get AAA Radius Attributes Configuration Feature Template - 2e83-1bfe-489a-a1a6 +/* This API allows users to retrieve a specific AAA Radius Attributes configuration feature template by ID. - TertiaryControllerName string `json:"tertiaryControllerName,omitempty"` // Configure the hostname for an access point's tertiary controller. - TertiaryIPAddress *RequestWirelessConfigureAccessPointsTertiaryIPAddress `json:"tertiaryIpAddress,omitempty"` // +@param id id path parameter. AAA Radius Attributes Configuration Feature Template Id - 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. +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-aaa-radius-attributes-configuration-feature-template +*/ +func (s *WirelessService) GetAAARadiusAttributesConfigurationFeatureTemplate(id string) (*ResponseWirelessGetAAARadiusAttributesConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/aaaRadiusAttributesConfigurations/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - MacAddress string `json:"macAddress,omitempty"` // The ethernet MAC address of the access point. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetAAARadiusAttributesConfigurationFeatureTemplate{}). + SetError(&Error). + Get(path) - 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". + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAAARadiusAttributesConfigurationFeatureTemplate(id) + } + return nil, response, fmt.Errorf("error with operation GetAaaRadiusAttributesConfigurationFeatureTemplate") + } - 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". + result := response.Result().(*ResponseWirelessGetAAARadiusAttributesConfigurationFeatureTemplate) + return result, response, err - 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". +//GetAdvancedSSIDConfigurationFeatureTemplate Get Advanced SSID Configuration Feature Template - a591-18d0-4008-9810 +/* This API allows users to retrieve a specific Advanced SSID configuration feature template by ID. - 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". +@param id id path parameter. Advanced SSID Configuration Feature Template Id - 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". +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-advanced-ssid-configuration-feature-template +*/ +func (s *WirelessService) GetAdvancedSSIDConfigurationFeatureTemplate(id string) (*ResponseWirelessGetAdvancedSSIDConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/advancedSSIDConfigurations/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - CableLoss *float64 `json:"cableLoss,omitempty"` // Configure the cable loss on the specified radio for an access point by setting a decimal value (in dBi). + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetAdvancedSSIDConfigurationFeatureTemplate{}). + SetError(&Error). + Get(path) - ConfigureChannel *bool `json:"configureChannel,omitempty"` // To change the channel on the specified radio for an access point, set this parameter's value to "true". + if err != nil { + return nil, nil, err - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAdvancedSSIDConfigurationFeatureTemplate(id) + } + return nil, response, fmt.Errorf("error with operation GetAdvancedSsidConfigurationFeatureTemplate") + } - 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". + result := response.Result().(*ResponseWirelessGetAdvancedSSIDConfigurationFeatureTemplate) + return result, response, err - 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". +//GetCleanAirConfigurationFeatureTemplate Get CleanAir Configuration Feature Template - aead-186e-4748-ab99 +/* This API allows users to retrieve a specific CleanAir configuration feature template by ID. - 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. +@param id id path parameter. Clean Air Configuration Feature Template Id - 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. +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-clean-air-configuration-feature-template +*/ +func (s *WirelessService) GetCleanAirConfigurationFeatureTemplate(id string) (*ResponseWirelessGetCleanAirConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/cleanAirConfigurations/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - 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 + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetCleanAirConfigurationFeatureTemplate{}). + SetError(&Error). + Get(path) - DeviceName string `json:"deviceName,omitempty"` // Device name + if err != nil { + return nil, nil, err - CustomApGroupName string `json:"customApGroupName,omitempty"` // Custom AP group name + } - CustomFlexGroupName []string `json:"customFlexGroupName,omitempty"` // ["Custom flex group name"] + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetCleanAirConfigurationFeatureTemplate(id) + } + return nil, response, fmt.Errorf("error with operation GetCleanAirConfigurationFeatureTemplate") + } - Type string `json:"type,omitempty"` // ApWirelessConfiguration + result := response.Result().(*ResponseWirelessGetCleanAirConfigurationFeatureTemplate) + return result, response, err - 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 +//GetDot11AxConfigurationFeatureTemplate Get Dot11ax Configuration Feature Template - 9a80-6be2-42e9-babe +/* This API allows users to retrieve a specific Dot11ax configuration feature template by ID. - 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 +@param id id path parameter. Dot11ax Configuration Feature Template Id - EnableFabric *bool `json:"enableFabric,omitempty"` // true if ssid is fabric else false - FlexConnect *RequestWirelessUpdateWirelessProfileProfileDetailsSSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-dot11ax-configuration-feature-template +*/ +func (s *WirelessService) GetDot11AxConfigurationFeatureTemplate(id string) (*ResponseWirelessGetDot11AxConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/dot11axConfigurations/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetDot11AxConfigurationFeatureTemplate{}). + SetError(&Error). + Get(path) - WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDot11AxConfigurationFeatureTemplate(id) + } + return nil, response, fmt.Errorf("error with operation GetDot11AxConfigurationFeatureTemplate") + } - Sites []string `json:"sites,omitempty"` // array of site name hierarchies(eg: ["Global/aaa/zzz", "Global/aaa/zzz"]) + result := response.Result().(*ResponseWirelessGetDot11AxConfigurationFeatureTemplate) + return result, response, err - 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"` // +//GetDot11BeStatusConfigurationFeatureTemplate Get Dot11be Status Configuration Feature Template - 8fac-38d7-4cbb-8396 +/* This API allows users to retrieve a specific Dot11be status configuration feature template by ID. - 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 +@param id id path parameter. Dot11be Status Configuration Feature Template Id - 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) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-dot11be-status-configuration-feature-template +*/ +func (s *WirelessService) GetDot11BeStatusConfigurationFeatureTemplate(id string) (*ResponseWirelessGetDot11BeStatusConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/dot11beStatusConfigurations/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - DynamicInterfaces *[]RequestItemWirelessProvisionUpdateDynamicInterfaces `json:"dynamicInterfaces,omitempty"` // -} -type RequestItemWirelessProvisionUpdateDynamicInterfaces struct { - InterfaceIPAddress string `json:"interfaceIPAddress,omitempty"` // Interface IP Address. Required for AireOS. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetDot11BeStatusConfigurationFeatureTemplate{}). + SetError(&Error). + Get(path) - InterfaceNetmaskInCIDR *int `json:"interfaceNetmaskInCIDR,omitempty"` // Interface Netmask In CIDR. Required for AireOS. + if err != nil { + return nil, nil, err - InterfaceGateway string `json:"interfaceGateway,omitempty"` // Interface Gateway. Required for AireOS. + } - LagOrPortNumber *int `json:"lagOrPortNumber,omitempty"` // Lag Or Port Number. Required for AireOS. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDot11BeStatusConfigurationFeatureTemplate(id) + } + return nil, response, fmt.Errorf("error with operation GetDot11BeStatusConfigurationFeatureTemplate") + } - VLANID *int `json:"vlanId,omitempty"` // VLAN ID. Required for AireOS and EWLC. + result := response.Result().(*ResponseWirelessGetDot11BeStatusConfigurationFeatureTemplate) + return result, response, err - 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 +//GetEventDrivenRRMConfigurationFeatureTemplate Get Event Driven RRM Configuration Feature Template - 5dbb-8821-44fb-86bc +/* This API allows users to retrieve a specific Event Driven RRM configuration feature template by ID. - 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. +@param id id path parameter. Event Driven RRM Configuration Feature Template Id - InterfaceNetmaskInCIDR *int `json:"interfaceNetmaskInCIDR,omitempty"` // Interface Netmask In CIDR. Required for AireOS. - InterfaceGateway string `json:"interfaceGateway,omitempty"` // Interface Gateway. Required for AireOS. +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-event-driven-r-r-m-configuration-feature-template +*/ +func (s *WirelessService) GetEventDrivenRRMConfigurationFeatureTemplate(id string) (*ResponseWirelessGetEventDrivenRRMConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/eventDrivenRRMConfigurations/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - LagOrPortNumber *int `json:"lagOrPortNumber,omitempty"` // Lag Or Port Number. Required for AireOS. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetEventDrivenRRMConfigurationFeatureTemplate{}). + SetError(&Error). + Get(path) - VLANID *int `json:"vlanId,omitempty"` // VLAN ID. Required for both AireOS and EWLC. + if err != nil { + return nil, nil, err - 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/...) + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetEventDrivenRRMConfigurationFeatureTemplate(id) + } + return nil, response, fmt.Errorf("error with operation GetEventDrivenRRMConfigurationFeatureTemplate") + } - PassPhrase string `json:"passPhrase,omitempty"` // Pass phrase (create/update) + result := response.Result().(*ResponseWirelessGetEventDrivenRRMConfigurationFeatureTemplate) + return result, response, err - 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 +//GetFlexConnectConfigurationFeatureTemplate Get Flex Connect Configuration Feature Template - 8393-e8a7-427a-8bdb +/* This API allows users to retrieve a specific Flex Connect configuration feature template by ID. - EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // Enable Radio Type A - EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // Enable Radio Type B +@param id id path parameter. Flex Connect Configuration Feature Template Id - ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width - EnableCustom *bool `json:"enableCustom,omitempty"` // Enable Custom +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-flex-connect-configuration-feature-template +*/ +func (s *WirelessService) GetFlexConnectConfigurationFeatureTemplate(id string) (*ResponseWirelessGetFlexConnectConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/flexConnectConfigurations/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - EnableBrownField *bool `json:"enableBrownField,omitempty"` // Enable Brown Field + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetFlexConnectConfigurationFeatureTemplate{}). + SetError(&Error). + Get(path) - RadioTypeAProperties *RequestWirelessCreateOrUpdateRfProfileRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // + if err != nil { + return nil, nil, err - RadioTypeBProperties *RequestWirelessCreateOrUpdateRfProfileRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // + } - RadioTypeCProperties *RequestWirelessCreateOrUpdateRfProfileRadioTypeCProperties `json:"radioTypeCProperties,omitempty"` // + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetFlexConnectConfigurationFeatureTemplate(id) + } + return nil, response, fmt.Errorf("error with operation GetFlexConnectConfigurationFeatureTemplate") + } + + result := response.Result().(*ResponseWirelessGetFlexConnectConfigurationFeatureTemplate) + return result, response, err - 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") +//GetMulticastConfigurationFeatureTemplate Get Multicast Configuration Feature Template - 71a9-9b8c-47eb-80cf +/* This API allows users to retrieve a specific Multicast configuration feature template by ID. - 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") +@param id id path parameter. Multicast Configuration Feature Template Id - PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold ( (Default: -70) - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-multicast-configuration-feature-template +*/ +func (s *WirelessService) GetMulticastConfigurationFeatureTemplate(id string) (*ResponseWirelessGetMulticastConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/multicastConfigurations/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Rx Sop Threshold (Default: -10) + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetMulticastConfigurationFeatureTemplate{}). + SetError(&Error). + Get(path) - MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) -} -type RequestWirelessCreateOrUpdateRfProfileRadioTypeBProperties struct { - ParentProfile string `json:"parentProfile,omitempty"` // Parent Profile (Default : CUSTOM) + if err != nil { + return nil, nil, err - 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") + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetMulticastConfigurationFeatureTemplate(id) + } + return nil, response, fmt.Errorf("error with operation GetMulticastConfigurationFeatureTemplate") + } - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "12") + result := response.Result().(*ResponseWirelessGetMulticastConfigurationFeatureTemplate) + return result, response, err - PowerThreshold *float64 `json:"powerThreshold,omitempty"` // Power Threshold (Default: -70) +} - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") +//GetRRMFRAConfigurationFeatureTemplate Get RRM FRA Configuration Feature Template - 1d86-7818-440b-b345 +/* This API allows users to retrieve a specific RRM FRA configuration feature template by ID. - 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) +@param id id path parameter. RRM FRA Configuration Feature Template Id - 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") +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-r-r-m-f-r-a-configuration-feature-template +*/ +func (s *WirelessService) GetRRMFRAConfigurationFeatureTemplate(id string) (*ResponseWirelessGetRRMFRAConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/rrmFraConfigurations/{id}" + path = strings.Replace(path, "{id}", fmt.Sprintf("%v", id), -1) - MandatoryDataRates string `json:"mandatoryDataRates,omitempty"` // Mandatory Data Rates (Default: "6,12,24") + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetRRMFRAConfigurationFeatureTemplate{}). + SetError(&Error). + Get(path) - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // Rx Sop Threshold (Default: "AUTO") + if err != nil { + return nil, nil, err - MinPowerLevel *float64 `json:"minPowerLevel,omitempty"` // Min Power Level (Default: -10) + } - MaxPowerLevel *float64 `json:"maxPowerLevel,omitempty"` // Max Power Level (Default: 30) + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetRRMFRAConfigurationFeatureTemplate(id) + } + return nil, response, fmt.Errorf("error with operation GetRRMFRAConfigurationFeatureTemplate") + } - 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. + result := response.Result().(*ResponseWirelessGetRRMFRAConfigurationFeatureTemplate) + return result, response, err - 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. +//GetRRMGeneralConfigurationFeatureTemplate Get RRM General Configuration Feature Template - d9a1-c998-436b-bb05 +/* This API allows users to retrieve a specific RRM General configuration feature template by ID. - 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 +@param id id path parameter. Multicast Configuration Feature Template Id - 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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-r-r-m-general-configuration-feature-template +*/ +func (s *WirelessService) GetRRMGeneralConfigurationFeatureTemplate(id string) (*ResponseWirelessGetRRMGeneralConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/rrmGeneralConfigurations/{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(&ResponseWirelessGetRRMGeneralConfigurationFeatureTemplate{}). + SetError(&Error). + Get(path) - ManagementIP string `json:"managementIp,omitempty"` // Self device wireless Management IP. + if err != nil { + return nil, nil, err - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetRRMGeneralConfigurationFeatureTemplate(id) + } + return nil, response, fmt.Errorf("error with operation GetRRMGeneralConfigurationFeatureTemplate") + } - 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. + result := response.Result().(*ResponseWirelessGetRRMGeneralConfigurationFeatureTemplate) + return result, response, err - 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. +//GetFeatureTemplateSummary Get Feature Template Summary - 268f-9b81-4379-a009 +/* This API allows users to retrieve the feature template summary. - 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. +@param GetFeatureTemplateSummaryQueryParams Filtering parameter - MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Peer Device mobility group Name. Must be alphanumeric without {!,<,space,?/'}
and maximum of 31 characters. +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-feature-template-summary +*/ +func (s *WirelessService) GetFeatureTemplateSummary(GetFeatureTemplateSummaryQueryParams *GetFeatureTemplateSummaryQueryParams) (*ResponseWirelessGetFeatureTemplateSummary, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/summary" - MemberMacAddress string `json:"memberMacAddress,omitempty"` // Peer device mobility MAC Address. Allowed formats are: 0a0b.0c01.0211, 0a0b0c010211, 0a:0b:0c:01:02:11 + queryString, _ := query.Values(GetFeatureTemplateSummaryQueryParams) - DeviceSeries string `json:"deviceSeries,omitempty"` // Indicates peer device mobility belongs to AireOS or IOX-XE family. 0 - indicates AireOS and 1 - indicates C9800. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetFeatureTemplateSummary{}). + SetError(&Error). + Get(path) - 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 + if err != nil { + return nil, nil, err + + } + + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetFeatureTemplateSummary(GetFeatureTemplateSummaryQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetFeatureTemplateSummary") + } + + result := response.Result().(*ResponseWirelessGetFeatureTemplateSummary) + return result, response, err - 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 +//GetAAAOverrideVLANSettingsBySite Get AAA Override Vlan Settings By Site - 14b2-bb29-46e9-9322 +/* This API allows the user to get all Flex Connect AAA Override VLAN settings at the given site - 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}' +@param siteID siteId path parameter. Site Id - 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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-aaa-override-vlan-settings-by-site +*/ +func (s *WirelessService) GetAAAOverrideVLANSettingsBySite(siteID string) (*ResponseWirelessGetAAAOverrideVLANSettingsBySite, *resty.Response, error) { + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/flexConnectAaaOverride" + 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(&ResponseWirelessGetAAAOverrideVLANSettingsBySite{}). + SetError(&Error). + Get(path) - InterfaceIPAddress string `json:"interfaceIPAddress,omitempty"` // Interface IP Address + if err != nil { + return nil, nil, err - InterfaceNetmaskInCIDR *int `json:"interfaceNetmaskInCIDR,omitempty"` // Interface Netmask In CIDR, range is 1-30 + } - InterfaceGateway string `json:"interfaceGateway,omitempty"` // Interface Gateway + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAAAOverrideVLANSettingsBySite(siteID) + } + return nil, response, fmt.Errorf("error with operation GetAaaOverrideVlanSettingsBySite") + } - 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 + result := response.Result().(*ResponseWirelessGetAAAOverrideVLANSettingsBySite) + return result, response, err - 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"` // +//GetNativeVLANSettingsBySite Get Native Vlan Settings By Site - 57bd-e815-42d8-964a +/* This API allows the user to get all Native VLAN Settings at the given site. The default value of the native VLAN on the device is 1 when nothing is explicitly set. - 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 +@param siteID siteId path parameter. Site Id - 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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-native-vlan-settings-by-site +*/ +func (s *WirelessService) GetNativeVLANSettingsBySite(siteID string) (*ResponseWirelessGetNativeVLANSettingsBySite, *resty.Response, error) { + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/flexConnectNativeVlan" + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) - WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetNativeVLANSettingsBySite{}). + SetError(&Error). + Get(path) - InterfaceName string `json:"interfaceName,omitempty"` // Interface Name. + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetNativeVLANSettingsBySite(siteID) + } + return nil, response, fmt.Errorf("error with operation GetNativeVlanSettingsBySite") + } - 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 + result := response.Result().(*ResponseWirelessGetNativeVLANSettingsBySite) + return result, response, err - 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 +//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 - 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"` // +@param siteID siteId path parameter. Site UUID - 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 +@param GetSSIDBySiteQueryParams Filtering parameter - ApZones *[]RequestWirelessUpdateWirelessProfileConnectivityApZones `json:"apZones,omitempty"` // -} -type RequestWirelessUpdateWirelessProfileConnectivitySSIDDetails struct { - SSIDName string `json:"ssidName,omitempty"` // SSID Name +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) - FlexConnect *RequestWirelessUpdateWirelessProfileConnectivitySSIDDetailsFlexConnect `json:"flexConnect,omitempty"` // + queryString, _ := query.Values(GetSSIDBySiteQueryParams) - 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 + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDBySite{}). + SetError(&Error). + Get(path) - WLANProfileName string `json:"wlanProfileName,omitempty"` // WLAN Profile Name + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSSIDBySite(siteID, GetSSIDBySiteQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSsidBySite") + } - AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name + result := response.Result().(*ResponseWirelessGetSSIDBySite) + return result, response, err - 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 +//GetSSIDCountBySite Get SSID Count by Site - 52ae-589a-48ab-9116 +/* This API allows the user to get count of all SSIDs (Service Set Identifier) . - 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 +@param siteID siteId path parameter. Site UUID - PolicyTagName string `json:"policyTagName,omitempty"` // Policy Tag Name +@param GetSSIDCountBySiteQueryParams Filtering parameter - 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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-count-by-site +*/ +func (s *WirelessService) GetSSIDCountBySite(siteID string, GetSSIDCountBySiteQueryParams *GetSSIDCountBySiteQueryParams) (*ResponseWirelessGetSSIDCountBySite, *resty.Response, error) { + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/ssids/count" + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) - SiteTagName string `json:"siteTagName,omitempty"` // Use English letters, numbers, special characters except <, /, '.*', ? and leading/trailing space. + queryString, _ := query.Values(GetSSIDCountBySiteQueryParams) - FlexProfileName string `json:"flexProfileName,omitempty"` // Flex Profile Name + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDCountBySite{}). + SetError(&Error). + Get(path) - ApProfileName string `json:"apProfileName,omitempty"` // Ap Profile Name -} -type RequestWirelessCreateAnchorGroup struct { - AnchorGroupName string `json:"anchorGroupName,omitempty"` // Anchor Group Name. Max length is 32 characters + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSSIDCountBySite(siteID, GetSSIDCountBySiteQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSsidCountBySite") + } - 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. + result := response.Result().(*ResponseWirelessGetSSIDCountBySite) + return result, response, err - 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. +//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 - 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. +@param siteID siteId path parameter. Site UUID - 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 +@param id id path parameter. SSID ID - 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 +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) - 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. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetSSIDByID{}). + SetError(&Error). + Get(path) - 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. + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSSIDByID(siteID, id) + } + return nil, response, fmt.Errorf("error with operation GetSsidById") + } - MobilityGroupName string `json:"mobilityGroupName,omitempty"` // Peer Device mobility group Name. Must be alphanumeric without {!,<,space,?/'} and maximum of 31 characters. + result := response.Result().(*ResponseWirelessGetSSIDByID) + return result, response, err - 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"` // +//GetApPnpLocationSetting Get AP PnP Location Setting - a6b7-ea56-46e9-b84d +/* Retrieve the current AP PnP Location setting from the system.Once the AP PnP Location Setting is enabled, the Access Point's assigned Site name will be configured as the AP Location during the PnP Claim process. This applies only during the PnP onboarding process and not during any subsequent provisioning (dayN). - 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) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-pnp-location-setting +*/ +func (s *WirelessService) GetApPnpLocationSetting() (*ResponseWirelessGetApPnpLocationSetting, *resty.Response, error) { + path := "/dna/intent/api/v1/systemSettings/apPnpLocation" - 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. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetApPnpLocationSetting{}). + SetError(&Error). + Get(path) - LocalAuthorization *RequestWirelessUpdateApAuthorizationListLocalAuthorization `json:"localAuthorization,omitempty"` // + if err != nil { + return nil, nil, err - 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'. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetApPnpLocationSetting() + } + return nil, response, fmt.Errorf("error with operation GetApPnpLocationSetting") + } - 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) + result := response.Result().(*ResponseWirelessGetApPnpLocationSetting) + return result, response, err - 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 +//GetAccessPointConfigurationCount Get Access Point Configuration Count - 118b-2898-457b-8d47 +/* Get Access Point Configuration Count - 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"` // +@param GetAccessPointConfigurationCountQueryParams Filtering parameter - AwipsEnabled *bool `json:"awipsEnabled,omitempty"` // Indicates if AWIPS is enabled on the AP. +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" - 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. + queryString, _ := query.Values(GetAccessPointConfigurationCountQueryParams) - RogueDetectionSetting *RequestWirelessCreateApProfileRogueDetectionSetting `json:"rogueDetectionSetting,omitempty"` // + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointConfigurationCount{}). + SetError(&Error). + Get(path) - 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. + if err != nil { + return nil, nil, err - 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"` // + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAccessPointConfigurationCount(GetAccessPointConfigurationCountQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAccessPointConfigurationCount") + } - ApPowerProfileName string `json:"apPowerProfileName,omitempty"` // Name of the existing AP power profile. + result := response.Result().(*ResponseWirelessGetAccessPointConfigurationCount) + return result, response, err - CalendarPowerProfiles *RequestWirelessCreateApProfileCalendarPowerProfiles `json:"calendarPowerProfiles,omitempty"` // +} - CountryCode string `json:"countryCode,omitempty"` // Country Code +//GetAccessPointConfigurationTaskResult Get Access Point Configuration task result - fb90-69dc-4aeb-9afb +/* Users can query the access point configuration result using this intent API - 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. +@param taskTypeID task_id path parameter. task id information of ap config - 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. +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) - Dot1XUsername string `json:"dot1xUsername,omitempty"` // Username for 802.1X authentication. dot1xUsername must have a minimum of 1 character and a maximum of 32 characters. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetAccessPointConfigurationTaskResult{}). + SetError(&Error). + Get(path) - Dot1XPassword string `json:"dot1xPassword,omitempty"` // Password for 802.1X authentication. AP dot1x password length should not exceed 120. + if err != nil { + return nil, nil, err - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAccessPointConfigurationTaskResult(taskTypeID) + } + return nil, response, fmt.Errorf("error with operation GetAccessPointConfigurationTaskResult") + } - ManagementUserName string `json:"managementUserName,omitempty"` // Management username must have a minimum of 1 character and a maximum of 32 characters. + result := response.Result().(*ResponseWirelessGetAccessPointConfigurationTaskResult) + return result, response, err - 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. +//GetAccessPointConfiguration Get Access Point Configuration - a191-f9f2-4cb8-9a55 +/* Users can query access point configuration information for a specific device by using the Ethernet MAC address as a 'key' filter. If no key is specified, all access point details will be retrieved based on the combination of filters provided. - 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 +@param GetAccessPointConfigurationQueryParams Filtering parameter - RogueDetectionTransientInterval *int `json:"rogueDetectionTransientInterval,omitempty"` // Transient interval for rogue detection. Value should be 0 or from 120 to 1800. +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" - 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. + queryString, _ := query.Values(GetAccessPointConfigurationQueryParams) - BackhaulClientAccess *bool `json:"backhaulClientAccess,omitempty"` // Indicates if backhaul client access is enabled on the AP. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointConfiguration{}). + SetError(&Error). + Get(path) - Range *int `json:"range,omitempty"` // Range of the mesh network. Value should be between 150-132000 + if err != nil { + return nil, nil, err - Ghz5BackhaulDataRates string `json:"ghz5BackhaulDataRates,omitempty"` // 5GHz backhaul data rates. + } - Ghz24BackhaulDataRates string `json:"ghz24BackhaulDataRates,omitempty"` // 2.4GHz backhaul data rates. + 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 - 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. +//GetDynamicInterface Get dynamic interface - c5b0-c978-4dfb-90b4 +/* Get one or all dynamic interface(s) + - Duration *RequestWirelessCreateApProfileCalendarPowerProfilesDuration `json:"duration,omitempty"` // -} -type RequestWirelessCreateApProfileCalendarPowerProfilesDuration struct { - SchedulerStartTime string `json:"schedulerStartTime,omitempty"` // Start time of the duration setting. +@param GetDynamicInterfaceQueryParams Filtering parameter - SchedulerEndTime string `json:"schedulerEndTime,omitempty"` // End time of the duration setting. +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" - SchedulerDay string `json:"schedulerDay,omitempty"` // Applies every week on the selected days + queryString, _ := query.Values(GetDynamicInterfaceQueryParams) - 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. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetDynamicInterface{}). + SetError(&Error). + Get(path) - Description string `json:"description,omitempty"` // Description of the AP profile. Max length is 241 characters + if err != nil { + return nil, nil, err - 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"` // + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetDynamicInterface(GetDynamicInterfaceQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetDynamicInterface") + } - AwipsEnabled *bool `json:"awipsEnabled,omitempty"` // Indicates if AWIPS is enabled on the AP. + result := response.Result().(*ResponseWirelessGetDynamicInterface) + return result, response, err - 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"` // +//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. - 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. +@param GetWirelessProfileQueryParams Filtering parameter - MeshSetting *RequestWirelessUpdateApProfileByIDMeshSetting `json:"meshSetting,omitempty"` // +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" - ApPowerProfileName string `json:"apPowerProfileName,omitempty"` // Name of the existing AP power profile. + queryString, _ := query.Values(GetWirelessProfileQueryParams) - CalendarPowerProfiles *RequestWirelessUpdateApProfileByIDCalendarPowerProfiles `json:"calendarPowerProfiles,omitempty"` // + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetWirelessProfile{}). + SetError(&Error). + Get(path) - CountryCode string `json:"countryCode,omitempty"` // Country Code + if err != nil { + return nil, nil, err - 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. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetWirelessProfile(GetWirelessProfileQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetWirelessProfile") + } - TimeZoneOffsetMinutes *int `json:"timeZoneOffsetMinutes,omitempty"` // Enter the minute value (MM). The valid range is from 0 through 59. + result := response.Result().(*ResponseWirelessGetWirelessProfile) + return result, response, err - 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. +//RetrieveRfProfiles Retrieve RF profiles - 098c-ab91-41c9-a3fe +/* Retrieve all RF profiles - 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. +@param RetrieveRFProfilesQueryParams Filtering parameter - TelnetEnabled *bool `json:"telnetEnabled,omitempty"` // Indicates if Telnet is enabled on the AP. Enable Telnet to add credentials for device management. +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" - ManagementUserName string `json:"managementUserName,omitempty"` // Management username must have a minimum of 1 character and a maximum of 32 characters. + queryString, _ := query.Values(RetrieveRFProfilesQueryParams) - ManagementPassword string `json:"managementPassword,omitempty"` // Management password for the AP. Length must be 8-120 characters. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveRfProfiles{}). + SetError(&Error). + Get(path) - ManagementEnablePassword string `json:"managementEnablePassword,omitempty"` // Enable password for managing the AP. Length must be 8-120 characters. + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveRfProfiles(RetrieveRFProfilesQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveRfProfiles") + } - RogueDetectionTransientInterval *int `json:"rogueDetectionTransientInterval,omitempty"` // Transient interval for rogue detection. Value should be 0 or from 120 to 1800. + result := response.Result().(*ResponseWirelessRetrieveRfProfiles) + return result, response, err - 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. +//GetAccessPointsFactoryResetStatus Get Access Point(s) Factory Reset status - 46bf-881b-45b8-a62f +/* This API returns each AP Factory Reset initiation status. - 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. +@param GetAccessPointsFactoryResetStatusQueryParams Filtering parameter - Ghz24BackhaulDataRates string `json:"ghz24BackhaulDataRates,omitempty"` // 2.4GHz backhaul data rates. +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" - 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. + queryString, _ := query.Values(GetAccessPointsFactoryResetStatusQueryParams) - SchedulerType string `json:"schedulerType,omitempty"` // Type of the scheduler. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointsFactoryResetStatus{}). + SetError(&Error). + Get(path) - Duration *RequestWirelessUpdateApProfileByIDCalendarPowerProfilesDuration `json:"duration,omitempty"` // -} -type RequestWirelessUpdateApProfileByIDCalendarPowerProfilesDuration struct { - SchedulerStartTime string `json:"schedulerStartTime,omitempty"` // Start time of the duration setting. + if err != nil { + return nil, nil, err + + } - SchedulerEndTime string `json:"schedulerEndTime,omitempty"` // End time of the duration setting. + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAccessPointsFactoryResetStatus(GetAccessPointsFactoryResetStatusQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAccessPointsFactoryResetStatus") + } - SchedulerDay string `json:"schedulerDay,omitempty"` // Applies every week on the selected days + result := response.Result().(*ResponseWirelessGetAccessPointsFactoryResetStatus) + return result, response, err - 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) +//GetAnchorCapableDevices Get Anchor capable devices - a581-0a06-4acb-8f4c +/* This API allows the user to get Anchor capable devices - 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) +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" - OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU (Default: false) -} -type RequestWirelessUpdate80211BeProfile struct { - ProfileName string `json:"profileName,omitempty"` // 802.11be Profile Name + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetAnchorCapableDevices{}). + SetError(&Error). + Get(path) - OfdmaDownLink *bool `json:"ofdmaDownLink,omitempty"` // OFDMA Downlink (Default: true) + if err != nil { + return nil, nil, err - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink (Default: true) + } - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink (Default: false) + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAnchorCapableDevices() + } + return nil, response, fmt.Errorf("error with operation GetAnchorCapableDevices") + } - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink (Default: false) + result := response.Result().(*ResponseWirelessGetAnchorCapableDevices) + return result, response, err - 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 +//GetMeshApNeighbours Get Mesh Ap Neighbours - 8a88-98f8-4eca-8300 +/* Retrieves all Mesh accesspoint Neighbours details whether child, parent, etc. - 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 +@param GetMeshApNeighboursQueryParams Filtering parameter - Rules *[]RequestWirelessCreatePowerProfileRules `json:"rules,omitempty"` // -} -type RequestWirelessCreatePowerProfileRules struct { - InterfaceType string `json:"interfaceType,omitempty"` // Interface Type for the rule. +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" - InterfaceID string `json:"interfaceId,omitempty"` // Interface Id for the rule. + queryString, _ := query.Values(GetMeshApNeighboursQueryParams) - ParameterType string `json:"parameterType,omitempty"` // Parameter Type for the rule. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetMeshApNeighbours{}). + SetError(&Error). + Get(path) - 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 + 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") + } - Description string `json:"description,omitempty"` // Description of the Power Profile. Max length is 32 characters + result := response.Result().(*ResponseWirelessGetMeshApNeighbours) + return result, response, err - Rules *[]RequestWirelessUpdatePowerProfileByIDRules `json:"rules,omitempty"` // } -type RequestWirelessUpdatePowerProfileByIDRules struct { - InterfaceType string `json:"interfaceType,omitempty"` // Interface Type - InterfaceID string `json:"interfaceID,omitempty"` // Interface ID +//GetMeshApNeighboursCount Get Mesh Ap Neighbours Count - 54b9-09f2-4dd8-b94f +/* This API returns the total number of mesh Ap Neighbours available. - 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 +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" - EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // True if 5 GHz radio band is enabled in the RF Profile, else False + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetMeshApNeighboursCount{}). + SetError(&Error). + Get(path) - EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // True if 2.4 GHz radio band is enabled in the RF Profile, else False + if err != nil { + return nil, nil, err - EnableRadioType6GHz *bool `json:"enableRadioType6GHz,omitempty"` // True if 6 GHz radio band is enabled in the RF Profile, else False + } - RadioTypeAProperties *RequestWirelessCreateRfProfileRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetMeshApNeighboursCount() + } + return nil, response, fmt.Errorf("error with operation GetMeshApNeighboursCount") + } - RadioTypeBProperties *RequestWirelessCreateRfProfileRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // + result := response.Result().(*ResponseWirelessGetMeshApNeighboursCount) + return result, response, err - 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 +//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. + - 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 +@param GetMobilityGroupsQueryParams Filtering parameter - 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 +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" - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 5 GHz radio band + queryString, _ := query.Values(GetMobilityGroupsQueryParams) - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 5 GHz radio band + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetMobilityGroups{}). + SetError(&Error). + Get(path) - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 5 GHz radio band + if err != nil { + return nil, nil, err - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 5 GHz radio band + } - ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetMobilityGroups(GetMobilityGroupsQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetMobilityGroups") + } - 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 + result := response.Result().(*ResponseWirelessGetMobilityGroups) + return result, response, err - 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 +//GetMobilityGroupsCount Get MobilityGroups Count - 29b2-08fb-420a-8970 +/* Retrieves count of mobility groups configured - MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 5 GHz radio band - FraProperties *RequestWirelessCreateRfProfileRadioTypeAPropertiesFraProperties `json:"fraProperties,omitempty"` // - CoverageHoleDetectionProperties *RequestWirelessCreateRfProfileRadioTypeAPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // +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" - SpatialReuseProperties *RequestWirelessCreateRfProfileRadioTypeAPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // -} -type RequestWirelessCreateRfProfileRadioTypeAPropertiesFraProperties struct { - ClientAware *bool `json:"clientAware,omitempty"` // Client Aware of 5 GHz radio band + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetMobilityGroupsCount{}). + SetError(&Error). + Get(path) - ClientSelect *int `json:"clientSelect,omitempty"` // Client Select(%) of 5 GHz radio band + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetMobilityGroupsCount() + } + return nil, response, fmt.Errorf("error with operation GetMobilityGroupsCount") + } - ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + result := response.Result().(*ResponseWirelessGetMobilityGroupsCount) + return result, response, err - 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 +//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. - Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD - Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold +@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}. - 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 +@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) - 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 + queryString, _ := query.Values(GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams) - 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 + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessController{}). + SetError(&Error). + Get(path) - 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 + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetAnchorManagedApLocationsForSpecificWirelessController(networkDeviceID, GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetAnchorManagedApLocationsForSpecificWirelessController") + } - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 2.4 GHz radio band + result := response.Result().(*ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessController) + return result, response, err - 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 +//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}'. - MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 2.4 GHz radio band - CoverageHoleDetectionProperties *RequestWirelessCreateRfProfileRadioTypeBPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // +@param networkDeviceID networkDeviceId path parameter. Network Device ID - 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 +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) - ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetApAuthorizationListByNetworkDeviceID{}). + SetError(&Error). + Get(path) - ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) -} -type RequestWirelessCreateRfProfileRadioTypeBPropertiesSpatialReuseProperties struct { - Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + if err != nil { + return nil, nil, err - Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + } - Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetApAuthorizationListByNetworkDeviceID(networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation GetApAuthorizationListByNetworkDeviceId") + } - Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + result := response.Result().(*ResponseWirelessGetApAuthorizationListByNetworkDeviceID) + return result, response, err - 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 +//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. - 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 +@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}. - 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 +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) - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 6 GHz radio band + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetManagedApLocationsCountForSpecificWirelessController{}). + SetError(&Error). + Get(path) - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 6 GHz radio band + if err != nil { + return nil, nil, err - EnableStandardPowerService *bool `json:"enableStandardPowerService,omitempty"` // True if Standard Power Service is enabled, else False + } - MultiBssidProperties *RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidProperties `json:"multiBssidProperties,omitempty"` // + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetManagedApLocationsCountForSpecificWirelessController(networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation GetManagedApLocationsCountForSpecificWirelessController") + } - 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 + result := response.Result().(*ResponseWirelessGetManagedApLocationsCountForSpecificWirelessController) + return result, response, err - 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) +//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. - 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 +@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}. - PscEnforcingEnabled *bool `json:"pscEnforcingEnabled,omitempty"` // PSC Enforcing Enable for 6 GHz radio band +@param GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams Filtering parameter - DiscoveryFrames6GHz string `json:"discoveryFrames6GHz,omitempty"` // Discovery Frames of 6 GHz radio band +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) - BroadcastProbeResponseInterval *int `json:"broadcastProbeResponseInterval,omitempty"` // Broadcast Probe Response Interval of 6 GHz radio band + queryString, _ := query.Values(GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams) - FraProperties *RequestWirelessCreateRfProfileRadioType6GHzPropertiesFraProperties `json:"fraProperties,omitempty"` // + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessController{}). + SetError(&Error). + Get(path) - CoverageHoleDetectionProperties *RequestWirelessCreateRfProfileRadioType6GHzPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + if err != nil { + return nil, nil, err - SpatialReuseProperties *RequestWirelessCreateRfProfileRadioType6GHzPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // -} -type RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidProperties struct { - Dot11AxParameters *RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters `json:"dot11axParameters,omitempty"` // + } - Dot11BeParameters *RequestWirelessCreateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters `json:"dot11beParameters,omitempty"` // + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetPrimaryManagedApLocationsForSpecificWirelessController(networkDeviceID, GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetPrimaryManagedApLocationsForSpecificWirelessController") + } - TargetWakeTime *bool `json:"targetWakeTime,omitempty"` // Target Wake Time + result := response.Result().(*ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessController) + return result, response, err - 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 +//WirelessControllerProvisionStatus Wireless Controller Provision Status - 6386-daf1-4439-a4df +/* Retrieves wireless controller's provision status - 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 +@param networkDeviceID networkDeviceId path parameter. Obtain the networkDeviceId value by using the API call GET: /dna/intent/api/v1/network-device/ip-address/${ipAddress}. - OfdmaUpLink *bool `json:"ofdmaUpLink,omitempty"` // OFDMA Uplink - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink +Documentation Link: https://developer.cisco.com/docs/dna-center/#!wireless-controller-provision-status +*/ +func (s *WirelessService) WirelessControllerProvisionStatus(networkDeviceID string) (*ResponseWirelessWirelessControllerProvisionStatus, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessControllers/{networkDeviceId}/provisionStatus" + path = strings.Replace(path, "{networkDeviceId}", fmt.Sprintf("%v", networkDeviceID), -1) - MuMimoDownLink *bool `json:"muMimoDownLink,omitempty"` // MU-MIMO Downlink + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessWirelessControllerProvisionStatus{}). + SetError(&Error). + Get(path) - OfdmaMultiRu *bool `json:"ofdmaMultiRu,omitempty"` // OFDMA Multi-RU -} -type RequestWirelessCreateRfProfileRadioType6GHzPropertiesFraProperties struct { - ClientResetCount *int `json:"clientResetCount,omitempty"` // Client Reset Count of 6 GHz radio band + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.WirelessControllerProvisionStatus(networkDeviceID) + } + return nil, response, fmt.Errorf("error with operation WirelessControllerProvisionStatus") + } - ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + result := response.Result().(*ResponseWirelessWirelessControllerProvisionStatus) + return result, response, err - 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 +//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. - Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD - Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold +@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}. - Dot11AxSrgObssPacketDetectMaxThreshold *int `json:"dot11axSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax SRG OBSS PD Max Threshold -} -type RequestWirelessUpdateRfProfile struct { - RfProfileName string `json:"rfProfileName,omitempty"` // RF Profile Name +@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) - 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 + queryString, _ := query.Values(GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams) - EnableRadioTypeA *bool `json:"enableRadioTypeA,omitempty"` // True if 5 GHz radio band is enabled in the RF Profile, else False + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController{}). + SetError(&Error). + Get(path) - EnableRadioTypeB *bool `json:"enableRadioTypeB,omitempty"` // True if 2.4 GHz radio band is enabled in the RF Profile, else False + if err != nil { + return nil, nil, err - EnableRadioType6GHz *bool `json:"enableRadioType6GHz,omitempty"` // True if 6 GHz radio band is enabled in the RF Profile, else False + } - RadioTypeAProperties *RequestWirelessUpdateRfProfileRadioTypeAProperties `json:"radioTypeAProperties,omitempty"` // + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSecondaryManagedApLocationsForSpecificWirelessController(networkDeviceID, GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSecondaryManagedApLocationsForSpecificWirelessController") + } - RadioTypeBProperties *RequestWirelessUpdateRfProfileRadioTypeBProperties `json:"radioTypeBProperties,omitempty"` // + result := response.Result().(*ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController) + return result, response, err - 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 +//GetSSIDDetailsForSpecificWirelessController Get SSID Details for specific Wireless Controller - 70b6-393d-4899-ad4d +/* Retrieves all details of SSIDs associated with the specific Wireless Controller. - 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 +@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}. - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 5 GHz radio band +@param GetSSIDDetailsForSpecificWirelessControllerQueryParams Filtering parameter - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 5 GHz radio band +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) - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 5 GHz radio band + queryString, _ := query.Values(GetSSIDDetailsForSpecificWirelessControllerQueryParams) - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 5 GHz radio band + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDDetailsForSpecificWirelessController{}). + SetError(&Error). + Get(path) - ChannelWidth string `json:"channelWidth,omitempty"` // Channel Width + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSSIDDetailsForSpecificWirelessController(networkDeviceID, GetSSIDDetailsForSpecificWirelessControllerQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSsidDetailsForSpecificWirelessController") + } - CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 5 GHz radio band + result := response.Result().(*ResponseWirelessGetSSIDDetailsForSpecificWirelessController) + return result, response, err - MaxRadioClients *int `json:"maxRadioClients,omitempty"` // Client Limit of 5 GHz radio band +} - FraProperties *RequestWirelessUpdateRfProfileRadioTypeAPropertiesFraProperties `json:"fraProperties,omitempty"` // +//GetSSIDCountForSpecificWirelessController Get SSID Count for specific Wireless Controller - 3e98-c91d-42eb-a469 +/* Retrieves the count of SSIDs associated with the specific wireless controller. - 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 +@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}. - ClientSelect *int `json:"clientSelect,omitempty"` // Client Select(%) of 5 GHz radio band +@param GetSSIDCountForSpecificWirelessControllerQueryParams Filtering parameter - 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 +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) - ChdDataRssiThreshold *int `json:"chdDataRssiThreshold,omitempty"` // Coverage Hole Detection Data Rssi Threshold + queryString, _ := query.Values(GetSSIDCountForSpecificWirelessControllerQueryParams) - ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDCountForSpecificWirelessController{}). + SetError(&Error). + Get(path) - ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) -} -type RequestWirelessUpdateRfProfileRadioTypeAPropertiesSpatialReuseProperties struct { - Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + if err != nil { + return nil, nil, err - Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + } - Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetSSIDCountForSpecificWirelessController(networkDeviceID, GetSSIDCountForSpecificWirelessControllerQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetSsidCountForSpecificWirelessController") + } - Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + result := response.Result().(*ResponseWirelessGetSSIDCountForSpecificWirelessController) + return result, response, err - 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 +//GetWirelessProfiles Get Wireless Profiles - 7988-fac4-447b-8e3d +/* This API allows the user to get all Wireless Network Profiles - 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 +@param GetWirelessProfilesQueryParams Filtering parameter - PowerThreshold *int `json:"powerThreshold,omitempty"` // Power threshold of 2.4 GHz radio band +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" - RxSopThreshold string `json:"rxSopThreshold,omitempty"` // RX-SOP threshold of 2.4 GHz radio band + queryString, _ := query.Values(GetWirelessProfilesQueryParams) - MinPowerLevel *int `json:"minPowerLevel,omitempty"` // Minimum power level of 2.4 GHz radio band + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetWirelessProfiles{}). + SetError(&Error). + Get(path) - MaxPowerLevel *int `json:"maxPowerLevel,omitempty"` // Maximum power level of 2.4 GHz radio band + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetWirelessProfiles(GetWirelessProfilesQueryParams) + } + return nil, response, fmt.Errorf("error with operation GetWirelessProfiles") + } - CoverageHoleDetectionProperties *RequestWirelessUpdateRfProfileRadioTypeBPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // + result := response.Result().(*ResponseWirelessGetWirelessProfiles) + return result, response, err - 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 +//GetWirelessProfilesCount Get Wireless Profiles Count - 48a7-1883-48fb-93a5 +/* This API allows the user to get count of all wireless profiles - 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 +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" - Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetWirelessProfilesCount{}). + SetError(&Error). + Get(path) - Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetWirelessProfilesCount() + } + return nil, response, fmt.Errorf("error with operation GetWirelessProfilesCount") + } - 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 + result := response.Result().(*ResponseWirelessGetWirelessProfilesCount) + return result, response, err - 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 +//GetWirelessProfileByID Get Wireless Profile by ID - f5b9-fab9-4b79-b0f3 +/* This API allows the user to get a Wireless Network Profile by ID - 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 +@param id id path parameter. Wireless Profile Id - 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 +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) - MultiBssidProperties *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidProperties `json:"multiBssidProperties,omitempty"` // + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessGetWirelessProfileByID{}). + SetError(&Error). + Get(path) - 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 + if err != nil { + return nil, nil, err - 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) + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.GetWirelessProfileByID(id) + } + return nil, response, fmt.Errorf("error with operation GetWirelessProfileById") + } - CustomRxSopThreshold *int `json:"customRxSopThreshold,omitempty"` // RX-SOP threshold custom configuration of 6 GHz radio band + result := response.Result().(*ResponseWirelessGetWirelessProfileByID) + return result, response, err - 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 +//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. - 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 +@param id id path parameter. Wireless Profile Id - FraProperties *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesFraProperties `json:"fraProperties,omitempty"` // +@param RetrieveAllPolicyTagsForAWirelessProfileQueryParams Filtering parameter - CoverageHoleDetectionProperties *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesCoverageHoleDetectionProperties `json:"coverageHoleDetectionProperties,omitempty"` // +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) - SpatialReuseProperties *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesSpatialReuseProperties `json:"spatialReuseProperties,omitempty"` // -} -type RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidProperties struct { - Dot11AxParameters *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11AxParameters `json:"dot11axParameters,omitempty"` // + queryString, _ := query.Values(RetrieveAllPolicyTagsForAWirelessProfileQueryParams) - Dot11BeParameters *RequestWirelessUpdateRfProfileRadioType6GHzPropertiesMultiBssidPropertiesDot11BeParameters `json:"dot11beParameters,omitempty"` // + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfile{}). + SetError(&Error). + Get(path) - TargetWakeTime *bool `json:"targetWakeTime,omitempty"` // Target Wake Time + if err != nil { + return nil, nil, err - 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 + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveAllPolicyTagsForAWirelessProfile(id, RetrieveAllPolicyTagsForAWirelessProfileQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveAllPolicyTagsForAWirelessProfile") + } - MuMimoUpLink *bool `json:"muMimoUpLink,omitempty"` // MU-MIMO Uplink + result := response.Result().(*ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfile) + return result, response, err - 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 +//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. - 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 +@param id id path parameter. Wireless Profile Id - 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 +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) - ChdVoiceRssiThreshold *int `json:"chdVoiceRssiThreshold,omitempty"` // Coverage Hole Detection Voice Rssi Threshold + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfile{}). + SetError(&Error). + Get(path) - ChdExceptionLevel *int `json:"chdExceptionLevel,omitempty"` // Coverage Hole Detection Exception Level(%) -} -type RequestWirelessUpdateRfProfileRadioType6GHzPropertiesSpatialReuseProperties struct { - Dot11AxNonSrgObssPacketDetect *bool `json:"dot11axNonSrgObssPacketDetect,omitempty"` // Dot11ax Non SRG OBSS PD + if err != nil { + return nil, nil, err - Dot11AxNonSrgObssPacketDetectMaxThreshold *int `json:"dot11axNonSrgObssPacketDetectMaxThreshold,omitempty"` // Dot11ax Non SRG OBSS PD Max Threshold + } - Dot11AxSrgObssPacketDetect *bool `json:"dot11axSrgObssPacketDetect,omitempty"` // Dot11ax SRG OBSS PD + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveTheCountOfPolicyTagsForAWirelessProfile(id) + } + return nil, response, fmt.Errorf("error with operation RetrieveTheCountOfPolicyTagsForAWirelessProfile") + } - Dot11AxSrgObssPacketDetectMinThreshold *int `json:"dot11axSrgObssPacketDetectMinThreshold,omitempty"` // Dot11ax SRG OBSS PD Min Threshold + result := response.Result().(*ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfile) + return result, response, err - 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. +//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`. - 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". +@param id id path parameter. Wireless Profile Id - ConfigureFailoverPriority *bool `json:"configureFailoverPriority,omitempty"` // To change the access point's failover priority, set this parameter's value to "true". +@param policyTagID policyTagId path parameter. Policy Tag Id - 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". +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) - LedStatus *bool `json:"ledStatus,omitempty"` // Configure the access point's LED status. Set "true" to enable its status and "false" to disable it. + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfile{}). + SetError(&Error). + Get(path) - ConfigureLedBrightnessLevel *bool `json:"configureLedBrightnessLevel,omitempty"` // To change the access point's LED brightness level, set this parameter's value to "true". + if err != nil { + return nil, nil, err - 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". + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveASpecificPolicyTagForAWirelessProfile(id, policyTagID) + } + return nil, response, fmt.Errorf("error with operation RetrieveASpecificPolicyTagForAWirelessProfile") + } - Location string `json:"location,omitempty"` // Configure the access point's location. + result := response.Result().(*ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfile) + return result, response, err - 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. +//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. - PrimaryIPAddress *RequestWirelessConfigureAccessPointsV2PrimaryIPAddress `json:"primaryIpAddress,omitempty"` // - SecondaryControllerName string `json:"secondaryControllerName,omitempty"` // Configure the hostname for an access point's secondary controller. +@param id id path parameter. Wireless profile id - SecondaryIPAddress *RequestWirelessConfigureAccessPointsV2SecondaryIPAddress `json:"secondaryIpAddress,omitempty"` // +@param RetrieveAllSiteTagsForAWirelessProfileQueryParams Filtering parameter - TertiaryControllerName string `json:"tertiaryControllerName,omitempty"` // Configure the hostname for an access point's tertiary controller. +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) - TertiaryIPAddress *RequestWirelessConfigureAccessPointsV2TertiaryIPAddress `json:"tertiaryIpAddress,omitempty"` // + queryString, _ := query.Values(RetrieveAllSiteTagsForAWirelessProfileQueryParams) - RadioConfigurations *[]RequestWirelessConfigureAccessPointsV2RadioConfigurations `json:"radioConfigurations,omitempty"` // + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveAllSiteTagsForAWirelessProfile{}). + SetError(&Error). + Get(path) - 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". + if err != nil { + return nil, nil, err - 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". + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveAllSiteTagsForAWirelessProfile(id, RetrieveAllSiteTagsForAWirelessProfileQueryParams) + } + return nil, response, fmt.Errorf("error with operation RetrieveAllSiteTagsForAWirelessProfile") + } - 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. + result := response.Result().(*ResponseWirelessRetrieveAllSiteTagsForAWirelessProfile) + return result, response, err - 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. +//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. - 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. +@param id id path parameter. Wireless profile id - 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 +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) - 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 + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfile{}). + SetError(&Error). + Get(path) - 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". + if err != nil { + return nil, nil, err - 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". + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveTheCountOfSiteTagsForAWirelessProfile(id) + } + return nil, response, fmt.Errorf("error with operation RetrieveTheCountOfSiteTagsForAWirelessProfile") + } - 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. + result := response.Result().(*ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfile) + return result, response, err - 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". +//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`. - 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). +@param id id path parameter. Wireless Profile Id - ConfigureChannel *bool `json:"configureChannel,omitempty"` // To change the channel on the specified radio for an access point, set this parameter's value to "true". +@param siteTagID siteTagId path parameter. Site Tag Id - 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. +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-a-specific-site-tag-for-a-wireless-profile +*/ +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) - 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". + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfile{}). + SetError(&Error). + Get(path) - 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". + if err != nil { + return nil, nil, err - 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". + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.RetrieveASpecificSiteTagForAWirelessProfile(id, siteTagID) + } + return nil, response, fmt.Errorf("error with operation RetrieveASpecificSiteTagForAWirelessProfile") + } - 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. + result := response.Result().(*ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfile) + return result, response, err - 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 +//GetAnchorGroups Get AnchorGroups - 32b3-aa83-46db-aae7 +/* This API allows the user to get AnchorGroups that captured in wireless settings design. -@param SensorTestResultsQueryParams Filtering parameter +@param GetAnchorGroupsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!sensor-test-results +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anchor-groups */ -func (s *WirelessService) SensorTestResults(SensorTestResultsQueryParams *SensorTestResultsQueryParams) (*ResponseWirelessSensorTestResults, *resty.Response, error) { - path := "/dna/intent/api/v1/AssuranceGetSensorTestResults" +func (s *WirelessService) GetAnchorGroups(GetAnchorGroupsQueryParams *GetAnchorGroupsQueryParams) (*ResponseWirelessGetAnchorGroups, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/anchorGroups" - queryString, _ := query.Values(SensorTestResultsQueryParams) + queryString, _ := query.Values(GetAnchorGroupsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessSensorTestResults{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAnchorGroups{}). SetError(&Error). Get(path) @@ -4955,33 +6067,30 @@ func (s *WirelessService) SensorTestResults(SensorTestResultsQueryParams *Sensor if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.SensorTestResults(SensorTestResultsQueryParams) + return s.GetAnchorGroups(GetAnchorGroupsQueryParams) } - 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 +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" - - queryString, _ := query.Values(GetAccessPointRebootTaskResultQueryParams) +func (s *WirelessService) GetCountOfAnchorGroups() (*ResponseWirelessGetCountOfAnchorGroups, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/anchorGroups/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointRebootTaskResult{}). + SetResult(&ResponseWirelessGetCountOfAnchorGroups{}). SetError(&Error). Get(path) @@ -4992,33 +6101,33 @@ func (s *WirelessService) GetAccessPointRebootTaskResult(GetAccessPointRebootTas if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAccessPointRebootTaskResult(GetAccessPointRebootTaskResultQueryParams) + return s.GetCountOfAnchorGroups() } - return nil, response, fmt.Errorf("error with operation GetAccessPointRebootTaskResult") + return nil, response, fmt.Errorf("error with operation GetCountOfAnchorGroups") } - result := response.Result().(*ResponseWirelessGetAccessPointRebootTaskResult) + result := response.Result().(*ResponseWirelessGetCountOfAnchorGroups) return result, response, err } -//GetEnterpriseSSID Get Enterprise SSID - cca5-19ba-45eb-b423 -/* Get Enterprise SSID +//GetAnchorGroupByID Get AnchorGroup by ID - 029f-4acf-420b-9df6 +/* This API allows the user to get an AnchorGroup by AnchorGroup ID -@param GetEnterpriseSSIDQueryParams Filtering parameter +@param id id path parameter. AnchorGroup ID -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) +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(&ResponseWirelessGetEnterpriseSSID{}). + SetResult(&ResponseWirelessGetAnchorGroupByID{}). SetError(&Error). Get(path) @@ -5029,36 +6138,33 @@ func (s *WirelessService) GetEnterpriseSSID(GetEnterpriseSSIDQueryParams *GetEnt if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetEnterpriseSSID(GetEnterpriseSSIDQueryParams) + return s.GetAnchorGroupByID(id) } - return nil, response, fmt.Errorf("error with operation GetEnterpriseSsid") + return nil, response, fmt.Errorf("error with operation GetAnchorGroupById") } - result := response.Result().(*ResponseWirelessGetEnterpriseSSID) + result := response.Result().(*ResponseWirelessGetAnchorGroupByID) 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 - +//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 siteID siteId path parameter. Site UUID -@param GetSSIDBySiteQueryParams Filtering parameter +@param GetAPAuthorizationListsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-by-site +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-authorization-lists */ -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) GetApAuthorizationLists(GetAPAuthorizationListsQueryParams *GetApAuthorizationListsQueryParams) (*ResponseWirelessGetApAuthorizationLists, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apAuthorizationLists" - queryString, _ := query.Values(GetSSIDBySiteQueryParams) + queryString, _ := query.Values(GetAPAuthorizationListsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDBySite{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetApAuthorizationLists{}). SetError(&Error). Get(path) @@ -5069,33 +6175,30 @@ func (s *WirelessService) GetSSIDBySite(siteID string, GetSSIDBySiteQueryParams if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetSSIDBySite(siteID, GetSSIDBySiteQueryParams) + return s.GetApAuthorizationLists(GetAPAuthorizationListsQueryParams) } - return nil, response, fmt.Errorf("error with operation GetSsidBySite") + return nil, response, fmt.Errorf("error with operation GetApAuthorizationLists") } - result := response.Result().(*ResponseWirelessGetSSIDBySite) + result := response.Result().(*ResponseWirelessGetApAuthorizationLists) 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) . - +//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 -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-count-by-site +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-authorization-list-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) 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(&ResponseWirelessGetSSIDCountBySite{}). + SetResult(&ResponseWirelessGetApAuthorizationListCount{}). SetError(&Error). Get(path) @@ -5106,36 +6209,33 @@ func (s *WirelessService) GetSSIDCountBySite(siteID string) (*ResponseWirelessGe if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetSSIDCountBySite(siteID) + return s.GetApAuthorizationListCount() } - return nil, response, fmt.Errorf("error with operation GetSsidCountBySite") + return nil, response, fmt.Errorf("error with operation GetApAuthorizationListCount") } - result := response.Result().(*ResponseWirelessGetSSIDCountBySite) + result := response.Result().(*ResponseWirelessGetApAuthorizationListCount) 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 - +//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 siteID siteId path parameter. Site UUID -@param id id path parameter. SSID ID +@param id id path parameter. AP Authorization List ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-by-id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-authorization-list-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) 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(&ResponseWirelessGetSSIDByID{}). + SetResult(&ResponseWirelessGetApAuthorizationListByID{}). SetError(&Error). Get(path) @@ -5146,33 +6246,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.GetApAuthorizationListByID(id) } - return nil, response, fmt.Errorf("error with operation GetSsidById") + return nil, response, fmt.Errorf("error with operation GetApAuthorizationListById") } - result := response.Result().(*ResponseWirelessGetSSIDByID) + result := response.Result().(*ResponseWirelessGetApAuthorizationListByID) return result, response, err } -//GetAccessPointConfigurationCount Get Access Point Configuration Count - 118b-2898-457b-8d47 -/* Get Access Point Configuration Count +//GetApProfiles Get AP Profiles - edad-9bfa-4298-a4cb +/* This API allows the user to get AP Profiles that captured in wireless settings design. -@param GetAccessPointConfigurationCountQueryParams Filtering parameter +@param GetAPProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-point-configuration-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-profiles */ -func (s *WirelessService) GetAccessPointConfigurationCount(GetAccessPointConfigurationCountQueryParams *GetAccessPointConfigurationCountQueryParams) (*ResponseWirelessGetAccessPointConfigurationCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/accesspoint-configuration/count" +func (s *WirelessService) GetApProfiles(GetAPProfilesQueryParams *GetApProfilesQueryParams) (*ResponseWirelessGetApProfiles, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/apProfiles" - queryString, _ := query.Values(GetAccessPointConfigurationCountQueryParams) + queryString, _ := query.Values(GetAPProfilesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointConfigurationCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetApProfiles{}). SetError(&Error). Get(path) @@ -5183,33 +6283,30 @@ func (s *WirelessService) GetAccessPointConfigurationCount(GetAccessPointConfigu if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAccessPointConfigurationCount(GetAccessPointConfigurationCountQueryParams) + return s.GetApProfiles(GetAPProfilesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetAccessPointConfigurationCount") + return nil, response, fmt.Errorf("error with operation GetApProfiles") } - result := response.Result().(*ResponseWirelessGetAccessPointConfigurationCount) + result := response.Result().(*ResponseWirelessGetApProfiles) 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 - +//GetApProfilesCount Get AP Profiles Count - a687-f85e-438a-8941 +/* This API returns the total number of AP Profiles available. -@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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-profiles-count */ -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) 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(&ResponseWirelessGetAccessPointConfigurationTaskResult{}). + SetResult(&ResponseWirelessGetApProfilesCount{}). SetError(&Error). Get(path) @@ -5220,33 +6317,33 @@ func (s *WirelessService) GetAccessPointConfigurationTaskResult(taskTypeID strin if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAccessPointConfigurationTaskResult(taskTypeID) + return s.GetApProfilesCount() } - return nil, response, fmt.Errorf("error with operation GetAccessPointConfigurationTaskResult") + return nil, response, fmt.Errorf("error with operation GetApProfilesCount") } - result := response.Result().(*ResponseWirelessGetAccessPointConfigurationTaskResult) + result := response.Result().(*ResponseWirelessGetApProfilesCount) 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 +//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 GetAccessPointConfigurationQueryParams Filtering parameter +@param id id path parameter. Ap Profile ID -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) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-profile-by-id +*/ +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"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointConfiguration{}). + SetResult(&ResponseWirelessGetApProfileByID{}). SetError(&Error). Get(path) @@ -5257,33 +6354,33 @@ func (s *WirelessService) GetAccessPointConfiguration(GetAccessPointConfiguratio if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAccessPointConfiguration(GetAccessPointConfigurationQueryParams) + return s.GetApProfileByID(id) } - return nil, response, fmt.Errorf("error with operation GetAccessPointConfiguration") + return nil, response, fmt.Errorf("error with operation GetApProfileById") } - result := response.Result().(*ResponseWirelessGetAccessPointConfiguration) + result := response.Result().(*ResponseWirelessGetApProfileByID) return result, response, err } -//GetDynamicInterface Get dynamic interface - c5b0-c978-4dfb-90b4 -/* Get one or all dynamic interface(s) +//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 GetDynamicInterfaceQueryParams Filtering parameter +@param Get80211beProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-dynamic-interface +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get80211be-profiles */ -func (s *WirelessService) GetDynamicInterface(GetDynamicInterfaceQueryParams *GetDynamicInterfaceQueryParams) (*ResponseWirelessGetDynamicInterface, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/dynamic-interface" +func (s *WirelessService) Get80211BeProfiles(Get80211beProfilesQueryParams *Get80211BeProfilesQueryParams) (*ResponseWirelessGet80211BeProfiles, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles" - queryString, _ := query.Values(GetDynamicInterfaceQueryParams) + queryString, _ := query.Values(Get80211beProfilesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetDynamicInterface{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGet80211BeProfiles{}). SetError(&Error). Get(path) @@ -5294,33 +6391,30 @@ func (s *WirelessService) GetDynamicInterface(GetDynamicInterfaceQueryParams *Ge if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetDynamicInterface(GetDynamicInterfaceQueryParams) + return s.Get80211BeProfiles(Get80211beProfilesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetDynamicInterface") + return nil, response, fmt.Errorf("error with operation Get80211BeProfiles") } - result := response.Result().(*ResponseWirelessGetDynamicInterface) + result := response.Result().(*ResponseWirelessGet80211BeProfiles) 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. +//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 GetWirelessProfileQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profile +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get80211be-profiles-count */ -func (s *WirelessService) GetWirelessProfile(GetWirelessProfileQueryParams *GetWirelessProfileQueryParams) (*ResponseWirelessGetWirelessProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/profile" - - queryString, _ := query.Values(GetWirelessProfileQueryParams) +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(&ResponseWirelessGetWirelessProfile{}). + SetResult(&ResponseWirelessGet80211BeProfilesCount{}). SetError(&Error). Get(path) @@ -5331,33 +6425,33 @@ func (s *WirelessService) GetWirelessProfile(GetWirelessProfileQueryParams *GetW if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetWirelessProfile(GetWirelessProfileQueryParams) + return s.Get80211BeProfilesCount() } - return nil, response, fmt.Errorf("error with operation GetWirelessProfile") + return nil, response, fmt.Errorf("error with operation Get80211BeProfilesCount") } - result := response.Result().(*ResponseWirelessGetWirelessProfile) + result := response.Result().(*ResponseWirelessGet80211BeProfilesCount) return result, response, err } -//RetrieveRfProfiles Retrieve RF profiles - 098c-ab91-41c9-a3fe -/* Retrieve all RF profiles - +//Get80211BeProfileByID Get 802.11be Profile by ID - fa93-88ce-49eb-a5d7 +/* This API allows the user to get 802.11be Profile by ID -@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" +@param id id path parameter. 802.11be Profile ID - queryString, _ := query.Values(RetrieveRFProfilesQueryParams) + +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(&ResponseWirelessRetrieveRfProfiles{}). + SetResult(&ResponseWirelessGet80211BeProfileByID{}). SetError(&Error). Get(path) @@ -5368,33 +6462,33 @@ func (s *WirelessService) RetrieveRfProfiles(RetrieveRFProfilesQueryParams *Retr if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RetrieveRfProfiles(RetrieveRFProfilesQueryParams) + return s.Get80211BeProfileByID(id) } - return nil, response, fmt.Errorf("error with operation RetrieveRfProfiles") + return nil, response, fmt.Errorf("error with operation Get80211BeProfileById") } - result := response.Result().(*ResponseWirelessRetrieveRfProfiles) + result := response.Result().(*ResponseWirelessGet80211BeProfileByID) 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. +//GetInterfaces Get Interfaces - 3793-ea73-438a-b243 +/* This API allows the user to get all Interfaces -@param GetAccessPointsFactoryResetStatusQueryParams Filtering parameter +@param GetInterfacesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-access-points-factory-reset-status +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interfaces */ -func (s *WirelessService) GetAccessPointsFactoryResetStatus(GetAccessPointsFactoryResetStatusQueryParams *GetAccessPointsFactoryResetStatusQueryParams) (*ResponseWirelessGetAccessPointsFactoryResetStatus, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessAccessPoints/factoryResetRequestStatus" +func (s *WirelessService) GetInterfaces(GetInterfacesQueryParams *GetInterfacesQueryParams) (*ResponseWirelessGetInterfaces, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/interfaces" - queryString, _ := query.Values(GetAccessPointsFactoryResetStatusQueryParams) + queryString, _ := query.Values(GetInterfacesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetAccessPointsFactoryResetStatus{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetInterfaces{}). SetError(&Error). Get(path) @@ -5405,30 +6499,33 @@ func (s *WirelessService) GetAccessPointsFactoryResetStatus(GetAccessPointsFacto if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAccessPointsFactoryResetStatus(GetAccessPointsFactoryResetStatusQueryParams) + return s.GetInterfaces(GetInterfacesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetAccessPointsFactoryResetStatus") + return nil, response, fmt.Errorf("error with operation GetInterfaces") } - result := response.Result().(*ResponseWirelessGetAccessPointsFactoryResetStatus) + result := response.Result().(*ResponseWirelessGetInterfaces) return result, response, err } -//GetAnchorCapableDevices Get Anchor capable devices - a581-0a06-4acb-8f4c -/* This API allows the user to get Anchor capable devices +//GetInterfaceByID Get Interface by ID - 3fa4-19ab-482a-ad07 +/* This API allows the user to get an interface by ID + +@param id id path parameter. Interface ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anchor-capable-devices +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interface-by-id */ -func (s *WirelessService) GetAnchorCapableDevices() (*ResponseWirelessGetAnchorCapableDevices, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/anchorCapableDevices" +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"). - SetResult(&ResponseWirelessGetAnchorCapableDevices{}). + SetResult(&ResponseWirelessGetInterfaceByID{}). SetError(&Error). Get(path) @@ -5439,33 +6536,33 @@ func (s *WirelessService) GetAnchorCapableDevices() (*ResponseWirelessGetAnchorC if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAnchorCapableDevices() + return s.GetInterfaceByID(id) } - return nil, response, fmt.Errorf("error with operation GetAnchorCapableDevices") + return nil, response, fmt.Errorf("error with operation GetInterfaceById") } - result := response.Result().(*ResponseWirelessGetAnchorCapableDevices) + result := response.Result().(*ResponseWirelessGetInterfaceByID) return result, response, err } -//GetMeshApNeighbours Get Mesh Ap Neighbours - 8a88-98f8-4eca-8300 -/* Retrieves all Mesh accesspoint Neighbours details whether child, parent, etc. +//GetPowerProfiles Get Power Profiles - a9b3-d8c2-4b6b-9b01 +/* This API allows the user to get Power Profiles that captured in wireless settings design. -@param GetMeshApNeighboursQueryParams Filtering parameter +@param GetPowerProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-mesh-ap-neighbours +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-power-profiles */ -func (s *WirelessService) GetMeshApNeighbours(GetMeshApNeighboursQueryParams *GetMeshApNeighboursQueryParams) (*ResponseWirelessGetMeshApNeighbours, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/meshApNeighbours" +func (s *WirelessService) GetPowerProfiles(GetPowerProfilesQueryParams *GetPowerProfilesQueryParams) (*ResponseWirelessGetPowerProfiles, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/powerProfiles" - queryString, _ := query.Values(GetMeshApNeighboursQueryParams) + queryString, _ := query.Values(GetPowerProfilesQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetMeshApNeighbours{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetPowerProfiles{}). SetError(&Error). Get(path) @@ -5476,30 +6573,30 @@ func (s *WirelessService) GetMeshApNeighbours(GetMeshApNeighboursQueryParams *Ge if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetMeshApNeighbours(GetMeshApNeighboursQueryParams) + return s.GetPowerProfiles(GetPowerProfilesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetMeshApNeighbours") + return nil, response, fmt.Errorf("error with operation GetPowerProfiles") } - result := response.Result().(*ResponseWirelessGetMeshApNeighbours) + result := response.Result().(*ResponseWirelessGetPowerProfiles) 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. +//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-mesh-ap-neighbours-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-power-profiles-count */ -func (s *WirelessService) GetMeshApNeighboursCount() (*ResponseWirelessGetMeshApNeighboursCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/meshApNeighbours/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(&ResponseWirelessGetMeshApNeighboursCount{}). + SetResult(&ResponseWirelessGetPowerProfilesCount{}). SetError(&Error). Get(path) @@ -5510,33 +6607,33 @@ func (s *WirelessService) GetMeshApNeighboursCount() (*ResponseWirelessGetMeshAp if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetMeshApNeighboursCount() + return s.GetPowerProfilesCount() } - return nil, response, fmt.Errorf("error with operation GetMeshApNeighboursCount") + return nil, response, fmt.Errorf("error with operation GetPowerProfilesCount") } - result := response.Result().(*ResponseWirelessGetMeshApNeighboursCount) + result := response.Result().(*ResponseWirelessGetPowerProfilesCount) 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. +//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 GetMobilityGroupsQueryParams Filtering parameter +@param id id path parameter. Power Profile ID -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) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-power-profile-by-id +*/ +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(&ResponseWirelessGetMobilityGroups{}). + SetResult(&ResponseWirelessGetPowerProfileByID{}). SetError(&Error). Get(path) @@ -5547,30 +6644,33 @@ func (s *WirelessService) GetMobilityGroups(GetMobilityGroupsQueryParams *GetMob if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetMobilityGroups(GetMobilityGroupsQueryParams) + return s.GetPowerProfileByID(id) } - return nil, response, fmt.Errorf("error with operation GetMobilityGroups") + return nil, response, fmt.Errorf("error with operation GetPowerProfileById") } - result := response.Result().(*ResponseWirelessGetMobilityGroups) + result := response.Result().(*ResponseWirelessGetPowerProfileByID) return result, response, err } -//GetMobilityGroupsCount Get MobilityGroups Count - 29b2-08fb-420a-8970 -/* Retrieves count of mobility groups configured +//GetRfProfiles Get RF Profiles - 15a6-e823-49ca-a9cc +/* This API allows the user to get all RF Profiles +@param GetRFProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-mobility-groups-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rf-profiles */ -func (s *WirelessService) GetMobilityGroupsCount() (*ResponseWirelessGetMobilityGroupsCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/wirelessMobilityGroups/count" +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(&ResponseWirelessGetMobilityGroupsCount{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetRfProfiles{}). SetError(&Error). Get(path) @@ -5581,36 +6681,30 @@ func (s *WirelessService) GetMobilityGroupsCount() (*ResponseWirelessGetMobility if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetMobilityGroupsCount() + return s.GetRfProfiles(GetRFProfilesQueryParams) } - return nil, response, fmt.Errorf("error with operation GetMobilityGroupsCount") + return nil, response, fmt.Errorf("error with operation GetRfProfiles") } - result := response.Result().(*ResponseWirelessGetMobilityGroupsCount) + result := response.Result().(*ResponseWirelessGetRfProfiles) 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. - +//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 GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anchor-managed-ap-locations-for-specific-wireless-controller +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rf-profiles-count */ -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) 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(&ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessController{}). + SetResult(&ResponseWirelessGetRfProfilesCount{}). SetError(&Error). Get(path) @@ -5621,33 +6715,33 @@ func (s *WirelessService) GetAnchorManagedApLocationsForSpecificWirelessControll if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetAnchorManagedApLocationsForSpecificWirelessController(networkDeviceID, GetAnchorManagedAPLocationsForSpecificWirelessControllerQueryParams) + return s.GetRfProfilesCount() } - return nil, response, fmt.Errorf("error with operation GetAnchorManagedApLocationsForSpecificWirelessController") + return nil, response, fmt.Errorf("error with operation GetRfProfilesCount") } - result := response.Result().(*ResponseWirelessGetAnchorManagedApLocationsForSpecificWirelessController) + result := response.Result().(*ResponseWirelessGetRfProfilesCount) 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}'. +//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. Network Device ID +@param id id path parameter. RF Profile ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-authorization-list-by-network-device-id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rf-profile-by-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) +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"). - SetResult(&ResponseWirelessGetApAuthorizationListByNetworkDeviceID{}). + SetResult(&ResponseWirelessGetRfProfileByID{}). SetError(&Error). Get(path) @@ -5658,33 +6752,33 @@ func (s *WirelessService) GetApAuthorizationListByNetworkDeviceID(networkDeviceI if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetApAuthorizationListByNetworkDeviceID(networkDeviceID) + return s.GetRfProfileByID(id) } - return nil, response, fmt.Errorf("error with operation GetApAuthorizationListByNetworkDeviceId") + return nil, response, fmt.Errorf("error with operation GetRfProfileById") } - result := response.Result().(*ResponseWirelessGetApAuthorizationListByNetworkDeviceID) + result := response.Result().(*ResponseWirelessGetRfProfileByID) 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. - +//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 RetrieveSitesWithOverriddenSSIDsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-managed-ap-locations-count-for-specific-wireless-controller +Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-sites-with-overridden-ssids */ -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) RetrieveSitesWithOverriddenSSIDs(RetrieveSitesWithOverriddenSSIDsQueryParams *RetrieveSitesWithOverriddenSSIDsQueryParams) (*ResponseWirelessRetrieveSitesWithOverriddenSSIDs, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/ssids/overrideAtSites" + + queryString, _ := query.Values(RetrieveSitesWithOverriddenSSIDsQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetManagedApLocationsCountForSpecificWirelessController{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveSitesWithOverriddenSSIDs{}). SetError(&Error). Get(path) @@ -5695,36 +6789,30 @@ func (s *WirelessService) GetManagedApLocationsCountForSpecificWirelessControlle if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetManagedApLocationsCountForSpecificWirelessController(networkDeviceID) + return s.RetrieveSitesWithOverriddenSSIDs(RetrieveSitesWithOverriddenSSIDsQueryParams) } - return nil, response, fmt.Errorf("error with operation GetManagedApLocationsCountForSpecificWirelessController") + return nil, response, fmt.Errorf("error with operation RetrieveSitesWithOverriddenSsids") } - result := response.Result().(*ResponseWirelessGetManagedApLocationsCountForSpecificWirelessController) + result := response.Result().(*ResponseWirelessRetrieveSitesWithOverriddenSSIDs) 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. - +//GetInterfacesCount Get Interfaces Count - fd81-f950-424b-b992 +/* This API allows the user to get count of all interfaces. -@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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interfaces-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) GetInterfacesCount() (*ResponseWirelessGetInterfacesCount, *resty.Response, error) { + path := "/intent/api/v1/wirelessSettings/interfaces/count" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessController{}). + SetResult(&ResponseWirelessGetInterfacesCount{}). SetError(&Error). Get(path) @@ -5735,38 +6823,46 @@ func (s *WirelessService) GetPrimaryManagedApLocationsForSpecificWirelessControl if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.GetPrimaryManagedApLocationsForSpecificWirelessController(networkDeviceID, GetPrimaryManagedAPLocationsForSpecificWirelessControllerQueryParams) + return s.GetInterfacesCount() } - return nil, response, fmt.Errorf("error with operation GetPrimaryManagedApLocationsForSpecificWirelessController") + return nil, response, fmt.Errorf("error with operation GetInterfacesCount") } - result := response.Result().(*ResponseWirelessGetPrimaryManagedApLocationsForSpecificWirelessController) + result := response.Result().(*ResponseWirelessGetInterfacesCount) 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. - +//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 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 +@param CreateAndProvisionSSIDHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-secondary-managed-ap-locations-for-specific-wireless-controller +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-and-provision-ssid */ -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) +func (s *WirelessService) CreateAndProvisionSSID(requestWirelessCreateAndProvisionSSID *RequestWirelessCreateAndProvisionSSID, CreateAndProvisionSSIDHeaderParams *CreateAndProvisionSSIDHeaderParams) (*ResponseWirelessCreateAndProvisionSSID, *resty.Response, error) { + path := "/dna/intent/api/v1/business/ssid" + + var response *resty.Response + var err error + clientRequest := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json") - queryString, _ := query.Values(GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams) + if CreateAndProvisionSSIDHeaderParams != nil { - response, err := s.client.R(). - SetHeader("Content-Type", "application/json"). - SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController{}). + if CreateAndProvisionSSIDHeaderParams.Persistbapioutput != "" { + clientRequest = clientRequest.SetHeader("__persistbapioutput", CreateAndProvisionSSIDHeaderParams.Persistbapioutput) + } + + } + + response, err = clientRequest. + SetBody(requestWirelessCreateAndProvisionSSID). + SetResult(&ResponseWirelessCreateAndProvisionSSID{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -5774,39 +6870,36 @@ func (s *WirelessService) GetSecondaryManagedApLocationsForSpecificWirelessContr } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetSecondaryManagedApLocationsForSpecificWirelessController(networkDeviceID, GetSecondaryManagedAPLocationsForSpecificWirelessControllerQueryParams) + return s.CreateAndProvisionSSID(requestWirelessCreateAndProvisionSSID, CreateAndProvisionSSIDHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetSecondaryManagedApLocationsForSpecificWirelessController") + + return nil, response, fmt.Errorf("error with operation CreateAndProvisionSsid") } - result := response.Result().(*ResponseWirelessGetSecondaryManagedApLocationsForSpecificWirelessController) + result := response.Result().(*ResponseWirelessCreateAndProvisionSSID) 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. - +//RebootAccessPoints Reboot Access Points - 6092-d8f1-468b-99ab +/* Users can reboot multiple access points up-to 200 at a time using this API -@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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!reboot-access-points */ -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) +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(&ResponseWirelessGetSSIDDetailsForSpecificWirelessController{}). + SetBody(requestWirelessRebootAccessPoints). + SetResult(&ResponseWirelessRebootAccessPoints{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -5814,39 +6907,36 @@ func (s *WirelessService) GetSSIDDetailsForSpecificWirelessController(networkDev } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetSSIDDetailsForSpecificWirelessController(networkDeviceID, GetSSIDDetailsForSpecificWirelessControllerQueryParams) + return s.RebootAccessPoints(requestWirelessRebootAccessPoints) } - return nil, response, fmt.Errorf("error with operation GetSsidDetailsForSpecificWirelessController") + + return nil, response, fmt.Errorf("error with operation RebootAccessPoints") } - result := response.Result().(*ResponseWirelessGetSSIDDetailsForSpecificWirelessController) + result := response.Result().(*ResponseWirelessRebootAccessPoints) 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. - +//CreateEnterpriseSSID Create Enterprise SSID - 8a96-fb95-4d09-a349 +/* Creates enterprise 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}. -@param GetSSIDCountForSpecificWirelessControllerQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ssid-count-for-specific-wireless-controller +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-enterprise-ssid */ -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) +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"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetSSIDCountForSpecificWirelessController{}). + SetBody(requestWirelessCreateEnterpriseSSID). + SetResult(&ResponseWirelessCreateEnterpriseSSID{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -5854,36 +6944,36 @@ func (s *WirelessService) GetSSIDCountForSpecificWirelessController(networkDevic } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetSSIDCountForSpecificWirelessController(networkDeviceID, GetSSIDCountForSpecificWirelessControllerQueryParams) + return s.CreateEnterpriseSSID(requestWirelessCreateEnterpriseSSID) } - return nil, response, fmt.Errorf("error with operation GetSsidCountForSpecificWirelessController") + + return nil, response, fmt.Errorf("error with operation CreateEnterpriseSsid") } - result := response.Result().(*ResponseWirelessGetSSIDCountForSpecificWirelessController) + result := response.Result().(*ResponseWirelessCreateEnterpriseSSID) return result, response, err } -//GetWirelessProfiles Get Wireless Profiles - 7988-fac4-447b-8e3d -/* This API allows the user to get all Wireless Network Profiles +//CreateAAARadiusAttributesConfigurationFeatureTemplate Create AAA Radius Attributes Configuration Feature Template - 55bc-aa45-4a68-b8e7 +/* This API allows users to create a AAA Radius Attributes configuration feature template. -@param GetWirelessProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profiles +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-aaa-radius-attributes-configuration-feature-template */ -func (s *WirelessService) GetWirelessProfiles(GetWirelessProfilesQueryParams *GetWirelessProfilesQueryParams) (*ResponseWirelessGetWirelessProfiles, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessProfiles" - - queryString, _ := query.Values(GetWirelessProfilesQueryParams) +func (s *WirelessService) CreateAAARadiusAttributesConfigurationFeatureTemplate(requestWirelessCreateAAARadiusAttributesConfigurationFeatureTemplate *RequestWirelessCreateAAARadiusAttributesConfigurationFeatureTemplate) (*ResponseWirelessCreateAAARadiusAttributesConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/aaaRadiusAttributesConfigurations" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetWirelessProfiles{}). + SetBody(requestWirelessCreateAAARadiusAttributesConfigurationFeatureTemplate). + SetResult(&ResponseWirelessCreateAAARadiusAttributesConfigurationFeatureTemplate{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -5891,33 +6981,36 @@ func (s *WirelessService) GetWirelessProfiles(GetWirelessProfilesQueryParams *Ge } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetWirelessProfiles(GetWirelessProfilesQueryParams) + return s.CreateAAARadiusAttributesConfigurationFeatureTemplate(requestWirelessCreateAAARadiusAttributesConfigurationFeatureTemplate) } - return nil, response, fmt.Errorf("error with operation GetWirelessProfiles") + + return nil, response, fmt.Errorf("error with operation CreateAaaRadiusAttributesConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessGetWirelessProfiles) + result := response.Result().(*ResponseWirelessCreateAAARadiusAttributesConfigurationFeatureTemplate) 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 +//CreateAdvancedSSIDConfigurationFeatureTemplate Create Advanced SSID Configuration Feature Template - 5d9f-e91c-4f8a-9983 +/* This API allows users to create a Advanced SSID configuration feature template. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profiles-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-advanced-ssid-configuration-feature-template */ -func (s *WirelessService) GetWirelessProfilesCount() (*ResponseWirelessGetWirelessProfilesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessProfiles/count" +func (s *WirelessService) CreateAdvancedSSIDConfigurationFeatureTemplate(requestWirelessCreateAdvancedSSIDConfigurationFeatureTemplate *RequestWirelessCreateAdvancedSSIDConfigurationFeatureTemplate) (*ResponseWirelessCreateAdvancedSSIDConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/advancedSSIDConfigurations" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetWirelessProfilesCount{}). + SetBody(requestWirelessCreateAdvancedSSIDConfigurationFeatureTemplate). + SetResult(&ResponseWirelessCreateAdvancedSSIDConfigurationFeatureTemplate{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -5925,36 +7018,36 @@ func (s *WirelessService) GetWirelessProfilesCount() (*ResponseWirelessGetWirele } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetWirelessProfilesCount() + return s.CreateAdvancedSSIDConfigurationFeatureTemplate(requestWirelessCreateAdvancedSSIDConfigurationFeatureTemplate) } - return nil, response, fmt.Errorf("error with operation GetWirelessProfilesCount") + + return nil, response, fmt.Errorf("error with operation CreateAdvancedSsidConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessGetWirelessProfilesCount) + result := response.Result().(*ResponseWirelessCreateAdvancedSSIDConfigurationFeatureTemplate) 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 +//CreateCleanAirConfigurationFeatureTemplate Create CleanAir Configuration Feature Template - 5b84-d9ca-465a-9361 +/* This API allows users to create a CleanAir configuration feature template. -@param id id path parameter. Wireless Profile Id - -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-wireless-profile-by-id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-clean-air-configuration-feature-template */ -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) CreateCleanAirConfigurationFeatureTemplate(requestWirelessCreateCleanAirConfigurationFeatureTemplate *RequestWirelessCreateCleanAirConfigurationFeatureTemplate) (*ResponseWirelessCreateCleanAirConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/cleanAirConfigurations" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetWirelessProfileByID{}). + SetBody(requestWirelessCreateCleanAirConfigurationFeatureTemplate). + SetResult(&ResponseWirelessCreateCleanAirConfigurationFeatureTemplate{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -5962,39 +7055,36 @@ func (s *WirelessService) GetWirelessProfileByID(id string) (*ResponseWirelessGe } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetWirelessProfileByID(id) + return s.CreateCleanAirConfigurationFeatureTemplate(requestWirelessCreateCleanAirConfigurationFeatureTemplate) } - return nil, response, fmt.Errorf("error with operation GetWirelessProfileById") + + return nil, response, fmt.Errorf("error with operation CreateCleanAirConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessGetWirelessProfileByID) + result := response.Result().(*ResponseWirelessCreateCleanAirConfigurationFeatureTemplate) 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. +//CreateDot11AxConfigurationFeatureTemplate Create Dot11ax Configuration Feature Template - 4f8c-193a-4d3b-a396 +/* This API allows users to create a Dot11ax configuration feature template. -@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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-dot11ax-configuration-feature-template */ -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) +func (s *WirelessService) CreateDot11AxConfigurationFeatureTemplate(requestWirelessCreateDot11axConfigurationFeatureTemplate *RequestWirelessCreateDot11AxConfigurationFeatureTemplate) (*ResponseWirelessCreateDot11AxConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/dot11axConfigurations" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfile{}). + SetBody(requestWirelessCreateDot11axConfigurationFeatureTemplate). + SetResult(&ResponseWirelessCreateDot11AxConfigurationFeatureTemplate{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6002,36 +7092,36 @@ func (s *WirelessService) RetrieveAllPolicyTagsForAWirelessProfile(id string, Re } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.RetrieveAllPolicyTagsForAWirelessProfile(id, RetrieveAllPolicyTagsForAWirelessProfileQueryParams) + return s.CreateDot11AxConfigurationFeatureTemplate(requestWirelessCreateDot11axConfigurationFeatureTemplate) } - return nil, response, fmt.Errorf("error with operation RetrieveAllPolicyTagsForAWirelessProfile") + + return nil, response, fmt.Errorf("error with operation CreateDot11AxConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessRetrieveAllPolicyTagsForAWirelessProfile) + result := response.Result().(*ResponseWirelessCreateDot11AxConfigurationFeatureTemplate) return result, response, err } -//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. - +//CreateDot11BeStatusConfigurationFeatureTemplate Create Dot11be Status Configuration Feature Template - 688c-ca45-4b0b-b74d +/* This API allows users to create a Dot11be status configuration feature template. -@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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-dot11be-status-configuration-feature-template */ -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) +func (s *WirelessService) CreateDot11BeStatusConfigurationFeatureTemplate(requestWirelessCreateDot11beStatusConfigurationFeatureTemplate *RequestWirelessCreateDot11BeStatusConfigurationFeatureTemplate) (*ResponseWirelessCreateDot11BeStatusConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/dot11beStatusConfigurations" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfile{}). + SetBody(requestWirelessCreateDot11beStatusConfigurationFeatureTemplate). + SetResult(&ResponseWirelessCreateDot11BeStatusConfigurationFeatureTemplate{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6039,39 +7129,36 @@ func (s *WirelessService) RetrieveTheCountOfPolicyTagsForAWirelessProfile(id str } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.RetrieveTheCountOfPolicyTagsForAWirelessProfile(id) + return s.CreateDot11BeStatusConfigurationFeatureTemplate(requestWirelessCreateDot11beStatusConfigurationFeatureTemplate) } - return nil, response, fmt.Errorf("error with operation RetrieveTheCountOfPolicyTagsForAWirelessProfile") + + return nil, response, fmt.Errorf("error with operation CreateDot11BeStatusConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessRetrieveTheCountOfPolicyTagsForAWirelessProfile) + result := response.Result().(*ResponseWirelessCreateDot11BeStatusConfigurationFeatureTemplate) return result, response, err } -//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 +//CreateEventDrivenRRMConfigurationFeatureTemplate Create Event Driven RRM Configuration Feature Template - 0a8b-689a-4008-9e98 +/* This API allows users to create a Event Driven RRM configuration feature template. -@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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-event-driven-r-r-m-configuration-feature-template */ -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) +func (s *WirelessService) CreateEventDrivenRRMConfigurationFeatureTemplate(requestWirelessCreateEventDrivenRRMConfigurationFeatureTemplate *RequestWirelessCreateEventDrivenRRMConfigurationFeatureTemplate) (*ResponseWirelessCreateEventDrivenRRMConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/eventDrivenRRMConfigurations" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfile{}). + SetBody(requestWirelessCreateEventDrivenRRMConfigurationFeatureTemplate). + SetResult(&ResponseWirelessCreateEventDrivenRRMConfigurationFeatureTemplate{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6079,39 +7166,36 @@ func (s *WirelessService) RetrieveASpecificPolicyTagForAWirelessProfile(id strin } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.RetrieveASpecificPolicyTagForAWirelessProfile(id, policyTagID) + return s.CreateEventDrivenRRMConfigurationFeatureTemplate(requestWirelessCreateEventDrivenRRMConfigurationFeatureTemplate) } - return nil, response, fmt.Errorf("error with operation RetrieveASpecificPolicyTagForAWirelessProfile") + + return nil, response, fmt.Errorf("error with operation CreateEventDrivenRRMConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessRetrieveASpecificPolicyTagForAWirelessProfile) + result := response.Result().(*ResponseWirelessCreateEventDrivenRRMConfigurationFeatureTemplate) return result, response, err } -//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. - +//CreateFlexConnectConfigurationFeatureTemplate Create Flex Connect Configuration Feature Template - a78a-189e-40e8-9880 +/* This API allows users to create a Flex Connect configuration feature template. -@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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-flex-connect-configuration-feature-template */ -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) +func (s *WirelessService) CreateFlexConnectConfigurationFeatureTemplate(requestWirelessCreateFlexConnectConfigurationFeatureTemplate *RequestWirelessCreateFlexConnectConfigurationFeatureTemplate) (*ResponseWirelessCreateFlexConnectConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/flexConnectConfigurations" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveAllSiteTagsForAWirelessProfile{}). + SetBody(requestWirelessCreateFlexConnectConfigurationFeatureTemplate). + SetResult(&ResponseWirelessCreateFlexConnectConfigurationFeatureTemplate{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6119,36 +7203,36 @@ func (s *WirelessService) RetrieveAllSiteTagsForAWirelessProfile(id string, Retr } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.RetrieveAllSiteTagsForAWirelessProfile(id, RetrieveAllSiteTagsForAWirelessProfileQueryParams) + return s.CreateFlexConnectConfigurationFeatureTemplate(requestWirelessCreateFlexConnectConfigurationFeatureTemplate) } - return nil, response, fmt.Errorf("error with operation RetrieveAllSiteTagsForAWirelessProfile") + + return nil, response, fmt.Errorf("error with operation CreateFlexConnectConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessRetrieveAllSiteTagsForAWirelessProfile) + result := response.Result().(*ResponseWirelessCreateFlexConnectConfigurationFeatureTemplate) return result, response, err } -//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. - +//CreateMulticastConfigurationFeatureTemplate Create Multicast Configuration Feature Template - 4cb9-4b30-4729-918c +/* This API allows users to create a Multicast configuration feature template. -@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 +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-multicast-configuration-feature-template */ -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) +func (s *WirelessService) CreateMulticastConfigurationFeatureTemplate(requestWirelessCreateMulticastConfigurationFeatureTemplate *RequestWirelessCreateMulticastConfigurationFeatureTemplate) (*ResponseWirelessCreateMulticastConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/multicastConfigurations" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfile{}). + SetBody(requestWirelessCreateMulticastConfigurationFeatureTemplate). + SetResult(&ResponseWirelessCreateMulticastConfigurationFeatureTemplate{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6156,39 +7240,36 @@ func (s *WirelessService) RetrieveTheCountOfSiteTagsForAWirelessProfile(id strin } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.RetrieveTheCountOfSiteTagsForAWirelessProfile(id) + return s.CreateMulticastConfigurationFeatureTemplate(requestWirelessCreateMulticastConfigurationFeatureTemplate) } - return nil, response, fmt.Errorf("error with operation RetrieveTheCountOfSiteTagsForAWirelessProfile") + + return nil, response, fmt.Errorf("error with operation CreateMulticastConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessRetrieveTheCountOfSiteTagsForAWirelessProfile) + result := response.Result().(*ResponseWirelessCreateMulticastConfigurationFeatureTemplate) return result, response, err } -//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`. - +//CreateRRMFRAConfigurationFeatureTemplate Create RRM FRA Configuration Feature Template - e98e-cb68-4cc9-9659 +/* This API allows users to create a RRM FRA configuration feature template. -@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/#!retrieve-a-specific-site-tag-for-a-wireless-profile +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-r-r-m-f-r-a-configuration-feature-template */ -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) +func (s *WirelessService) CreateRRMFRAConfigurationFeatureTemplate(requestWirelessCreateRRMFRAConfigurationFeatureTemplate *RequestWirelessCreateRRMFRAConfigurationFeatureTemplate) (*ResponseWirelessCreateRRMFRAConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/rrmFraConfigurations" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfile{}). + SetBody(requestWirelessCreateRRMFRAConfigurationFeatureTemplate). + SetResult(&ResponseWirelessCreateRRMFRAConfigurationFeatureTemplate{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6196,33 +7277,36 @@ func (s *WirelessService) RetrieveASpecificSiteTagForAWirelessProfile(id string, } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.RetrieveASpecificSiteTagForAWirelessProfile(id, siteTagID) + return s.CreateRRMFRAConfigurationFeatureTemplate(requestWirelessCreateRRMFRAConfigurationFeatureTemplate) } - return nil, response, fmt.Errorf("error with operation RetrieveASpecificSiteTagForAWirelessProfile") + + return nil, response, fmt.Errorf("error with operation CreateRRMFRAConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessRetrieveASpecificSiteTagForAWirelessProfile) + result := response.Result().(*ResponseWirelessCreateRRMFRAConfigurationFeatureTemplate) 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. +//CreateRRMGeneralConfigurationFeatureTemplate Create RRM General Configuration Feature Template - e995-195c-4cfa-ba99 +/* This API allows users to create a RRM General configuration feature template. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anchor-groups +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-r-r-m-general-configuration-feature-template */ -func (s *WirelessService) GetAnchorGroups() (*ResponseWirelessGetAnchorGroups, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/anchorGroups" +func (s *WirelessService) CreateRRMGeneralConfigurationFeatureTemplate(requestWirelessCreateRRMGeneralConfigurationFeatureTemplate *RequestWirelessCreateRRMGeneralConfigurationFeatureTemplate) (*ResponseWirelessCreateRRMGeneralConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/rrmGeneralConfigurations" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetAnchorGroups{}). + SetBody(requestWirelessCreateRRMGeneralConfigurationFeatureTemplate). + SetResult(&ResponseWirelessCreateRRMGeneralConfigurationFeatureTemplate{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6230,33 +7314,39 @@ func (s *WirelessService) GetAnchorGroups() (*ResponseWirelessGetAnchorGroups, * } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetAnchorGroups() + return s.CreateRRMGeneralConfigurationFeatureTemplate(requestWirelessCreateRRMGeneralConfigurationFeatureTemplate) } - return nil, response, fmt.Errorf("error with operation GetAnchorGroups") + + return nil, response, fmt.Errorf("error with operation CreateRRMGeneralConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessGetAnchorGroups) + result := response.Result().(*ResponseWirelessCreateRRMGeneralConfigurationFeatureTemplate) return result, response, err } -//GetCountOfAnchorGroups Get count of AnchorGroups - 5581-4892-4dc8-a66c -/* This API allows the user to get count of all AnchorGroups +//CreateSSID Create SSID - 0193-8858-4789-9a53 +/* This API allows the user to create an SSID (Service Set Identifier) at the Global site +@param siteID siteId path parameter. Site UUID of Global site -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-count-of-anchor-groups + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-ssid */ -func (s *WirelessService) GetCountOfAnchorGroups() (*ResponseWirelessGetCountOfAnchorGroups, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/anchorGroups/count" +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(&ResponseWirelessGetCountOfAnchorGroups{}). + SetBody(requestWirelessCreateSSID). + SetResult(&ResponseWirelessCreateSSID{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6264,36 +7354,42 @@ func (s *WirelessService) GetCountOfAnchorGroups() (*ResponseWirelessGetCountOfA } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetCountOfAnchorGroups() + return s.CreateSSID(siteID, requestWirelessCreateSSID) } - return nil, response, fmt.Errorf("error with operation GetCountOfAnchorGroups") + + return nil, response, fmt.Errorf("error with operation CreateSsid") } - result := response.Result().(*ResponseWirelessGetCountOfAnchorGroups) + result := response.Result().(*ResponseWirelessCreateSSID) 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 +//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 id id path parameter. AnchorGroup ID +@param siteID siteId path parameter. Site UUID +@param id id path parameter. SSID ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-anchor-group-by-id + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!update-or-overridessid */ -func (s *WirelessService) GetAnchorGroupByID(id string) (*ResponseWirelessGetAnchorGroupByID, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/anchorGroups/{id}" +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"). - SetResult(&ResponseWirelessGetAnchorGroupByID{}). + SetBody(requestWirelessUpdateOrOverrideSSID). + SetResult(&ResponseWirelessUpdateOrOverridessid{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6301,36 +7397,36 @@ func (s *WirelessService) GetAnchorGroupByID(id string) (*ResponseWirelessGetAnc } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetAnchorGroupByID(id) + return s.UpdateOrOverridessid(siteID, id, requestWirelessUpdateOrOverrideSSID) } - return nil, response, fmt.Errorf("error with operation GetAnchorGroupById") + + return nil, response, fmt.Errorf("error with operation UpdateOrOverridessid") } - result := response.Result().(*ResponseWirelessGetAnchorGroupByID) + result := response.Result().(*ResponseWirelessUpdateOrOverridessid) return result, response, err } -//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. +//ConfigureAccessPoints Configure Access Points V1 - 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 -@param GetAPAuthorizationListsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-authorization-lists +Documentation Link: https://developer.cisco.com/docs/dna-center/#!configure-access-points */ -func (s *WirelessService) GetApAuthorizationLists(GetAPAuthorizationListsQueryParams *GetApAuthorizationListsQueryParams) (*ResponseWirelessGetApAuthorizationLists, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/apAuthorizationLists" - - queryString, _ := query.Values(GetAPAuthorizationListsQueryParams) +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"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetApAuthorizationLists{}). + SetBody(requestWirelessConfigureAccessPoints). + SetResult(&ResponseWirelessConfigureAccessPoints{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6338,33 +7434,49 @@ func (s *WirelessService) GetApAuthorizationLists(GetAPAuthorizationListsQueryPa } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetApAuthorizationLists(GetAPAuthorizationListsQueryParams) + return s.ConfigureAccessPoints(requestWirelessConfigureAccessPoints) } - return nil, response, fmt.Errorf("error with operation GetApAuthorizationLists") + + return nil, response, fmt.Errorf("error with operation ConfigureAccessPoints") } - result := response.Result().(*ResponseWirelessGetApAuthorizationLists) + result := response.Result().(*ResponseWirelessConfigureAccessPoints) return result, response, err } -//GetApAuthorizationListCount Get AP Authorization List Count - 51be-d862-47c8-a51a -/* This API allows the user to get count of all AP Authorization lists. +//ApProvisionConnectivity AP Provision - d897-19b8-47aa-a9c4 +/* Access Point Provision and ReProvision +@param APProvisionConnectivityHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-authorization-list-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!ap-provision-connectivity */ -func (s *WirelessService) GetApAuthorizationListCount() (*ResponseWirelessGetApAuthorizationListCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/apAuthorizationLists/count" +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(&ResponseWirelessGetApAuthorizationListCount{}). + 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 @@ -6372,36 +7484,36 @@ func (s *WirelessService) GetApAuthorizationListCount() (*ResponseWirelessGetApA } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetApAuthorizationListCount() + return s.ApProvisionConnectivity(requestWirelessAPProvisionConnectivity, APProvisionConnectivityHeaderParams) } - return nil, response, fmt.Errorf("error with operation GetApAuthorizationListCount") + + return nil, response, fmt.Errorf("error with operation ApProvisionConnectivity") } - result := response.Result().(*ResponseWirelessGetApAuthorizationListCount) + result := response.Result().(*ResponseWirelessApProvisionConnectivity) 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. - +//CreateUpdateDynamicInterface Create Update Dynamic interface - daa0-bb75-4e2a-8da6 +/* API to create or update an dynamic interface -@param id id path parameter. AP Authorization List ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-authorization-list-by-id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-update-dynamic-interface */ -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) +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"). - SetResult(&ResponseWirelessGetApAuthorizationListByID{}). + SetBody(requestWirelessCreateUpdateDynamicInterface). + SetResult(&ResponseWirelessCreateUpdateDynamicInterface{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6409,36 +7521,36 @@ func (s *WirelessService) GetApAuthorizationListByID(id string) (*ResponseWirele } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetApAuthorizationListByID(id) + return s.CreateUpdateDynamicInterface(requestWirelessCreateUpdateDynamicInterface) } - return nil, response, fmt.Errorf("error with operation GetApAuthorizationListById") + + return nil, response, fmt.Errorf("error with operation CreateUpdateDynamicInterface") } - result := response.Result().(*ResponseWirelessGetApAuthorizationListByID) + result := response.Result().(*ResponseWirelessCreateUpdateDynamicInterface) 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. +//CreateWirelessProfile Create Wireless Profile - 7097-6962-4bf9-88d5 +/* Creates Wireless Network Profile on Cisco DNA Center and associates sites and SSIDs to it. -@param GetAPProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-profiles +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-wireless-profile */ -func (s *WirelessService) GetApProfiles(GetAPProfilesQueryParams *GetApProfilesQueryParams) (*ResponseWirelessGetApProfiles, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/apProfiles" - - queryString, _ := query.Values(GetAPProfilesQueryParams) +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"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetApProfiles{}). + SetBody(requestWirelessCreateWirelessProfile). + SetResult(&ResponseWirelessCreateWirelessProfile{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6446,33 +7558,36 @@ func (s *WirelessService) GetApProfiles(GetAPProfilesQueryParams *GetApProfilesQ } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetApProfiles(GetAPProfilesQueryParams) + return s.CreateWirelessProfile(requestWirelessCreateWirelessProfile) } - return nil, response, fmt.Errorf("error with operation GetApProfiles") + + return nil, response, fmt.Errorf("error with operation CreateWirelessProfile") } - result := response.Result().(*ResponseWirelessGetApProfiles) + result := response.Result().(*ResponseWirelessCreateWirelessProfile) return result, response, err } -//GetApProfilesCount Get AP Profiles Count - a687-f85e-438a-8941 -/* This API returns the total number of AP Profiles available. +//Provision Provision - d09b-08a3-447a-a3b9 +/* Provision wireless device -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-profiles-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!provision */ -func (s *WirelessService) GetApProfilesCount() (*ResponseWirelessGetApProfilesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/apProfiles/count" +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(&ResponseWirelessGetApProfilesCount{}). + SetBody(requestWirelessProvision). + SetResult(&ResponseWirelessProvision{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6480,36 +7595,36 @@ func (s *WirelessService) GetApProfilesCount() (*ResponseWirelessGetApProfilesCo } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetApProfilesCount() + return s.Provision(requestWirelessProvision) } - return nil, response, fmt.Errorf("error with operation GetApProfilesCount") + + return nil, response, fmt.Errorf("error with operation Provision") } - result := response.Result().(*ResponseWirelessGetApProfilesCount) + result := response.Result().(*ResponseWirelessProvision) return result, response, err } -//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 - +//PSKOverride PSK override - 46ad-ab75-47c9-8762 +/* Update/Override passphrase of SSID -@param id id path parameter. Ap Profile ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-ap-profile-by-id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!p-s-k-override */ -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) +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"). - SetResult(&ResponseWirelessGetApProfileByID{}). + SetBody(requestWirelessPSKOverride). + SetResult(&ResponseWirelessPSKOverride{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6517,36 +7632,36 @@ func (s *WirelessService) GetApProfileByID(id string) (*ResponseWirelessGetApPro } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetApProfileByID(id) + return s.PSKOverride(requestWirelessPSKOverride) } - return nil, response, fmt.Errorf("error with operation GetApProfileById") + + return nil, response, fmt.Errorf("error with operation PSKOverride") } - result := response.Result().(*ResponseWirelessGetApProfileByID) + result := response.Result().(*ResponseWirelessPSKOverride) return result, response, err } -//Get80211BeProfiles Get 802.11be Profiles - 1895-aac1-4428-bd0d -/* This API allows the user to get 802.11be Profile(s) configured under Wireless Settings +//CreateOrUpdateRfProfile Create or Update RF profile - b783-2967-4878-b815 +/* Create or Update RF profile -@param Get80211beProfilesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get80211be-profiles +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-or-update-rf-profile */ -func (s *WirelessService) Get80211BeProfiles(Get80211beProfilesQueryParams *Get80211BeProfilesQueryParams) (*ResponseWirelessGet80211BeProfiles, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles" - - queryString, _ := query.Values(Get80211beProfilesQueryParams) +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"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGet80211BeProfiles{}). + SetBody(requestWirelessCreateOrUpdateRFProfile). + SetResult(&ResponseWirelessCreateOrUpdateRfProfile{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6554,33 +7669,36 @@ func (s *WirelessService) Get80211BeProfiles(Get80211beProfilesQueryParams *Get8 } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.Get80211BeProfiles(Get80211beProfilesQueryParams) + return s.CreateOrUpdateRfProfile(requestWirelessCreateOrUpdateRFProfile) } - return nil, response, fmt.Errorf("error with operation Get80211BeProfiles") + + return nil, response, fmt.Errorf("error with operation CreateOrUpdateRfProfile") } - result := response.Result().(*ResponseWirelessGet80211BeProfiles) + result := response.Result().(*ResponseWirelessCreateOrUpdateRfProfile) 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) +//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. -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get80211be-profiles-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!factory-reset-access-points */ -func (s *WirelessService) Get80211BeProfilesCount() (*ResponseWirelessGet80211BeProfilesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles/count" +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(&ResponseWirelessGet80211BeProfilesCount{}). + SetBody(requestWirelessFactoryResetAccessPoints). + SetResult(&ResponseWirelessFactoryResetAccessPoints{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6588,36 +7706,36 @@ func (s *WirelessService) Get80211BeProfilesCount() (*ResponseWirelessGet80211Be } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.Get80211BeProfilesCount() + return s.FactoryResetAccessPoints(requestWirelessFactoryResetAccessPoints) } - return nil, response, fmt.Errorf("error with operation Get80211BeProfilesCount") + + return nil, response, fmt.Errorf("error with operation FactoryResetAccessPoints") } - result := response.Result().(*ResponseWirelessGet80211BeProfilesCount) + result := response.Result().(*ResponseWirelessFactoryResetAccessPoints) 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 - +//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 id id path parameter. 802.11be Profile ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get80211be-profile-by-id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!ap-provision */ -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) ApProvision(requestWirelessAPProvision *RequestWirelessApProvision) (*ResponseWirelessApProvision, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessAccessPoints/provision" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGet80211BeProfileByID{}). + SetBody(requestWirelessAPProvision). + SetResult(&ResponseWirelessApProvision{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6625,36 +7743,36 @@ func (s *WirelessService) Get80211BeProfileByID(id string) (*ResponseWirelessGet } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.Get80211BeProfileByID(id) + return s.ApProvision(requestWirelessAPProvision) } - return nil, response, fmt.Errorf("error with operation Get80211BeProfileById") + + return nil, response, fmt.Errorf("error with operation ApProvision") } - result := response.Result().(*ResponseWirelessGet80211BeProfileByID) + result := response.Result().(*ResponseWirelessApProvision) return result, response, err } -//GetInterfaces Get Interfaces - 3793-ea73-438a-b243 -/* This API allows the user to get all Interfaces +//MobilityProvision Mobility Provision - 6c8b-6bd5-40bb-ac31 +/* This API is used to provision/deploy wireless mobility into Cisco wireless controllers. -@param GetInterfacesQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-interfaces +Documentation Link: https://developer.cisco.com/docs/dna-center/#!mobility-provision */ -func (s *WirelessService) GetInterfaces(GetInterfacesQueryParams *GetInterfacesQueryParams) (*ResponseWirelessGetInterfaces, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/interfaces" - - queryString, _ := query.Values(GetInterfacesQueryParams) +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"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetInterfaces{}). + SetBody(requestWirelessMobilityProvision). + SetResult(&ResponseWirelessMobilityProvision{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6662,33 +7780,36 @@ func (s *WirelessService) GetInterfaces(GetInterfacesQueryParams *GetInterfacesQ } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetInterfaces(GetInterfacesQueryParams) + return s.MobilityProvision(requestWirelessMobilityProvision) } - return nil, response, fmt.Errorf("error with operation GetInterfaces") + + return nil, response, fmt.Errorf("error with operation MobilityProvision") } - result := response.Result().(*ResponseWirelessGetInterfaces) + result := response.Result().(*ResponseWirelessMobilityProvision) return result, response, err } -//GetInterfacesCount Get Interfaces Count - fd81-f950-424b-b992 -/* This API allows the user to get count of all interfaces +//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/#!get-interfaces-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!mobility-reset */ -func (s *WirelessService) GetInterfacesCount() (*ResponseWirelessGetInterfacesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/interfaces/count" +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"). - SetResult(&ResponseWirelessGetInterfacesCount{}). + SetBody(requestWirelessMobilityReset). + SetResult(&ResponseWirelessMobilityReset{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6696,36 +7817,39 @@ func (s *WirelessService) GetInterfacesCount() (*ResponseWirelessGetInterfacesCo } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetInterfacesCount() + return s.MobilityReset(requestWirelessMobilityReset) } - return nil, response, fmt.Errorf("error with operation GetInterfacesCount") + + return nil, response, fmt.Errorf("error with operation MobilityReset") } - result := response.Result().(*ResponseWirelessGetInterfacesCount) + result := response.Result().(*ResponseWirelessMobilityReset) return result, response, err } -//GetInterfaceByID Get Interface by ID - 3fa4-19ab-482a-ad07 -/* This API allows the user to get an interface by ID +//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 id id path parameter. Interface ID +@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/#!get-interface-by-id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-managed-ap-locations-for-w-l-c */ -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) 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"). - SetResult(&ResponseWirelessGetInterfaceByID{}). + SetBody(requestWirelessAssignManagedAPLocationsForWLC). + SetResult(&ResponseWirelessAssignManagedApLocationsForWLC{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6733,36 +7857,39 @@ func (s *WirelessService) GetInterfaceByID(id string) (*ResponseWirelessGetInter } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetInterfaceByID(id) + return s.AssignManagedApLocationsForWLC(deviceID, requestWirelessAssignManagedAPLocationsForWLC) } - return nil, response, fmt.Errorf("error with operation GetInterfaceById") + + return nil, response, fmt.Errorf("error with operation AssignManagedApLocationsForWLC") } - result := response.Result().(*ResponseWirelessGetInterfaceByID) + result := response.Result().(*ResponseWirelessAssignManagedApLocationsForWLC) return result, response, err } -//GetPowerProfiles Get Power Profiles - a9b3-d8c2-4b6b-9b01 -/* This API allows the user to get Power Profiles that captured in wireless settings design. +//WirelessControllerProvision Wireless Controller Provision - 9e9c-386b-4069-9e7c +/* This API is used to provision wireless controller -@param GetPowerProfilesQueryParams Filtering parameter +@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/#!get-power-profiles -*/ -func (s *WirelessService) GetPowerProfiles(GetPowerProfilesQueryParams *GetPowerProfilesQueryParams) (*ResponseWirelessGetPowerProfiles, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/powerProfiles" - queryString, _ := query.Values(GetPowerProfilesQueryParams) +Documentation Link: https://developer.cisco.com/docs/dna-center/#!wireless-controller-provision +*/ +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"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetPowerProfiles{}). + SetBody(requestWirelessWirelessControllerProvision). + SetResult(&ResponseWirelessWirelessControllerProvision{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6770,33 +7897,36 @@ func (s *WirelessService) GetPowerProfiles(GetPowerProfilesQueryParams *GetPower } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetPowerProfiles(GetPowerProfilesQueryParams) + return s.WirelessControllerProvision(deviceID, requestWirelessWirelessControllerProvision) } - return nil, response, fmt.Errorf("error with operation GetPowerProfiles") + + return nil, response, fmt.Errorf("error with operation WirelessControllerProvision") } - result := response.Result().(*ResponseWirelessGetPowerProfiles) + result := response.Result().(*ResponseWirelessWirelessControllerProvision) return result, response, err } -//GetPowerProfilesCount Get Power Profiles Count - 7091-1b6d-4849-ab2f -/* This API returns the total number of Power Profiles available. +//CreateWirelessProfileConnectivity Create Wireless Profile - dd88-bb37-492a-888b +/* This API allows the user to create a Wireless Network Profile -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-power-profiles-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-wireless-profile-connectivity */ -func (s *WirelessService) GetPowerProfilesCount() (*ResponseWirelessGetPowerProfilesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/powerProfiles/count" +func (s *WirelessService) CreateWirelessProfileConnectivity(requestWirelessCreateWirelessProfileConnectivity *RequestWirelessCreateWirelessProfileConnectivity) (*ResponseWirelessCreateWirelessProfileConnectivity, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessProfiles" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessGetPowerProfilesCount{}). + SetBody(requestWirelessCreateWirelessProfileConnectivity). + SetResult(&ResponseWirelessCreateWirelessProfileConnectivity{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6804,36 +7934,39 @@ func (s *WirelessService) GetPowerProfilesCount() (*ResponseWirelessGetPowerProf } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetPowerProfilesCount() + return s.CreateWirelessProfileConnectivity(requestWirelessCreateWirelessProfileConnectivity) } - return nil, response, fmt.Errorf("error with operation GetPowerProfilesCount") + + return nil, response, fmt.Errorf("error with operation CreateWirelessProfileConnectivity") } - result := response.Result().(*ResponseWirelessGetPowerProfilesCount) + result := response.Result().(*ResponseWirelessCreateWirelessProfileConnectivity) return result, response, err } -//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 +//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. Power Profile ID +@param id id path parameter. Wireless Profile Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-power-profile-by-id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-multiple-policy-tags-for-a-wireless-profile-in-bulk */ -func (s *WirelessService) GetPowerProfileByID(id string) (*ResponseWirelessGetPowerProfileByID, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/powerProfiles/{id}" +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"). - SetResult(&ResponseWirelessGetPowerProfileByID{}). + SetBody(requestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk). + SetResult(&ResponseWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6841,36 +7974,39 @@ func (s *WirelessService) GetPowerProfileByID(id string) (*ResponseWirelessGetPo } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetPowerProfileByID(id) + return s.CreateMultiplePolicyTagsForAWirelessProfileInBulk(id, requestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk) } - return nil, response, fmt.Errorf("error with operation GetPowerProfileById") + + return nil, response, fmt.Errorf("error with operation CreateMultiplePolicyTagsForAWirelessProfileInBulk") } - result := response.Result().(*ResponseWirelessGetPowerProfileByID) + result := response.Result().(*ResponseWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk) return result, response, err } -//GetRfProfiles Get RF Profiles - 15a6-e823-49ca-a9cc -/* This API allows the user to get all RF Profiles +//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 GetRFProfilesQueryParams Filtering parameter +@param id id path parameter. network profile id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rf-profiles -*/ -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/#!create-multiple-site-tags-for-a-wireless-profile-in-bulk +*/ +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"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessGetRfProfiles{}). + SetBody(requestWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk). + SetResult(&ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6878,33 +8014,36 @@ func (s *WirelessService) GetRfProfiles(GetRFProfilesQueryParams *GetRfProfilesQ } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetRfProfiles(GetRFProfilesQueryParams) + return s.CreateMultipleSiteTagsForAWirelessProfileInBulk(id, requestWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk) } - return nil, response, fmt.Errorf("error with operation GetRfProfiles") + + return nil, response, fmt.Errorf("error with operation CreateMultipleSiteTagsForAWirelessProfileInBulk") } - result := response.Result().(*ResponseWirelessGetRfProfiles) + result := response.Result().(*ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk) 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 +//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/#!get-rf-profiles-count +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-anchor-group */ -func (s *WirelessService) GetRfProfilesCount() (*ResponseWirelessGetRfProfilesCount, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/rfProfiles/count" +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"). - SetResult(&ResponseWirelessGetRfProfilesCount{}). + SetBody(requestWirelessCreateAnchorGroup). + SetResult(&ResponseWirelessCreateAnchorGroup{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6912,36 +8051,36 @@ func (s *WirelessService) GetRfProfilesCount() (*ResponseWirelessGetRfProfilesCo } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetRfProfilesCount() + return s.CreateAnchorGroup(requestWirelessCreateAnchorGroup) } - return nil, response, fmt.Errorf("error with operation GetRfProfilesCount") + + return nil, response, fmt.Errorf("error with operation CreateAnchorGroup") } - result := response.Result().(*ResponseWirelessGetRfProfilesCount) + result := response.Result().(*ResponseWirelessCreateAnchorGroup) 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 - +//CreateApAuthorizationList Create AP Authorization List - 5e9a-4806-489a-91db +/* This API allows the user to create an AP Authorization List. -@param id id path parameter. RF Profile ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!get-rf-profile-by-id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-ap-authorization-list */ -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) 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"). - SetResult(&ResponseWirelessGetRfProfileByID{}). + SetBody(requestWirelessCreateAPAuthorizationList). + SetResult(&ResponseWirelessCreateApAuthorizationList{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6949,36 +8088,36 @@ func (s *WirelessService) GetRfProfileByID(id string) (*ResponseWirelessGetRfPro } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.GetRfProfileByID(id) + return s.CreateApAuthorizationList(requestWirelessCreateAPAuthorizationList) } - return nil, response, fmt.Errorf("error with operation GetRfProfileById") + + return nil, response, fmt.Errorf("error with operation CreateApAuthorizationList") } - result := response.Result().(*ResponseWirelessGetRfProfileByID) + result := response.Result().(*ResponseWirelessCreateApAuthorizationList) return result, response, err } -//RetrieveSitesWithOverriddenSSIDs Retrieve sites with overridden SSIDs - 9a9a-8b8b-4029-a86e -/* Retrieve list of siteId(s) with information of SSID(s) which are overridden +//CreateApProfile Create AP Profile - 3697-68d5-4149-9f02 +/* This API allows the user to create a custom AP Profile. -@param RetrieveSitesWithOverriddenSSIDsQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!retrieve-sites-with-overridden-ssids +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-ap-profile */ -func (s *WirelessService) RetrieveSitesWithOverriddenSSIDs(RetrieveSitesWithOverriddenSSIDsQueryParams *RetrieveSitesWithOverriddenSSIDsQueryParams) (*ResponseWirelessRetrieveSitesWithOverriddenSSIDs, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/ssids/overrideAtSites" - - queryString, _ := query.Values(RetrieveSitesWithOverriddenSSIDsQueryParams) +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"). - SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessRetrieveSitesWithOverriddenSSIDs{}). + SetBody(requestWirelessCreateAPProfile). + SetResult(&ResponseWirelessCreateApProfile{}). SetError(&Error). - Get(path) + Post(path) if err != nil { return nil, nil, err @@ -6986,45 +8125,34 @@ func (s *WirelessService) RetrieveSitesWithOverriddenSSIDs(RetrieveSitesWithOver } if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { - return s.RetrieveSitesWithOverriddenSSIDs(RetrieveSitesWithOverriddenSSIDsQueryParams) + return s.CreateApProfile(requestWirelessCreateAPProfile) } - return nil, response, fmt.Errorf("error with operation RetrieveSitesWithOverriddenSsids") + + return nil, response, fmt.Errorf("error with operation CreateApProfile") } - result := response.Result().(*ResponseWirelessRetrieveSitesWithOverriddenSSIDs) + result := response.Result().(*ResponseWirelessCreateApProfile) 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 +//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 -@param CreateAndProvisionSSIDHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-and-provision-ssid +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-a80211be-profile */ -func (s *WirelessService) CreateAndProvisionSSID(requestWirelessCreateAndProvisionSSID *RequestWirelessCreateAndProvisionSSID, CreateAndProvisionSSIDHeaderParams *CreateAndProvisionSSIDHeaderParams) (*ResponseWirelessCreateAndProvisionSSID, *resty.Response, error) { - path := "/dna/intent/api/v1/business/ssid" +func (s *WirelessService) CreateA80211BeProfile(requestWirelessCreateA80211beProfile *RequestWirelessCreateA80211BeProfile) (*ResponseWirelessCreateA80211BeProfile, *resty.Response, error) { + path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles" - 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(requestWirelessCreateA80211beProfile). + SetResult(&ResponseWirelessCreateA80211BeProfile{}). SetError(&Error). Post(path) @@ -7036,32 +8164,32 @@ func (s *WirelessService) CreateAndProvisionSSID(requestWirelessCreateAndProvisi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CreateAndProvisionSSID(requestWirelessCreateAndProvisionSSID, CreateAndProvisionSSIDHeaderParams) + return s.CreateA80211BeProfile(requestWirelessCreateA80211beProfile) } - return nil, response, fmt.Errorf("error with operation CreateAndProvisionSsid") + return nil, response, fmt.Errorf("error with operation CreateA80211BeProfile") } - result := response.Result().(*ResponseWirelessCreateAndProvisionSSID) + result := response.Result().(*ResponseWirelessCreateA80211BeProfile) 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 +//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/#!reboot-access-points +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-interface */ -func (s *WirelessService) RebootAccessPoints(requestWirelessRebootAccessPoints *RequestWirelessRebootAccessPoints) (*ResponseWirelessRebootAccessPoints, *resty.Response, error) { - path := "/dna/intent/api/v1/device-reboot/apreboot" +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(requestWirelessRebootAccessPoints). - SetResult(&ResponseWirelessRebootAccessPoints{}). + SetBody(requestWirelessCreateInterface). + SetResult(&ResponseWirelessCreateInterface{}). SetError(&Error). Post(path) @@ -7073,32 +8201,32 @@ func (s *WirelessService) RebootAccessPoints(requestWirelessRebootAccessPoints * if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.RebootAccessPoints(requestWirelessRebootAccessPoints) + return s.CreateInterface(requestWirelessCreateInterface) } - return nil, response, fmt.Errorf("error with operation RebootAccessPoints") + return nil, response, fmt.Errorf("error with operation CreateInterface") } - result := response.Result().(*ResponseWirelessRebootAccessPoints) + result := response.Result().(*ResponseWirelessCreateInterface) return result, response, err } -//CreateEnterpriseSSID Create Enterprise SSID - 8a96-fb95-4d09-a349 -/* Creates enterprise SSID +//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/#!create-enterprise-ssid +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-power-profile */ -func (s *WirelessService) CreateEnterpriseSSID(requestWirelessCreateEnterpriseSSID *RequestWirelessCreateEnterpriseSSID) (*ResponseWirelessCreateEnterpriseSSID, *resty.Response, error) { - path := "/dna/intent/api/v1/enterprise-ssid" +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(requestWirelessCreateEnterpriseSSID). - SetResult(&ResponseWirelessCreateEnterpriseSSID{}). + SetBody(requestWirelessCreatePowerProfile). + SetResult(&ResponseWirelessCreatePowerProfile{}). SetError(&Error). Post(path) @@ -7110,35 +8238,32 @@ func (s *WirelessService) CreateEnterpriseSSID(requestWirelessCreateEnterpriseSS if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CreateEnterpriseSSID(requestWirelessCreateEnterpriseSSID) + return s.CreatePowerProfile(requestWirelessCreatePowerProfile) } - return nil, response, fmt.Errorf("error with operation CreateEnterpriseSsid") + return nil, response, fmt.Errorf("error with operation CreatePowerProfile") } - result := response.Result().(*ResponseWirelessCreateEnterpriseSSID) + result := response.Result().(*ResponseWirelessCreatePowerProfile) 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 - +//CreateRfProfile Create RF Profile - 3cb0-ca20-45d9-8d07 +/* This API allows the user to create a custom RF Profile -@param siteID siteId path parameter. Site UUID of Global site -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-ssid +Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-rf-profile */ -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) 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(requestWirelessCreateSSID). - SetResult(&ResponseWirelessCreateSSID{}). + SetBody(requestWirelessCreateRFProfile). + SetResult(&ResponseWirelessCreateRfProfile{}). SetError(&Error). Post(path) @@ -7150,38 +8275,38 @@ func (s *WirelessService) CreateSSID(siteID string, requestWirelessCreateSSID *R if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.CreateSSID(siteID, requestWirelessCreateSSID) + return s.CreateRfProfile(requestWirelessCreateRFProfile) } - return nil, response, fmt.Errorf("error with operation CreateSsid") + return nil, response, fmt.Errorf("error with operation CreateRfProfile") } - result := response.Result().(*ResponseWirelessCreateSSID) + result := response.Result().(*ResponseWirelessCreateRfProfile) return result, response, err } -//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' +//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. -@param siteID siteId path parameter. Site UUID + When anchor managed location array present then it will add the anchor managed locations. -@param id id path parameter. SSID ID +@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/#!update-or-overridessid + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-anchor-managed-ap-locations-for-w-l-c */ -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) +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(requestWirelessUpdateOrOverrideSSID). - SetResult(&ResponseWirelessUpdateOrOverridessid{}). + SetBody(requestWirelessAssignAnchorManagedAPLocationsForWLC). + SetResult(&ResponseWirelessAssignAnchorManagedApLocationsForWLC{}). SetError(&Error). Post(path) @@ -7193,32 +8318,32 @@ func (s *WirelessService) UpdateOrOverridessid(siteID string, id string, request if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateOrOverridessid(siteID, id, requestWirelessUpdateOrOverrideSSID) + return s.AssignAnchorManagedApLocationsForWLC(networkDeviceID, requestWirelessAssignAnchorManagedAPLocationsForWLC) } - return nil, response, fmt.Errorf("error with operation UpdateOrOverridessid") + return nil, response, fmt.Errorf("error with operation AssignAnchorManagedApLocationsForWLC") } - result := response.Result().(*ResponseWirelessUpdateOrOverridessid) + result := response.Result().(*ResponseWirelessAssignAnchorManagedApLocationsForWLC) 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 +//ConfigureAccessPointsV2 Configure Access Points V2 - 5ca7-4a81-4329-9506 +/* User can configure multiple access points with required options using this intent API -Documentation Link: https://developer.cisco.com/docs/dna-center/#!configure-access-points +Documentation Link: https://developer.cisco.com/docs/dna-center/#!configure-access-points-v2 */ -func (s *WirelessService) ConfigureAccessPoints(requestWirelessConfigureAccessPoints *RequestWirelessConfigureAccessPoints) (*ResponseWirelessConfigureAccessPoints, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/accesspoint-configuration" +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(requestWirelessConfigureAccessPoints). - SetResult(&ResponseWirelessConfigureAccessPoints{}). + SetBody(requestWirelessConfigureAccessPointsV2). + SetResult(&ResponseWirelessConfigureAccessPointsV2{}). SetError(&Error). Post(path) @@ -7230,47 +8355,32 @@ func (s *WirelessService) ConfigureAccessPoints(requestWirelessConfigureAccessPo if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ConfigureAccessPoints(requestWirelessConfigureAccessPoints) + return s.ConfigureAccessPointsV2(requestWirelessConfigureAccessPointsV2) } - return nil, response, fmt.Errorf("error with operation ConfigureAccessPoints") + return nil, response, fmt.Errorf("error with operation ConfigureAccessPointsV2") } - result := response.Result().(*ResponseWirelessConfigureAccessPoints) + result := response.Result().(*ResponseWirelessConfigureAccessPointsV2) return result, response, err } -//ApProvisionConnectivity AP Provision - d897-19b8-47aa-a9c4 -/* Access Point Provision and ReProvision - +//UpdateEnterpriseSSID Update Enterprise SSID - c493-991f-40ca-ba44 +/* Update enterprise SSID -@param APProvisionConnectivityHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!ap-provision-connectivity -*/ -func (s *WirelessService) ApProvisionConnectivity(requestWirelessAPProvisionConnectivity *RequestWirelessApProvisionConnectivity, APProvisionConnectivityHeaderParams *ApProvisionConnectivityHeaderParams) (*ResponseWirelessApProvisionConnectivity, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/ap-provision" + */ +func (s *WirelessService) UpdateEnterpriseSSID(requestWirelessUpdateEnterpriseSSID *RequestWirelessUpdateEnterpriseSSID) (*ResponseWirelessUpdateEnterpriseSSID, *resty.Response, error) { + path := "/dna/intent/api/v1/enterprise-ssid" - 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(requestWirelessUpdateEnterpriseSSID). + SetResult(&ResponseWirelessUpdateEnterpriseSSID{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7278,36 +8388,35 @@ func (s *WirelessService) ApProvisionConnectivity(requestWirelessAPProvisionConn } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.ApProvisionConnectivity(requestWirelessAPProvisionConnectivity, APProvisionConnectivityHeaderParams) + return s.UpdateEnterpriseSSID(requestWirelessUpdateEnterpriseSSID) } - - return nil, response, fmt.Errorf("error with operation ApProvisionConnectivity") + return nil, response, fmt.Errorf("error with operation UpdateEnterpriseSsid") } - result := response.Result().(*ResponseWirelessApProvisionConnectivity) + result := response.Result().(*ResponseWirelessUpdateEnterpriseSSID) return result, response, err } -//CreateUpdateDynamicInterface Create Update Dynamic interface - daa0-bb75-4e2a-8da6 -/* API to create or update an dynamic interface +//UpdateAAARadiusAttributesConfigurationFeatureTemplate Update AAA Radius Attributes Configuration Feature Template - 5fb4-4b90-4bc9-a857 +/* This API allows users to update the details of a specific AAA Radius Attributes configuration feature template by ID. +@param id id path parameter. AAA Radius Attributes Configuration Feature Template Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-update-dynamic-interface */ -func (s *WirelessService) CreateUpdateDynamicInterface(requestWirelessCreateUpdateDynamicInterface *RequestWirelessCreateUpdateDynamicInterface) (*ResponseWirelessCreateUpdateDynamicInterface, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/dynamic-interface" +func (s *WirelessService) UpdateAAARadiusAttributesConfigurationFeatureTemplate(id string, requestWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplate *RequestWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplate) (*ResponseWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/aaaRadiusAttributesConfigurations/{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(requestWirelessCreateUpdateDynamicInterface). - SetResult(&ResponseWirelessCreateUpdateDynamicInterface{}). + SetBody(requestWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplate). + SetResult(&ResponseWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplate{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7315,36 +8424,35 @@ func (s *WirelessService) CreateUpdateDynamicInterface(requestWirelessCreateUpda } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateUpdateDynamicInterface(requestWirelessCreateUpdateDynamicInterface) + return s.UpdateAAARadiusAttributesConfigurationFeatureTemplate(id, requestWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplate) } - - return nil, response, fmt.Errorf("error with operation CreateUpdateDynamicInterface") + return nil, response, fmt.Errorf("error with operation UpdateAaaRadiusAttributesConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessCreateUpdateDynamicInterface) + result := response.Result().(*ResponseWirelessUpdateAAARadiusAttributesConfigurationFeatureTemplate) 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. +//UpdateAdvancedSSIDConfigurationFeatureTemplate Update Advanced SSID Configuration Feature Template - 42ba-f83e-46a8-82ea +/* This API allows users to update the details of a specific Advanced SSID configuration feature template by ID. +@param id id path parameter. Advanced SSID Configuration Feature Template Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-wireless-profile */ -func (s *WirelessService) CreateWirelessProfile(requestWirelessCreateWirelessProfile *RequestWirelessCreateWirelessProfile) (*ResponseWirelessCreateWirelessProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/profile" +func (s *WirelessService) UpdateAdvancedSSIDConfigurationFeatureTemplate(id string, requestWirelessUpdateAdvancedSSIDConfigurationFeatureTemplate *RequestWirelessUpdateAdvancedSSIDConfigurationFeatureTemplate) (*ResponseWirelessUpdateAdvancedSSIDConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/advancedSSIDConfigurations/{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(requestWirelessCreateWirelessProfile). - SetResult(&ResponseWirelessCreateWirelessProfile{}). + SetBody(requestWirelessUpdateAdvancedSSIDConfigurationFeatureTemplate). + SetResult(&ResponseWirelessUpdateAdvancedSSIDConfigurationFeatureTemplate{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7352,36 +8460,35 @@ func (s *WirelessService) CreateWirelessProfile(requestWirelessCreateWirelessPro } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateWirelessProfile(requestWirelessCreateWirelessProfile) + return s.UpdateAdvancedSSIDConfigurationFeatureTemplate(id, requestWirelessUpdateAdvancedSSIDConfigurationFeatureTemplate) } - - return nil, response, fmt.Errorf("error with operation CreateWirelessProfile") + return nil, response, fmt.Errorf("error with operation UpdateAdvancedSsidConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessCreateWirelessProfile) + result := response.Result().(*ResponseWirelessUpdateAdvancedSSIDConfigurationFeatureTemplate) return result, response, err } -//Provision Provision - d09b-08a3-447a-a3b9 -/* Provision wireless device +//UpdateCleanAirConfigurationFeatureTemplate Update CleanAir Configuration Feature Template - 948a-1ba8-4798-bee1 +/* This API allows users to update the details of a specific CleanAir configuration feature template by ID. +@param id id path parameter. Clean Air Configuration Feature Template Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!provision */ -func (s *WirelessService) Provision(requestWirelessProvision *RequestWirelessProvision) (*ResponseWirelessProvision, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/provision" +func (s *WirelessService) UpdateCleanAirConfigurationFeatureTemplate(id string, requestWirelessUpdateCleanAirConfigurationFeatureTemplate *RequestWirelessUpdateCleanAirConfigurationFeatureTemplate) (*ResponseWirelessUpdateCleanAirConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/cleanAirConfigurations/{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(requestWirelessProvision). - SetResult(&ResponseWirelessProvision{}). + SetBody(requestWirelessUpdateCleanAirConfigurationFeatureTemplate). + SetResult(&ResponseWirelessUpdateCleanAirConfigurationFeatureTemplate{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7389,36 +8496,35 @@ func (s *WirelessService) Provision(requestWirelessProvision *RequestWirelessPro } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.Provision(requestWirelessProvision) + return s.UpdateCleanAirConfigurationFeatureTemplate(id, requestWirelessUpdateCleanAirConfigurationFeatureTemplate) } - - return nil, response, fmt.Errorf("error with operation Provision") + return nil, response, fmt.Errorf("error with operation UpdateCleanAirConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessProvision) + result := response.Result().(*ResponseWirelessUpdateCleanAirConfigurationFeatureTemplate) return result, response, err } -//PSKOverride PSK override - 46ad-ab75-47c9-8762 -/* Update/Override passphrase of SSID +//UpdateDot11AxConfigurationFeatureTemplate Update Dot11ax Configuration Feature Template - b687-9931-438a-b6bd +/* This API allows users to update the details of a specific Dot11ax configuration feature template by ID. +@param id id path parameter. Dot11ax Configuration Feature Template Id -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" +func (s *WirelessService) UpdateDot11AxConfigurationFeatureTemplate(id string, requestWirelessUpdateDot11axConfigurationFeatureTemplate *RequestWirelessUpdateDot11AxConfigurationFeatureTemplate) (*ResponseWirelessUpdateDot11AxConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/dot11axConfigurations/{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(requestWirelessPSKOverride). - SetResult(&ResponseWirelessPSKOverride{}). + SetBody(requestWirelessUpdateDot11axConfigurationFeatureTemplate). + SetResult(&ResponseWirelessUpdateDot11AxConfigurationFeatureTemplate{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7426,36 +8532,35 @@ func (s *WirelessService) PSKOverride(requestWirelessPSKOverride *RequestWireles } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.PSKOverride(requestWirelessPSKOverride) + return s.UpdateDot11AxConfigurationFeatureTemplate(id, requestWirelessUpdateDot11axConfigurationFeatureTemplate) } - - return nil, response, fmt.Errorf("error with operation PSKOverride") + return nil, response, fmt.Errorf("error with operation UpdateDot11AxConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessPSKOverride) + result := response.Result().(*ResponseWirelessUpdateDot11AxConfigurationFeatureTemplate) return result, response, err } -//CreateOrUpdateRfProfile Create or Update RF profile - b783-2967-4878-b815 -/* Create or Update RF profile +//UpdateDot11BeStatusConfigurationFeatureTemplate Update Dot11be Status Configuration Feature Template - b795-ebb8-460b-b95e +/* This API allows users to update the details of a specific Dot11be status configuration feature template by ID. +@param id id path parameter. Dot11be Status Configuration Feature Template Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-or-update-rf-profile */ -func (s *WirelessService) CreateOrUpdateRfProfile(requestWirelessCreateOrUpdateRFProfile *RequestWirelessCreateOrUpdateRfProfile) (*ResponseWirelessCreateOrUpdateRfProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/rf-profile" +func (s *WirelessService) UpdateDot11BeStatusConfigurationFeatureTemplate(id string, requestWirelessUpdateDot11beStatusConfigurationFeatureTemplate *RequestWirelessUpdateDot11BeStatusConfigurationFeatureTemplate) (*ResponseWirelessUpdateDot11BeStatusConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/dot11beStatusConfigurations/{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(requestWirelessCreateOrUpdateRFProfile). - SetResult(&ResponseWirelessCreateOrUpdateRfProfile{}). + SetBody(requestWirelessUpdateDot11beStatusConfigurationFeatureTemplate). + SetResult(&ResponseWirelessUpdateDot11BeStatusConfigurationFeatureTemplate{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7463,36 +8568,35 @@ func (s *WirelessService) CreateOrUpdateRfProfile(requestWirelessCreateOrUpdateR } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateOrUpdateRfProfile(requestWirelessCreateOrUpdateRFProfile) + return s.UpdateDot11BeStatusConfigurationFeatureTemplate(id, requestWirelessUpdateDot11beStatusConfigurationFeatureTemplate) } - - return nil, response, fmt.Errorf("error with operation CreateOrUpdateRfProfile") + return nil, response, fmt.Errorf("error with operation UpdateDot11BeStatusConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessCreateOrUpdateRfProfile) + result := response.Result().(*ResponseWirelessUpdateDot11BeStatusConfigurationFeatureTemplate) 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. +//UpdateEventDrivenRRMConfigurationFeatureTemplate Update Event Driven RRM Configuration Feature Template - 74a3-cbe2-4198-a89c +/* This API allows users to update the details of a specific Event Driven RRM configuration feature template by ID. +@param id id path parameter. Event Driven RRM Configuration Feature Template Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!factory-reset-access-points */ -func (s *WirelessService) FactoryResetAccessPoints(requestWirelessFactoryResetAccessPoints *RequestWirelessFactoryResetAccessPoints) (*ResponseWirelessFactoryResetAccessPoints, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessAccessPoints/factoryResetRequest/provision" +func (s *WirelessService) UpdateEventDrivenRRMConfigurationFeatureTemplate(id string, requestWirelessUpdateEventDrivenRRMConfigurationFeatureTemplate *RequestWirelessUpdateEventDrivenRRMConfigurationFeatureTemplate) (*ResponseWirelessUpdateEventDrivenRRMConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/eventDrivenRRMConfigurations/{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(requestWirelessFactoryResetAccessPoints). - SetResult(&ResponseWirelessFactoryResetAccessPoints{}). + SetBody(requestWirelessUpdateEventDrivenRRMConfigurationFeatureTemplate). + SetResult(&ResponseWirelessUpdateEventDrivenRRMConfigurationFeatureTemplate{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7500,36 +8604,35 @@ func (s *WirelessService) FactoryResetAccessPoints(requestWirelessFactoryResetAc } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.FactoryResetAccessPoints(requestWirelessFactoryResetAccessPoints) + return s.UpdateEventDrivenRRMConfigurationFeatureTemplate(id, requestWirelessUpdateEventDrivenRRMConfigurationFeatureTemplate) } - - return nil, response, fmt.Errorf("error with operation FactoryResetAccessPoints") + return nil, response, fmt.Errorf("error with operation UpdateEventDrivenRRMConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessFactoryResetAccessPoints) + result := response.Result().(*ResponseWirelessUpdateEventDrivenRRMConfigurationFeatureTemplate) return result, response, err } -//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. +//UpdateFlexConnectConfigurationFeatureTemplate Update Flex Connect Configuration Feature Template - 0dac-49bd-4198-adcb +/* This API allows users to update the details of a specific Flex Connect configuration feature template by ID. +@param id id path parameter. Flex Connect Configuration Feature Template Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!ap-provision */ -func (s *WirelessService) ApProvision(requestWirelessAPProvision *RequestWirelessApProvision) (*ResponseWirelessApProvision, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessAccessPoints/provision" +func (s *WirelessService) UpdateFlexConnectConfigurationFeatureTemplate(id string, requestWirelessUpdateFlexConnectConfigurationFeatureTemplate *RequestWirelessUpdateFlexConnectConfigurationFeatureTemplate) (*ResponseWirelessUpdateFlexConnectConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/flexConnectConfigurations/{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(requestWirelessAPProvision). - SetResult(&ResponseWirelessApProvision{}). + SetBody(requestWirelessUpdateFlexConnectConfigurationFeatureTemplate). + SetResult(&ResponseWirelessUpdateFlexConnectConfigurationFeatureTemplate{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7537,36 +8640,35 @@ func (s *WirelessService) ApProvision(requestWirelessAPProvision *RequestWireles } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.ApProvision(requestWirelessAPProvision) + return s.UpdateFlexConnectConfigurationFeatureTemplate(id, requestWirelessUpdateFlexConnectConfigurationFeatureTemplate) } - - return nil, response, fmt.Errorf("error with operation ApProvision") + return nil, response, fmt.Errorf("error with operation UpdateFlexConnectConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessApProvision) + result := response.Result().(*ResponseWirelessUpdateFlexConnectConfigurationFeatureTemplate) return result, response, err } -//MobilityProvision Mobility Provision - 6c8b-6bd5-40bb-ac31 -/* This API is used to provision/deploy wireless mobility into Cisco wireless controllers. +//UpdateMulticastConfigurationFeatureTemplate Update Multicast Configuration Feature Template - c0a1-ba2c-493b-9165 +/* This API allows users to update the details of a specific Multicast configuration feature template by ID. +@param id id path parameter. Multicast Configuration Feature Template Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!mobility-provision */ -func (s *WirelessService) MobilityProvision(requestWirelessMobilityProvision *RequestWirelessMobilityProvision) (*ResponseWirelessMobilityProvision, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/wirelessMobilityGroups/mobilityProvision" +func (s *WirelessService) UpdateMulticastConfigurationFeatureTemplate(id string, requestWirelessUpdateMulticastConfigurationFeatureTemplate *RequestWirelessUpdateMulticastConfigurationFeatureTemplate) (*ResponseWirelessUpdateMulticastConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/multicastConfigurations/{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(requestWirelessMobilityProvision). - SetResult(&ResponseWirelessMobilityProvision{}). + SetBody(requestWirelessUpdateMulticastConfigurationFeatureTemplate). + SetResult(&ResponseWirelessUpdateMulticastConfigurationFeatureTemplate{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7574,36 +8676,35 @@ func (s *WirelessService) MobilityProvision(requestWirelessMobilityProvision *Re } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.MobilityProvision(requestWirelessMobilityProvision) + return s.UpdateMulticastConfigurationFeatureTemplate(id, requestWirelessUpdateMulticastConfigurationFeatureTemplate) } - - return nil, response, fmt.Errorf("error with operation MobilityProvision") + return nil, response, fmt.Errorf("error with operation UpdateMulticastConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessMobilityProvision) + result := response.Result().(*ResponseWirelessUpdateMulticastConfigurationFeatureTemplate) 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'. +//UpdateRRMFRAConfigurationFeatureTemplate Update RRM FRA Configuration Feature Template - 78b7-0b99-425a-8d38 +/* This API allows users to update the details of a specific RRM FRA configuration feature template by ID. +@param id id path parameter. RRM FRA Configuration Feature Template Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!mobility-reset */ -func (s *WirelessService) MobilityReset(requestWirelessMobilityReset *RequestWirelessMobilityReset) (*ResponseWirelessMobilityReset, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessControllers/wirelessMobilityGroups/mobilityReset" +func (s *WirelessService) UpdateRRMFRAConfigurationFeatureTemplate(id string, requestWirelessUpdateRRMFRAConfigurationFeatureTemplate *RequestWirelessUpdateRRMFRAConfigurationFeatureTemplate) (*ResponseWirelessUpdateRRMFRAConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/rrmFraConfigurations/{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(requestWirelessMobilityReset). - SetResult(&ResponseWirelessMobilityReset{}). + SetBody(requestWirelessUpdateRRMFRAConfigurationFeatureTemplate). + SetResult(&ResponseWirelessUpdateRRMFRAConfigurationFeatureTemplate{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7611,39 +8712,35 @@ func (s *WirelessService) MobilityReset(requestWirelessMobilityReset *RequestWir } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.MobilityReset(requestWirelessMobilityReset) + return s.UpdateRRMFRAConfigurationFeatureTemplate(id, requestWirelessUpdateRRMFRAConfigurationFeatureTemplate) } - - return nil, response, fmt.Errorf("error with operation MobilityReset") + return nil, response, fmt.Errorf("error with operation UpdateRRMFRAConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessMobilityReset) + result := response.Result().(*ResponseWirelessUpdateRRMFRAConfigurationFeatureTemplate) 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 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. +//UpdateRRMGeneralConfigurationFeatureTemplate Update RRM General Configuration Feature Template - 958e-5953-4528-85d6 +/* This API allows users to update the details of a specific RRM General configuration feature template by ID. -@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 id id path parameter. Multicast Configuration Feature Template Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-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) UpdateRRMGeneralConfigurationFeatureTemplate(id string, requestWirelessUpdateRRMGeneralConfigurationFeatureTemplate *RequestWirelessUpdateRRMGeneralConfigurationFeatureTemplate) (*ResponseWirelessUpdateRRMGeneralConfigurationFeatureTemplate, *resty.Response, error) { + path := "/dna/intent/api/v1/featureTemplates/wireless/rrmGeneralConfigurations/{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(requestWirelessAssignManagedAPLocationsForWLC). - SetResult(&ResponseWirelessAssignManagedApLocationsForWLC{}). + SetBody(requestWirelessUpdateRRMGeneralConfigurationFeatureTemplate). + SetResult(&ResponseWirelessUpdateRRMGeneralConfigurationFeatureTemplate{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7651,39 +8748,35 @@ func (s *WirelessService) AssignManagedApLocationsForWLC(deviceID string, reques } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.AssignManagedApLocationsForWLC(deviceID, requestWirelessAssignManagedAPLocationsForWLC) + return s.UpdateRRMGeneralConfigurationFeatureTemplate(id, requestWirelessUpdateRRMGeneralConfigurationFeatureTemplate) } - - return nil, response, fmt.Errorf("error with operation AssignManagedApLocationsForWLC") + return nil, response, fmt.Errorf("error with operation UpdateRRMGeneralConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessAssignManagedApLocationsForWLC) + result := response.Result().(*ResponseWirelessUpdateRRMGeneralConfigurationFeatureTemplate) return result, response, err } -//WirelessControllerProvision Wireless Controller Provision - 9e9c-386b-4069-9e7c -/* This API is used to provision wireless controller - +//UpdateAAAOverrideVLANSettingsBySite Update AAA Override Vlan Settings By Site - 54a7-db8b-41ea-a549 +/* This API allows the user to update an existing AAA Override VLAN setting at the given site level -@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 siteID siteId path parameter. Site UUID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!wireless-controller-provision */ -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) UpdateAAAOverrideVLANSettingsBySite(siteID string, requestWirelessUpdateAAAOverrideVlanSettingsBySite *RequestWirelessUpdateAAAOverrideVLANSettingsBySite) (*ResponseWirelessUpdateAAAOverrideVLANSettingsBySite, *resty.Response, error) { + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/flexConnectAaaOverride" + 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(requestWirelessWirelessControllerProvision). - SetResult(&ResponseWirelessWirelessControllerProvision{}). + SetBody(requestWirelessUpdateAAAOverrideVlanSettingsBySite). + SetResult(&ResponseWirelessUpdateAAAOverrideVLANSettingsBySite{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7691,36 +8784,35 @@ func (s *WirelessService) WirelessControllerProvision(deviceID string, requestWi } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.WirelessControllerProvision(deviceID, requestWirelessWirelessControllerProvision) + return s.UpdateAAAOverrideVLANSettingsBySite(siteID, requestWirelessUpdateAAAOverrideVlanSettingsBySite) } - - return nil, response, fmt.Errorf("error with operation WirelessControllerProvision") + return nil, response, fmt.Errorf("error with operation UpdateAaaOverrideVlanSettingsBySite") } - result := response.Result().(*ResponseWirelessWirelessControllerProvision) + result := response.Result().(*ResponseWirelessUpdateAAAOverrideVLANSettingsBySite) return result, response, err } -//CreateWirelessProfileConnectivity Create Wireless Profile - dd88-bb37-492a-888b -/* This API allows the user to create a Wireless Network Profile +//UpdateNativeVLANSettingsBySite Update Native Vlan Settings By Site - 25a8-090a-4349-a10e +/* This API allows the user to update an existing Native VLAN setting at the given site level. The default value of the native VLAN on the device is 1 when nothing is explicitly set. +@param siteID siteId path parameter. Site Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-wireless-profile-connectivity */ -func (s *WirelessService) CreateWirelessProfileConnectivity(requestWirelessCreateWirelessProfileConnectivity *RequestWirelessCreateWirelessProfileConnectivity) (*ResponseWirelessCreateWirelessProfileConnectivity, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessProfiles" +func (s *WirelessService) UpdateNativeVLANSettingsBySite(siteID string, requestWirelessUpdateNativeVlanSettingsBySite *RequestWirelessUpdateNativeVLANSettingsBySite) (*ResponseWirelessUpdateNativeVLANSettingsBySite, *resty.Response, error) { + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/flexConnectNativeVlan" + 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(requestWirelessCreateWirelessProfileConnectivity). - SetResult(&ResponseWirelessCreateWirelessProfileConnectivity{}). + SetBody(requestWirelessUpdateNativeVlanSettingsBySite). + SetResult(&ResponseWirelessUpdateNativeVLANSettingsBySite{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7728,39 +8820,38 @@ func (s *WirelessService) CreateWirelessProfileConnectivity(requestWirelessCreat } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateWirelessProfileConnectivity(requestWirelessCreateWirelessProfileConnectivity) + return s.UpdateNativeVLANSettingsBySite(siteID, requestWirelessUpdateNativeVlanSettingsBySite) } - - return nil, response, fmt.Errorf("error with operation CreateWirelessProfileConnectivity") + return nil, response, fmt.Errorf("error with operation UpdateNativeVlanSettingsBySite") } - result := response.Result().(*ResponseWirelessCreateWirelessProfileConnectivity) + result := response.Result().(*ResponseWirelessUpdateNativeVLANSettingsBySite) return result, response, err } -//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. +//UpdateSSID Update SSID - 2496-7ad2-4b8a-913b +/* This API allows the user to update an SSID (Service Set Identifier) at the given site -@param id id path parameter. Wireless Profile Id +@param siteID siteId path parameter. Site UUID +@param id id path parameter. SSID ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-multiple-policy-tags-for-a-wireless-profile-in-bulk */ -func (s *WirelessService) CreateMultiplePolicyTagsForAWirelessProfileInBulk(id string, requestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk *RequestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk) (*ResponseWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessProfiles/{id}/policyTags/bulk" +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(requestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk). - SetResult(&ResponseWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk{}). + SetBody(requestWirelessUpdateSSID). + SetResult(&ResponseWirelessUpdateSSID{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7768,39 +8859,32 @@ func (s *WirelessService) CreateMultiplePolicyTagsForAWirelessProfileInBulk(id s } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateMultiplePolicyTagsForAWirelessProfileInBulk(id, requestWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk) + return s.UpdateSSID(siteID, id, requestWirelessUpdateSSID) } - - return nil, response, fmt.Errorf("error with operation CreateMultiplePolicyTagsForAWirelessProfileInBulk") + return nil, response, fmt.Errorf("error with operation UpdateSsid") } - result := response.Result().(*ResponseWirelessCreateMultiplePolicyTagsForAWirelessProfileInBulk) + result := response.Result().(*ResponseWirelessUpdateSSID) return result, response, err } -//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 +//UpdateApPnpLocationSetting Update AP PnP Location Setting - 2191-1b83-4f49-811b +/* Enable or disable the AP PnP Location setting in the system.Once the AP PnP Location Setting is enabled, the Access Point's assigned Site name will be configured as the AP Location during the PnP Claim process. This applies only during the PnP onboarding process and not during any subsequent provisioning (dayN). -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-multiple-site-tags-for-a-wireless-profile-in-bulk -*/ -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) + */ +func (s *WirelessService) UpdateApPnpLocationSetting(requestWirelessUpdateAPPnPLocationSetting *RequestWirelessUpdateApPnpLocationSetting) (*ResponseWirelessUpdateApPnpLocationSetting, *resty.Response, error) { + path := "/dna/intent/api/v1/systemSettings/apPnpLocation" response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk). - SetResult(&ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk{}). + SetBody(requestWirelessUpdateAPPnPLocationSetting). + SetResult(&ResponseWirelessUpdateApPnpLocationSetting{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7808,36 +8892,32 @@ func (s *WirelessService) CreateMultipleSiteTagsForAWirelessProfileInBulk(id str } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateMultipleSiteTagsForAWirelessProfileInBulk(id, requestWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk) + return s.UpdateApPnpLocationSetting(requestWirelessUpdateAPPnPLocationSetting) } - - return nil, response, fmt.Errorf("error with operation CreateMultipleSiteTagsForAWirelessProfileInBulk") + return nil, response, fmt.Errorf("error with operation UpdateApPnpLocationSetting") } - result := response.Result().(*ResponseWirelessCreateMultipleSiteTagsForAWirelessProfileInBulk) + result := response.Result().(*ResponseWirelessUpdateApPnpLocationSetting) return result, response, err } -//CreateAnchorGroup Create AnchorGroup - 3d85-68e5-4909-988a -/* This API allows the user to create an AnchorGroup - +//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-anchor-group -*/ -func (s *WirelessService) CreateAnchorGroup(requestWirelessCreateAnchorGroup *RequestWirelessCreateAnchorGroup) (*ResponseWirelessCreateAnchorGroup, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/anchorGroups" + */ +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(requestWirelessCreateAnchorGroup). - SetResult(&ResponseWirelessCreateAnchorGroup{}). + SetBody(requestWirelessUpdateWirelessProfile). + SetResult(&ResponseWirelessUpdateWirelessProfile{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7845,36 +8925,45 @@ func (s *WirelessService) CreateAnchorGroup(requestWirelessCreateAnchorGroup *Re } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateAnchorGroup(requestWirelessCreateAnchorGroup) + return s.UpdateWirelessProfile(requestWirelessUpdateWirelessProfile) } - - return nil, response, fmt.Errorf("error with operation CreateAnchorGroup") + return nil, response, fmt.Errorf("error with operation UpdateWirelessProfile") } - result := response.Result().(*ResponseWirelessCreateAnchorGroup) + result := response.Result().(*ResponseWirelessUpdateWirelessProfile) return result, response, err } -//CreateApAuthorizationList Create AP Authorization List - 5e9a-4806-489a-91db -/* This API allows the user to create an AP Authorization List. - +//ProvisionUpdate Provision update - 87a5-ab04-4139-862d +/* Updates wireless provisioning -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-ap-authorization-list +@param ProvisionUpdateHeaderParams Custom header parameters */ -func (s *WirelessService) CreateApAuthorizationList(requestWirelessCreateAPAuthorizationList *RequestWirelessCreateApAuthorizationList) (*ResponseWirelessCreateApAuthorizationList, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/apAuthorizationLists" +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(requestWirelessCreateAPAuthorizationList). - SetResult(&ResponseWirelessCreateApAuthorizationList{}). + 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 @@ -7882,36 +8971,35 @@ func (s *WirelessService) CreateApAuthorizationList(requestWirelessCreateAPAutho } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateApAuthorizationList(requestWirelessCreateAPAuthorizationList) + return s.ProvisionUpdate(requestWirelessProvisionUpdate, ProvisionUpdateHeaderParams) } - - return nil, response, fmt.Errorf("error with operation CreateApAuthorizationList") + return nil, response, fmt.Errorf("error with operation ProvisionUpdate") } - result := response.Result().(*ResponseWirelessCreateApAuthorizationList) + result := response.Result().(*ResponseWirelessProvisionUpdate) return result, response, err } -//CreateApProfile Create AP Profile - 3697-68d5-4149-9f02 -/* This API allows the user to create a custom AP Profile. +//UpdateWirelessProfileConnectivity Update Wireless Profile - 4f88-d9a3-4ef8-8e2e +/* This API allows the user to update a Wireless Network Profile by ID. Note that, when performing a PUT operation on a wireless network profile, it is essential to provide a complete payload. This is because the wireless network profile is tightly integrated with other network design entities. Consequently, all fields must be included—not just the fields to be updated. Any missing fields will be set to their default or null values. To ensure all fields are accurately populated, consider using the GET operation to retrieve the current resource data before proceeding with the PUT operation. +@param id id path parameter. Wireless Profile Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-ap-profile */ -func (s *WirelessService) CreateApProfile(requestWirelessCreateAPProfile *RequestWirelessCreateApProfile) (*ResponseWirelessCreateApProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/apProfiles" +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(requestWirelessCreateAPProfile). - SetResult(&ResponseWirelessCreateApProfile{}). + SetBody(requestWirelessUpdateWirelessProfileConnectivity). + SetResult(&ResponseWirelessUpdateWirelessProfileConnectivity{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7919,36 +9007,38 @@ func (s *WirelessService) CreateApProfile(requestWirelessCreateAPProfile *Reques } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateApProfile(requestWirelessCreateAPProfile) + return s.UpdateWirelessProfileConnectivity(id, requestWirelessUpdateWirelessProfileConnectivity) } - - return nil, response, fmt.Errorf("error with operation CreateApProfile") + return nil, response, fmt.Errorf("error with operation UpdateWirelessProfileConnectivity") } - result := response.Result().(*ResponseWirelessCreateApProfile) + result := response.Result().(*ResponseWirelessUpdateWirelessProfileConnectivity) 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 +//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. +@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/#!create-a80211be-profile */ -func (s *WirelessService) CreateA80211BeProfile(requestWirelessCreateA80211beProfile *RequestWirelessCreateA80211BeProfile) (*ResponseWirelessCreateA80211BeProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles" +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(requestWirelessCreateA80211beProfile). - SetResult(&ResponseWirelessCreateA80211BeProfile{}). + SetBody(requestWirelessUpdateASpecificPolicyTagForAWirelessProfile). + SetResult(&ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfile{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7956,36 +9046,38 @@ func (s *WirelessService) CreateA80211BeProfile(requestWirelessCreateA80211bePro } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateA80211BeProfile(requestWirelessCreateA80211beProfile) + return s.UpdateASpecificPolicyTagForAWirelessProfile(id, policyTagID, requestWirelessUpdateASpecificPolicyTagForAWirelessProfile) } - - return nil, response, fmt.Errorf("error with operation CreateA80211BeProfile") + return nil, response, fmt.Errorf("error with operation UpdateASpecificPolicyTagForAWirelessProfile") } - result := response.Result().(*ResponseWirelessCreateA80211BeProfile) + result := response.Result().(*ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfile) return result, response, err } -//CreateInterface Create Interface - a098-6877-44e8-ba31 -/* This API allows the user to create an interface +//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 id id path parameter. Wireless Profile Id + +@param siteTagID siteTagId path parameter. Site Tag Id -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-interface */ -func (s *WirelessService) CreateInterface(requestWirelessCreateInterface *RequestWirelessCreateInterface) (*ResponseWirelessCreateInterface, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/interfaces" +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(requestWirelessCreateInterface). - SetResult(&ResponseWirelessCreateInterface{}). + SetBody(requestWirelessUpdateASpecificSiteTagForAWirelessProfile). + SetResult(&ResponseWirelessUpdateASpecificSiteTagForAWirelessProfile{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -7993,36 +9085,35 @@ func (s *WirelessService) CreateInterface(requestWirelessCreateInterface *Reques } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateInterface(requestWirelessCreateInterface) + return s.UpdateASpecificSiteTagForAWirelessProfile(id, siteTagID, requestWirelessUpdateASpecificSiteTagForAWirelessProfile) } - - return nil, response, fmt.Errorf("error with operation CreateInterface") + return nil, response, fmt.Errorf("error with operation UpdateASpecificSiteTagForAWirelessProfile") } - result := response.Result().(*ResponseWirelessCreateInterface) + result := response.Result().(*ResponseWirelessUpdateASpecificSiteTagForAWirelessProfile) return result, response, err } -//CreatePowerProfile Create Power Profile - 7bac-6bd5-4269-8a3c -/* This API allows the user to create a custom Power Profile. +//UpdateAnchorGroup Update AnchorGroup - 4da3-bae4-484a-8448 +/* This API allows the user to update an AnchorGroup +@param id id path parameter. AnchorGroup ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-power-profile */ -func (s *WirelessService) CreatePowerProfile(requestWirelessCreatePowerProfile *RequestWirelessCreatePowerProfile) (*ResponseWirelessCreatePowerProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/powerProfiles" +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(requestWirelessCreatePowerProfile). - SetResult(&ResponseWirelessCreatePowerProfile{}). + SetBody(requestWirelessUpdateAnchorGroup). + SetResult(&ResponseWirelessUpdateAnchorGroup{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -8030,36 +9121,35 @@ func (s *WirelessService) CreatePowerProfile(requestWirelessCreatePowerProfile * } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreatePowerProfile(requestWirelessCreatePowerProfile) + return s.UpdateAnchorGroup(id, requestWirelessUpdateAnchorGroup) } - - return nil, response, fmt.Errorf("error with operation CreatePowerProfile") + return nil, response, fmt.Errorf("error with operation UpdateAnchorGroup") } - result := response.Result().(*ResponseWirelessCreatePowerProfile) + result := response.Result().(*ResponseWirelessUpdateAnchorGroup) return result, response, err } -//CreateRfProfile Create RF Profile - 3cb0-ca20-45d9-8d07 -/* This API allows the user to create a custom RF Profile +//UpdateApAuthorizationList Update AP Authorization List - 768b-0b99-4189-986e +/* This API allows the user to update an AP Authorization List. +@param id id path parameter. AP Authorization List ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!create-rf-profile */ -func (s *WirelessService) CreateRfProfile(requestWirelessCreateRFProfile *RequestWirelessCreateRfProfile) (*ResponseWirelessCreateRfProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/rfProfiles" +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) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessCreateRFProfile). - SetResult(&ResponseWirelessCreateRfProfile{}). + SetBody(requestWirelessUpdateAPAuthorizationList). + SetResult(&ResponseWirelessUpdateApAuthorizationList{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -8067,41 +9157,35 @@ func (s *WirelessService) CreateRfProfile(requestWirelessCreateRFProfile *Reques } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.CreateRfProfile(requestWirelessCreateRFProfile) + return s.UpdateApAuthorizationList(id, requestWirelessUpdateAPAuthorizationList) } - - return nil, response, fmt.Errorf("error with operation CreateRfProfile") + return nil, response, fmt.Errorf("error with operation UpdateApAuthorizationList") } - result := response.Result().(*ResponseWirelessCreateRfProfile) + result := response.Result().(*ResponseWirelessUpdateApAuthorizationList) return result, response, err } -//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. - +//UpdateApProfileByID Update AP Profile by ID - 41b5-ea3b-43b8-9d57 +/* This API allows the user to update a custom AP Profile -@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} +@param id id path parameter. Ap Profile ID -Documentation Link: https://developer.cisco.com/docs/dna-center/#!assign-anchor-managed-ap-locations-for-w-l-c */ -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) +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(requestWirelessAssignAnchorManagedAPLocationsForWLC). - SetResult(&ResponseWirelessAssignAnchorManagedApLocationsForWLC{}). + SetBody(requestWirelessUpdateAPProfileByID). + SetResult(&ResponseWirelessUpdateApProfileByID{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -8109,36 +9193,35 @@ func (s *WirelessService) AssignAnchorManagedApLocationsForWLC(networkDeviceID s } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.AssignAnchorManagedApLocationsForWLC(networkDeviceID, requestWirelessAssignAnchorManagedAPLocationsForWLC) + return s.UpdateApProfileByID(id, requestWirelessUpdateAPProfileByID) } - - return nil, response, fmt.Errorf("error with operation AssignAnchorManagedApLocationsForWLC") + return nil, response, fmt.Errorf("error with operation UpdateApProfileById") } - result := response.Result().(*ResponseWirelessAssignAnchorManagedApLocationsForWLC) + result := response.Result().(*ResponseWirelessUpdateApProfileByID) 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 +//Update80211BeProfile Update 802.11be Profile - 699b-b8e0-48bb-9b90 +/* This API allows the user to update a 802.11be Profile +@param id id path parameter. 802.11be 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) Update80211BeProfile(id string, requestWirelessUpdate80211beProfile *RequestWirelessUpdate80211BeProfile) (*ResponseWirelessUpdate80211BeProfile, *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"). - SetBody(requestWirelessConfigureAccessPointsV2). - SetResult(&ResponseWirelessConfigureAccessPointsV2{}). + SetBody(requestWirelessUpdate80211beProfile). + SetResult(&ResponseWirelessUpdate80211BeProfile{}). SetError(&Error). - Post(path) + Put(path) if err != nil { return nil, nil, err @@ -8146,32 +9229,33 @@ func (s *WirelessService) ConfigureAccessPointsV2(requestWirelessConfigureAccess } if response.IsError() { - if response.StatusCode() == http.StatusUnauthorized { - return s.ConfigureAccessPointsV2(requestWirelessConfigureAccessPointsV2) + return s.Update80211BeProfile(id, requestWirelessUpdate80211beProfile) } - - return nil, response, fmt.Errorf("error with operation ConfigureAccessPointsV2") + return nil, response, fmt.Errorf("error with operation Update80211BeProfile") } - result := response.Result().(*ResponseWirelessConfigureAccessPointsV2) + result := response.Result().(*ResponseWirelessUpdate80211BeProfile) return result, response, err } -//UpdateEnterpriseSSID Update Enterprise SSID - c493-991f-40ca-ba44 -/* Update enterprise SSID +//UpdateInterface Update Interface - 0f93-9868-454b-a943 +/* This API allows the user to update an interface by ID - */ -func (s *WirelessService) UpdateEnterpriseSSID(requestWirelessUpdateEnterpriseSSID *RequestWirelessUpdateEnterpriseSSID) (*ResponseWirelessUpdateEnterpriseSSID, *resty.Response, error) { - path := "/dna/intent/api/v1/enterprise-ssid" +@param id id path parameter. Interface ID + +*/ +func (s *WirelessService) UpdateInterface(id string, requestWirelessUpdateInterface *RequestWirelessUpdateInterface) (*ResponseWirelessUpdateInterface, *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"). - SetBody(requestWirelessUpdateEnterpriseSSID). - SetResult(&ResponseWirelessUpdateEnterpriseSSID{}). + SetBody(requestWirelessUpdateInterface). + SetResult(&ResponseWirelessUpdateInterface{}). SetError(&Error). Put(path) @@ -8182,35 +9266,32 @@ func (s *WirelessService) UpdateEnterpriseSSID(requestWirelessUpdateEnterpriseSS if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateEnterpriseSSID(requestWirelessUpdateEnterpriseSSID) + return s.UpdateInterface(id, requestWirelessUpdateInterface) } - return nil, response, fmt.Errorf("error with operation UpdateEnterpriseSsid") + return nil, response, fmt.Errorf("error with operation UpdateInterface") } - result := response.Result().(*ResponseWirelessUpdateEnterpriseSSID) + result := response.Result().(*ResponseWirelessUpdateInterface) 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 - +//UpdatePowerProfileByID Update Power Profile by ID - 6f86-19b1-478a-9a5e +/* This API allows the user to update a custom power Profile -@param siteID siteId path parameter. Site UUID -@param id id path parameter. SSID ID +@param id id path parameter. Power Profile 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) 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(requestWirelessUpdateSSID). - SetResult(&ResponseWirelessUpdateSSID{}). + SetBody(requestWirelessUpdatePowerProfileByID). + SetResult(&ResponseWirelessUpdatePowerProfileByID{}). SetError(&Error). Put(path) @@ -8221,29 +9302,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.UpdatePowerProfileByID(id, requestWirelessUpdatePowerProfileByID) } - return nil, response, fmt.Errorf("error with operation UpdateSsid") + return nil, response, fmt.Errorf("error with operation UpdatePowerProfileById") } - result := response.Result().(*ResponseWirelessUpdateSSID) + result := response.Result().(*ResponseWirelessUpdatePowerProfileByID) 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. +//UpdateRfProfile Update RF Profile - 2984-b995-4ae9-b3c3 +/* This API allows the user to update a custom RF Profile. - */ -func (s *WirelessService) UpdateWirelessProfile(requestWirelessUpdateWirelessProfile *RequestWirelessUpdateWirelessProfile) (*ResponseWirelessUpdateWirelessProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/profile" +@param id id path parameter. RF Profile ID + +*/ +func (s *WirelessService) UpdateRfProfile(id string, requestWirelessUpdateRFProfile *RequestWirelessUpdateRfProfile) (*ResponseWirelessUpdateRfProfile, *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"). - SetBody(requestWirelessUpdateWirelessProfile). - SetResult(&ResponseWirelessUpdateWirelessProfile{}). + SetBody(requestWirelessUpdateRFProfile). + SetResult(&ResponseWirelessUpdateRfProfile{}). SetError(&Error). Put(path) @@ -8254,24 +9338,33 @@ func (s *WirelessService) UpdateWirelessProfile(requestWirelessUpdateWirelessPro if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateWirelessProfile(requestWirelessUpdateWirelessProfile) + return s.UpdateRfProfile(id, requestWirelessUpdateRFProfile) } - return nil, response, fmt.Errorf("error with operation UpdateWirelessProfile") + return nil, response, fmt.Errorf("error with operation UpdateRfProfile") } - result := response.Result().(*ResponseWirelessUpdateWirelessProfile) + result := response.Result().(*ResponseWirelessUpdateRfProfile) return result, response, err } -//ProvisionUpdate Provision update - 87a5-ab04-4139-862d -/* Updates wireless provisioning +//DeleteSSIDAndProvisionItToDevices Delete SSID and provision it to devices - fc95-38fe-43d9-884d +/* Removes SSID or WLAN from the network profile, reprovision the device(s) and deletes the SSID or WLAN from DNA Center -@param ProvisionUpdateHeaderParams Custom header parameters +@param ssidName ssidName path parameter. SSID Name. This parameter needs to be encoded as per UTF-8 encoding. + +@param managedAPLocations managedAPLocations path parameter. List of managed AP locations (Site Hierarchies). This parameter needs to be encoded as per UTF-8 encoding + +@param DeleteSSIDAndProvisionItToDevicesHeaderParams Custom header parameters + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-ssid-and-provision-it-to-devices */ -func (s *WirelessService) ProvisionUpdate(requestWirelessProvisionUpdate *RequestWirelessProvisionUpdate, ProvisionUpdateHeaderParams *ProvisionUpdateHeaderParams) (*ResponseWirelessProvisionUpdate, *resty.Response, error) { - path := "/dna/intent/api/v1/wireless/provision" +func (s *WirelessService) DeleteSSIDAndProvisionItToDevices(ssidName string, managedAPLocations string, DeleteSSIDAndProvisionItToDevicesHeaderParams *DeleteSSIDAndProvisionItToDevicesHeaderParams) (*ResponseWirelessDeleteSSIDAndProvisionItToDevices, *resty.Response, error) { + //ssidName string,managedAPLocations string,DeleteSSIDAndProvisionItToDevicesHeaderParams *DeleteSSIDAndProvisionItToDevicesHeaderParams + path := "/dna/intent/api/v1/business/ssid/{ssidName}/{managedAPLocations}" + path = strings.Replace(path, "{ssidName}", fmt.Sprintf("%v", ssidName), -1) + path = strings.Replace(path, "{managedAPLocations}", fmt.Sprintf("%v", managedAPLocations), -1) var response *resty.Response var err error @@ -8279,19 +9372,18 @@ func (s *WirelessService) ProvisionUpdate(requestWirelessProvisionUpdate *Reques SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json") - if ProvisionUpdateHeaderParams != nil { + if DeleteSSIDAndProvisionItToDevicesHeaderParams != nil { - if ProvisionUpdateHeaderParams.Persistbapioutput != "" { - clientRequest = clientRequest.SetHeader("__persistbapioutput", ProvisionUpdateHeaderParams.Persistbapioutput) + if DeleteSSIDAndProvisionItToDevicesHeaderParams.Persistbapioutput != "" { + clientRequest = clientRequest.SetHeader("__persistbapioutput", DeleteSSIDAndProvisionItToDevicesHeaderParams.Persistbapioutput) } } response, err = clientRequest. - SetBody(requestWirelessProvisionUpdate). - SetResult(&ResponseWirelessProvisionUpdate{}). + SetResult(&ResponseWirelessDeleteSSIDAndProvisionItToDevices{}). SetError(&Error). - Put(path) + Delete(path) if err != nil { return nil, nil, err @@ -8300,34 +9392,37 @@ func (s *WirelessService) ProvisionUpdate(requestWirelessProvisionUpdate *Reques if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.ProvisionUpdate(requestWirelessProvisionUpdate, ProvisionUpdateHeaderParams) + return s.DeleteSSIDAndProvisionItToDevices( + ssidName, managedAPLocations, DeleteSSIDAndProvisionItToDevicesHeaderParams) } - return nil, response, fmt.Errorf("error with operation ProvisionUpdate") + return nil, response, fmt.Errorf("error with operation DeleteSsidAndProvisionItToDevices") } - result := response.Result().(*ResponseWirelessProvisionUpdate) + result := response.Result().(*ResponseWirelessDeleteSSIDAndProvisionItToDevices) 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 +//DeleteEnterpriseSSID Delete Enterprise SSID - c7a6-592b-4b98-a369 +/* Deletes given enterprise SSID -@param id id path parameter. Wireless Profile Id +@param ssidName ssidName path parameter. Enter the SSID name to be deleted + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-enterprise-ssid */ -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) +func (s *WirelessService) DeleteEnterpriseSSID(ssidName string) (*ResponseWirelessDeleteEnterpriseSSID, *resty.Response, error) { + //ssidName string + path := "/dna/intent/api/v1/enterprise-ssid/{ssidName}" + path = strings.Replace(path, "{ssidName}", fmt.Sprintf("%v", ssidName), -1) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetBody(requestWirelessUpdateWirelessProfileConnectivity). - SetResult(&ResponseWirelessUpdateWirelessProfileConnectivity{}). + SetResult(&ResponseWirelessDeleteEnterpriseSSID{}). SetError(&Error). - Put(path) + Delete(path) if err != nil { return nil, nil, err @@ -8336,37 +9431,37 @@ func (s *WirelessService) UpdateWirelessProfileConnectivity(id string, requestWi if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateWirelessProfileConnectivity(id, requestWirelessUpdateWirelessProfileConnectivity) + return s.DeleteEnterpriseSSID( + ssidName) } - return nil, response, fmt.Errorf("error with operation UpdateWirelessProfileConnectivity") + return nil, response, fmt.Errorf("error with operation DeleteEnterpriseSsid") } - result := response.Result().(*ResponseWirelessUpdateWirelessProfileConnectivity) + result := response.Result().(*ResponseWirelessDeleteEnterpriseSSID) return result, response, err } -//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. +//DeleteAAARadiusAttributesConfigurationFeatureTemplate Delete AAA Radius Attributes Configuration Feature Template - 88a1-1a80-4a08-9604 +/* This API allows users to delete a specific AAA Radius Attributes configuration feature template by ID. -@param id id path parameter. Wireless Profile Id +@param id id path parameter. AAA Radius Attributes Configuration Feature Template Id -@param policyTagID policyTagId path parameter. Policy Tag Id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-aaa-radius-attributes-configuration-feature-template */ -func (s *WirelessService) UpdateASpecificPolicyTagForAWirelessProfile(id string, policyTagID string, requestWirelessUpdateASpecificPolicyTagForAWirelessProfile *RequestWirelessUpdateASpecificPolicyTagForAWirelessProfile) (*ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessProfiles/{id}/policyTags/{policyTagId}" +func (s *WirelessService) DeleteAAARadiusAttributesConfigurationFeatureTemplate(id string) (*ResponseWirelessDeleteAAARadiusAttributesConfigurationFeatureTemplate, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/featureTemplates/wireless/aaaRadiusAttributesConfigurations/{id}" 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(requestWirelessUpdateASpecificPolicyTagForAWirelessProfile). - SetResult(&ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfile{}). + SetResult(&ResponseWirelessDeleteAAARadiusAttributesConfigurationFeatureTemplate{}). SetError(&Error). - Put(path) + Delete(path) if err != nil { return nil, nil, err @@ -8375,37 +9470,37 @@ func (s *WirelessService) UpdateASpecificPolicyTagForAWirelessProfile(id string, if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateASpecificPolicyTagForAWirelessProfile(id, policyTagID, requestWirelessUpdateASpecificPolicyTagForAWirelessProfile) + return s.DeleteAAARadiusAttributesConfigurationFeatureTemplate( + id) } - return nil, response, fmt.Errorf("error with operation UpdateASpecificPolicyTagForAWirelessProfile") + return nil, response, fmt.Errorf("error with operation DeleteAaaRadiusAttributesConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessUpdateASpecificPolicyTagForAWirelessProfile) + result := response.Result().(*ResponseWirelessDeleteAAARadiusAttributesConfigurationFeatureTemplate) return result, response, err } -//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. +//DeleteAdvancedSSIDConfigurationFeatureTemplate Delete Advanced SSID Configuration Feature Template - 8786-6bcc-4d4a-b01c +/* This API allows users to delete a specific Advanced SSID configuration feature template by Id. -@param id id path parameter. Wireless Profile Id +@param id id path parameter. Advanced SSID Configuration Feature Template Id -@param siteTagID siteTagId path parameter. Site Tag Id +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-advanced-ssid-configuration-feature-template */ -func (s *WirelessService) UpdateASpecificSiteTagForAWirelessProfile(id string, siteTagID string, requestWirelessUpdateASpecificSiteTagForAWirelessProfile *RequestWirelessUpdateASpecificSiteTagForAWirelessProfile) (*ResponseWirelessUpdateASpecificSiteTagForAWirelessProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessProfiles/{id}/siteTags/{siteTagId}" +func (s *WirelessService) DeleteAdvancedSSIDConfigurationFeatureTemplate(id string) (*ResponseWirelessDeleteAdvancedSSIDConfigurationFeatureTemplate, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/featureTemplates/wireless/advancedSSIDConfigurations/{id}" 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(requestWirelessUpdateASpecificSiteTagForAWirelessProfile). - SetResult(&ResponseWirelessUpdateASpecificSiteTagForAWirelessProfile{}). + SetResult(&ResponseWirelessDeleteAdvancedSSIDConfigurationFeatureTemplate{}). SetError(&Error). - Put(path) + Delete(path) if err != nil { return nil, nil, err @@ -8414,34 +9509,37 @@ func (s *WirelessService) UpdateASpecificSiteTagForAWirelessProfile(id string, s if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateASpecificSiteTagForAWirelessProfile(id, siteTagID, requestWirelessUpdateASpecificSiteTagForAWirelessProfile) + return s.DeleteAdvancedSSIDConfigurationFeatureTemplate( + id) } - return nil, response, fmt.Errorf("error with operation UpdateASpecificSiteTagForAWirelessProfile") + return nil, response, fmt.Errorf("error with operation DeleteAdvancedSsidConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessUpdateASpecificSiteTagForAWirelessProfile) + result := response.Result().(*ResponseWirelessDeleteAdvancedSSIDConfigurationFeatureTemplate) return result, response, err } -//UpdateAnchorGroup Update AnchorGroup - 4da3-bae4-484a-8448 -/* This API allows the user to update an AnchorGroup +//DeleteCleanAirConfigurationFeatureTemplate Delete CleanAir Configuration Feature Template - 578f-2b51-4df9-b049 +/* This API allows users to delete a specific CleanAir configuration feature template by ID. -@param id id path parameter. AnchorGroup ID +@param id id path parameter. Clean Air Configuration Feature Template Id + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-clean-air-configuration-feature-template */ -func (s *WirelessService) UpdateAnchorGroup(id string, requestWirelessUpdateAnchorGroup *RequestWirelessUpdateAnchorGroup) (*ResponseWirelessUpdateAnchorGroup, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/anchorGroups/{id}" +func (s *WirelessService) DeleteCleanAirConfigurationFeatureTemplate(id string) (*ResponseWirelessDeleteCleanAirConfigurationFeatureTemplate, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/featureTemplates/wireless/cleanAirConfigurations/{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(requestWirelessUpdateAnchorGroup). - SetResult(&ResponseWirelessUpdateAnchorGroup{}). + SetResult(&ResponseWirelessDeleteCleanAirConfigurationFeatureTemplate{}). SetError(&Error). - Put(path) + Delete(path) if err != nil { return nil, nil, err @@ -8450,34 +9548,37 @@ func (s *WirelessService) UpdateAnchorGroup(id string, requestWirelessUpdateAnch if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateAnchorGroup(id, requestWirelessUpdateAnchorGroup) + return s.DeleteCleanAirConfigurationFeatureTemplate( + id) } - return nil, response, fmt.Errorf("error with operation UpdateAnchorGroup") + return nil, response, fmt.Errorf("error with operation DeleteCleanAirConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessUpdateAnchorGroup) + result := response.Result().(*ResponseWirelessDeleteCleanAirConfigurationFeatureTemplate) return result, response, err } -//UpdateApAuthorizationList Update AP Authorization List - 768b-0b99-4189-986e -/* This API allows the user to update an AP Authorization List. +//DeleteDot11AxConfigurationFeatureTemplate Delete Dot11ax Configuration Feature Template - e48a-194c-48b9-ba64 +/* This API allows users to delete a specific Dot11ax configuration feature template by ID. -@param id id path parameter. AP Authorization List ID +@param id id path parameter. Dot11ax Configuration Feature Template Id + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-dot11ax-configuration-feature-template */ -func (s *WirelessService) UpdateApAuthorizationList(id string, requestWirelessUpdateAPAuthorizationList *RequestWirelessUpdateApAuthorizationList) (*ResponseWirelessUpdateApAuthorizationList, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/apAuthorizationLists/{id}" +func (s *WirelessService) DeleteDot11AxConfigurationFeatureTemplate(id string) (*ResponseWirelessDeleteDot11AxConfigurationFeatureTemplate, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/featureTemplates/wireless/dot11axConfigurations/{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(requestWirelessUpdateAPAuthorizationList). - SetResult(&ResponseWirelessUpdateApAuthorizationList{}). + SetResult(&ResponseWirelessDeleteDot11AxConfigurationFeatureTemplate{}). SetError(&Error). - Put(path) + Delete(path) if err != nil { return nil, nil, err @@ -8486,34 +9587,37 @@ func (s *WirelessService) UpdateApAuthorizationList(id string, requestWirelessUp if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateApAuthorizationList(id, requestWirelessUpdateAPAuthorizationList) + return s.DeleteDot11AxConfigurationFeatureTemplate( + id) } - return nil, response, fmt.Errorf("error with operation UpdateApAuthorizationList") + return nil, response, fmt.Errorf("error with operation DeleteDot11AxConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessUpdateApAuthorizationList) + result := response.Result().(*ResponseWirelessDeleteDot11AxConfigurationFeatureTemplate) return result, response, err } -//UpdateApProfileByID Update AP Profile by ID - 41b5-ea3b-43b8-9d57 -/* This API allows the user to update a custom AP Profile +//DeleteDot11BeStatusConfigurationFeatureTemplate Delete Dot11be Status Configuration Feature Template - 5c9c-8824-4ee9-8d0b +/* This API allows users to delete a specific Dot11be status configuration feature template by ID. -@param id id path parameter. Ap Profile ID +@param id id path parameter. Dot11be Status Configuration Feature Template Id + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-dot11be-status-configuration-feature-template */ -func (s *WirelessService) UpdateApProfileByID(id string, requestWirelessUpdateAPProfileByID *RequestWirelessUpdateApProfileByID) (*ResponseWirelessUpdateApProfileByID, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/apProfiles/{id}" +func (s *WirelessService) DeleteDot11BeStatusConfigurationFeatureTemplate(id string) (*ResponseWirelessDeleteDot11BeStatusConfigurationFeatureTemplate, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/featureTemplates/wireless/dot11beStatusConfigurations/{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(requestWirelessUpdateAPProfileByID). - SetResult(&ResponseWirelessUpdateApProfileByID{}). + SetResult(&ResponseWirelessDeleteDot11BeStatusConfigurationFeatureTemplate{}). SetError(&Error). - Put(path) + Delete(path) if err != nil { return nil, nil, err @@ -8522,34 +9626,37 @@ func (s *WirelessService) UpdateApProfileByID(id string, requestWirelessUpdateAP if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateApProfileByID(id, requestWirelessUpdateAPProfileByID) + return s.DeleteDot11BeStatusConfigurationFeatureTemplate( + id) } - return nil, response, fmt.Errorf("error with operation UpdateApProfileById") + return nil, response, fmt.Errorf("error with operation DeleteDot11BeStatusConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessUpdateApProfileByID) + result := response.Result().(*ResponseWirelessDeleteDot11BeStatusConfigurationFeatureTemplate) return result, response, err } -//Update80211BeProfile Update 802.11be Profile - 699b-b8e0-48bb-9b90 -/* This API allows the user to update a 802.11be Profile +//DeleteEventDrivenRRMConfigurationFeatureTemplate Delete Event Driven RRM Configuration Feature Template - 79b9-1bd6-4118-8c7c +/* This API allows users to delete a specific Event Driven RRM configuration feature template by ID. -@param id id path parameter. 802.11be Profile ID +@param id id path parameter. Event Driven RRM Configuration Feature Template Id + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-event-driven-r-r-m-configuration-feature-template */ -func (s *WirelessService) Update80211BeProfile(id string, requestWirelessUpdate80211beProfile *RequestWirelessUpdate80211BeProfile) (*ResponseWirelessUpdate80211BeProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/dot11beProfiles/{id}" +func (s *WirelessService) DeleteEventDrivenRRMConfigurationFeatureTemplate(id string) (*ResponseWirelessDeleteEventDrivenRRMConfigurationFeatureTemplate, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/featureTemplates/wireless/eventDrivenRRMConfigurations/{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(requestWirelessUpdate80211beProfile). - SetResult(&ResponseWirelessUpdate80211BeProfile{}). + SetResult(&ResponseWirelessDeleteEventDrivenRRMConfigurationFeatureTemplate{}). SetError(&Error). - Put(path) + Delete(path) if err != nil { return nil, nil, err @@ -8558,34 +9665,37 @@ func (s *WirelessService) Update80211BeProfile(id string, requestWirelessUpdate8 if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.Update80211BeProfile(id, requestWirelessUpdate80211beProfile) + return s.DeleteEventDrivenRRMConfigurationFeatureTemplate( + id) } - return nil, response, fmt.Errorf("error with operation Update80211BeProfile") + return nil, response, fmt.Errorf("error with operation DeleteEventDrivenRRMConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessUpdate80211BeProfile) + result := response.Result().(*ResponseWirelessDeleteEventDrivenRRMConfigurationFeatureTemplate) return result, response, err } -//UpdateInterface Update Interface - 0f93-9868-454b-a943 -/* This API allows the user to update an interface by ID +//DeleteFlexConnectConfigurationFeatureTemplate Delete Flex Connect Configuration Feature Template - 658c-bb0a-4259-9e53 +/* This API allows users to delete a specific Flex Connect configuration feature template by ID. -@param id id path parameter. Interface ID +@param id id path parameter. Flex Connect Configuration Feature Template Id + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-flex-connect-configuration-feature-template */ -func (s *WirelessService) UpdateInterface(id string, requestWirelessUpdateInterface *RequestWirelessUpdateInterface) (*ResponseWirelessUpdateInterface, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/interfaces/{id}" +func (s *WirelessService) DeleteFlexConnectConfigurationFeatureTemplate(id string) (*ResponseWirelessDeleteFlexConnectConfigurationFeatureTemplate, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/featureTemplates/wireless/flexConnectConfigurations/{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(requestWirelessUpdateInterface). - SetResult(&ResponseWirelessUpdateInterface{}). + SetResult(&ResponseWirelessDeleteFlexConnectConfigurationFeatureTemplate{}). SetError(&Error). - Put(path) + Delete(path) if err != nil { return nil, nil, err @@ -8594,34 +9704,37 @@ func (s *WirelessService) UpdateInterface(id string, requestWirelessUpdateInterf if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateInterface(id, requestWirelessUpdateInterface) + return s.DeleteFlexConnectConfigurationFeatureTemplate( + id) } - return nil, response, fmt.Errorf("error with operation UpdateInterface") + return nil, response, fmt.Errorf("error with operation DeleteFlexConnectConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessUpdateInterface) + result := response.Result().(*ResponseWirelessDeleteFlexConnectConfigurationFeatureTemplate) return result, response, err } -//UpdatePowerProfileByID Update Power Profile by ID - 6f86-19b1-478a-9a5e -/* This API allows the user to update a custom power Profile +//DeleteMulticastConfigurationFeatureTemplate Delete Multicast Configuration Feature Template - e3bb-b887-4a18-8249 +/* This API allows users to delete a specific Multicast configuration feature template by ID. -@param id id path parameter. Power Profile Id +@param id id path parameter. Multicast Configuration Feature Template Id + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-multicast-configuration-feature-template */ -func (s *WirelessService) UpdatePowerProfileByID(id string, requestWirelessUpdatePowerProfileByID *RequestWirelessUpdatePowerProfileByID) (*ResponseWirelessUpdatePowerProfileByID, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/powerProfiles/{id}" +func (s *WirelessService) DeleteMulticastConfigurationFeatureTemplate(id string) (*ResponseWirelessDeleteMulticastConfigurationFeatureTemplate, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/featureTemplates/wireless/multicastConfigurations/{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{}). + SetResult(&ResponseWirelessDeleteMulticastConfigurationFeatureTemplate{}). SetError(&Error). - Put(path) + Delete(path) if err != nil { return nil, nil, err @@ -8630,34 +9743,37 @@ func (s *WirelessService) UpdatePowerProfileByID(id string, requestWirelessUpdat if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdatePowerProfileByID(id, requestWirelessUpdatePowerProfileByID) + return s.DeleteMulticastConfigurationFeatureTemplate( + id) } - return nil, response, fmt.Errorf("error with operation UpdatePowerProfileById") + return nil, response, fmt.Errorf("error with operation DeleteMulticastConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessUpdatePowerProfileByID) + result := response.Result().(*ResponseWirelessDeleteMulticastConfigurationFeatureTemplate) return result, response, err } -//UpdateRfProfile Update RF Profile - 2984-b995-4ae9-b3c3 -/* This API allows the user to update a custom RF Profile. +//DeleteRRMFRAConfigurationFeatureTemplate Delete RRM FRA Configuration Feature Template - 87ad-4b10-4639-ac0c +/* This API allows users to delete a specific RRM FRA configuration feature template by Id. -@param id id path parameter. RF Profile ID +@param id id path parameter. RRM FRA Configuration Feature Template Id + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-r-r-m-f-r-a-configuration-feature-template */ -func (s *WirelessService) UpdateRfProfile(id string, requestWirelessUpdateRFProfile *RequestWirelessUpdateRfProfile) (*ResponseWirelessUpdateRfProfile, *resty.Response, error) { - path := "/dna/intent/api/v1/wirelessSettings/rfProfiles/{id}" +func (s *WirelessService) DeleteRRMFRAConfigurationFeatureTemplate(id string) (*ResponseWirelessDeleteRRMFRAConfigurationFeatureTemplate, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/featureTemplates/wireless/rrmFraConfigurations/{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(requestWirelessUpdateRFProfile). - SetResult(&ResponseWirelessUpdateRfProfile{}). + SetResult(&ResponseWirelessDeleteRRMFRAConfigurationFeatureTemplate{}). SetError(&Error). - Put(path) + Delete(path) if err != nil { return nil, nil, err @@ -8666,50 +9782,77 @@ func (s *WirelessService) UpdateRfProfile(id string, requestWirelessUpdateRFProf if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.UpdateRfProfile(id, requestWirelessUpdateRFProfile) + return s.DeleteRRMFRAConfigurationFeatureTemplate( + id) } - return nil, response, fmt.Errorf("error with operation UpdateRfProfile") + return nil, response, fmt.Errorf("error with operation DeleteRRMFRAConfigurationFeatureTemplate") } - result := response.Result().(*ResponseWirelessUpdateRfProfile) + result := response.Result().(*ResponseWirelessDeleteRRMFRAConfigurationFeatureTemplate) return result, response, err } -//DeleteSSIDAndProvisionItToDevices Delete SSID and provision it to devices - fc95-38fe-43d9-884d -/* Removes SSID or WLAN from the network profile, reprovision the device(s) and deletes the SSID or WLAN from DNA Center - +//DeleteRRMGeneralConfigurationFeatureTemplate Delete RRM General Configuration Feature Template - c2a2-4987-4bf9-b215 +/* This API allows users to delete a specific RRM General configuration feature template by ID. -@param ssidName ssidName path parameter. SSID Name. This parameter needs to be encoded as per UTF-8 encoding. -@param managedAPLocations managedAPLocations path parameter. List of managed AP locations (Site Hierarchies). This parameter needs to be encoded as per UTF-8 encoding +@param id id path parameter. Multicast Configuration Feature Template Id -@param DeleteSSIDAndProvisionItToDevicesHeaderParams Custom header parameters -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-ssid-and-provision-it-to-devices +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-r-r-m-general-configuration-feature-template */ -func (s *WirelessService) DeleteSSIDAndProvisionItToDevices(ssidName string, managedAPLocations string, DeleteSSIDAndProvisionItToDevicesHeaderParams *DeleteSSIDAndProvisionItToDevicesHeaderParams) (*ResponseWirelessDeleteSSIDAndProvisionItToDevices, *resty.Response, error) { - //ssidName string,managedAPLocations string,DeleteSSIDAndProvisionItToDevicesHeaderParams *DeleteSSIDAndProvisionItToDevicesHeaderParams - path := "/dna/intent/api/v1/business/ssid/{ssidName}/{managedAPLocations}" - path = strings.Replace(path, "{ssidName}", fmt.Sprintf("%v", ssidName), -1) - path = strings.Replace(path, "{managedAPLocations}", fmt.Sprintf("%v", managedAPLocations), -1) +func (s *WirelessService) DeleteRRMGeneralConfigurationFeatureTemplate(id string) (*ResponseWirelessDeleteRRMGeneralConfigurationFeatureTemplate, *resty.Response, error) { + //id string + path := "/dna/intent/api/v1/featureTemplates/wireless/rrmGeneralConfigurations/{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") + SetHeader("Accept", "application/json"). + SetResult(&ResponseWirelessDeleteRRMGeneralConfigurationFeatureTemplate{}). + SetError(&Error). + Delete(path) - if DeleteSSIDAndProvisionItToDevicesHeaderParams != nil { + if err != nil { + return nil, nil, err - if DeleteSSIDAndProvisionItToDevicesHeaderParams.Persistbapioutput != "" { - clientRequest = clientRequest.SetHeader("__persistbapioutput", DeleteSSIDAndProvisionItToDevicesHeaderParams.Persistbapioutput) - } + } + if response.IsError() { + if response.StatusCode() == http.StatusUnauthorized { + return s.DeleteRRMGeneralConfigurationFeatureTemplate( + id) + } + return nil, response, fmt.Errorf("error with operation DeleteRRMGeneralConfigurationFeatureTemplate") } - response, err = clientRequest. - SetResult(&ResponseWirelessDeleteSSIDAndProvisionItToDevices{}). + result := response.Result().(*ResponseWirelessDeleteRRMGeneralConfigurationFeatureTemplate) + return result, response, err + +} + +//DeleteAAAOverrideVLANSettingsBySite Delete AAA Override Vlan Settings By Site - 8090-79be-493a-885e +/* This API allows the user to delete AAA Override VLAN settings at the given site level + + +@param siteID siteId path parameter. Site Id + +@param DeleteAAAOverrideVlanSettingsBySiteQueryParams Filtering parameter + +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-aaa-override-vlan-settings-by-site +*/ +func (s *WirelessService) DeleteAAAOverrideVLANSettingsBySite(siteID string, DeleteAAAOverrideVlanSettingsBySiteQueryParams *DeleteAAAOverrideVLANSettingsBySiteQueryParams) (*ResponseWirelessDeleteAAAOverrideVLANSettingsBySite, *resty.Response, error) { + //siteID string,DeleteAAAOverrideVlanSettingsBySiteQueryParams *DeleteAAAOverrideVLANSettingsBySiteQueryParams + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/flexConnectAaaOverride" + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) + + queryString, _ := query.Values(DeleteAAAOverrideVlanSettingsBySiteQueryParams) + + response, err := s.client.R(). + SetHeader("Content-Type", "application/json"). + SetHeader("Accept", "application/json"). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessDeleteAAAOverrideVLANSettingsBySite{}). SetError(&Error). Delete(path) @@ -8720,34 +9863,38 @@ func (s *WirelessService) DeleteSSIDAndProvisionItToDevices(ssidName string, man if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteSSIDAndProvisionItToDevices(ssidName, managedAPLocations, DeleteSSIDAndProvisionItToDevicesHeaderParams) + return s.DeleteAAAOverrideVLANSettingsBySite( + siteID, DeleteAAAOverrideVlanSettingsBySiteQueryParams) } - return nil, response, fmt.Errorf("error with operation DeleteSsidAndProvisionItToDevices") + return nil, response, fmt.Errorf("error with operation DeleteAaaOverrideVlanSettingsBySite") } - result := response.Result().(*ResponseWirelessDeleteSSIDAndProvisionItToDevices) + result := response.Result().(*ResponseWirelessDeleteAAAOverrideVLANSettingsBySite) return result, response, err } -//DeleteEnterpriseSSID Delete Enterprise SSID - c7a6-592b-4b98-a369 -/* Deletes given enterprise SSID +//DeleteNativeVLANSettingsBySite Delete Native Vlan Settings By Site - 0991-196e-4548-a13a +/* This API allows the user to delete a Native VLAN setting at the given site level. -@param ssidName ssidName path parameter. Enter the SSID name to be deleted +@param siteID siteId path parameter. Site Id +@param DeleteNativeVlanSettingsBySiteQueryParams Filtering parameter -Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-enterprise-ssid +Documentation Link: https://developer.cisco.com/docs/dna-center/#!delete-native-vlan-settings-by-site */ -func (s *WirelessService) DeleteEnterpriseSSID(ssidName string) (*ResponseWirelessDeleteEnterpriseSSID, *resty.Response, error) { - //ssidName string - path := "/dna/intent/api/v1/enterprise-ssid/{ssidName}" - path = strings.Replace(path, "{ssidName}", fmt.Sprintf("%v", ssidName), -1) +func (s *WirelessService) DeleteNativeVLANSettingsBySite(siteID string, DeleteNativeVlanSettingsBySiteQueryParams *DeleteNativeVLANSettingsBySiteQueryParams) (*ResponseWirelessDeleteNativeVLANSettingsBySite, *resty.Response, error) { + //siteID string,DeleteNativeVlanSettingsBySiteQueryParams *DeleteNativeVLANSettingsBySiteQueryParams + path := "/dna/intent/api/v1/sites/{siteId}/wirelessSettings/flexConnectNativeVlan" + path = strings.Replace(path, "{siteId}", fmt.Sprintf("%v", siteID), -1) + + queryString, _ := query.Values(DeleteNativeVlanSettingsBySiteQueryParams) response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessDeleteEnterpriseSSID{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessDeleteNativeVLANSettingsBySite{}). SetError(&Error). Delete(path) @@ -8758,12 +9905,13 @@ func (s *WirelessService) DeleteEnterpriseSSID(ssidName string) (*ResponseWirele if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteEnterpriseSSID(ssidName) + return s.DeleteNativeVLANSettingsBySite( + siteID, DeleteNativeVlanSettingsBySiteQueryParams) } - return nil, response, fmt.Errorf("error with operation DeleteEnterpriseSsid") + return nil, response, fmt.Errorf("error with operation DeleteNativeVlanSettingsBySite") } - result := response.Result().(*ResponseWirelessDeleteEnterpriseSSID) + result := response.Result().(*ResponseWirelessDeleteNativeVLANSettingsBySite) return result, response, err } @@ -8776,19 +9924,22 @@ func (s *WirelessService) DeleteEnterpriseSSID(ssidName string) (*ResponseWirele @param id id path parameter. SSID ID +@param DeleteSSIDQueryParams Filtering parameter 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 +func (s *WirelessService) DeleteSSID(siteID string, id string, DeleteSSIDQueryParams *DeleteSSIDQueryParams) (*ResponseWirelessDeleteSSID, *resty.Response, error) { + //siteID string,id string,DeleteSSIDQueryParams *DeleteSSIDQueryParams 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) + queryString, _ := query.Values(DeleteSSIDQueryParams) + response, err := s.client.R(). SetHeader("Content-Type", "application/json"). SetHeader("Accept", "application/json"). - SetResult(&ResponseWirelessDeleteSSID{}). + SetQueryString(queryString.Encode()).SetResult(&ResponseWirelessDeleteSSID{}). SetError(&Error). Delete(path) @@ -8799,7 +9950,8 @@ func (s *WirelessService) DeleteSSID(siteID string, id string) (*ResponseWireles if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteSSID(siteID, id) + return s.DeleteSSID( + siteID, id, DeleteSSIDQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteSsid") } @@ -8837,7 +9989,8 @@ func (s *WirelessService) DeleteWirelessProfile(wirelessProfileName string) (*Re if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteWirelessProfile(wirelessProfileName) + return s.DeleteWirelessProfile( + wirelessProfileName) } return nil, response, fmt.Errorf("error with operation DeleteWirelessProfile") } @@ -8892,7 +10045,8 @@ func (s *WirelessService) DeleteDynamicInterface(DeleteDynamicInterfaceHeaderPar if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteDynamicInterface(DeleteDynamicInterfaceHeaderParams, DeleteDynamicInterfaceQueryParams) + return s.DeleteDynamicInterface( + DeleteDynamicInterfaceHeaderParams, DeleteDynamicInterfaceQueryParams) } return nil, response, fmt.Errorf("error with operation DeleteDynamicInterface") } @@ -8930,7 +10084,8 @@ func (s *WirelessService) DeleteRfProfiles(rfProfileName string) (*ResponseWirel if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteRfProfiles(rfProfileName) + return s.DeleteRfProfiles( + rfProfileName) } return nil, response, fmt.Errorf("error with operation DeleteRfProfiles") } @@ -8968,7 +10123,8 @@ func (s *WirelessService) DeleteWirelessProfileConnectivity(id string) (*Respons if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteWirelessProfileConnectivity(id) + return s.DeleteWirelessProfileConnectivity( + id) } return nil, response, fmt.Errorf("error with operation DeleteWirelessProfileConnectivity") } @@ -9009,7 +10165,8 @@ func (s *WirelessService) DeleteASpecificPolicyTagFromAWirelessProfile(id string if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteASpecificPolicyTagFromAWirelessProfile(id, policyTagID) + return s.DeleteASpecificPolicyTagFromAWirelessProfile( + id, policyTagID) } return nil, response, fmt.Errorf("error with operation DeleteASpecificPolicyTagFromAWirelessProfile") } @@ -9050,7 +10207,8 @@ func (s *WirelessService) DeleteASpecificSiteTagFromAWirelessProfile(id string, if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteASpecificSiteTagFromAWirelessProfile(id, siteTagID) + return s.DeleteASpecificSiteTagFromAWirelessProfile( + id, siteTagID) } return nil, response, fmt.Errorf("error with operation DeleteASpecificSiteTagFromAWirelessProfile") } @@ -9088,7 +10246,8 @@ func (s *WirelessService) DeleteAnchorGroupByID(id string) (*ResponseWirelessDel if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteAnchorGroupByID(id) + return s.DeleteAnchorGroupByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteAnchorGroupById") } @@ -9126,7 +10285,8 @@ func (s *WirelessService) DeleteApAuthorizationList(id string) (*ResponseWireles if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteApAuthorizationList(id) + return s.DeleteApAuthorizationList( + id) } return nil, response, fmt.Errorf("error with operation DeleteApAuthorizationList") } @@ -9164,7 +10324,8 @@ func (s *WirelessService) DeleteApProfileByID(id string) (*ResponseWirelessDelet if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteApProfileByID(id) + return s.DeleteApProfileByID( + id) } return nil, response, fmt.Errorf("error with operation DeleteApProfileById") } @@ -9202,7 +10363,8 @@ func (s *WirelessService) DeleteA80211BeProfile(id string) (*ResponseWirelessDel if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteA80211BeProfile(id) + return s.DeleteA80211BeProfile( + id) } return nil, response, fmt.Errorf("error with operation DeleteA80211BeProfile") } @@ -9240,7 +10402,8 @@ func (s *WirelessService) DeleteInterface(id string) (*ResponseWirelessDeleteInt if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteInterface(id) + return s.DeleteInterface( + id) } return nil, response, fmt.Errorf("error with operation DeleteInterface") } @@ -9278,7 +10441,8 @@ func (s *WirelessService) DeletePowerProfileByID(id string) (*ResponseWirelessDe if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeletePowerProfileByID(id) + return s.DeletePowerProfileByID( + id) } return nil, response, fmt.Errorf("error with operation DeletePowerProfileById") } @@ -9316,7 +10480,8 @@ func (s *WirelessService) DeleteRfProfile(id string) (*ResponseWirelessDeleteRfP if response.IsError() { if response.StatusCode() == http.StatusUnauthorized { - return s.DeleteRfProfile(id) + return s.DeleteRfProfile( + id) } return nil, response, fmt.Errorf("error with operation DeleteRfProfile") }