diff options
-rw-r--r-- | src/package.lisp | 1 | ||||
-rw-r--r-- | src/property.lisp | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/package.lisp b/src/package.lisp index 4206f33..487dc53 100644 --- a/src/package.lisp +++ b/src/package.lisp @@ -91,6 +91,7 @@ #:get-hostattrs #:get-hostattrs-car #:push-hostattrs + #:pushnew-hostattrs #:get-hostname #:require-data #:failed-change diff --git a/src/property.lisp b/src/property.lisp index f6910e1..9ee9393 100644 --- a/src/property.lisp +++ b/src/property.lisp @@ -247,12 +247,19 @@ Called by property :HOSTATTRS subroutines." (dolist (v vs) (push v (getf (slot-value *host* 'hostattrs) k)))) +(defun pushnew-hostattrs (k &rest vs) + "Push new static informational attributes VS of type KEY. + +Called by property :HOSTATTRS subroutines." + (dolist (v vs) + (pushnew v (getf (slot-value *host* 'hostattrs) k)))) + (defun require-data (iden1 iden2) "Wrapper around PUSH-HOSTATTRS to indicate that a piece of prerequisite data is needed to deploy a property. Called by property :HOSTATTRS subroutines." - (push-hostattrs :data (cons iden1 iden2))) + (pushnew-hostattrs :data (cons iden1 iden2))) (defun get-hostname () "Get the hostname of the host to which properties are being applied. |