Subject: [Supa] I-D Action: draft-ietf-supa-generic-policy-data-model-00.txt

From: [email-masked]
Date: Wed, 20 Jul 2016 03:40:04 -0700

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Simplified Use of Policy Abstractions of the IETF.

        Title           : Generic Policy Data Model for Simplified Use of Policy Abstractions (SUPA)
        Authors         : Joel Halpern
                          John Strassner
	Filename        : draft-ietf-supa-generic-policy-data-model-00.txt
	Pages           : 48
	Date            : 2016-07-20

Abstract:
   This document defines two YANG policy data models. The first is a
   generic policy model that is meant to be extended on an application-
   specific basis. The second is an exemplary extension of the first
   generic policy model, and defines rules as event-condition-action
   policies. Both models are independent of the level of abstraction of
   the content and meaning of a policy.

The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-supa-generic-policy-data-model/

There's also a htmlized version available at:
https://tools.ietf.org/html/draft-ietf-supa-generic-policy-data-model-00

Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

---

From: "Liushucheng (Will)" <[email-masked]>
Date: Thu, 28 Jul 2016 08:15:36 +0000

Hi authors,

Thanks for your efforts. I'm starting to review your new draft. Quick comments are:
1. Most of the parts are easy to understand. However, some examples of how to use certain parts might be added, e.g., decorated-container,  concrete-metadata-container, etc. 
2. You may consider to put the Pyang output tree into your draft, so that people without pyang tool could easily get the relationship among containers.

