Amazon CodeArtifact · JSON Structure

Codeartifact Package Dependency Structure

Details about a package dependency.

Type: object Properties: 4
AmazonArtifact RepositoryPackage ManagementDevOpsSoftware Supply ChainnpmMavenPyPINuGet

PackageDependency is a JSON Structure definition published by Amazon CodeArtifact, describing 4 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

namespace package dependencyType versionRequirement

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-codeartifact/refs/heads/main/json-structure/codeartifact-package-dependency-structure.json",
  "name": "PackageDependency",
  "description": " Details about a package dependency. ",
  "type": "object",
  "properties": {
    "namespace": {
      "allOf": [
        {
          "$ref": "#/components/schemas/PackageNamespace"
        },
        {
          "description": "<p>The namespace of the package that this package depends on. The package component that specifies its namespace depends on its type. For example:</p> <ul> <li> <p> The namespace of a Maven package is its <code>groupId</code>. </p> </li> <li> <p> The namespace of an npm package is its <code>scope</code>. </p> </li> <li> <p> Python and NuGet packages do not contain a corresponding component, packages of those formats do not have a namespace. </p> </li> </ul>"
        }
      ]
    },
    "package": {
      "allOf": [
        {
          "$ref": "#/components/schemas/PackageName"
        },
        {
          "description": " The name of the package that this package depends on. "
        }
      ]
    },
    "dependencyType": {
      "allOf": [
        {
          "$ref": "#/components/schemas/String"
        },
        {
          "description": "<p> The type of a package dependency. The possible values depend on the package type.</p> <ul> <li> <p>npm: <code>regular</code>, <code>dev</code>, <code>peer</code>, <code>optional</code> </p> </li> <li> <p>maven: <code>optional</code>, <code>parent</code>, <code>compile</code>, <code>runtime</code>, <code>test</code>, <code>system</code>, <code>provided</code>.</p> <note> <p>Note that <code>parent</code> is not a regular Maven dependency type; instead this is extracted from the <code>&lt;parent&gt;</code> element if one is defined in the package version's POM file.</p> </note> </li> <li> <p>nuget: The <code>dependencyType</code> field is never set for NuGet packages.</p> </li> <li> <p>pypi: <code>Requires-Dist</code> </p> </li> </ul>"
        }
      ]
    },
    "versionRequirement": {
      "allOf": [
        {
          "$ref": "#/components/schemas/String"
        },
        {
          "description": " The required version, or version range, of the package that this package depends on. The version format is specific to the package type. For example, the following are possible valid required versions: <code>1.2.3</code>, <code>^2.3.4</code>, or <code>4.x</code>. "
        }
      ]
    }
  }
}