|
3645 | 3645 | ] |
3646 | 3646 | } |
3647 | 3647 | ] |
| 3648 | + }, |
| 3649 | + "dataFlowDirection": { |
| 3650 | + "type": "string", |
| 3651 | + "enum": [ |
| 3652 | + "inbound", |
| 3653 | + "outbound", |
| 3654 | + "bi-directional", |
| 3655 | + "unknown" |
| 3656 | + ], |
| 3657 | + "meta:enum": { |
| 3658 | + "inbound": "Data that enters a service.", |
| 3659 | + "outbound": "Data that exits a service.", |
| 3660 | + "bi-directional": "Data flows in and out of the service.", |
| 3661 | + "unknown": "The directional flow of data is not known." |
| 3662 | + }, |
| 3663 | + "title": "Data flow direction", |
| 3664 | + "description": "Specifies the flow direction of the data. Direction is relative to the service." |
3648 | 3665 | } |
3649 | 3666 | } |
3650 | 3667 | }, |
|
5991 | 6008 | "title": "Services" |
5992 | 6009 | }, |
5993 | 6010 | "service": { |
5994 | | - "allOf": [ |
5995 | | - { |
5996 | | - "$ref": "#/$defs/cyclonedx-common-2.0/$defs/baseObject" |
| 6011 | + "type": "object", |
| 6012 | + "title": "Service", |
| 6013 | + "required": [ |
| 6014 | + "name" |
| 6015 | + ], |
| 6016 | + "additionalProperties": false, |
| 6017 | + "properties": { |
| 6018 | + "bom-ref": { |
| 6019 | + "$ref": "#/$defs/cyclonedx-common-2.0/$defs/refType", |
| 6020 | + "title": "BOM Reference", |
| 6021 | + "description": "An identifier which can be used to reference the service elsewhere in the BOM. Every `bom-ref` must be unique within the BOM.\nValue SHOULD not start with the BOM-Link intro 'urn:cdx:' to avoid conflicts with BOM-Links." |
| 6022 | + }, |
| 6023 | + "provider": { |
| 6024 | + "title": "Provider", |
| 6025 | + "description": "The organization that provides the service.", |
| 6026 | + "$ref": "#/$defs/cyclonedx-common-2.0/$defs/organizationalEntity" |
| 6027 | + }, |
| 6028 | + "group": { |
| 6029 | + "type": "string", |
| 6030 | + "title": "Service Group", |
| 6031 | + "description": "The grouping name, namespace, or identifier. This will often be a shortened, single name of the company or project that produced the service or domain name. Whitespace and special characters should be avoided.", |
| 6032 | + "examples": [ |
| 6033 | + "com.acme" |
| 6034 | + ] |
| 6035 | + }, |
| 6036 | + "name": { |
| 6037 | + "type": "string", |
| 6038 | + "title": "Service Name", |
| 6039 | + "description": "The name of the service. This will often be a shortened, single name of the service.", |
| 6040 | + "examples": [ |
| 6041 | + "ticker-service" |
| 6042 | + ] |
| 6043 | + }, |
| 6044 | + "version": { |
| 6045 | + "$ref": "#/$defs/cyclonedx-component-2.0/$defs/version", |
| 6046 | + "title": "Service Version", |
| 6047 | + "description": "The service version." |
| 6048 | + }, |
| 6049 | + "description": { |
| 6050 | + "type": "string", |
| 6051 | + "title": "Service Description", |
| 6052 | + "description": "Specifies a description for the service" |
| 6053 | + }, |
| 6054 | + "endpoints": { |
| 6055 | + "type": "array", |
| 6056 | + "items": { |
| 6057 | + "type": "string", |
| 6058 | + "format": "iri-reference" |
| 6059 | + }, |
| 6060 | + "title": "Endpoints", |
| 6061 | + "description": "The endpoint URIs of the service. Multiple endpoints are allowed.", |
| 6062 | + "examples": [ |
| 6063 | + "https://example.com/api/v1/ticker" |
| 6064 | + ] |
| 6065 | + }, |
| 6066 | + "authenticated": { |
| 6067 | + "type": "boolean", |
| 6068 | + "title": "Authentication Required", |
| 6069 | + "description": "A boolean value indicating if the service requires authentication. A value of true indicates the service requires authentication prior to use. A value of false indicates the service does not require authentication." |
| 6070 | + }, |
| 6071 | + "x-trust-boundary": { |
| 6072 | + "type": "boolean", |
| 6073 | + "title": "Crosses Trust Boundary", |
| 6074 | + "description": "A boolean value indicating if use of the service crosses a trust zone or boundary. A value of true indicates that by using the service, a trust boundary is crossed. A value of false indicates that by using the service, a trust boundary is not crossed." |
| 6075 | + }, |
| 6076 | + "trustZone": { |
| 6077 | + "type": "string", |
| 6078 | + "title": "Trust Zone", |
| 6079 | + "description": "The name of the trust zone the service resides in." |
| 6080 | + }, |
| 6081 | + "data": { |
| 6082 | + "type": "array", |
| 6083 | + "items": { |
| 6084 | + "$ref": "#/$defs/cyclonedx-service-2.0/$defs/serviceData" |
| 6085 | + }, |
| 6086 | + "title": "Data", |
| 6087 | + "description": "Specifies information about the data including the directional flow of data and the data classification." |
| 6088 | + }, |
| 6089 | + "licenses": { |
| 6090 | + "$ref": "#/$defs/cyclonedx-license-2.0/$defs/licenseChoice", |
| 6091 | + "title": "Service License(s)" |
| 6092 | + }, |
| 6093 | + "patentAssertions": { |
| 6094 | + "$ref": "#/$defs/cyclonedx-patent-2.0/$defs/patentAssertions", |
| 6095 | + "title": "Service Patent(s)" |
| 6096 | + }, |
| 6097 | + "externalReferences": { |
| 6098 | + "$ref": "#/$defs/cyclonedx-common-2.0/$defs/externalReferences" |
| 6099 | + }, |
| 6100 | + "services": { |
| 6101 | + "type": "array", |
| 6102 | + "items": { |
| 6103 | + "$ref": "#/$defs/cyclonedx-service-2.0/$defs/service" |
| 6104 | + }, |
| 6105 | + "uniqueItems": true, |
| 6106 | + "title": "Services", |
| 6107 | + "description": "A list of services included or deployed behind the parent service. This is not a dependency tree. It provides a way to specify a hierarchical representation of service assemblies." |
| 6108 | + }, |
| 6109 | + "releaseNotes": { |
| 6110 | + "$ref": "#/$defs/cyclonedx-release-notes-2.0/$defs/releaseNotes", |
| 6111 | + "title": "Release notes", |
| 6112 | + "description": "Specifies release notes." |
| 6113 | + }, |
| 6114 | + "properties": { |
| 6115 | + "$ref": "#/$defs/cyclonedx-common-2.0/$defs/properties" |
| 6116 | + }, |
| 6117 | + "tags": { |
| 6118 | + "$ref": "#/$defs/cyclonedx-common-2.0/$defs/tags", |
| 6119 | + "title": "Tags" |
| 6120 | + }, |
| 6121 | + "signature": { |
| 6122 | + "$ref": "#/$defs/cyclonedx-common-2.0/$defs/signature", |
| 6123 | + "title": "Signature", |
| 6124 | + "description": "Enveloped signature in [JSON Signature Format (JSF)](https://cyberphone.github.io/doc/security/jsf.html)." |
5997 | 6125 | } |
5998 | | - ] |
| 6126 | + } |
| 6127 | + }, |
| 6128 | + "serviceData": { |
| 6129 | + "type": "object", |
| 6130 | + "title": "Hash Objects", |
| 6131 | + "required": [ |
| 6132 | + "flow", |
| 6133 | + "classification" |
| 6134 | + ], |
| 6135 | + "additionalProperties": false, |
| 6136 | + "properties": { |
| 6137 | + "flow": { |
| 6138 | + "$ref": "#/$defs/cyclonedx-data-2.0/$defs/dataFlowDirection", |
| 6139 | + "title": "Directional Flow", |
| 6140 | + "description": "Specifies the flow direction of the data. Direction is relative to the service. Inbound flow states that data enters the service. Outbound flow states that data leaves the service. Bi-directional states that data flows both ways and unknown states that the direction is not known." |
| 6141 | + }, |
| 6142 | + "classification": { |
| 6143 | + "$ref": "#/$defs/cyclonedx-data-2.0/$defs/dataClassification" |
| 6144 | + }, |
| 6145 | + "name": { |
| 6146 | + "type": "string", |
| 6147 | + "title": "Name", |
| 6148 | + "description": "Name for the defined data", |
| 6149 | + "examples": [ |
| 6150 | + "Credit card reporting" |
| 6151 | + ] |
| 6152 | + }, |
| 6153 | + "description": { |
| 6154 | + "type": "string", |
| 6155 | + "title": "Description", |
| 6156 | + "description": "Short description of the data content and usage", |
| 6157 | + "examples": [ |
| 6158 | + "Credit card information being exchanged in between the web app and the database" |
| 6159 | + ] |
| 6160 | + }, |
| 6161 | + "governance": { |
| 6162 | + "title": "Data Governance", |
| 6163 | + "$ref": "#/$defs/cyclonedx-data-2.0/$defs/dataGovernance" |
| 6164 | + }, |
| 6165 | + "source": { |
| 6166 | + "type": "array", |
| 6167 | + "items": { |
| 6168 | + "anyOf": [ |
| 6169 | + { |
| 6170 | + "title": "URL", |
| 6171 | + "type": "string", |
| 6172 | + "format": "iri-reference" |
| 6173 | + }, |
| 6174 | + { |
| 6175 | + "title": "BOM-Link Element", |
| 6176 | + "$ref": "#/$defs/cyclonedx-common-2.0/$defs/bomLinkElementType" |
| 6177 | + } |
| 6178 | + ] |
| 6179 | + }, |
| 6180 | + "title": "Source", |
| 6181 | + "description": "The URI, URL, or BOM-Link of the components or services the data came in from" |
| 6182 | + }, |
| 6183 | + "destination": { |
| 6184 | + "type": "array", |
| 6185 | + "items": { |
| 6186 | + "anyOf": [ |
| 6187 | + { |
| 6188 | + "title": "URL", |
| 6189 | + "type": "string", |
| 6190 | + "format": "iri-reference" |
| 6191 | + }, |
| 6192 | + { |
| 6193 | + "title": "BOM-Link Element", |
| 6194 | + "$ref": "#/$defs/cyclonedx-common-2.0/$defs/bomLinkElementType" |
| 6195 | + } |
| 6196 | + ] |
| 6197 | + }, |
| 6198 | + "title": "Destination", |
| 6199 | + "description": "The URI, URL, or BOM-Link of the components or services the data is sent to" |
| 6200 | + } |
| 6201 | + } |
5999 | 6202 | } |
6000 | 6203 | } |
6001 | 6204 | }, |
|
0 commit comments