sbom-cyclonedx 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +15 -0
  3. data/.gitlab-ci.yml +49 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +72 -0
  6. data/.vscode/settings.json +6 -0
  7. data/CHANGELOG.md +9 -0
  8. data/CODE_OF_CONDUCT.md +132 -0
  9. data/Gemfile +26 -0
  10. data/Gemfile.lock +179 -0
  11. data/LICENSE.txt +21 -0
  12. data/README.md +39 -0
  13. data/Rakefile +36 -0
  14. data/Steepfile +14 -0
  15. data/bin/console +11 -0
  16. data/bin/rbs_spec +9 -0
  17. data/bin/setup +8 -0
  18. data/bom-1.6.schema.json +7334 -0
  19. data/lib/email_address_extension.rb +26 -0
  20. data/lib/sbom/cyclone_dx/enum.rb +2178 -0
  21. data/lib/sbom/cyclone_dx/field.rb +404 -0
  22. data/lib/sbom/cyclone_dx/pattern.rb +43 -0
  23. data/lib/sbom/cyclone_dx/record/advisory.rb +17 -0
  24. data/lib/sbom/cyclone_dx/record/annotation.rb +46 -0
  25. data/lib/sbom/cyclone_dx/record/attachment.rb +21 -0
  26. data/lib/sbom/cyclone_dx/record/base.rb +244 -0
  27. data/lib/sbom/cyclone_dx/record/cipher_suite.rb +23 -0
  28. data/lib/sbom/cyclone_dx/record/co2_measure.rb +18 -0
  29. data/lib/sbom/cyclone_dx/record/command.rb +18 -0
  30. data/lib/sbom/cyclone_dx/record/commit.rb +25 -0
  31. data/lib/sbom/cyclone_dx/record/component.rb +126 -0
  32. data/lib/sbom/cyclone_dx/record/component_data.rb +46 -0
  33. data/lib/sbom/cyclone_dx/record/component_evidence.rb +68 -0
  34. data/lib/sbom/cyclone_dx/record/component_identity_evidence.rb +36 -0
  35. data/lib/sbom/cyclone_dx/record/composition.rb +33 -0
  36. data/lib/sbom/cyclone_dx/record/condition.rb +20 -0
  37. data/lib/sbom/cyclone_dx/record/copyright.rb +16 -0
  38. data/lib/sbom/cyclone_dx/record/crypto_properties.rb +137 -0
  39. data/lib/sbom/cyclone_dx/record/data_governance.rb +21 -0
  40. data/lib/sbom/cyclone_dx/record/data_governance_responsible_party.rb +22 -0
  41. data/lib/sbom/cyclone_dx/record/declarations.rb +193 -0
  42. data/lib/sbom/cyclone_dx/record/definitions.rb +17 -0
  43. data/lib/sbom/cyclone_dx/record/dependency.rb +21 -0
  44. data/lib/sbom/cyclone_dx/record/diff.rb +18 -0
  45. data/lib/sbom/cyclone_dx/record/energy_consumption.rb +31 -0
  46. data/lib/sbom/cyclone_dx/record/energy_measure.rb +18 -0
  47. data/lib/sbom/cyclone_dx/record/energy_provider.rb +31 -0
  48. data/lib/sbom/cyclone_dx/record/environmental_consideration.rb +20 -0
  49. data/lib/sbom/cyclone_dx/record/event.rb +31 -0
  50. data/lib/sbom/cyclone_dx/record/external_reference.rb +25 -0
  51. data/lib/sbom/cyclone_dx/record/fairness_assessment.rb +22 -0
  52. data/lib/sbom/cyclone_dx/record/formula.rb +29 -0
  53. data/lib/sbom/cyclone_dx/record/graphic.rb +19 -0
  54. data/lib/sbom/cyclone_dx/record/graphics_collection.rb +19 -0
  55. data/lib/sbom/cyclone_dx/record/hash_data.rb +18 -0
  56. data/lib/sbom/cyclone_dx/record/identifiable_action.rb +21 -0
  57. data/lib/sbom/cyclone_dx/record/input.rb +34 -0
  58. data/lib/sbom/cyclone_dx/record/input_output_ml_parameter.rb +17 -0
  59. data/lib/sbom/cyclone_dx/record/issue.rb +36 -0
  60. data/lib/sbom/cyclone_dx/record/license.rb +90 -0
  61. data/lib/sbom/cyclone_dx/record/license_choice.rb +35 -0
  62. data/lib/sbom/cyclone_dx/record/metadata.rb +55 -0
  63. data/lib/sbom/cyclone_dx/record/model_card.rb +89 -0
  64. data/lib/sbom/cyclone_dx/record/note.rb +20 -0
  65. data/lib/sbom/cyclone_dx/record/organizational_contact.rb +26 -0
  66. data/lib/sbom/cyclone_dx/record/organizational_entity.rb +28 -0
  67. data/lib/sbom/cyclone_dx/record/output.rb +34 -0
  68. data/lib/sbom/cyclone_dx/record/parameter.rb +20 -0
  69. data/lib/sbom/cyclone_dx/record/patch.rb +23 -0
  70. data/lib/sbom/cyclone_dx/record/performance_metric.rb +30 -0
  71. data/lib/sbom/cyclone_dx/record/postal_address.rb +34 -0
  72. data/lib/sbom/cyclone_dx/record/property.rb +18 -0
  73. data/lib/sbom/cyclone_dx/record/rating.rb +27 -0
  74. data/lib/sbom/cyclone_dx/record/release_notes.rb +44 -0
  75. data/lib/sbom/cyclone_dx/record/resource_reference_choice.rb +22 -0
  76. data/lib/sbom/cyclone_dx/record/risk.rb +18 -0
  77. data/lib/sbom/cyclone_dx/record/root.rb +63 -0
  78. data/lib/sbom/cyclone_dx/record/secured_by.rb +20 -0
  79. data/lib/sbom/cyclone_dx/record/service.rb +54 -0
  80. data/lib/sbom/cyclone_dx/record/service_data.rb +32 -0
  81. data/lib/sbom/cyclone_dx/record/signature.rb +85 -0
  82. data/lib/sbom/cyclone_dx/record/standard.rb +72 -0
  83. data/lib/sbom/cyclone_dx/record/step.rb +24 -0
  84. data/lib/sbom/cyclone_dx/record/swid.rb +29 -0
  85. data/lib/sbom/cyclone_dx/record/task.rb +56 -0
  86. data/lib/sbom/cyclone_dx/record/tools.rb +20 -0
  87. data/lib/sbom/cyclone_dx/record/trigger.rb +48 -0
  88. data/lib/sbom/cyclone_dx/record/version.rb +24 -0
  89. data/lib/sbom/cyclone_dx/record/volume.rb +33 -0
  90. data/lib/sbom/cyclone_dx/record/vulnerability.rb +119 -0
  91. data/lib/sbom/cyclone_dx/record/vulnerability_source.rb +20 -0
  92. data/lib/sbom/cyclone_dx/record/workflow.rb +59 -0
  93. data/lib/sbom/cyclone_dx/record/workspace.rb +45 -0
  94. data/lib/sbom/cyclone_dx/record.rb +12 -0
  95. data/lib/sbom/cyclone_dx/validator/array_validator.rb +66 -0
  96. data/lib/sbom/cyclone_dx/validator/base_validator.rb +43 -0
  97. data/lib/sbom/cyclone_dx/validator/boolean_validator.rb +16 -0
  98. data/lib/sbom/cyclone_dx/validator/date_time_validator.rb +29 -0
  99. data/lib/sbom/cyclone_dx/validator/email_address_validator.rb +31 -0
  100. data/lib/sbom/cyclone_dx/validator/float_validator.rb +30 -0
  101. data/lib/sbom/cyclone_dx/validator/integer_validator.rb +30 -0
  102. data/lib/sbom/cyclone_dx/validator/record_validator.rb +26 -0
  103. data/lib/sbom/cyclone_dx/validator/string_validator.rb +33 -0
  104. data/lib/sbom/cyclone_dx/validator/union_validator.rb +39 -0
  105. data/lib/sbom/cyclone_dx/validator/uri_validator.rb +32 -0
  106. data/lib/sbom/cyclone_dx/validator.rb +32 -0
  107. data/lib/sbom/cyclone_dx/version.rb +7 -0
  108. data/lib/sbom/cyclone_dx.rb +39 -0
  109. data/rbs_collection.lock.yaml +288 -0
  110. data/rbs_collection.yaml +31 -0
  111. data/sbom-cyclone_dx.gemspec +32 -0
  112. data/sig/email_address_extension.rbs +14 -0
  113. data/sig/sbom/cyclone_dx/enum.rbs +93 -0
  114. data/sig/sbom/cyclone_dx/field.rbs +434 -0
  115. data/sig/sbom/cyclone_dx/pattern.rbs +24 -0
  116. data/sig/sbom/cyclone_dx/record/advisory.rbs +19 -0
  117. data/sig/sbom/cyclone_dx/record/annotation.rbs +63 -0
  118. data/sig/sbom/cyclone_dx/record/attachment.rbs +24 -0
  119. data/sig/sbom/cyclone_dx/record/base.rbs +62 -0
  120. data/sig/sbom/cyclone_dx/record/cipher_suite.rbs +24 -0
  121. data/sig/sbom/cyclone_dx/record/co2_measure.rbs +14 -0
  122. data/sig/sbom/cyclone_dx/record/command.rbs +19 -0
  123. data/sig/sbom/cyclone_dx/record/commit.rbs +34 -0
  124. data/sig/sbom/cyclone_dx/record/component.rbs +203 -0
  125. data/sig/sbom/cyclone_dx/record/component_data.rbs +73 -0
  126. data/sig/sbom/cyclone_dx/record/component_evidence.rbs +115 -0
  127. data/sig/sbom/cyclone_dx/record/component_identity_evidence.rbs +53 -0
  128. data/sig/sbom/cyclone_dx/record/composition.rbs +39 -0
  129. data/sig/sbom/cyclone_dx/record/condition.rbs +24 -0
  130. data/sig/sbom/cyclone_dx/record/copyright.rbs +14 -0
  131. data/sig/sbom/cyclone_dx/record/crypto_properties.rbs +268 -0
  132. data/sig/sbom/cyclone_dx/record/data_governance.rbs +24 -0
  133. data/sig/sbom/cyclone_dx/record/data_governance_responsible_party.rbs +19 -0
  134. data/sig/sbom/cyclone_dx/record/declarations.rbs +352 -0
  135. data/sig/sbom/cyclone_dx/record/definitions.rbs +14 -0
  136. data/sig/sbom/cyclone_dx/record/dependency.rbs +24 -0
  137. data/sig/sbom/cyclone_dx/record/diff.rbs +19 -0
  138. data/sig/sbom/cyclone_dx/record/energy_consumption.rbs +39 -0
  139. data/sig/sbom/cyclone_dx/record/energy_measure.rbs +14 -0
  140. data/sig/sbom/cyclone_dx/record/energy_provider.rbs +39 -0
  141. data/sig/sbom/cyclone_dx/record/environmental_consideration.rbs +19 -0
  142. data/sig/sbom/cyclone_dx/record/event.rbs +44 -0
  143. data/sig/sbom/cyclone_dx/record/external_reference.rbs +29 -0
  144. data/sig/sbom/cyclone_dx/record/fairness_assessment.rbs +29 -0
  145. data/sig/sbom/cyclone_dx/record/formula.rbs +34 -0
  146. data/sig/sbom/cyclone_dx/record/graphic.rbs +19 -0
  147. data/sig/sbom/cyclone_dx/record/graphics_collection.rbs +19 -0
  148. data/sig/sbom/cyclone_dx/record/hash_data.rbs +19 -0
  149. data/sig/sbom/cyclone_dx/record/identifiable_action.rbs +24 -0
  150. data/sig/sbom/cyclone_dx/record/input.rbs +44 -0
  151. data/sig/sbom/cyclone_dx/record/input_output_ml_parameter.rbs +14 -0
  152. data/sig/sbom/cyclone_dx/record/issue.rbs +53 -0
  153. data/sig/sbom/cyclone_dx/record/license.rbs +134 -0
  154. data/sig/sbom/cyclone_dx/record/license_choice.rbs +39 -0
  155. data/sig/sbom/cyclone_dx/record/metadata.rbs +82 -0
  156. data/sig/sbom/cyclone_dx/record/model_card.rbs +143 -0
  157. data/sig/sbom/cyclone_dx/record/note.rbs +19 -0
  158. data/sig/sbom/cyclone_dx/record/organizational_contact.rbs +29 -0
  159. data/sig/sbom/cyclone_dx/record/organizational_entity.rbs +34 -0
  160. data/sig/sbom/cyclone_dx/record/output.rbs +44 -0
  161. data/sig/sbom/cyclone_dx/record/parameter.rbs +24 -0
  162. data/sig/sbom/cyclone_dx/record/patch.rbs +24 -0
  163. data/sig/sbom/cyclone_dx/record/performance_metric.rbs +43 -0
  164. data/sig/sbom/cyclone_dx/record/postal_address.rbs +44 -0
  165. data/sig/sbom/cyclone_dx/record/property.rbs +19 -0
  166. data/sig/sbom/cyclone_dx/record/rating.rbs +39 -0
  167. data/sig/sbom/cyclone_dx/record/release_notes.rbs +64 -0
  168. data/sig/sbom/cyclone_dx/record/resource_reference_choice.rbs +19 -0
  169. data/sig/sbom/cyclone_dx/record/risk.rbs +19 -0
  170. data/sig/sbom/cyclone_dx/record/root.rbs +84 -0
  171. data/sig/sbom/cyclone_dx/record/secured_by.rbs +19 -0
  172. data/sig/sbom/cyclone_dx/record/service.rbs +99 -0
  173. data/sig/sbom/cyclone_dx/record/service_data.rbs +44 -0
  174. data/sig/sbom/cyclone_dx/record/signature.rbs +130 -0
  175. data/sig/sbom/cyclone_dx/record/standard.rbs +132 -0
  176. data/sig/sbom/cyclone_dx/record/step.rbs +29 -0
  177. data/sig/sbom/cyclone_dx/record/swid.rbs +44 -0
  178. data/sig/sbom/cyclone_dx/record/task.rbs +84 -0
  179. data/sig/sbom/cyclone_dx/record/tools.rbs +19 -0
  180. data/sig/sbom/cyclone_dx/record/trigger.rbs +69 -0
  181. data/sig/sbom/cyclone_dx/record/version.rbs +24 -0
  182. data/sig/sbom/cyclone_dx/record/volume.rbs +49 -0
  183. data/sig/sbom/cyclone_dx/record/vulnerability.rbs +209 -0
  184. data/sig/sbom/cyclone_dx/record/vulnerability_source.rbs +19 -0
  185. data/sig/sbom/cyclone_dx/record/workflow.rbs +94 -0
  186. data/sig/sbom/cyclone_dx/record/workspace.rbs +69 -0
  187. data/sig/sbom/cyclone_dx/record.rbs +161 -0
  188. data/sig/sbom/cyclone_dx/type.rbs +16 -0
  189. data/sig/sbom/cyclone_dx/validator/array_validator.rbs +31 -0
  190. data/sig/sbom/cyclone_dx/validator/base_validator.rbs +21 -0
  191. data/sig/sbom/cyclone_dx/validator/boolean_validator.rbs +9 -0
  192. data/sig/sbom/cyclone_dx/validator/date_time_validator.rbs +10 -0
  193. data/sig/sbom/cyclone_dx/validator/email_address_validator.rbs +10 -0
  194. data/sig/sbom/cyclone_dx/validator/float_validator.rbs +12 -0
  195. data/sig/sbom/cyclone_dx/validator/integer_validator.rbs +12 -0
  196. data/sig/sbom/cyclone_dx/validator/record_validator.rbs +12 -0
  197. data/sig/sbom/cyclone_dx/validator/string_validator.rbs +14 -0
  198. data/sig/sbom/cyclone_dx/validator/union_validator.rbs +24 -0
  199. data/sig/sbom/cyclone_dx/validator/uri_validator.rbs +10 -0
  200. data/sig/sbom/cyclone_dx/validator.rbs +66 -0
  201. data/sig/sbom/cyclone_dx.rbs +13 -0
  202. data/sig/types.rbs +45 -0
  203. data/spec/email_address_extension_spec.rb +27 -0
  204. data/spec/factories/factory_helper.rb +78 -0
  205. data/spec/factories/record/advisory_factory.rb +11 -0
  206. data/spec/factories/record/annotation_factory.rb +63 -0
  207. data/spec/factories/record/attachment_factory.rb +9 -0
  208. data/spec/factories/record/cipher_suite_factory.rb +26 -0
  209. data/spec/factories/record/co2_measure_factory.rb +9 -0
  210. data/spec/factories/record/command_factory.rb +10 -0
  211. data/spec/factories/record/commit_factory.rb +13 -0
  212. data/spec/factories/record/component_data_factory.rb +28 -0
  213. data/spec/factories/record/component_evidence_factory.rb +44 -0
  214. data/spec/factories/record/component_factory.rb +102 -0
  215. data/spec/factories/record/component_identity_evidence_factory.rb +25 -0
  216. data/spec/factories/record/composition_factory.rb +20 -0
  217. data/spec/factories/record/condition_factory.rb +11 -0
  218. data/spec/factories/record/copyright_factory.rb +9 -0
  219. data/spec/factories/record/crypto_properties_factory.rb +191 -0
  220. data/spec/factories/record/data_governance_factory.rb +11 -0
  221. data/spec/factories/record/data_governance_responsible_party_factory.rb +31 -0
  222. data/spec/factories/record/declarations_factory.rb +145 -0
  223. data/spec/factories/record/definitions_factory.rb +9 -0
  224. data/spec/factories/record/dependency_factory.rb +12 -0
  225. data/spec/factories/record/diff_factory.rb +24 -0
  226. data/spec/factories/record/energy_consumption_factory.rb +15 -0
  227. data/spec/factories/record/energy_measure_factory.rb +9 -0
  228. data/spec/factories/record/energy_provider_factory.rb +15 -0
  229. data/spec/factories/record/environmental_consideration_factory.rb +10 -0
  230. data/spec/factories/record/event_factory.rb +15 -0
  231. data/spec/factories/record/external_reference_factory.rb +13 -0
  232. data/spec/factories/record/fairness_assessment_factory.rb +12 -0
  233. data/spec/factories/record/formula_factory.rb +13 -0
  234. data/spec/factories/record/graphic_factory.rb +10 -0
  235. data/spec/factories/record/graphics_collection_factory.rb +10 -0
  236. data/spec/factories/record/hash_data_factory.rb +10 -0
  237. data/spec/factories/record/identifiable_action_factory.rb +11 -0
  238. data/spec/factories/record/input_factory.rb +36 -0
  239. data/spec/factories/record/input_output_ml_parameter_factory.rb +9 -0
  240. data/spec/factories/record/issue_factory.rb +22 -0
  241. data/spec/factories/record/license_choice_factory.rb +23 -0
  242. data/spec/factories/record/license_factory.rb +99 -0
  243. data/spec/factories/record/metadata_factory.rb +38 -0
  244. data/spec/factories/record/model_card_factory.rb +59 -0
  245. data/spec/factories/record/note_factory.rb +11 -0
  246. data/spec/factories/record/organizational_contact_factory.rb +12 -0
  247. data/spec/factories/record/organizational_entity_factory.rb +13 -0
  248. data/spec/factories/record/output_factory.rb +32 -0
  249. data/spec/factories/record/parameter_factory.rb +11 -0
  250. data/spec/factories/record/patch_factory.rb +12 -0
  251. data/spec/factories/record/performance_metric_factory.rb +20 -0
  252. data/spec/factories/record/postal_address_factory.rb +14 -0
  253. data/spec/factories/record/property_factory.rb +11 -0
  254. data/spec/factories/record/rating_factory.rb +14 -0
  255. data/spec/factories/record/release_notes_factory.rb +20 -0
  256. data/spec/factories/record/resource_reference_choice_factory.rb +27 -0
  257. data/spec/factories/record/risk_factory.rb +10 -0
  258. data/spec/factories/record/root_factory.rb +23 -0
  259. data/spec/factories/record/secured_by_factory.rb +10 -0
  260. data/spec/factories/record/service_data_factory.rb +16 -0
  261. data/spec/factories/record/service_factory.rb +27 -0
  262. data/spec/factories/record/signature_factory.rb +50 -0
  263. data/spec/factories/record/standard_factory.rb +37 -0
  264. data/spec/factories/record/step_factory.rb +12 -0
  265. data/spec/factories/record/swid_factory.rb +16 -0
  266. data/spec/factories/record/task_factory.rb +24 -0
  267. data/spec/factories/record/tools_factory.rb +10 -0
  268. data/spec/factories/record/trigger_factory.rb +21 -0
  269. data/spec/factories/record/version_factory.rb +19 -0
  270. data/spec/factories/record/volume_factory.rb +16 -0
  271. data/spec/factories/record/vulnerability_factory.rb +70 -0
  272. data/spec/factories/record/vulnerability_source_factory.rb +10 -0
  273. data/spec/factories/record/workflow_factory.rb +26 -0
  274. data/spec/factories/record/workspace_factory.rb +21 -0
  275. data/spec/factories/record_factory.rb +159 -0
  276. data/spec/fixtures/cipher_info.yml +948 -0
  277. data/spec/fixtures/purl_data.yml +0 -0
  278. data/spec/sbom/cyclone_dx/enum_spec.rb +30 -0
  279. data/spec/sbom/cyclone_dx/field_spec.rb +104 -0
  280. data/spec/sbom/cyclone_dx/pattern_spec.rb +18 -0
  281. data/spec/sbom/cyclone_dx/record/advisory_spec.rb +14 -0
  282. data/spec/sbom/cyclone_dx/record/annotation_spec.rb +31 -0
  283. data/spec/sbom/cyclone_dx/record/attachment_spec.rb +14 -0
  284. data/spec/sbom/cyclone_dx/record/base_spec.rb +363 -0
  285. data/spec/sbom/cyclone_dx/record/cipher_suite_spec.rb +14 -0
  286. data/spec/sbom/cyclone_dx/record/co2_measure_spec.rb +14 -0
  287. data/spec/sbom/cyclone_dx/record/command_spec.rb +14 -0
  288. data/spec/sbom/cyclone_dx/record/commit_spec.rb +14 -0
  289. data/spec/sbom/cyclone_dx/record/component_data_spec.rb +14 -0
  290. data/spec/sbom/cyclone_dx/record/component_evidence_spec.rb +14 -0
  291. data/spec/sbom/cyclone_dx/record/component_identity_evidence_spec.rb +14 -0
  292. data/spec/sbom/cyclone_dx/record/component_spec.rb +14 -0
  293. data/spec/sbom/cyclone_dx/record/composition_spec.rb +14 -0
  294. data/spec/sbom/cyclone_dx/record/condition_spec.rb +14 -0
  295. data/spec/sbom/cyclone_dx/record/copyright_spec.rb +14 -0
  296. data/spec/sbom/cyclone_dx/record/crypto_properties_spec.rb +14 -0
  297. data/spec/sbom/cyclone_dx/record/data_governance_responsible_party_spec.rb +19 -0
  298. data/spec/sbom/cyclone_dx/record/data_governance_spec.rb +14 -0
  299. data/spec/sbom/cyclone_dx/record/declarations_spec.rb +14 -0
  300. data/spec/sbom/cyclone_dx/record/definitions_spec.rb +14 -0
  301. data/spec/sbom/cyclone_dx/record/dependency_spec.rb +14 -0
  302. data/spec/sbom/cyclone_dx/record/diff_spec.rb +14 -0
  303. data/spec/sbom/cyclone_dx/record/energy_consumption_spec.rb +14 -0
  304. data/spec/sbom/cyclone_dx/record/energy_measure_spec.rb +14 -0
  305. data/spec/sbom/cyclone_dx/record/energy_provider_spec.rb +14 -0
  306. data/spec/sbom/cyclone_dx/record/environmental_consideration_spec.rb +14 -0
  307. data/spec/sbom/cyclone_dx/record/event_spec.rb +14 -0
  308. data/spec/sbom/cyclone_dx/record/external_reference_spec.rb +14 -0
  309. data/spec/sbom/cyclone_dx/record/fairness_assessment_spec.rb +14 -0
  310. data/spec/sbom/cyclone_dx/record/formula_spec.rb +14 -0
  311. data/spec/sbom/cyclone_dx/record/graphic_spec.rb +14 -0
  312. data/spec/sbom/cyclone_dx/record/graphics_collection_spec.rb +14 -0
  313. data/spec/sbom/cyclone_dx/record/hash_data_spec.rb +14 -0
  314. data/spec/sbom/cyclone_dx/record/identifiable_action_spec.rb +14 -0
  315. data/spec/sbom/cyclone_dx/record/input_output_ml_parameter_spec.rb +14 -0
  316. data/spec/sbom/cyclone_dx/record/input_spec.rb +14 -0
  317. data/spec/sbom/cyclone_dx/record/issue_spec.rb +14 -0
  318. data/spec/sbom/cyclone_dx/record/license_choice_spec.rb +26 -0
  319. data/spec/sbom/cyclone_dx/record/license_spec.rb +14 -0
  320. data/spec/sbom/cyclone_dx/record/metadata_spec.rb +14 -0
  321. data/spec/sbom/cyclone_dx/record/model_card_spec.rb +14 -0
  322. data/spec/sbom/cyclone_dx/record/note_spec.rb +14 -0
  323. data/spec/sbom/cyclone_dx/record/organizational_contact_spec.rb +14 -0
  324. data/spec/sbom/cyclone_dx/record/organizational_entity_spec.rb +14 -0
  325. data/spec/sbom/cyclone_dx/record/output_spec.rb +14 -0
  326. data/spec/sbom/cyclone_dx/record/parameter_spec.rb +14 -0
  327. data/spec/sbom/cyclone_dx/record/patch_spec.rb +14 -0
  328. data/spec/sbom/cyclone_dx/record/performance_metric_spec.rb +14 -0
  329. data/spec/sbom/cyclone_dx/record/postal_address_spec.rb +14 -0
  330. data/spec/sbom/cyclone_dx/record/property_spec.rb +14 -0
  331. data/spec/sbom/cyclone_dx/record/rating_spec.rb +14 -0
  332. data/spec/sbom/cyclone_dx/record/release_notes_spec.rb +14 -0
  333. data/spec/sbom/cyclone_dx/record/resource_reference_choice_spec.rb +14 -0
  334. data/spec/sbom/cyclone_dx/record/risk_spec.rb +14 -0
  335. data/spec/sbom/cyclone_dx/record/root_spec.rb +14 -0
  336. data/spec/sbom/cyclone_dx/record/secured_by_spec.rb +14 -0
  337. data/spec/sbom/cyclone_dx/record/service_data_spec.rb +14 -0
  338. data/spec/sbom/cyclone_dx/record/service_spec.rb +14 -0
  339. data/spec/sbom/cyclone_dx/record/signature_spec.rb +26 -0
  340. data/spec/sbom/cyclone_dx/record/standard_spec.rb +14 -0
  341. data/spec/sbom/cyclone_dx/record/step_spec.rb +14 -0
  342. data/spec/sbom/cyclone_dx/record/swid_spec.rb +14 -0
  343. data/spec/sbom/cyclone_dx/record/task_spec.rb +14 -0
  344. data/spec/sbom/cyclone_dx/record/tools_spec.rb +14 -0
  345. data/spec/sbom/cyclone_dx/record/trigger_spec.rb +14 -0
  346. data/spec/sbom/cyclone_dx/record/version_spec.rb +14 -0
  347. data/spec/sbom/cyclone_dx/record/volume_spec.rb +14 -0
  348. data/spec/sbom/cyclone_dx/record/vulnerability_source_spec.rb +14 -0
  349. data/spec/sbom/cyclone_dx/record/vulnerability_spec.rb +14 -0
  350. data/spec/sbom/cyclone_dx/record/workflow_spec.rb +14 -0
  351. data/spec/sbom/cyclone_dx/record/workspace_spec.rb +14 -0
  352. data/spec/sbom/cyclone_dx/record_spec.rb +7 -0
  353. data/spec/sbom/cyclone_dx/validator/array_validator_spec.rb +184 -0
  354. data/spec/sbom/cyclone_dx/validator/base_validator_spec.rb +71 -0
  355. data/spec/sbom/cyclone_dx/validator/boolean_validator_spec.rb +26 -0
  356. data/spec/sbom/cyclone_dx/validator/date_time_validator_spec.rb +28 -0
  357. data/spec/sbom/cyclone_dx/validator/email_address_validator_spec.rb +23 -0
  358. data/spec/sbom/cyclone_dx/validator/float_validator_spec.rb +71 -0
  359. data/spec/sbom/cyclone_dx/validator/integer_validator_spec.rb +71 -0
  360. data/spec/sbom/cyclone_dx/validator/record_validator_spec.rb +35 -0
  361. data/spec/sbom/cyclone_dx/validator/string_validator_spec.rb +94 -0
  362. data/spec/sbom/cyclone_dx/validator/union_validator_spec.rb +65 -0
  363. data/spec/sbom/cyclone_dx/validator/uri_validator_spec.rb +21 -0
  364. data/spec/sbom/cyclone_dx/validator_spec.rb +38 -0
  365. data/spec/sbom/cyclone_dx/version_spec.rb +9 -0
  366. data/spec/sbom/cyclone_dx_spec.rb +7 -0
  367. data/spec/spec_helper.rb +39 -0
  368. metadata +377 -6
