Hello,

I'm adding an optional list property to a plugin's configuration. This is a 
particularly tricky kind of property, as it results in lots of nesting in the 
config data model to make the Web UI's /configure page work. I would like to 
present a simpler data model to CasC without the nesting.

Are the config data models allowed to vary between CasC and Web UI? If so, how 
would we achieve this?

Chris

---------------------------------

More information...

## Class structure

class PluginConfiguration {
    private Roles roles;

    // misc other properties
}

class Roles {
    private List<ARN> arns;
}

class ARN {
    private String value;
}


## Jelly templates

PluginConfiguration/config.jelly:
<j:jelly....>
    <f:optionalProperty field="roles" title="Roles" />
</j:jelly>

Roles/config.jelly:
<j:jelly....>
    <f:repeatableProperty field="arns" />
</j:jelly>

ARN/config.jelly:
<j:jelly....>
    <f:entry>
        <f:textbox field="value" />
    </f:entry>
</j:jelly>


## Current CasC model (with unwanted nesting)

unclassified:
  myPlugin:
    roles:
        arns:
        - value: arn:aws:iam::111111111111:role/foo-role
        - value: arn:aws:iam::222222222222:role/bar-role


## Desired CasC model

unclassified:
  myPlugin:
    roles:
    - arn:aws:iam::111111111111:role/foo-role
    - arn:aws:iam::222222222222:role/bar-role

---------------------------------

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/b061549d-76a6-4447-a440-753fff947911%40www.fastmail.com.

Reply via email to