/**
 * 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.
 */

import { V220DevfileParentCommandsItemsApplyGroup } from './v220DevfileParentCommandsItemsApplyGroup';

/**
* Command that consists in applying a given component definition, typically bound to a devworkspace event.  For example, when an `apply` command is bound to a `preStart` event, and references a `container` component, it will start the container as a K8S initContainer in the devworkspace POD, unless the component has its `dedicatedPod` field set to `true`.  When no `apply` command exist for a given component, it is assumed the component will be applied at devworkspace start by default.
*/
export class V220DevfileParentCommandsItemsApply {
    /**
    * Describes component that will be applied
    */
    'component'?: string;
    'group'?: V220DevfileParentCommandsItemsApplyGroup;
    /**
    * Optional label that provides a label for this command to be used in Editor UI menus for example
    */
    'label'?: string;

    static discriminator: string | undefined = undefined;

    static attributeTypeMap: Array<{name: string, baseName: string, type: string}> = [
        {
            "name": "component",
            "baseName": "component",
            "type": "string"
        },
        {
            "name": "group",
            "baseName": "group",
            "type": "V220DevfileParentCommandsItemsApplyGroup"
        },
        {
            "name": "label",
            "baseName": "label",
            "type": "string"
        }    ];

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

