Files
decort-golang-sdk/pkg/sdn/secpolicies/models.go
dayterr 8cde0e9371 v1.16.7
v1.16.7
2026-10-09 16:23:35 +03:00

103 lines
2.1 KiB
Go

package secpolicies
type SecurityPolicyList []SecurityPolicySummary
// SecurityPolicySummary provides brief information about the security policy
type SecurityPolicySummary struct {
// Access group ID
AccessGroupID string `json:"access_group_id"`
// Access group name
AccessGroupName string `json:"access_group_name"`
// Applied network object groups
AppliedNetObjectGroups []AppliedNetObjectGroup `json:"applied_net_object_groups"`
// Created time
CreatedAt string `json:"created_at"`
// Description
Description string `json:"description"`
// Display name
DisplayName string `json:"display_name"`
// Enabled flag
Enabled bool `json:"enabled"`
// End date and time
EndDateTime string `json:"end_date_time"`
// End priority
EndPriority int `json:"end_priority"`
// ID
ID string `json:"id"`
// Locked at timestamp
LockedAt string `json:"locked_at"`
// Schedule cron expression
ScheduleCron string `json:"schedule_cron"`
// Start date and time
StartDateTime string `json:"start_date_time"`
// Start priority
StartPriority int `json:"start_priority"`
// Status information
Status Status `json:"status"`
// Type
Type string `json:"type"`
// Version ID
VersionID uint64 `json:"version_id"`
// Updated time
UpdatedAt string `json:"updated_at"`
}
// AppliedNetObjectGroup information about network object group the security policy is applied to
type AppliedNetObjectGroup struct {
// ID
ID string `json:"id"`
// Name
Name string `json:"name"`
// Version ID
VersionID uint64 `json:"version_id"`
}
// Status information
type Status struct {
// Operation status
OperationStatus string `json:"operation_status"`
// Hypervisor status
HypervisorStatus string `json:"hypervisor_status"`
// Hypervisor statuses
Hypervisors []HypervisorStatus `json:"hypervisors"`
}
// HypervisorStatus information
type HypervisorStatus struct {
// Operation status
OperationStatus string `json:"operation_status"`
// Name
Name string `json:"name"`
// Display name
DisplayName string `json:"display_name"`
// Hypervisor status
HypervisorStatus string `json:"hypervisor_status"`
// Last sync time
SyncedAt string `json:"synced_at"`
}