SOL002SOL003VNFLifecycleManagement_def.yaml 116 KB
Newer Older
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328
      - vnfSoftwareVersion
      - vnfdVersion
      - instantiationState
    properties:
      id:
        description: >
          Identifier of the VNF instance.
        $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfInstanceName:
        description: >
          Name of the VNF instance.
          This attribute can be modified with the PATCH method.
        type: string
      vnfInstanceDescription:
        description: >
          Human-readable description of the VNF instance.
          This attribute can be modified with the PATCH method.
        type: string
      vnfdId:
        description: >
          Identifier of the VNFD on which the VNF instance is based.

          Modifying the value of this attribute shall not be performed when conflicts
          exist between the previous and the newly referred VNF package,
          i.e. when the new VNFD is not changed with respect to the previous VNFD
          in other aspects than merely referencing to other VNF software images.
          In order to avoid misalignment of the VnfInstance with the current VNF's
          on-boarded VNF Package, the values of attributes in the VnfInstance that
          have corresponding attributes in the VNFD shall be kept in sync with the values in the VNFD.
        $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfProvider:
        description: >
          Provider of the VNF and the VNFD. The value is copied from the VNFD.
        type: string
      vnfProductName:
        description: >
          Name to identify the VNF Product. The value is copied from the VNFD.
        type: string
      vnfSoftwareVersion:
        description: >
          Software version of the VNF. The value is copied from the VNFD.
        $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Version"
      vnfdVersion:
        description: >
          Identifies the version of the VNFD. The value is copied from the VNFD.
        $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Version"
      vnfConfigurableProperties:
        description: >
          Current values of the configurable properties of the VNF instance.
          Configurable properties referred in this attribute are declared in
          the VNFD.
          ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD
          based on TOSCA specifications.
          VNF configurable properties are sometimes also referred to as
          configuration parameters applicable to a VNF. Some of these are set
          prior to instantiation and cannot be modified if the VNF is
          instantiated, some are set prior to instantiation (are part of
          initial configuration) and can be modified later, and others can be
          set only after instantiation. The applicability of certain
          configuration may depend on the VNF and the required operation of
          the VNF at a certain point in time.
          These configurable properties include the following standard
          attributes, which are declared in the VNFD if auto-scaling and/or
          auto-healing are supported by the VNF:
          * isAutoscaleEnabled: If present, the VNF supports auto-scaling. If
            set to true, auto-scaling is currently enabled. If set to false,
            auto-scaling is currently disabled.
          * isAutohealEnabled: If present, the VNF supports auto-healing. If
            set to true, auto-healing is currently enabled. If set to false,
            auto-healing is currently disabled.
          These configurable properties can be initialized with default values
          from the VNFD.
          Configurable properties can be modified with values passed in the request
          structures of certain LCM operations, such as the InstantiateVnfRequest 
          structure.
          Further, these configurable properties can be created, modified or
          deleted with the PATCH method.

          NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes 
          of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined
          initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", 
          obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" 
          and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent 
          with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion 
          request.
        $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      vimConnectionInfo:
        description: >
          Information about VIM connections to be used for managing the
          resources for the VNF instance. The keys of the map, each of 
          which identifies information about a particular VIM connection, 
          are managed by the NFVO and referenced from other data structures 
          via the "vimConnectionId" attribute. This attribute shall only 
          be supported and present if VNF-related resource management in 
          direct mode is pplicable.
          This attribute can be modified with the PATCH method.
        type: array
        items:
          $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/VimConnectionInfo"
      instantiationState:
        description: >
          The instantiation state of the VNF.
        type: string
        enum:
          - NOT_INSTANTIATED
          - INSTANTIATED
      instantiatedVnfInfo:
        description: >
          Information specific to an instantiated VNF instance. This attribute
          shall be present if the instantiateState attribute value is
          INSTANTIATED.
        type: object
        required:
          - flavourId
          - vnfState
        properties:
          flavourId:
            description: >
              Identifier of the VNF deployment flavour applied to this VNF instance.
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/IdentifierInVnfd"
          vnfState:
            description: >
              The state of the VNF instance.
            $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfOperationalStateType"
          scaleStatus:
            description: >
              Scale status of the VNF, one entry per aspect.
              Represents for every scaling aspect how "big" the VNF has been scaled w.r.t. that aspect.
              This attribute shall be present if the VNF supports scaling.
              See clause B.2 for an explanation of VNF scaling.
            type: array
            items:
              $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo"
          maxScaleLevels:
            description: >
              Maximum allowed scale levels of the VNF, one entry per aspect.
              This attribute shall be present if the VNF supports scaling.
            type: array
            items:
              $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ScaleInfo"
          extCpInfo:
            description: >
              Information about the external CPs exposed by the VNF instance. When trunking is enabled, 
              the list of entries includes both, external CPs corresponding to parent ports of a trunk, 
              and external CPs associated to sub-ports of a trunk.
            type: array
            minItems: 1
            items:
              $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfExtCpInfo"
          extVirtualLinkInfo:
            description: >
              Information about the external VLs the VNF instance is connected to.
            type: array
            items:
              $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtVirtualLinkInfo"
          extManagedVirtualLinkInfo:
            description: >
              Information about the externally-managed internal VLs of the VNF instance.

              NOTE: It is possible to have several ExtManagedVirtualLinkInfo for the same 
              VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of 
              ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate 
              so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site 
              VL instance (refer to clause 5.5.3.3).
            type: array
            items:
              $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/ExtManagedVirtualLinkInfo"
          monitoringParameters:
            description: >
              Active monitoring parameters.
            type: array
            items:
              $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/MonitoringParameter"
          localizationLanguage:
            description: >
              Information about localization language of the VNF (includes e.g.
              strings in the VNFD). The localization languages supported by a VNF
              can be declared in the VNFD, and localization language selection can
              take place at instantiation time.
              The value shall comply with the format defined in IETF RFC 5646.
            type: string
          vnfcResourceInfo:
            description: >
              Information about the virtualised compute and storage resources used
              by the VNFCs of the VNF instance.
            type: array
            items:
              $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfcResourceInfo"
          virtualLinkResourceInfo:
            description: >
              Information about the virtualised network resources used by the VLs
              of the VNF instance.
            type: array
            items:
              $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VnfVirtualLinkResourceInfo"
          virtualStorageResourceInfo:
            description: >
              Information on the virtualised storage resource(s) used as storage for the VNF instance.
            type: array
            items:
              $ref: "../definitions/SOL002SOL003VNFLifecycleManagement_def.yaml#/definitions/VirtualStorageResourceInfo"
      metadata:
        description: >
          Additional VNF-specific attributes that provide metadata describing the VNF instance.
          These attributes represent values that are stored persistently in the VnfInstance structure
          for consumption by functional blocks that invoke the VNF lifecycle management interface.
          They are not consumed by the VNFM, or the lifecycle management scripts.
          Modifying the values of these attributes has no effect on the VNF instance, it only affects
          the information represented in the VnfInstance structure.
          Metadata that are writeable are the VNF provider foresees are expected to be declared in the VNFD.
          The declaration of metadata in the VNFD can optionally contain the specification of initial values.
          The VNFM shall accept requests to write metadata that are not declared in the VNFD.
          These attributes can be initialized with default values from the VNFD or with values
          passed in the CreateVnfRequest structure (see clause 5.4.2.3.1).
          This attributeThese attributes can be created, modified or removed with the PATCH method.

          ETSI GS NFV-SOL 001 specifies the structure and format of the VNFD based on TOSCA specifications.
          Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes
          of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with
          a defined initial value. Child attributes of "vnfConfigurableProperties", "metadata" and "extensions"
          that have no declared initial value shall not be created, in order to be consistent with the semantics
          of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion request.
        $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      extensions:
        description: >
          Additional VNF-specific attributes that affect the lifecycle management of this VNF instance.
          These attributes represent values that are stored persistently in the VnfInstance structure
          for consumption by the VNFM or the lifecycle management scripts during the execution of
          VNF lifecycle management operations.
          All extensions that are allowed for the VNF are declared in the VNFD. The declaration of an extension
          in the VNFD contains information on whether its presence is optional or required, and optionally
          can specify an initial value. See note 2 and note 4. The VNFM shall reject requests to write extension
          attributes that are not declared in the VNFD with a "422 Unprocessable entity" error response as defined
          in clause 6.4 of ETSI GS NFV-SOL 013.
          Modifying the values of these attributes has no direct effect on the VNF instance; however, the modified
          attribute values can be considered during subsequent VNF lifecycle management operations, which means that
          the modified values can indirectly affect the configuration of the VNF instance.
          These attributes can be initialized with default values from the VNFD.
          These attributes can be modified with values passed in the request structures of certain LCM operations, 
          such as the InstantiateVnfRequest structure.
          Further, these attributes can be created, modified or deleted with the PATCH method.

          NOTE: Upon creation of the VnfInstance structure, the VNFM shall create and initialize all child attributes 
          of "vnfConfigurableProperties", "metadata" and "extensions" that were declared in the VNFD with a defined
          initial value. The defined initial values can be declared in the VNFD, and/or, in case of "metadata", 
          obtained from the "CreateVnfRequest" structure. Child attributes of "vnfConfigurableProperties", "metadata" 
          and "extensions" that have no defineddeclared initial value shall not be created, in order to be consistent 
          with the semantics of the JSON Merge Patch method (see IETF RFC 7396) that interprets null values as deletion 
          request.
      _links:
        description: >
          Links to resources related to this resource.
        type: object
        required:
          - self
        properties:
          self:
            description: URI of this resource.
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          indicators:
            description: Indicators related to this VNF instance, if applicable.
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          instantiate:
            description: >
              Link to the "Instantiate VNF task" resource, if the related operation
              is possible based on the current status of this VNF instance
              resource (i.e. VNF instance in NOT_INSTANTIATED state).
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          terminate:
            description: >
              Link to the "Terminate VNF task" resource, if the related operation
              is possible based on the current status of this VNF instance
              resource (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          scale:
            description: >
              Link to the "Scale VNF task" resource, if the related operation is
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource (i.e. VNF instance
              is in INSTANTIATED state).
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          scaleToLevel:
            description: >
              Link to the "Scale VNF to level task" resource, if the related
              operation is supported for this VNF instance, and is possible
              based on the current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          changeFlavour:
            description: >
              Link to the "Change VNF flavour task" resource, if the related
              operation is supported for this VNF instance, and is possible
              based on the current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          heal:
            description: >
              Link to the "Heal VNF task" resource, if the related operation is
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          operate:
            description: >
              Link to the "Operate VNF task" resource, if the related operation is
              supported for this VNF instance, and is possible based on the
              current status of this VNF instance resource
              (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          changeExtConn:
            description: >
              Link to the "Change external VNF connectivity task" resource, if the related
              operation is possible based on the current status of this VNF
              instance resource (i.e. VNF instance is in INSTANTIATED state).
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          createSnapshot:
            description: >
              Link to the "Create VNF snapshot task" resource, if the related operation is 
              supported for this VNF instance and is possible based on the current status of 
              this VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"
          revertToSnapshot:
            description: >
              Link to the "Revert to VNF snapshot task" resource, if the related operation is 
              supported for this VNF instance and is possible based on the current status of 
              this VNF instance resource (i.e., VNF instance is in INSTANTIATED state).
            $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Link"

  VnfStateSnapshotInfo:
    description: >
      This type represents information about VNF-specific state snapshot data.
    type: object
    required:
      - checksum
      - isEncrypted
    properties:
      checksum:
        description: >
          Checksum of the VNF state snapshot file. Hash algorithms applicable to VNF snapshot package artifacts
          are defined in ETSI GS NFV-SOL 010.
          $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Checksum"
      isEncrypted:
        description: >
          Reflects whether the VNF state snapshot content is encrypted (true) or not (false).
          $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/Boolean"
      metadata:
        description: >
          The metadata with additional information such as content type, size, creation date, etc.
          $ref: "../definitions/SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

      This type represents modifications of an entry in an array of "VnfcInfo" objects.
      It shall comply with the provisions defined in table 5.5.3.24-1.
    type: object
    required:
      - id
      - vnfcConfigurableProperties
    properties:
      id:
        description: >
          Identifier of the VNFC instance of which the information is to be modified.
          The identifier references the "id" attribute in a "VnfcInfo" structure.
          The attribute "id" in this data type represents the same identifier as the attribute
          "vnfcInstanceId" in other related data types in the present document. For reasons of
          backward compatibility, this misalignment is not corrected.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      vnfcConfigurableProperties:
          Changes of the configurable properties of the VNFC instance.
          When this structure is part of a request, the modifications signalled in this attribute
          shall be applied according to the rules of JSON Merge Patch (see IETF RFC 7396).
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
  VnfcInfo:
    description: >
      This type represents the information about a VNFC instance that is part of a VNF instance. It shall comply with the
      provisions defined in table 5.5.3.23-1.
    type: object
    required:
      - id
      - vduId
      - vnfcState
    properties:
      id:
        description: >
          Identifier of the VNFC instance.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      vduId:
        description: >
          Reference to the applicable VDU information element in
          the VNFD.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      vnfcResourceInfoId:
        description: >
          Identifier of the VnfcResourceInfo instance representing
          the virtualised resources used by this VNFC instance.
          Shall be present in case a corresponding VnfcResourceInfo instance exists.
          This allows to represent the error condition that a VNFC instance has lost its resources.
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      vnfcState:
        description: >
          Identifier of the VnfcResourceInfo instance representing
          the virtualised resources used by this VNFC instance.
          State of the VNFC instance.
          Permitted values:
          • STARTED: The VNFC instance is up and
          running.
          • STOPPED: The VNFC instance has been shut down
        type: string
        enum:
          - STARTED
          - STOPPED
        $ref: "SOL002SOL003_def.yaml#/definitions/IdentifierInVnf"
      vnfcConfigurableProperties:
        description: >
          Current values of the configurable properties of the
          VNFC instance.
          Configurable properties referred in this attribute are
          declared in the VNFD.
          This attribute can be modified with the PATCH method
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"

  ModificationsTriggeredByVnfPkgChange:
    description: >
      This type represents attribute modifications that were performed on an "Individual VNF instance" resource when
      changing the current VNF package. The attributes that can be included consist of those requested to be modified
      explicitly in the "ChangeCurrentVnfPkgRequest" data structure, and additional attributes of the "VnfInstance"
      data structure that were modified implicitly during the operation.
    type: object
    properties:
      vnfConfigurableProperties:
        description: >
          This attribute signals the modifications of the "vnfConfigurableProperties" attribute in "VnfInstance" performed
          by the operation and shall be present if that attribute was modified during the operation.
          This attribute represents the delta (semantics as per IETF RFC 7386, JSON Merge Patch) between the value
          of the attribute at the start of the "Change current VNF package" operation and the value of the attribute at
          its completion.
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      metadata:
        description: >
          This attribute signals the modifications of the "metadata" attribute in "VnfInstance" performed by the operation
          and shall be present if that attribute was modified during the operation.
          This attribute represents the delta (semantics as per IETF RFC 7386, JSON Merge Patch) between the value
          of the attribute at the start of the "Change current VNF package" operation and the value of the attribute at
          its completion.
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      extensions:
        description: >
          This attribute signals the modifications of the "extensions" attribute in "VnfInstance" performed by the operation and
          shall be present if that attribute was modified during the operation.
          This attribute represents the delta (semantics as per IETF RFC 7386, JSON Merge Patch) between the value
          of the attribute at the start of the "Change current VNF package" operation and the value of the attribute at
          its completion.
        $ref: "SOL002SOL003_def.yaml#/definitions/KeyValuePairs"
      vnfdId:
        description: >
          If present, this attribute signals the new value of the "vnfdId" attribute in "VnfInstance".
        $ref: "SOL002SOL003_def.yaml#/definitions/Identifier"
      vnfProvider:
        description: >
          If present, this attribute signals the new value of the "vnfProvider" attribute in "VnfInstance". If present,
          this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related
          operation, and contains a copy of  the value of he related attribute from the VNFD in the VNF Package identified
          by the "vnfdId" attribute.
        type: string
      vnfProductName:
        description: >
          If present, this attribute signals the new value of the "vnfProductName" attribute in "VnfInstance". If present,
          this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related
          operation, and contains a copy of  the value of he related attribute from the VNFD in the VNF Package identified
          by the "vnfdId" attribute.
        type: string
      vnfSoftwareVersion:
        description: >
          If present, this attribute signals the new value of the "vnfSoftwareVersion" attribute in "VnfInstance". If present,
          this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related
          operation, and contains a copy of  the value of he related attribute from the VNFD in the VNF Package identified
          by the "vnfdId" attribute.
        $ref: "SOL002SOL003_def.yaml#/definitions/Version"
      vnfdVersion:
        description: >
          If present, this attribute signals the new value of the "vnfdVersion" attribute in "VnfInstance". If present,
          this attribute (which depends on the value of the "vnfdId" attribute) was modified implicitly during the related
          operation, by copying the value of this attribute from the VNFD in the VNF Package identified by the "vnfdId"
          attribute.
        $ref: "SOL002SOL003_def.yaml#/definitions/Version"

  LcmOpOccNotificationVerbosityType:
    description: >
      The enumeration LcmOpOccNotificationVerbosityType provides values to control the verbosity of LCM operation
      occurrence notifications.
      * FULL: This signals a full notification which contains all change details.
      * SHORT: This signals a short notification which omits large-volume change details to reduce the size of data to
               be sent via the notification mechanism.
    type: string
    enum:
      - FULL
      - SHORT