def __init__()

in tools/AduCmdlets-py/scripts/aduupdate.py [0:0]


    def __init__(self, update_id: update_id, compatibility_infos: list[compatibility_info], installation_steps: list[installation_step], is_deployable: bool = True, description: str = None) -> None:
        if description is not None and len(description) > 512:
            raise ValueError(f'Description {description} is not valid')

        if len(installation_steps) < 1 or len(installation_steps) > 10:
            raise ValueError(
                f'Invalid number of installation steps (must be 1-10)')

        file_metadatas = []

        for step in installation_steps:
            if type(step) is inline_installation_step:
                if len(step.files) < 1 or len(step.files) > 10:
                    raise ValueError(
                        'Invalid number of files specified for step (must be 1-10)')

                for file in step.files:
                    # Note: step.files are full pathnames, not just filenames
                    meta = get_file_metadata(file_path=file)

                    basename = os.path.basename(file)

                    # In case multiple steps are sharing a payload file.
                    if not any(fm['filename'] == basename for fm in file_metadatas):
                        file_metadatas.append(meta)

        if len(file_metadatas) > 10:
            raise ValueError('Invalid number of payload files (must be <=10)')

        self.import_manifest = {
            'updateId': update_id.__dict__,
            'isDeployable': is_deployable,
            'compatibility': compatibility_infos,
            'createdDateTime': datetime.datetime.utcnow().isoformat(),
            'manifestVersion': '4.0'
        }

        self.import_manifest['instructions'] = {
            "steps": [step.as_dict() for step in installation_steps]
        }

        if description is not None:
            self.import_manifest['description'] = description

        if len(file_metadatas) > 0:
            self.import_manifest['files'] = file_metadatas