/**
 * Kubernetes
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


/**
* Optional metadata
*/
export class V220DevfileMetadata {
    /**
    * Optional list of processor architectures that the devfile supports, empty list suggests that the devfile can be used on any architecture
    */
    'architectures'?: Array<V220DevfileMetadata.ArchitecturesEnum>;
    /**
    * Map of implementation-dependant free-form YAML attributes. Deprecated, use the top-level attributes field instead.
    */
    'attributes'?: object;
    /**
    * Optional devfile description
    */
    'description'?: string;
    /**
    * Optional devfile display name
    */
    'displayName'?: string;
    /**
    * Optional devfile global memory limit
    */
    'globalMemoryLimit'?: string;
    /**
    * Optional devfile icon, can be a URI or a relative path in the project
    */
    'icon'?: string;
    /**
    * Optional devfile language
    */
    'language'?: string;
    /**
    * Optional devfile name
    */
    'name'?: string;
    /**
    * Optional devfile project type
    */
    'projectType'?: string;
    /**
    * Optional devfile provider information
    */
    'provider'?: string;
    /**
    * Optional link to a page that provides support information
    */
    'supportUrl'?: string;
    /**
    * Optional devfile tags
    */
    'tags'?: Array<string>;
    /**
    * Optional semver-compatible version
    */
    'version'?: string;
    /**
    * Optional devfile website
    */
    'website'?: string;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "architectures",
            "baseName": "architectures",
            "type": "Array<V220DevfileMetadata.ArchitecturesEnum>"
        },
        {
            "name": "attributes",
            "baseName": "attributes",
            "type": "object"
        },
        {
            "name": "description",
            "baseName": "description",
            "type": "string"
        },
        {
            "name": "displayName",
            "baseName": "displayName",
            "type": "string"
        },
        {
            "name": "globalMemoryLimit",
            "baseName": "globalMemoryLimit",
            "type": "string"
        },
        {
            "name": "icon",
            "baseName": "icon",
            "type": "string"
        },
        {
            "name": "language",
            "baseName": "language",
            "type": "string"
        },
        {
            "name": "name",
            "baseName": "name",
            "type": "string"
        },
        {
            "name": "projectType",
            "baseName": "projectType",
            "type": "string"
        },
        {
            "name": "provider",
            "baseName": "provider",
            "type": "string"
        },
        {
            "name": "supportUrl",
            "baseName": "supportUrl",
            "type": "string"
        },
        {
            "name": "tags",
            "baseName": "tags",
            "type": "Array<string>"
        },
        {
            "name": "version",
            "baseName": "version",
            "type": "string"
        },
        {
            "name": "website",
            "baseName": "website",
            "type": "string"
        }    ];

    static getAttributeTypeMap() {
        return V220DevfileMetadata.attributeTypeMap;
    }
}

export namespace V220DevfileMetadata {
    export enum ArchitecturesEnum {
        Amd64 = <any> 'amd64',
        Arm64 = <any> 'arm64',
        Ppc64le = <any> 'ppc64le',
        S390x = <any> 's390x'
    }
}
