<?php

declare (strict_types=1);
namespace idoit\Module\JDisc\Graphql\Schema\Model;

use Axtiva\FlexibleGraphql\Resolver\AutoGenerationInterface;

/**
 * This code is @generated by axtiva/flexible-graphql-php
 * if you want to extend it or change, then remove interface AutoGenerationInterface
 * and it will be managed by you, not axtiva/flexible-graphql-php code generator
 * PHP representation of graphql type IntegrationMutation
 * Objects for registering external integrations. */
final class IntegrationMutationType implements AutoGenerationInterface
{
    /**
     * Completes a device import

Required permissions: ManageIntegrations
     */
    public bool $finishDeviceImport;
    /**
     * Registers a new integration and returns the new registration object.

The applicationName should be the name for the integration product (e.g. the CMDB product name). The application name must not be empty!
The instanceName should be the name for the instance of the integration product (in case there are multiple instances of the same product accessing our tool)


Required permissions: ManageIntegrations
     */
    public ?IntegrationRegistrationType $registerIntegration = null;
    /**
     * marks a set of devices as 'imported' and copies the current device hash values to the hash value staging table that stores the last
hash values for an integration and devices.

Comparing the archived hash values with the current hash values lets you easily identify devices that have changed.


Required permissions: ManageIntegrations
     */
    public bool $startDeviceImport;
    /**
     * Unregisters an integration and deletes all related information

Required permissions: ManageIntegrations
     */
    public bool $unregisterIntegration;
}