All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.primelib.jira4j.restv3.model.ApplicationRole Maven / Gradle / Ivy

The newest version!
package io.github.primelib.jira4j.restv3.model;

import java.util.function.Consumer;
import org.jetbrains.annotations.ApiStatus;
import javax.annotation.processing.Generated;
import lombok.AccessLevel;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.List;
import java.util.Set;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * ApplicationRole
 *
 */
@Getter
@Setter
@EqualsAndHashCode
@ToString
@Accessors(fluent = true, chain = true)
@NoArgsConstructor(access = AccessLevel.PROTECTED, force = true)
@Builder
@JsonPropertyOrder({
    "defaultGroups",
    "defaultGroupsDetails",
    "defined",
    "groupDetails",
    "groups",
    "hasUnlimitedSeats",
    "key",
    "name",
    "numberOfSeats",
    "platform",
    "remainingSeats",
    "selectedByDefault",
    "userCount",
    "userCountDescription"
})
@JsonTypeName("ApplicationRole")
@Generated(value = "io.github.primelib.primecodegen.javafeign.JavaFeignGenerator")
public class ApplicationRole {

    /**
     * The groups that are granted default access for this application role. As a group's name can change, use of {@code defaultGroupsDetails} is recommended to identify a groups.
     */
    @JsonProperty("defaultGroups")
    protected Set defaultGroups;

    /**
     * The groups that are granted default access for this application role.
     */
    @JsonProperty("defaultGroupsDetails")
    protected List defaultGroupsDetails;

    /**
     * Deprecated.
     */
    @JsonProperty("defined")
    protected Boolean defined;

    /**
     * The groups associated with the application role.
     */
    @JsonProperty("groupDetails")
    protected List groupDetails;

    /**
     * The groups associated with the application role. As a group's name can change, use of {@code groupDetails} is recommended to identify a groups.
     */
    @JsonProperty("groups")
    protected Set groups;

    @JsonProperty("hasUnlimitedSeats")
    protected Boolean hasUnlimitedSeats;

    /**
     * The key of the application role.
     */
    @JsonProperty("key")
    protected String key;

    /**
     * The display name of the application role.
     */
    @JsonProperty("name")
    protected String name;

    /**
     * The maximum count of users on your license.
     */
    @JsonProperty("numberOfSeats")
    protected Integer numberOfSeats;

    /**
     * Indicates if the application role belongs to Jira platform ({@code jira-core}).
     */
    @JsonProperty("platform")
    protected Boolean platform;

    /**
     * The count of users remaining on your license.
     */
    @JsonProperty("remainingSeats")
    protected Integer remainingSeats;

    /**
     * Determines whether this application role should be selected by default on user creation.
     */
    @JsonProperty("selectedByDefault")
    protected Boolean selectedByDefault;

    /**
     * The number of users counting against your license.
     */
    @JsonProperty("userCount")
    protected Integer userCount;

    /**
     * The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license.
     */
    @JsonProperty("userCountDescription")
    protected String userCountDescription;

    /**
     * Constructs a validated instance of {@link ApplicationRole}.
     *
     * @param spec the specification to process
     */
    public ApplicationRole(Consumer spec) {
        spec.accept(this);
    }

    /**
     * Constructs a validated instance of {@link ApplicationRole}.
     * 

* NOTE: This constructor is not considered stable and may change if the model is updated. Consider using {@link #ApplicationRole(Consumer)} instead. * @param defaultGroups The groups that are granted default access for this application role. As a group's name can change, use of {@code defaultGroupsDetails} is recommended to identify a groups. * @param defaultGroupsDetails The groups that are granted default access for this application role. * @param defined Deprecated. * @param groupDetails The groups associated with the application role. * @param groups The groups associated with the application role. As a group's name can change, use of {@code groupDetails} is recommended to identify a groups. * @param hasUnlimitedSeats hasUnlimitedSeats * @param key The key of the application role. * @param name The display name of the application role. * @param numberOfSeats The maximum count of users on your license. * @param platform Indicates if the application role belongs to Jira platform ({@code jira-core}). * @param remainingSeats The count of users remaining on your license. * @param selectedByDefault Determines whether this application role should be selected by default on user creation. * @param userCount The number of users counting against your license. * @param userCountDescription The [type of users](https://confluence.atlassian.com/x/lRW3Ng) being counted against your license. */ @ApiStatus.Internal public ApplicationRole(Set defaultGroups, List defaultGroupsDetails, Boolean defined, List groupDetails, Set groups, Boolean hasUnlimitedSeats, String key, String name, Integer numberOfSeats, Boolean platform, Integer remainingSeats, Boolean selectedByDefault, Integer userCount, String userCountDescription) { this.defaultGroups = defaultGroups; this.defaultGroupsDetails = defaultGroupsDetails; this.defined = defined; this.groupDetails = groupDetails; this.groups = groups; this.hasUnlimitedSeats = hasUnlimitedSeats; this.key = key; this.name = name; this.numberOfSeats = numberOfSeats; this.platform = platform; this.remainingSeats = remainingSeats; this.selectedByDefault = selectedByDefault; this.userCount = userCount; this.userCountDescription = userCountDescription; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy