{"record":{"id":"b45bbdf203866ba1","repo":"hashicorp/nomad","slug":"cannot-be-empty","errorCode":null,"errorMessage":"cannot be empty","messagePattern":"cannot be empty","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"nomad/structs/node.go","lineNumber":921,"sourceCode":"\t// caller and allows operators a method to limit TTL requests.\n\tMaxIdentityTTL time.Duration\n}\n\n// Copy creates a copy of the node introduction configuration block.\nfunc (n *NodeIntroductionConfig) Copy() *NodeIntroductionConfig {\n\tif n == nil {\n\t\treturn nil\n\t}\n\n\tnewCI := *n\n\treturn &newCI\n}\n\n// Validate checks that the node introduction configuration is valid.\nfunc (n *NodeIntroductionConfig) Validate() error {\n\n\tif n == nil {\n\t\treturn fmt.Errorf(\"cannot be empty\")\n\t}\n\n\tvar mErr *multierror.Error\n\n\tswitch n.Enforcement {\n\tcase NodeIntroductionEnforcementNone,\n\t\tNodeIntroductionEnforcementWarn,\n\t\tNodeIntroductionEnforcementStrict:\n\tdefault:\n\t\tmErr = multierror.Append(mErr, fmt.Errorf(\"invalid enforcement %q\", n.Enforcement))\n\t}\n\n\tif n.DefaultIdentityTTL < 1 {\n\t\tmErr = multierror.Append(mErr, errors.New(\"default_identity_ttl must be greater than 0\"))\n\t}\n\n\tif n.MaxIdentityTTL < 1 {\n\t\tmErr = multierror.Append(mErr, errors.New(\"max_identity_ttl must be greater than 0\"))","sourceCodeStart":903,"sourceCodeEnd":939,"githubUrl":"https://github.com/hashicorp/nomad/blob/482b49bf1aec006f089bcfc7e632d8f6ac303e5e/nomad/structs/node.go#L903-L939","documentation":"NodeIntroductionConfig.Validate was invoked on a nil receiver; the validate entrypoint guards against a missing node introduction configuration block.","triggerScenarios":"Thrown at nomad/structs/node.go:921 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"482b49bf1aec006f089bcfc7e632d8f6ac303e5e","analyzedAt":"2026-09-04T07:54:14.808Z","contentChangedAt":"2026-09-04T07:54:14.808Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}