Skip to content

Target smaller interfacesΒ #4

@negz

Description

@negz

What problem are you facing?

crossplane-runtime interfaces like resource.Managed are composed of other, more tightly scoped interfaces such as resource.ClassReferencer. angryjet currently targets the broader interfaces; it will generate the resource.Managed method set for types that are support the entire functionality of resource.Managed, or it will generate nothing. This means types like Azure storage containers that look almost but not quite like a managed resource (due to missing embedded ResourceSpec) get no generated methods, despite being capable of satisfying many of the interfaces that resource.Managed is composed from.

How could Crossplane help solve your problem?

angryjet could detect the potential to satsify, and generate the methods of, smaller interfaces like resource.ClassReferencer rather than broad interfaces like resource.Managed. This may require some thought as to what files the (generally 1-2) getters and setters of these interfaces would be written to.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestwontfixThis will not be worked on

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions