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

io.alauda.devops.api.model.PolicyRule Maven / Gradle / Ivy

There is a newer version: 0.2.12
Show newest version

package io.alauda.devops.api.model;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Generated;
import javax.validation.Valid;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import io.alauda.kubernetes.api.model.Doneable;
import io.alauda.kubernetes.api.model.HasMetadata;
import io.alauda.kubernetes.api.model.KubernetesResource;
import io.sundr.builder.annotations.Buildable;
import io.sundr.builder.annotations.Inline;
import lombok.EqualsAndHashCode;
import lombok.ToString;


/**
 * 
 * 
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@Generated("org.jsonschema2pojo")
@JsonPropertyOrder({
    "apiVersion",
    "kind",
    "metadata",
    "apiGroups",
    "attributeRestrictions",
    "nonResourceURLs",
    "resourceNames",
    "resources",
    "verbs"
})
@JsonDeserialize(using = com.fasterxml.jackson.databind.JsonDeserializer.None.class)
@ToString
@EqualsAndHashCode
@Buildable(editableEnabled = false, validationEnabled = true, generateBuilderPackage = true, builderPackage = "io.alauda.kubernetes.api.builder", inline = @Inline(type = Doneable.class, prefix = "Doneable", value = "done"))
public class PolicyRule implements KubernetesResource
{

    /**
     * 
     * 
     */
    @JsonProperty("apiGroups")
    @Valid
    private List apiGroups = new ArrayList();
    /**
     * 
     * 
     */
    @JsonProperty("attributeRestrictions")
    @Valid
    private HasMetadata attributeRestrictions;
    /**
     * 
     * 
     */
    @JsonProperty("nonResourceURLs")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    @Valid
    private List nonResourceURLs = new ArrayList();
    /**
     * 
     * 
     */
    @JsonProperty("resourceNames")
    @JsonInclude(JsonInclude.Include.NON_EMPTY)
    @Valid
    private List resourceNames = new ArrayList();
    /**
     * 
     * 
     */
    @JsonProperty("resources")
    @Valid
    private List resources = new ArrayList();
    /**
     * 
     * 
     */
    @JsonProperty("verbs")
    @Valid
    private List verbs = new ArrayList();
    @JsonIgnore
    private Map additionalProperties = new HashMap();

    /**
     * No args constructor for use in serialization
     * 
     */
    public PolicyRule() {
    }

    /**
     * 
     * @param resourceNames
     * @param attributeRestrictions
     * @param resources
     * @param verbs
     * @param apiGroups
     * @param nonResourceURLs
     */
    public PolicyRule(List apiGroups, HasMetadata attributeRestrictions, List nonResourceURLs, List resourceNames, List resources, List verbs) {
        this.apiGroups = apiGroups;
        this.attributeRestrictions = attributeRestrictions;
        this.nonResourceURLs = nonResourceURLs;
        this.resourceNames = resourceNames;
        this.resources = resources;
        this.verbs = verbs;
    }

    /**
     * 
     * 
     * @return
     *     The apiGroups
     */
    @JsonProperty("apiGroups")
    public List getApiGroups() {
        return apiGroups;
    }

    /**
     * 
     * 
     * @param apiGroups
     *     The apiGroups
     */
    @JsonProperty("apiGroups")
    public void setApiGroups(List apiGroups) {
        this.apiGroups = apiGroups;
    }

    /**
     * 
     * 
     * @return
     *     The attributeRestrictions
     */
    @JsonProperty("attributeRestrictions")
    public HasMetadata getAttributeRestrictions() {
        return attributeRestrictions;
    }

    /**
     * 
     * 
     * @param attributeRestrictions
     *     The attributeRestrictions
     */
    @JsonProperty("attributeRestrictions")
    public void setAttributeRestrictions(HasMetadata attributeRestrictions) {
        this.attributeRestrictions = attributeRestrictions;
    }

    /**
     * 
     * 
     * @return
     *     The nonResourceURLs
     */
    @JsonProperty("nonResourceURLs")
    public List getNonResourceURLs() {
        return nonResourceURLs;
    }

    /**
     * 
     * 
     * @param nonResourceURLs
     *     The nonResourceURLs
     */
    @JsonProperty("nonResourceURLs")
    public void setNonResourceURLs(List nonResourceURLs) {
        this.nonResourceURLs = nonResourceURLs;
    }

    /**
     * 
     * 
     * @return
     *     The resourceNames
     */
    @JsonProperty("resourceNames")
    public List getResourceNames() {
        return resourceNames;
    }

    /**
     * 
     * 
     * @param resourceNames
     *     The resourceNames
     */
    @JsonProperty("resourceNames")
    public void setResourceNames(List resourceNames) {
        this.resourceNames = resourceNames;
    }

    /**
     * 
     * 
     * @return
     *     The resources
     */
    @JsonProperty("resources")
    public List getResources() {
        return resources;
    }

    /**
     * 
     * 
     * @param resources
     *     The resources
     */
    @JsonProperty("resources")
    public void setResources(List resources) {
        this.resources = resources;
    }

    /**
     * 
     * 
     * @return
     *     The verbs
     */
    @JsonProperty("verbs")
    public List getVerbs() {
        return verbs;
    }

    /**
     * 
     * 
     * @param verbs
     *     The verbs
     */
    @JsonProperty("verbs")
    public void setVerbs(List verbs) {
        this.verbs = verbs;
    }

    @JsonAnyGetter
    public Map getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy