{"type":"api","title":"Update LCM configuration","meta":{"id":"/apps/pubhub/media/crosswork-network-controller-7-1/f445c17e25a1120e8fbde4bd413083d0fd88b2b3/09f28b5d-571d-34d2-bb77-b72f590e7221","info":{"description":"API for managing function packs, including LCM configurations and managed interfaces.","version":"7.1.0","title":"LCM Configuration API","contact":{"name":"API Support","url":"https://www.cisco.com/support","email":"support@cisco.com"},"license":{"name":"Cisco Software License Agreement","url":"http://www.cisco.com/public/sw-license-agreement.html"}},"swagger":"2.0","host":"localhost:30603","basePath":"/crosswork/nbi/optimization/v3/restconf","securityDefinitions":{"api_key":{"description":"Authentication: Bearer $JWT","type":"apiKey","name":"api_key","in":"header"}}},"spec":{"operationId":"setLcmConfig","tags":["cisco-crosswork-optimization-engine-function-pack-operations"],"summary":"Update LCM configuration","description":"Updates the LCM configuration for a specified domain.","parameters":[{"in":"body","name":"function.pack.operations.setlcmconfig.Input.body-param","required":false,"description":"Request body containing the LCM configuration to be updated.","schema":{"type":"object","properties":{"input":{"type":"object","properties":{"affinity-constraints":{"description":"Affinity constraints to include/exclude for LCM detour policy paths","type":"object","properties":{"include-all":{"type":"array","items":{"type":"integer","format":"int32"}},"exclude-any":{"type":"array","items":{"type":"integer","format":"int32"}},"include-any":{"type":"array","items":{"type":"integer","format":"int32"}}},"$$ref":"#/definitions/function.pack.common.AffinityConstraints"},"adjacency-hop-type":{"type":"string","enum":["unprotected","protected","unprotected-preferred","protected-preferred"],"$$ref":"#/definitions/function.pack.common.AdjacencyHopTypeEnumeration"},"uneven-ecmp-traffic-threshold":{"type":"integer","format":"int32","description":"The percentage difference in traffic that will flag uneven traffic"},"color":{"type":"integer","format":"int64","description":"LCM will assign color values to tactical SR policies incrementally starting at this value"},"node-tag-max-sid-depth":{"type":"array","description":"Mappings of device tags to max sid depths","items":{"type":"object","properties":{"node-tag":{"type":"string","description":"Node tag"},"max-sid-depth":{"type":"integer","format":"int32"}},"description":"Mappings of device tags to max sid depths","$$ref":"#/definitions/function.pack.common.lcmconfig.NodeTagMaxSidDepth"}},"congestion-check-suspension-interval":{"type":"integer","format":"int64","description":"The minimum duration in seconds after any tactical SR policy\ncreate/update/delete to suspend congestion\ndetection/mitigation to allow model convergence"},"description":{"type":"string"},"clear-node-tag-max-sid-depth":{"type":"boolean","description":"Clear mappings of device tags to max sid depths","default":false},"throttle-mode-threshold":{"type":"integer","format":"int32","description":"The maximal allowed solutions/hour (policy removals) before being set to pasued state","default":5},"maximum-parallel-tactical-sr-policies":{"type":"integer","format":"int64","description":"Maximum number of tactical policies used to mitigate a single interface"},"utilization-threshold":{"type":"integer","format":"int32","description":"The percent utilization at which LCM will consider an\ninterface to be congested. Overridden by Link Management\nentries"},"include-all-interfaces":{"type":"boolean","description":"If set to false, only interfaces defined in lcm-managed-interfaces can be mitigated. If true, all interfaces","default":false},"enable":{"type":"boolean","description":"Enable LCM Function Pack"},"operation-mode":{"description":"Manual or automated operation of local congestion mitigation","type":"string","enum":["manual","automated"],"$$ref":"#/definitions/function.pack.common.OperationMode"},"over-provision-factor":{"type":"integer","format":"int32","description":"Over-provision factor that is used to size LCM policies larger\nwhen identifying a solution. This only impacts the search\nconstraint for solutions."},"delete-tactical-sr-policies":{"type":"boolean","description":"Delete all deployed tactical SR policies when LCM is disabled"},"congestion-check-interval":{"type":"integer","format":"int64","description":"LCM evaluates the network for congestion at this interval\n(seconds)"},"debug-optimizer":{"type":"boolean","description":"Save debug plan files to file system"},"optimization-objective":{"description":"Path computation objective used for tactical SR policies","type":"string","enum":["igp-metric","te-metric","delay"],"$$ref":"#/definitions/function.pack.common.OptimizationObjectiveEnumeration"},"deployment-timeout":{"type":"integer","format":"int64","description":"The maximum duration in seconds to allow for the confirmation of\ndeployment of tactical SR policies"},"profile-id":{"type":"integer","format":"int64","description":"Profile ID to assign all tactical SR policies. This should be mapped\nto autoroute feature on PCCs. 0 means unset"},"debug-maximum-plans":{"type":"integer","format":"int32","description":"Maximum number of debug plan files to save. 0 means no maximum"},"stay-in-area":{"type":"boolean"},"auto-repair-solution":{"type":"boolean"},"utilization-hold-margin":{"type":"integer","format":"int32","description":"Tactical SR policies are removed only if the utilization of\nthe mitigated interface without them will be this amount below\nutilization threshold. This dampens SR policy removals"},"domain-id":{"type":"string"}},"$$ref":"#/definitions/function.pack.operations.setlcmconfig.Input"}}}}],"responses":{"200":{"description":"Correct response","schema":{"type":"object","properties":{"output":{"type":"object","properties":{"status":{"description":"Status of the request","type":"string","enum":["error","accepted","rejected"],"$$ref":"#/definitions/function.pack.common.StatusEnumeration"},"lcm-option-errors":{"type":"array","items":{"type":"object","properties":{"error-message":{"type":"string","description":"Text description of the error"},"error-code":{"description":"Error code that indicates the cause","type":"string","enum":["option-invalid","utilization-threshold-error","utilization-hold-margin-error","utilization-threshold-margin-error","deploy-timeout-error","profile-id-error","debug-maximum-plans-error","option-unused","maximum-parallel-sr-policy-error","over-provision-factor-error","description-error","node-tag-max-sid-depth-error","uneven-ecmp-traffic-threshold-error","congestion-check-interval-range-error","throttle-mode-threshold-error","affinity-value-error"],"$$ref":"#/definitions/function.pack.common.ErrorCodeEnumeration"},"option":{"type":"string","description":"The option name that has an error"}},"$$ref":"#/definitions/function.pack.common.lcmoptionerrors.LcmOptionErrors"}}},"$$ref":"#/definitions/function.pack.operations.setlcmconfig.Output"}}}},"204":{"description":"No response"},"400":{"description":"Internal error"}},"__originalOperationId":"setLcmConfig","consumes":["application/yang-data+json"],"produces":["application/yang-data+json"],"method":"post","path":"/operations/cisco-crosswork-optimization-engine-function-pack-operations:set-lcm-config"}}