Pyang Output
module: ietf-supa-policydatamodel
   +--rw supa-encoding-clause-container
   |  +--rw supa-encoding-clause-list* [supa-policy-ID]
   |     +--rw supa-policy-ID                              string
   |     +--rw entity-class?                               identityref
   |     +--rw supa-policy-object-ID-encoding              policy-data-type-id-encoding-list
   |     +--rw supa-policy-object-description?             string
   |     +--rw supa-policy-name?                           string
   |     +--rw supa-has-policy-metadata-agg*               instance-identifier
   |     +--rw supa-has-policy-component-decorator-part    instance-identifier
   |     +--rw supa-policy-clause-exec-status?             enumeration
   |     +--rw supa-has-policy-clause-part*                instance-identifier
   |     +--rw supa-encoded-clause-content                 string
   |     +--rw supa-encoded-clause-encoding                policy-data-type-id-encoding-list
   |     +--rw supa-encoded-clause-language                enumeration
   |     +--rw supa-encoded-clause-response?               boolean
   +--rw supa-policy-variable-container
   |  +--rw supa-policy-variable-list* [supa-policy-ID]
   |     +--rw supa-policy-ID                              string
   |     +--rw entity-class?                               identityref
   |     +--rw supa-policy-object-ID-encoding              policy-data-type-id-encoding-list
   |     +--rw supa-policy-object-description?             string
   |     +--rw supa-policy-name?                           string
   |     +--rw supa-has-policy-metadata-agg*               instance-identifier
   |     +--rw supa-has-policy-component-decorator-part    instance-identifier
   |     +--rw supa-has-policy-component-decorator-agg*    instance-identifier
   |     +--rw supa-decorator-constraints*                 string
   |     +--rw supa-has-decorator-constraint-encoding?     policy-constraint-language-list
   |     +--rw supa-policy-term-is-negated?                boolean
   |     +--rw supa-policy-variable-name?                  string
   +--rw supa-policy-operator-container
   |  +--rw supa-policy-operator-list* [supa-policy-ID]
   |     +--rw supa-policy-ID                              string
   |     +--rw entity-class?                               identityref
   |     +--rw supa-policy-object-ID-encoding              policy-data-type-id-encoding-list
   |     +--rw supa-policy-object-description?             string
   |     +--rw supa-policy-name?                           string
   |     +--rw supa-has-policy-metadata-agg*               instance-identifier
   |     +--rw supa-has-policy-component-decorator-part    instance-identifier
   |     +--rw supa-has-policy-component-decorator-agg*    instance-identifier
   |     +--rw supa-decorator-constraints*                 string
   |     +--rw supa-has-decorator-constraint-encoding?     policy-constraint-language-list
   |     +--rw supa-policy-term-is-negated?                boolean
   |     +--rw supa-policy-value-op-type                   enumeration
   +--rw supa-policy-value-container
   |  +--rw supa-policy-value-list* [supa-policy-ID]
   |     +--rw supa-policy-ID                              string
   |     +--rw entity-class?                               identityref
   |     +--rw supa-policy-object-ID-encoding              policy-data-type-id-encoding-list
   |     +--rw supa-policy-object-description?             string
   |     +--rw supa-policy-name?                           string
   |     +--rw supa-has-policy-metadata-agg*               instance-identifier
   |     +--rw supa-has-policy-component-decorator-part    instance-identifier
   |     +--rw supa-has-policy-component-decorator-agg*    instance-identifier
   |     +--rw supa-decorator-constraints*                 string
   |     +--rw supa-has-decorator-constraint-encoding?     policy-constraint-language-list
   |     +--rw supa-policy-term-is-negated?                boolean
   |     +--rw supa-policy-value-content*                  string
   |     +--rw supa-policy-value-encoding?                 policy-data-type-encoding-list
   +--rw supa-policy-generic-decorated-container
   |  +--rw supa-encoding-clause-list* [supa-policy-ID]
   |     +--rw supa-policy-ID                              string
   |     +--rw entity-class?                               identityref
   |     +--rw supa-policy-object-ID-encoding              policy-data-type-id-encoding-list
   |     +--rw supa-policy-object-description?             string
   |     +--rw supa-policy-name?                           string
   |     +--rw supa-has-policy-metadata-agg*               instance-identifier
   |     +--rw supa-has-policy-component-decorator-part    instance-identifier
   |     +--rw supa-has-policy-component-decorator-agg*    instance-identifier
   |     +--rw supa-decorator-constraints*                 string
   |     +--rw supa-has-decorator-constraint-encoding?     policy-constraint-language-list
   |     +--rw supa-policy-generic-decorated-content*      string
   |     +--rw supa-policy-generic-decorated-encoding?     policy-data-type-encoding-list
   +--rw supa-policy-collection-container
   |  +--rw supa-policy-collection-list* [supa-policy-ID]
   |     +--rw supa-policy-ID                              string
   |     +--rw entity-class?                               identityref
   |     +--rw supa-policy-object-ID-encoding              policy-data-type-id-encoding-list
   |     +--rw supa-policy-object-description?             string
   |     +--rw supa-policy-name?                           string
   |     +--rw supa-has-policy-metadata-agg*               instance-identifier
   |     +--rw supa-has-policy-component-decorator-part    instance-identifier
   |     +--rw supa-has-policy-component-decorator-agg*    instance-identifier
   |     +--rw supa-decorator-constraints*                 string
   |     +--rw supa-has-decorator-constraint-encoding?     policy-constraint-language-list
   |     +--rw supa-policy-collection-content*             string
   |     +--rw supa-policy-collection-encoding             enumeration
   |     +--rw supa-policy-collection-function?            enumeration
   |     +--rw supa-policy-collection-is-ordered?          boolean
   |     +--rw supa-policy-collection-type                 enumeration
   +--rw supa-policy-concrete-metadata-container
   |  +--rw supa-policy-concrete-metadata-list* [supa-policy-metadata-id]
   |     +--rw supa-policy-metadata-id                    string
   |     +--rw entity-class?                              identityref
   |     +--rw supa-policy-metadata-id-encoding           policy-data-type-id-encoding-list
   |     +--rw supa-policy-metadata-description?          string
   |     +--rw supa-policy-metadata-name?                 string
   |     +--rw supa-has-policy-metadata-part*             instance-identifier
   |     +--rw supa-policy-metadata-decorator-part        instance-identifier
   |     +--rw supa-policy-metadata-valid-period-end?     yang:date-and-time
   |     +--rw supa-policy-metadata-valid-period-start?   yang:date-and-time
   +--rw supa-policy-metadata-decorator-access-container
   |  +--rw supa-policy-metadata-decorator-access-list* [supa-policy-metadata-id]
   |     +--rw supa-policy-metadata-id                string
   |     +--rw entity-class?                          identityref
   |     +--rw supa-policy-metadata-id-encoding       policy-data-type-id-encoding-list
   |     +--rw supa-policy-metadata-description?      string
   |     +--rw supa-policy-metadata-name?             string
   |     +--rw supa-has-policy-metadata-part*         instance-identifier
   |     +--rw supa-policy-metadata-decorator-part    instance-identifier
   |     +--rw supa-policy-metadata-decorator-agg*    instance-identifier
   +--rw supa-policy-metadata-decorator-version-container
   |  +--rw supa-policy-metadata-decorator-version-list* [supa-policy-metadata-id]
   |     +--rw supa-policy-metadata-id                string
   |     +--rw entity-class?                          identityref
   |     +--rw supa-policy-metadata-id-encoding       policy-data-type-id-encoding-list
   |     +--rw supa-policy-metadata-description?      string
   |     +--rw supa-policy-metadata-name?             string
   |     +--rw supa-has-policy-metadata-part*         instance-identifier
   |     +--rw supa-policy-metadata-decorator-part    instance-identifier
   |     +--rw supa-policy-metadata-decorator-agg*    instance-identifier
   +--rw supa-policy-metadata-detail-container
   |  +--rw supa-policy-metadata-detail-list* [supa-policy-ID]
   |     +--rw supa-policy-ID                               string
   |     +--rw entity-class?                                identityref
   |     +--rw supa-has-policy-metadata-object-ptr?         instance-identifier
   |     +--rw supa-has-policy-metadata-ptr?                instance-identifier
   |     +--rw supa-policy-metadata-detail-is-applicable?   boolean
   |     +--rw supa-policy-metadata-detail-constraint*      string
   |     +--rw supa-policy-metadata-detail-encoding?        string
   +--rw supa-policy-component-decorator-detail-container
   |  +--rw supa-policy-component-decorator-detail-list* [supa-policy-ID]
   |     +--rw supa-policy-ID                            string
   |     +--rw entity-class?                             identityref
   |     +--rw supa-policy-component-decorator-ptr?      instance-identifier
   |     +--rw supa-policy-component-ptr?                instance-identifier
   |     +--rw supa-has-decorator-constraint*            string
   |     +--rw supa-has-decorator-constraint-encoding?   string
   +--rw supa-policy-source-detail-container
   |  +--rw supa-policy-source-detail-list* [supa-policy-ID]
   |     +--rw supa-policy-ID                         string
   |     +--rw entity-class?                          identityref
   |     +--rw supa-policy-source-structure-ptr?      instance-identifier
   |     +--rw supa-policy-source-ptr?                instance-identifier
   |     +--rw supa-policy-source-is-authenticated?   boolean
   |     +--rw supa-policy-source-is-trusted?         boolean
   +--rw supa-policy-target-detail-container
   |  +--rw supa-policy-target-detail-list* [supa-policy-ID]
   |     +--rw supa-policy-ID                         string
   |     +--rw entity-class?                          identityref
   |     +--rw supa-policy-target-structure-ptr?      instance-identifier
   |     +--rw supa-policy-target-ptr?                instance-identifier
   |     +--rw supa-policy-source-is-authenticated?   boolean
   |     +--rw supa-policy-source-is-enabled?         boolean
   +--rw supa-policy-clause-detail-container
   |  +--rw supa-policy-clause-detail-list* [supa-policy-ID]
   |     +--rw supa-policy-ID                      string
   |     +--rw entity-class?                       identityref
   |     +--rw supa-policy-clause-structure-ptr?   instance-identifier
   |     +--rw supa-policy-clause-ptr?             instance-identifier
   +--rw supa-policy-exec-fail-take-action-detail-container
      +--rw supa-policy-exec-fail-take-action-detail-list* [supa-policy-ID]
         +--rw supa-policy-ID                                string
         +--rw entity-class?                                 identityref
         +--rw supa-policy-structure-action-src-ptr?         instance-identifier
         +--rw supa-policy-structure-action-dst-ptr?         instance-identifier
         +--rw supa-policy-exec-fail-take-action-encoding?   policy-data-type-id-encoding-list
         +--rw supa-policy-exec-fail-take-action-name*       string

Regards,
Will (Shucheng LIU)

> -----Original Message-----
> From: Supa [mailto:[email-masked]] On Behalf Of
> [email-masked]
> Sent: Wednesday, July 20, 2016 6:40 PM
> To: [email-masked]
> Cc: [email-masked]
> Subject: [Supa] I-D Action: draft-ietf-supa-generic-policy-data-model-00.txt
> 
> 
> _______________________________________________
> Supa mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/supa