Пример #1
0
     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',
Пример #2
0
        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
Пример #3
0
 ),
 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=
Пример #4
0
    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()