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 [email protected].
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