doc='configures the path to set_dependency_version script', ), AttributeSpec.optional( name='upstream_component_name', default=None, # defaults to main repository doc='configures the upstream component', ), AttributeSpec.optional( name='upstream_update_policy', default=UpstreamUpdatePolicy.STRICTLY_FOLLOW, doc='configures the upstream component update policy', ), AttributeSpec.deprecated( name='merge_policy', default=None, doc= 'whether or not created PRs should be automatically merged. **deprecated**', type=MergePolicy, ), AttributeSpec.optional( name='merge_policies', default=(), doc= ('merge policies to apply to detected component upgrades. By default, upgrade ' 'pull-requests must be merged manually'), type=typing.List[MergePolicyConfig], ), AttributeSpec.optional( name='after_merge_callback', default=None, doc='callback to be invoked after auto-merge',
type=int, ), AttributeSpec.optional( name='protecode_cfg_name', default=None, doc='protecode cfg name to use (see cc-config)', ), AttributeSpec.optional( name='cvss_version', default=CVSSVersion.V3, doc='CVSS version used to evaluate the severity of vulnerabilities', type=CVSSVersion, ), AttributeSpec.deprecated( name='allowed_licenses', default=[], doc='use toplevel `licences` attr', type=list, ), AttributeSpec.deprecated( name='prohibited_licenses', default=[], doc='use toplevel `licences` attr', type=list, ), ) class ProtecodeScanCfg(ModelBase): @classmethod def _attribute_specs(cls): return PROTECODE_ATTRS
), AttributeSpec.optional( name='component_name', default=None, # actually, it is determined at runtime doc= 'Manually overwrites the component name (which defaults to github repository path)', ), AttributeSpec.optional( name='callback_env', default={}, doc= 'Specifies additional environment variables passed to .ci/component_descriptor script', ), AttributeSpec.deprecated( name='validation_policies', type=typing.List[str], default=['ignore-me'], doc='obsolete', ), AttributeSpec.deprecated( name='ctx_repository_base_url', type=str, default= None, # if not explicitly configured, will be injected from cicd-default doc=''' the component descriptor context repository base_url (for component descriptor v2). If not configured, the CICD-landscape's default ctx will be used. '''), AttributeSpec.optional( name='ctx_repository', type=str, default=
def _required_attributes(self): return { 'channel_name', 'slack_cfg_name', } ATTRIBUTES = (AttributeSpec.required( name='channel_cfgs', doc='the slack channel configurations to use', type=typing.Union[typing.List[ChannelConfig], typing.Dict[str, ChannelConfig]], ), AttributeSpec.deprecated( name='default_channel', doc='**deprecated**', type=str, )) class SlackTrait(Trait): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @classmethod def _attribute_specs(cls): return ATTRIBUTES def _children(self): return self.channel_cfgs()