@@ -0,0 +1,84 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Root < Base
5
+ def initialize: (?serial_number: String?, ?version: Integer, ?metadata: Metadata?, ?components: Array[Component]?, ?services: Array[Service]?, ?external_references: Array[ExternalReference]?, ?dependencies: Array[Dependency]?, ?compositions: Array[Composition]?, ?vulnerabilities: Array[Vulnerability]?, ?annotations: Array[Annotation]?, ?formulation: Array[Formula]?, ?declarations: Declarations?, ?definitions: Definitions?, ?properties: Array[Property]?, ?signature: Signature::signatureChoice?) -> void
6
+
7
+ def serial_number: () -> String?
8
+ def serial_number=: (String?) -> String?
9
+ def serial_number?: () -> bool
10
+ def serial_number_valid?: () -> bool
11
+
12
+ def version: () -> Integer
13
+ def version=: (Integer) -> Integer
14
+ def version?: () -> bool
15
+ def version_valid?: () -> bool
16
+
17
+ def metadata: () -> Metadata?
18
+ def metadata=: (Metadata?) -> Metadata?
19
+ def metadata?: () -> bool
20
+ def metadata_valid?: () -> bool
21
+
22
+ def components: () -> Array[Component]?
23
+ def components=: (Array[Component]?) -> Array[Component]?
24
+ def components?: () -> bool
25
+ def components_valid?: () -> bool
26
+
27
+ def services: () -> Array[Service]?
28
+ def services=: (Array[Service]?) -> Array[Service]?
29
+ def services?: () -> bool
30
+ def services_valid?: () -> bool
31
+
32
+ def external_references: () -> Array[ExternalReference]?
33
+ def external_references=: (Array[ExternalReference]?) -> Array[ExternalReference]?
34
+ def external_references?: () -> bool
35
+ def external_references_valid?: () -> bool
36
+
37
+ def dependencies: () -> Array[Dependency]?
38
+ def dependencies=: (Array[Dependency]?) -> Array[Dependency]?
39
+ def dependencies?: () -> bool
40
+ def dependencies_valid?: () -> bool
41
+
42
+ def compositions: () -> Array[Composition]?
43
+ def compositions=: (Array[Composition]?) -> Array[Composition]?
44
+ def compositions?: () -> bool
45
+ def compositions_valid?: () -> bool
46
+
47
+ def vulnerabilities: () -> Array[Vulnerability]?
48
+ def vulnerabilities=: (Array[Vulnerability]?) -> Array[Vulnerability]?
49
+ def vulnerabilities?: () -> bool
50
+ def vulnerabilities_valid?: () -> bool
51
+
52
+ def annotations: () -> Array[Annotation]?
53
+ def annotations=: (Array[Annotation]?) -> Array[Annotation]?
54
+ def annotations?: () -> bool
55
+ def annotations_valid?: () -> bool
56
+
57
+ def formulation: () -> Array[Formula]?
58
+ def formulation=: (Array[Formula]?) -> Array[Formula]?
59
+ def formulation?: () -> bool
60
+ def formulation_valid?: () -> bool
61
+
62
+ def declarations: () -> Declarations?
63
+ def declarations=: (Declarations?) -> Declarations?
64
+ def declarations?: () -> bool
65
+ def declarations_valid?: () -> bool
66
+
67
+ def definitions: () -> Definitions?
68
+ def definitions=: (Definitions?) -> Definitions?
69
+ def definitions?: () -> bool
70
+ def definitions_valid?: () -> bool
71
+
72
+ def properties: () -> Array[Property]?
73
+ def properties=: (Array[Property]?) -> Array[Property]?
74
+ def properties?: () -> bool
75
+ def properties_valid?: () -> bool
76
+
77
+ def signature: () -> Signature::signatureChoice?
78
+ def signature=: (Signature::signatureChoice?) -> Signature::signatureChoice?
79
+ def signature?: () -> bool
80
+ def signature_valid?: () -> bool
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,19 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class SecuredBy < Base
5
+ def initialize: (?mechanism: String?, ?algorithm_ref: String?) -> void
6
+
7
+ def mechanism: () -> String?
8
+ def mechanism=: (String?) -> String?
9
+ def mechanism?: () -> bool
10
+ def mechanism_valid?: () -> bool
11
+
12
+ def algorithm_ref: () -> String?
13
+ def algorithm_ref=: (String?) -> String?
14
+ def algorithm_ref?: () -> bool
15
+ def algorithm_ref_valid?: () -> bool
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,99 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Service < Base
5
+ def initialize: (?bom_ref: String?, ?provider: OrganizationalEntity?, ?group: String?, name: String, ?version: String?, ?description: String?, ?endpoints: Array[uri]?, ?authenticated: bool?, ?x_trust_boundary: bool?, ?trust_zone: String?, ?data: Array[ServiceData]?, ?licenses: Array[LicenseChoice::licenseChoice]?, ?external_references: Array[ExternalReference]?, ?services: Array[Service]?, ?release_notes: ReleaseNotes?, ?properties: Array[Property]?, ?tags: Array[String]?, ?signature: Signature::signatureChoice?) -> void
6
+
7
+ def bom_ref: () -> String?
8
+ def bom_ref=: (String?) -> String?
9
+ def bom_ref?: () -> bool
10
+ def bom_ref_valid?: () -> bool
11
+
12
+ def provider: () -> OrganizationalEntity?
13
+ def provider=: (OrganizationalEntity?) -> OrganizationalEntity?
14
+ def provider?: () -> bool
15
+ def provider_valid?: () -> bool
16
+
17
+ def group: () -> String?
18
+ def group=: (String?) -> String?
19
+ def group?: () -> bool
20
+ def group_valid?: () -> bool
21
+
22
+ def name: () -> String
23
+ def name=: (String) -> String
24
+ def name?: () -> bool
25
+ def name_valid?: () -> bool
26
+
27
+ def version: () -> String?
28
+ def version=: (String?) -> String?
29
+ def version?: () -> bool
30
+ def version_valid?: () -> bool
31
+
32
+ def description: () -> String?
33
+ def description=: (String?) -> String?
34
+ def description?: () -> bool
35
+ def description_valid?: () -> bool
36
+
37
+ def endpoints: () -> Array[uri]?
38
+ def endpoints=: (Array[uri]?) -> Array[uri]?
39
+ def endpoints?: () -> bool
40
+ def endpoints_valid?: () -> bool
41
+
42
+ def authenticated: () -> bool?
43
+ def authenticated=: (bool?) -> bool?
44
+ def authenticated?: () -> bool
45
+ def authenticated_valid?: () -> bool
46
+
47
+ def x_trust_boundary: () -> bool?
48
+ def x_trust_boundary=: (bool?) -> bool?
49
+ def x_trust_boundary?: () -> bool
50
+ def x_trust_boundary_valid?: () -> bool
51
+
52
+ def trust_zone: () -> String?
53
+ def trust_zone=: (String?) -> String?
54
+ def trust_zone?: () -> bool
55
+ def trust_zone_valid?: () -> bool
56
+
57
+ def data: () -> Array[ServiceData]?
58
+ def data=: (Array[ServiceData]?) -> Array[ServiceData]?
59
+ def data?: () -> bool
60
+ def data_valid?: () -> bool
61
+
62
+ def licenses: () -> Array[LicenseChoice::licenseChoice]?
63
+ def licenses=: (Array[LicenseChoice::licenseChoice]?) -> Array[LicenseChoice::licenseChoice]?
64
+ def licenses?: () -> bool
65
+ def licenses_valid?: () -> bool
66
+
67
+ def external_references: () -> Array[ExternalReference]?
68
+ def external_references=: (Array[ExternalReference]?) -> Array[ExternalReference]?
69
+ def external_references?: () -> bool
70
+ def external_references_valid?: () -> bool
71
+
72
+ def services: () -> Array[Service]?
73
+ def services=: (Array[Service]?) -> Array[Service]?
74
+ def services?: () -> bool
75
+ def services_valid?: () -> bool
76
+
77
+ def release_notes: () -> ReleaseNotes?
78
+ def release_notes=: (ReleaseNotes?) -> ReleaseNotes?
79
+ def release_notes?: () -> bool
80
+ def release_notes_valid?: () -> bool
81
+
82
+ def properties: () -> Array[Property]?
83
+ def properties=: (Array[Property]?) -> Array[Property]?
84
+ def properties?: () -> bool
85
+ def properties_valid?: () -> bool
86
+
87
+ def tags: () -> Array[String]?
88
+ def tags=: (Array[String]?) -> Array[String]?
89
+ def tags?: () -> bool
90
+ def tags_valid?: () -> bool
91
+
92
+ def signature: () -> Signature::signatureChoice?
93
+ def signature=: (Signature::signatureChoice?) -> Signature::signatureChoice?
94
+ def signature?: () -> bool
95
+ def signature_valid?: () -> bool
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,44 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class ServiceData < Base
5
+ def initialize: (flow: String, classification: String, ?name: String?, ?description: String?, ?governance: DataGovernance?, source: uri | String, destination: uri | String) -> void
6
+
7
+ def flow: () -> String
8
+ def flow=: (String) -> String
9
+ def flow?: () -> bool
10
+ def flow_valid?: () -> bool
11
+
12
+ def classification: () -> String
13
+ def classification=: (String) -> String
14
+ def classification?: () -> bool
15
+ def classification_valid?: () -> bool
16
+
17
+ def name: () -> String?
18
+ def name=: (String?) -> String?
19
+ def name?: () -> bool
20
+ def name_valid?: () -> bool
21
+
22
+ def description: () -> String?
23
+ def description=: (String?) -> String?
24
+ def description?: () -> bool
25
+ def description_valid?: () -> bool
26
+
27
+ def governance: () -> DataGovernance?
28
+ def governance=: (DataGovernance?) -> DataGovernance?
29
+ def governance?: () -> bool
30
+ def governance_valid?: () -> bool
31
+
32
+ def source: () -> (uri | String)
33
+ def source=: (uri | String) -> (uri | String)
34
+ def source?: () -> bool
35
+ def source_valid?: () -> bool
36
+
37
+ def destination: () -> (uri | String)
38
+ def destination=: (uri | String) -> (uri | String)
39
+ def destination?: () -> bool
40
+ def destination_valid?: () -> bool
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,130 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ module Signature
5
+ type signatureChoice = JSFSignature | SignatureChain | SignerList
6
+
7
+ UNION_TYPE: [singleton(JSFSignature), singleton(SignatureChain), singleton(SignerList)]
8
+
9
+ class JSFSignature < Base
10
+ module PublicKey
11
+ type publicKeyChoice = EC | OKP | RSA
12
+
13
+ UNION_TYPE: [singleton(EC), singleton(OKP), singleton(RSA)]
14
+
15
+ class EC < Base
16
+ def initialize: (crv: String, x: String, y: String) -> void
17
+
18
+ def kty: () -> "EC"
19
+ def kty?: () -> true
20
+ def kty_valid?: () -> true
21
+
22
+ def crv: () -> String
23
+ def crv=: (String) -> String
24
+ def crv?: () -> bool
25
+ def crv_valid?: () -> bool
26
+
27
+ def x: () -> String
28
+ def x=: (String) -> String
29
+ def x?: () -> bool
30
+ def x_valid?: () -> bool
31
+
32
+ def y: () -> String
33
+ def y=: (String) -> String
34
+ def y?: () -> bool
35
+ def y_valid?: () -> bool
36
+ end
37
+
38
+ class OKP < Base
39
+ def initialize: (crv: String, x: String) -> void
40
+
41
+ def kty: () -> "OKP"
42
+ def kty?: () -> true
43
+ def kty_valid?: () -> true
44
+
45
+ def crv: () -> String
46
+ def crv=: (String) -> String
47
+ def crv?: () -> bool
48
+ def crv_valid?: () -> bool
49
+
50
+ def x: () -> String
51
+ def x=: (String) -> String
52
+ def x?: () -> bool
53
+ def x_valid?: () -> bool
54
+ end
55
+
56
+ class RSA < Base
57
+ def initialize: (n: String, e: String) -> void
58
+
59
+ def kty: () -> "RSA"
60
+ def kty?: () -> true
61
+ def kty_valid?: () -> true
62
+
63
+ def n: () -> String
64
+ def n=: (String) -> String
65
+ def n?: () -> bool
66
+ def n_valid?: () -> bool
67
+
68
+ def e: () -> String
69
+ def e=: (String) -> String
70
+ def e?: () -> bool
71
+ def e_valid?: () -> bool
72
+ end
73
+
74
+ def self.new: (kty: String, crv: String, x: String, y: String, n: String, e: String) -> publicKeyChoice
75
+ end
76
+
77
+ def initialize: (algorithm: uri | String, ?key_id: String?, ?public_key: PublicKey::publicKeyChoice?, ?certificate_path: Array[String]?, ?excludes: Array[String]?, value: String) -> void
78
+
79
+ def algorithm: () -> ((uri | String))
80
+ def algorithm=: (uri | String) -> ((uri | String))
81
+ def algorithm?: () -> bool
82
+ def algorithm_valid?: () -> bool
83
+
84
+ def key_id: () -> String?
85
+ def key_id=: (String?) -> String?
86
+ def key_id?: () -> bool
87
+ def key_id_valid?: () -> bool
88
+
89
+ def public_key: () -> PublicKey::publicKeyChoice?
90
+ def public_key=: (PublicKey::publicKeyChoice?) -> PublicKey::publicKeyChoice?
91
+ def public_key?: () -> bool
92
+ def public_key_valid?: () -> bool
93
+
94
+ def certificate_path: () -> Array[String]?
95
+ def certificate_path=: (Array[String]?) -> Array[String]?
96
+ def certificate_path?: () -> bool
97
+ def certificate_path_valid?: () -> bool
98
+
99
+ def excludes: () -> Array[String]?
100
+ def excludes=: (Array[String]?) -> Array[String]?
101
+ def excludes?: () -> bool
102
+ def excludes_valid?: () -> bool
103
+
104
+ def value: () -> String
105
+ def value=: (String) -> String
106
+ def value?: () -> bool
107
+ def value_valid?: () -> bool
108
+ end
109
+
110
+ class SignatureChain < Base
111
+ def initialize: (?signatures: Array[JSFSignature]?) -> void
112
+
113
+ def signatures: () -> Array[JSFSignature]?
114
+ def signatures=: (Array[JSFSignature]?) -> Array[JSFSignature]?
115
+ def signatures?: () -> bool
116
+ def signatures_valid?: () -> bool
117
+ end
118
+
119
+ class SignerList < Base
120
+ def initialize: (?signers: Array[JSFSignature]?) -> void
121
+
122
+ def signers: () -> Array[JSFSignature]?
123
+ def signers=: (Array[JSFSignature]?) -> Array[JSFSignature]?
124
+ def signers?: () -> bool
125
+ def signers_valid?: () -> bool
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,132 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Standard < Base
5
+ class Level < Base
6
+ def initialize: (?bom_ref: String?, ?identifier: String?, ?title: String?, ?description: String?, ?requirements: Array[String]?) -> void
7
+
8
+ def bom_ref: () -> String?
9
+ def bom_ref=: (String?) -> String?
10
+ def bom_ref?: () -> bool
11
+ def bom_ref_valid?: () -> bool
12
+
13
+ def identifier: () -> String?
14
+ def identifier=: (String?) -> String?
15
+ def identifier?: () -> bool
16
+ def identifier_valid?: () -> bool
17
+
18
+ def title: () -> String?
19
+ def title=: (String?) -> String?
20
+ def title?: () -> bool
21
+ def title_valid?: () -> bool
22
+
23
+ def description: () -> String?
24
+ def description=: (String?) -> String?
25
+ def description?: () -> bool
26
+ def description_valid?: () -> bool
27
+
28
+ def requirements: () -> Array[String]?
29
+ def requirements=: (Array[String]?) -> Array[String]?
30
+ def requirements?: () -> bool
31
+ def requirements_valid?: () -> bool
32
+ end
33
+
34
+ class Requirement < Base
35
+ def initialize: (?bom_ref: String?, ?identifier: String?, ?title: String?, ?text: String?, ?descriptions: Array[String]?, ?open_cre: Array[String]?, ?parent: String?, ?properties: Array[Property]?, ?external_references: Array[ExternalReference]?) -> void
36
+
37
+ def bom_ref: () -> String?
38
+ def bom_ref=: (String?) -> String?
39
+ def bom_ref?: () -> bool
40
+ def bom_ref_valid?: () -> bool
41
+
42
+ def identifier: () -> String?
43
+ def identifier=: (String?) -> String?
44
+ def identifier?: () -> bool
45
+ def identifier_valid?: () -> bool
46
+
47
+ def title: () -> String?
48
+ def title=: (String?) -> String?
49
+ def title?: () -> bool
50
+ def title_valid?: () -> bool
51
+
52
+ def text: () -> String?
53
+ def text=: (String?) -> String?
54
+ def text?: () -> bool
55
+ def text_valid?: () -> bool
56
+
57
+ def descriptions: () -> Array[String]?
58
+ def descriptions=: (Array[String]?) -> Array[String]?
59
+ def descriptions?: () -> bool
60
+ def descriptions_valid?: () -> bool
61
+
62
+ def open_cre: () -> Array[String]?
63
+ def open_cre=: (Array[String]?) -> Array[String]?
64
+ def open_cre?: () -> bool
65
+ def open_cre_valid?: () -> bool
66
+
67
+ def parent: () -> String?
68
+ def parent=: (String?) -> String?
69
+ def parent?: () -> bool
70
+ def parent_valid?: () -> bool
71
+
72
+ def properties: () -> Array[Property]?
73
+ def properties=: (Array[Property]?) -> Array[Property]?
74
+ def properties?: () -> bool
75
+ def properties_valid?: () -> bool
76
+
77
+ def external_references: () -> Array[ExternalReference]?
78
+ def external_references=: (Array[ExternalReference]?) -> Array[ExternalReference]?
79
+ def external_references?: () -> bool
80
+ def external_references_valid?: () -> bool
81
+ end
82
+
83
+ def initialize: (?bom_ref: String?, ?name: String?, ?version: String?, ?description: String?, ?owner: String?, ?requirements: Array[Requirement]?, ?levels: Array[Level]?, ?external_references: Array[ExternalReference]?, ?signature: Signature::signatureChoice?) -> void
84
+
85
+ def bom_ref: () -> String?
86
+ def bom_ref=: (String?) -> String?
87
+ def bom_ref?: () -> bool
88
+ def bom_ref_valid?: () -> bool
89
+
90
+ def name: () -> String?
91
+ def name=: (String?) -> String?
92
+ def name?: () -> bool
93
+ def name_valid?: () -> bool
94
+
95
+ def version: () -> String?
96
+ def version=: (String?) -> String?
97
+ def version?: () -> bool
98
+ def version_valid?: () -> bool
99
+
100
+ def description: () -> String?
101
+ def description=: (String?) -> String?
102
+ def description?: () -> bool
103
+ def description_valid?: () -> bool
104
+
105
+ def owner: () -> String?
106
+ def owner=: (String?) -> String?
107
+ def owner?: () -> bool
108
+ def owner_valid?: () -> bool
109
+
110
+ def requirements: () -> Array[Requirement]?
111
+ def requirements=: (Array[Requirement]?) -> Array[Requirement]?
112
+ def requirements?: () -> bool
113
+ def requirements_valid?: () -> bool
114
+
115
+ def levels: () -> Array[Level]?
116
+ def levels=: (Array[Level]?) -> Array[Level]?
117
+ def levels?: () -> bool
118
+ def levels_valid?: () -> bool
119
+
120
+ def external_references: () -> Array[ExternalReference]?
121
+ def external_references=: (Array[ExternalReference]?) -> Array[ExternalReference]?
122
+ def external_references?: () -> bool
123
+ def external_references_valid?: () -> bool
124
+
125
+ def signature: () -> Signature::signatureChoice?
126
+ def signature=: (Signature::signatureChoice?) -> Signature::signatureChoice?
127
+ def signature?: () -> bool
128
+ def signature_valid?: () -> bool
129
+ end
130
+ end
131
+ end
132
+ end
@@ -0,0 +1,29 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Step < Base
5
+ def initialize: (?name: String?, ?description: String?, ?commands: Array[Command]?, ?properties: Array[Property]?) -> void
6
+
7
+ def name: () -> String?
8
+ def name=: (String?) -> String?
9
+ def name?: () -> bool
10
+ def name_valid?: () -> bool
11
+
12
+ def description: () -> String?
13
+ def description=: (String?) -> String?
14
+ def description?: () -> bool
15
+ def description_valid?: () -> bool
16
+
17
+ def commands: () -> Array[Command]?
18
+ def commands=: (Array[Command]?) -> Array[Command]?
19
+ def commands?: () -> bool
20
+ def commands_valid?: () -> bool
21
+
22
+ def properties: () -> Array[Property]?
23
+ def properties=: (Array[Property]?) -> Array[Property]?
24
+ def properties?: () -> bool
25
+ def properties_valid?: () -> bool
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,44 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class SWID < Base
5
+ def initialize: (tag_id: String, name: String, ?version: String?, ?tag_version: Integer?, ?patch: bool?, ?text: Attachment?, ?url: uri?) -> void
6
+
7
+ def tag_id: () -> String
8
+ def tag_id=: (String) -> String
9
+ def tag_id?: () -> bool
10
+ def tag_id_valid?: () -> bool
11
+
12
+ def name: () -> String
13
+ def name=: (String) -> String
14
+ def name?: () -> bool
15
+ def name_valid?: () -> bool
16
+
17
+ def version: () -> String?
18
+ def version=: (String?) -> String?
19
+ def version?: () -> bool
20
+ def version_valid?: () -> bool
21
+
22
+ def tag_version: () -> Integer?
23
+ def tag_version=: (Integer?) -> Integer?
24
+ def tag_version?: () -> bool
25
+ def tag_version_valid?: () -> bool
26
+
27
+ def patch: () -> bool?
28
+ def patch=: (bool?) -> bool?
29
+ def patch?: () -> bool
30
+ def patch_valid?: () -> bool
31
+
32
+ def text: () -> Attachment?
33
+ def text=: (Attachment?) -> Attachment?
34
+ def text?: () -> bool
35
+ def text_valid?: () -> bool
36
+
37
+ def url: () -> uri?
38
+ def url=: (uri?) -> uri?
39
+ def url?: () -> bool
40
+ def url_valid?: () -> bool
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,84 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Task < Base
5
+ def initialize: (bom_ref: String, uid: String, ?name: String?, ?description: String?, ?resource_references: Array[ResourceReferenceChoice]?, ?task_types: Array[String]?, ?trigger: Trigger?, ?steps: Array[Step]?, ?inputs: Array[Input]?, ?outputs: Array[Output]?, ?time_start: dateTime?, ?time_end: dateTime?, ?workspaces: Array[Workspace]?, ?runtime_topology: Array[Dependency]?, ?properties: Array[Property]?) -> void
6
+
7
+ def bom_ref: () -> String
8
+ def bom_ref=: (String) -> String
9
+ def bom_ref?: () -> bool
10
+ def bom_ref_valid?: () -> bool
11
+
12
+ def uid: () -> String
13
+ def uid=: (String) -> String
14
+ def uid?: () -> bool
15
+ def uid_valid?: () -> bool
16
+
17
+ def name: () -> String?
18
+ def name=: (String?) -> String?
19
+ def name?: () -> bool
20
+ def name_valid?: () -> bool
21
+
22
+ def description: () -> String?
23
+ def description=: (String?) -> String?
24
+ def description?: () -> bool
25
+ def description_valid?: () -> bool
26
+
27
+ def resource_references: () -> Array[ResourceReferenceChoice]?
28
+ def resource_references=: (Array[ResourceReferenceChoice]?) -> Array[ResourceReferenceChoice]?
29
+ def resource_references?: () -> bool
30
+ def resource_references_valid?: () -> bool
31
+
32
+ def task_types: () -> Array[String]?
33
+ def task_types=: (Array[String]?) -> Array[String]?
34
+ def task_types?: () -> bool
35
+ def task_types_valid?: () -> bool
36
+
37
+ def trigger: () -> Trigger?
38
+ def trigger=: (Trigger?) -> Trigger?
39
+ def trigger?: () -> bool
40
+ def trigger_valid?: () -> bool
41
+
42
+ def steps: () -> Array[Step]?
43
+ def steps=: (Array[Step]?) -> Array[Step]?
44
+ def steps?: () -> bool
45
+ def steps_valid?: () -> bool
46
+
47
+ def inputs: () -> Array[Input]?
48
+ def inputs=: (Array[Input]?) -> Array[Input]?
49
+ def inputs?: () -> bool
50
+ def inputs_valid?: () -> bool
51
+
52
+ def outputs: () -> Array[Output]?
53
+ def outputs=: (Array[Output]?) -> Array[Output]?
54
+ def outputs?: () -> bool
55
+ def outputs_valid?: () -> bool
56
+
57
+ def time_start: () -> dateTime?
58
+ def time_start=: (dateTime?) -> dateTime?
59
+ def time_start?: () -> bool
60
+ def time_start_valid?: () -> bool
61
+
62
+ def time_end: () -> dateTime?
63
+ def time_end=: (dateTime?) -> dateTime?
64
+ def time_end?: () -> bool
65
+ def time_end_valid?: () -> bool
66
+
67
+ def workspaces: () -> Array[Workspace]?
68
+ def workspaces=: (Array[Workspace]?) -> Array[Workspace]?
69
+ def workspaces?: () -> bool
70
+ def workspaces_valid?: () -> bool
71
+
72
+ def runtime_topology: () -> Array[Dependency]?
73
+ def runtime_topology=: (Array[Dependency]?) -> Array[Dependency]?
74
+ def runtime_topology?: () -> bool
75
+ def runtime_topology_valid?: () -> bool
76
+
77
+ def properties: () -> Array[Property]?
78
+ def properties=: (Array[Property]?) -> Array[Property]?
79
+ def properties?: () -> bool
80
+ def properties_valid?: () -> bool
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,19 @@
1
+ module SBOM
2
+ module CycloneDX
3
+ module Record
4
+ class Tools < Base
5
+ def initialize: (?components: Array[Component]?, ?services: Array[Service]?) -> void
6
+
7
+ def components: () -> Array[Component]?
8
+ def components=: (Array[Component]?) -> Array[Component]?
9
+ def components?: () -> bool
10
+ def components_valid?: () -> bool
11
+
12
+ def services: () -> Array[Service]?
13
+ def services=: (Array[Service]?) -> Array[Service]?
14
+ def services?: () -> bool
15
+ def services_valid?: () -> bool
16
+ end
17
+ end
18
+ end
19
+ end