{
    "description": "ImageStreamMapping represents a mapping from a single image stream tag to a container image as well as the reference to the container image stream the image came from. This resource is used by privileged integrators to create an image resource and to associate it with an image stream in the status tags field. Creating an ImageStreamMapping will allow any user who can view the image stream to tag or pull that image, so only create mappings where the user has proven they have access to the image contents directly. The only operation supported for this resource is create and the metadata name and namespace should be set to the image stream containing the tag that should be updated. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).",
    "properties": {
        "apiVersion": {
            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
            "type": "string"
        },
        "image": {
            "description": "Image is a container image.",
            "properties": {
                "apiVersion": {
                    "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                    "type": "string"
                },
                "dockerImageConfig": {
                    "description": "DockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2.",
                    "type": "string"
                },
                "dockerImageLayers": {
                    "description": "DockerImageLayers represents the layers in the image. May not be set if the image does not define that data.",
                    "items": {
                        "description": "ImageLayer represents a single layer of the image. Some images may have multiple layers. Some may have none.",
                        "properties": {
                            "mediaType": {
                                "description": "MediaType of the referenced object.",
                                "type": "string"
                            },
                            "name": {
                                "description": "Name of the layer as defined by the underlying store.",
                                "type": "string"
                            },
                            "size": {
                                "description": "Size of the layer in bytes as defined by the underlying store.",
                                "format": "int64",
                                "type": "integer",
                                "minimum": -9223372036854776000,
                                "maximum": 9223372036854776000
                            }
                        },
                        "required": [
                            "mediaType",
                            "name",
                            "size"
                        ],
                        "type": "object",
                        "additionalProperties": false
                    },
                    "type": "array"
                },
                "dockerImageManifest": {
                    "description": "DockerImageManifest is the raw JSON of the manifest",
                    "type": "string"
                },
                "dockerImageManifestMediaType": {
                    "description": "DockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2.",
                    "type": "string"
                },
                "dockerImageMetadata": {
                    "description": "DockerImageMetadata contains metadata about this image",
                    "type": "object",
                    "x-kubernetes-preserve-unknown-fields": true
                },
                "dockerImageMetadataVersion": {
                    "description": "DockerImageMetadataVersion conveys the version of the object, which if empty defaults to \"1.0\"",
                    "type": "string"
                },
                "dockerImageReference": {
                    "description": "DockerImageReference is the string that can be used to pull this image.",
                    "type": "string"
                },
                "dockerImageSignatures": {
                    "description": "DockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1.",
                    "items": {
                        "format": "byte",
                        "type": "string",
                        "pattern": "^[\\w\\d+\\/=]*$"
                    },
                    "type": "array"
                },
                "kind": {
                    "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                    "type": "string"
                },
                "metadata": {
                    "type": "object"
                },
                "signatures": {
                    "description": "Signatures holds all signatures of the image.",
                    "items": {
                        "description": "ImageSignature holds a signature of an image. It allows to verify image identity and possibly other claims as long as the signature is trusted. Based on this information it is possible to restrict runnable images to those matching cluster-wide policy. Mandatory fields should be parsed by clients doing image verification. The others are parsed from signature's content by the server. They serve just an informative purpose. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).",
                        "properties": {
                            "apiVersion": {
                                "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
                                "type": "string"
                            },
                            "conditions": {
                                "description": "Conditions represent the latest available observations of a signature's current state.",
                                "items": {
                                    "description": "SignatureCondition describes an image signature condition of particular kind at particular probe time.",
                                    "properties": {
                                        "lastProbeTime": {
                                            "description": "Last time the condition was checked.",
                                            "format": "date-time",
                                            "type": "string"
                                        },
                                        "lastTransitionTime": {
                                            "description": "Last time the condition transit from one status to another.",
                                            "format": "date-time",
                                            "type": "string"
                                        },
                                        "message": {
                                            "description": "Human readable message indicating details about last transition.",
                                            "type": "string"
                                        },
                                        "reason": {
                                            "description": "(brief) reason for the condition's last transition.",
                                            "type": "string"
                                        },
                                        "status": {
                                            "description": "Status of the condition, one of True, False, Unknown.",
                                            "type": "string"
                                        },
                                        "type": {
                                            "description": "Type of signature condition, Complete or Failed.",
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "status",
                                        "type"
                                    ],
                                    "type": "object",
                                    "additionalProperties": false
                                },
                                "type": "array"
                            },
                            "content": {
                                "description": "Required: An opaque binary string which is an image's signature.",
                                "format": "byte",
                                "type": "string",
                                "pattern": "^[\\w\\d+\\/=]*$"
                            },
                            "created": {
                                "description": "If specified, it is the time of signature's creation.",
                                "format": "date-time",
                                "type": "string"
                            },
                            "imageIdentity": {
                                "description": "A human readable string representing image's identity. It could be a product name and version, or an image pull spec (e.g. \"registry.access.redhat.com/rhel7/rhel:7.2\").",
                                "type": "string"
                            },
                            "issuedBy": {
                                "description": "If specified, it holds information about an issuer of signing certificate or key (a person or entity who signed the signing certificate or key).",
                                "properties": {
                                    "commonName": {
                                        "description": "Common name (e.g. openshift-signing-service).",
                                        "type": "string"
                                    },
                                    "organization": {
                                        "description": "Organization name.",
                                        "type": "string"
                                    }
                                },
                                "type": "object",
                                "additionalProperties": false
                            },
                            "issuedTo": {
                                "description": "If specified, it holds information about a subject of signing certificate or key (a person or entity who signed the image).",
                                "properties": {
                                    "commonName": {
                                        "description": "Common name (e.g. openshift-signing-service).",
                                        "type": "string"
                                    },
                                    "organization": {
                                        "description": "Organization name.",
                                        "type": "string"
                                    },
                                    "publicKeyID": {
                                        "description": "If present, it is a human readable key id of public key belonging to the subject used to verify image signature. It should contain at least 64 lowest bits of public key's fingerprint (e.g. 0x685ebe62bf278440).",
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "publicKeyID"
                                ],
                                "type": "object",
                                "additionalProperties": false
                            },
                            "kind": {
                                "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
                                "type": "string"
                            },
                            "metadata": {
                                "type": "object"
                            },
                            "signedClaims": {
                                "additionalProperties": {
                                    "type": "string"
                                },
                                "description": "Contains claims from the signature.",
                                "type": "object"
                            },
                            "type": {
                                "description": "Required: Describes a type of stored blob.",
                                "type": "string"
                            }
                        },
                        "required": [
                            "content",
                            "type"
                        ],
                        "type": "object",
                        "additionalProperties": false
                    },
                    "type": "array"
                }
            },
            "required": [
                "dockerImageLayers"
            ],
            "type": "object",
            "additionalProperties": false
        },
        "kind": {
            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
            "type": "string"
        },
        "metadata": {
            "type": "object"
        },
        "tag": {
            "description": "Tag is a string value this image can be located with inside the stream.",
            "type": "string"
        }
    },
    "required": [
        "image",
        "tag"
    ],
    "type": "object",
    "additionalProperties": false,
    "$schema": "http://json-schema.org/draft-04/schema#"
}
