![JAR search and dependency download from the Maven repository](/logo.png)
com.oracle.bmc.identitydomains.model.Policy Maven / Gradle / Ivy
Show all versions of oci-java-sdk-shaded-full Show documentation
/**
* Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved.
* This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
*/
package com.oracle.bmc.identitydomains.model;
/**
* Policy resource. A named list of rules.
* Note: Objects should always be created or deserialized using the {@link Builder}. This model
* distinguishes fields that are {@code null} because they are unset from fields that are explicitly
* set to {@code null}. This is done in the setter methods of the {@link Builder}, which maintain a
* set of all explicitly set fields called {@link Builder#__explicitlySet__}. The {@link
* #hashCode()} and {@link #equals(Object)} methods are implemented to take the explicitly set
* fields into account. The constructor, on the other hand, does not take the explicitly set fields
* into account (since the constructor cannot distinguish explicit {@code null} from unset {@code
* null}).
*/
@jakarta.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: v1")
@com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = Policy.Builder.class)
@com.fasterxml.jackson.annotation.JsonFilter(
com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel.EXPLICITLY_SET_FILTER_NAME)
public final class Policy extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel {
@Deprecated
@java.beans.ConstructorProperties({
"id",
"ocid",
"schemas",
"meta",
"idcsCreatedBy",
"idcsLastModifiedBy",
"idcsPreventedOperations",
"tags",
"deleteInProgress",
"idcsLastUpgradedInRelease",
"domainOcid",
"compartmentOcid",
"tenancyOcid",
"externalId",
"name",
"description",
"active",
"policyGroovy",
"rules",
"policyType"
})
public Policy(
String id,
String ocid,
java.util.List schemas,
Meta meta,
IdcsCreatedBy idcsCreatedBy,
IdcsLastModifiedBy idcsLastModifiedBy,
java.util.List idcsPreventedOperations,
java.util.List tags,
Boolean deleteInProgress,
String idcsLastUpgradedInRelease,
String domainOcid,
String compartmentOcid,
String tenancyOcid,
String externalId,
String name,
String description,
Boolean active,
String policyGroovy,
java.util.List rules,
PolicyPolicyType policyType) {
super();
this.id = id;
this.ocid = ocid;
this.schemas = schemas;
this.meta = meta;
this.idcsCreatedBy = idcsCreatedBy;
this.idcsLastModifiedBy = idcsLastModifiedBy;
this.idcsPreventedOperations = idcsPreventedOperations;
this.tags = tags;
this.deleteInProgress = deleteInProgress;
this.idcsLastUpgradedInRelease = idcsLastUpgradedInRelease;
this.domainOcid = domainOcid;
this.compartmentOcid = compartmentOcid;
this.tenancyOcid = tenancyOcid;
this.externalId = externalId;
this.name = name;
this.description = description;
this.active = active;
this.policyGroovy = policyGroovy;
this.rules = rules;
this.policyType = policyType;
}
@com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder(withPrefix = "")
public static class Builder {
/**
* Unique identifier for the SCIM Resource as defined by the Service Provider. Each
* representation of the Resource MUST include a non-empty id value. This identifier MUST be
* unique across the Service Provider's entire set of Resources. It MUST be a stable,
* non-reassignable identifier that does not change when the same Resource is returned in
* subsequent requests. The value of the id attribute is always issued by the Service
* Provider and MUST never be specified by the Service Consumer. bulkId: is a reserved
* keyword and MUST NOT be used in the unique identifier.
*
* *SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readOnly - required: false - returned: always - type: string - uniqueness:
* global
*/
@com.fasterxml.jackson.annotation.JsonProperty("id")
private String id;
/**
* Unique identifier for the SCIM Resource as defined by the Service Provider. Each
* representation of the Resource MUST include a non-empty id value. This identifier MUST be
* unique across the Service Provider's entire set of Resources. It MUST be a stable,
* non-reassignable identifier that does not change when the same Resource is returned in
* subsequent requests. The value of the id attribute is always issued by the Service
* Provider and MUST never be specified by the Service Consumer. bulkId: is a reserved
* keyword and MUST NOT be used in the unique identifier.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readOnly - required: false - returned: always - type: string - uniqueness:
* global
*
* @param id the value to set
* @return this builder
*/
public Builder id(String id) {
this.id = id;
this.__explicitlySet__.add("id");
return this;
}
/**
* Unique OCI identifier for the SCIM Resource.
*
*
*SCIM++ Properties:** - caseExact: true - idcsSearchable: true - multiValued: false -
* mutability: immutable - required: false - returned: default - type: string - uniqueness:
* global
*/
@com.fasterxml.jackson.annotation.JsonProperty("ocid")
private String ocid;
/**
* Unique OCI identifier for the SCIM Resource.
*
*
*SCIM++ Properties:** - caseExact: true - idcsSearchable: true - multiValued: false -
* mutability: immutable - required: false - returned: default - type: string - uniqueness:
* global
*
* @param ocid the value to set
* @return this builder
*/
public Builder ocid(String ocid) {
this.ocid = ocid;
this.__explicitlySet__.add("ocid");
return this;
}
/**
* REQUIRED. The schemas attribute is an array of Strings which allows introspection of the
* supported schema version for a SCIM representation as well any schema extensions
* supported by that representation. Each String value must be a unique URI. This
* specification defines URIs for User, Group, and a standard \\"enterprise\\" extension.
* All representations of SCIM schema MUST include a non-zero value array with value(s) of
* the URIs supported by that representation. Duplicate values MUST NOT be included. Value
* order is not specified and MUST not impact behavior.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: true -
* mutability: readWrite - required: true - returned: default - type: string - uniqueness:
* none
*/
@com.fasterxml.jackson.annotation.JsonProperty("schemas")
private java.util.List schemas;
/**
* REQUIRED. The schemas attribute is an array of Strings which allows introspection of the
* supported schema version for a SCIM representation as well any schema extensions
* supported by that representation. Each String value must be a unique URI. This
* specification defines URIs for User, Group, and a standard \\"enterprise\\" extension.
* All representations of SCIM schema MUST include a non-zero value array with value(s) of
* the URIs supported by that representation. Duplicate values MUST NOT be included. Value
* order is not specified and MUST not impact behavior.
*
* *SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: true -
* mutability: readWrite - required: true - returned: default - type: string - uniqueness:
* none
*
* @param schemas the value to set
* @return this builder
*/
public Builder schemas(java.util.List schemas) {
this.schemas = schemas;
this.__explicitlySet__.add("schemas");
return this;
}
@com.fasterxml.jackson.annotation.JsonProperty("meta")
private Meta meta;
public Builder meta(Meta meta) {
this.meta = meta;
this.__explicitlySet__.add("meta");
return this;
}
@com.fasterxml.jackson.annotation.JsonProperty("idcsCreatedBy")
private IdcsCreatedBy idcsCreatedBy;
public Builder idcsCreatedBy(IdcsCreatedBy idcsCreatedBy) {
this.idcsCreatedBy = idcsCreatedBy;
this.__explicitlySet__.add("idcsCreatedBy");
return this;
}
@com.fasterxml.jackson.annotation.JsonProperty("idcsLastModifiedBy")
private IdcsLastModifiedBy idcsLastModifiedBy;
public Builder idcsLastModifiedBy(IdcsLastModifiedBy idcsLastModifiedBy) {
this.idcsLastModifiedBy = idcsLastModifiedBy;
this.__explicitlySet__.add("idcsLastModifiedBy");
return this;
}
/**
* Each value of this attribute specifies an operation that only an internal client may
* perform on this particular resource.
*
* *SCIM++ Properties:** - idcsSearchable: false - multiValued: true - mutability:
* readOnly - required: false - returned: request - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("idcsPreventedOperations")
private java.util.List idcsPreventedOperations;
/**
* Each value of this attribute specifies an operation that only an internal client may
* perform on this particular resource.
*
* *SCIM++ Properties:** - idcsSearchable: false - multiValued: true - mutability:
* readOnly - required: false - returned: request - type: string - uniqueness: none
*
* @param idcsPreventedOperations the value to set
* @return this builder
*/
public Builder idcsPreventedOperations(
java.util.List idcsPreventedOperations) {
this.idcsPreventedOperations = idcsPreventedOperations;
this.__explicitlySet__.add("idcsPreventedOperations");
return this;
}
/**
* A list of tags on this resource.
*
* *SCIM++ Properties:** - idcsCompositeKey: [key, value] - idcsSearchable: true -
* multiValued: true - mutability: readWrite - required: false - returned: request - type:
* complex - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("tags")
private java.util.List tags;
/**
* A list of tags on this resource.
*
* *SCIM++ Properties:** - idcsCompositeKey: [key, value] - idcsSearchable: true -
* multiValued: true - mutability: readWrite - required: false - returned: request - type:
* complex - uniqueness: none
*
* @param tags the value to set
* @return this builder
*/
public Builder tags(java.util.List tags) {
this.tags = tags;
this.__explicitlySet__.add("tags");
return this;
}
/**
* A boolean flag indicating this resource in the process of being deleted. Usually set to
* true when synchronous deletion of the resource would take too long.
*
* *SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readOnly - required: false - returned: default - type: boolean - uniqueness:
* none
*/
@com.fasterxml.jackson.annotation.JsonProperty("deleteInProgress")
private Boolean deleteInProgress;
/**
* A boolean flag indicating this resource in the process of being deleted. Usually set to
* true when synchronous deletion of the resource would take too long.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readOnly - required: false - returned: default - type: boolean - uniqueness:
* none
*
* @param deleteInProgress the value to set
* @return this builder
*/
public Builder deleteInProgress(Boolean deleteInProgress) {
this.deleteInProgress = deleteInProgress;
this.__explicitlySet__.add("deleteInProgress");
return this;
}
/**
* The release number when the resource was upgraded.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false
* - mutability: readOnly - required: false - returned: request - type: string - uniqueness:
* none
*/
@com.fasterxml.jackson.annotation.JsonProperty("idcsLastUpgradedInRelease")
private String idcsLastUpgradedInRelease;
/**
* The release number when the resource was upgraded.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false
* - mutability: readOnly - required: false - returned: request - type: string - uniqueness:
* none
*
* @param idcsLastUpgradedInRelease the value to set
* @return this builder
*/
public Builder idcsLastUpgradedInRelease(String idcsLastUpgradedInRelease) {
this.idcsLastUpgradedInRelease = idcsLastUpgradedInRelease;
this.__explicitlySet__.add("idcsLastUpgradedInRelease");
return this;
}
/**
* OCI Domain Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false
* - mutability: readOnly - required: false - returned: default - type: string - uniqueness:
* none
*/
@com.fasterxml.jackson.annotation.JsonProperty("domainOcid")
private String domainOcid;
/**
* OCI Domain Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false
* - mutability: readOnly - required: false - returned: default - type: string - uniqueness:
* none
*
* @param domainOcid the value to set
* @return this builder
*/
public Builder domainOcid(String domainOcid) {
this.domainOcid = domainOcid;
this.__explicitlySet__.add("domainOcid");
return this;
}
/**
* OCI Compartment Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false
* - mutability: readOnly - required: false - returned: default - type: string - uniqueness:
* none
*/
@com.fasterxml.jackson.annotation.JsonProperty("compartmentOcid")
private String compartmentOcid;
/**
* OCI Compartment Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false
* - mutability: readOnly - required: false - returned: default - type: string - uniqueness:
* none
*
* @param compartmentOcid the value to set
* @return this builder
*/
public Builder compartmentOcid(String compartmentOcid) {
this.compartmentOcid = compartmentOcid;
this.__explicitlySet__.add("compartmentOcid");
return this;
}
/**
* OCI Tenant Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false
* - mutability: readOnly - required: false - returned: default - type: string - uniqueness:
* none
*/
@com.fasterxml.jackson.annotation.JsonProperty("tenancyOcid")
private String tenancyOcid;
/**
* OCI Tenant Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false
* - mutability: readOnly - required: false - returned: default - type: string - uniqueness:
* none
*
* @param tenancyOcid the value to set
* @return this builder
*/
public Builder tenancyOcid(String tenancyOcid) {
this.tenancyOcid = tenancyOcid;
this.__explicitlySet__.add("tenancyOcid");
return this;
}
/**
* An identifier for the Resource as defined by the Service Consumer. The externalId may
* simplify identification of the Resource between Service Consumer and Service provider by
* allowing the Consumer to refer to the Resource with its own identifier, obviating the
* need to store a local mapping between the local identifier of the Resource and the
* identifier used by the Service Provider. Each Resource MAY include a non-empty externalId
* value. The value of the externalId attribute is always issued be the Service Consumer and
* can never be specified by the Service Provider. The Service Provider MUST always
* interpret the externalId as scoped to the Service Consumer's tenant.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: false - returned: default - type: string - uniqueness:
* none
*/
@com.fasterxml.jackson.annotation.JsonProperty("externalId")
private String externalId;
/**
* An identifier for the Resource as defined by the Service Consumer. The externalId may
* simplify identification of the Resource between Service Consumer and Service provider by
* allowing the Consumer to refer to the Resource with its own identifier, obviating the
* need to store a local mapping between the local identifier of the Resource and the
* identifier used by the Service Provider. Each Resource MAY include a non-empty externalId
* value. The value of the externalId attribute is always issued be the Service Consumer and
* can never be specified by the Service Provider. The Service Provider MUST always
* interpret the externalId as scoped to the Service Consumer's tenant.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: false - returned: default - type: string - uniqueness:
* none
*
* @param externalId the value to set
* @return this builder
*/
public Builder externalId(String externalId) {
this.externalId = externalId;
this.__explicitlySet__.add("externalId");
return this;
}
/**
* Policy name
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: true - returned: always - type: string - uniqueness:
* none
*/
@com.fasterxml.jackson.annotation.JsonProperty("name")
private String name;
/**
* Policy name
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: true - returned: always - type: string - uniqueness:
* none
*
* @param name the value to set
* @return this builder
*/
public Builder name(String name) {
this.name = name;
this.__explicitlySet__.add("name");
return this;
}
/**
* Policy Description
*
*
*SCIM++ Properties:** - idcsSearchable: false - multiValued: false - mutability:
* readWrite - required: false - returned: default - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("description")
private String description;
/**
* Policy Description
*
*
*SCIM++ Properties:** - idcsSearchable: false - multiValued: false - mutability:
* readWrite - required: false - returned: default - type: string - uniqueness: none
*
* @param description the value to set
* @return this builder
*/
public Builder description(String description) {
this.description = description;
this.__explicitlySet__.add("description");
return this;
}
/**
* If true, Policy is active.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: false - returned: default - type: boolean - uniqueness:
* none
*/
@com.fasterxml.jackson.annotation.JsonProperty("active")
private Boolean active;
/**
* If true, Policy is active.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: false - returned: default - type: boolean - uniqueness:
* none
*
* @param active the value to set
* @return this builder
*/
public Builder active(Boolean active) {
this.active = active;
this.__explicitlySet__.add("active");
return this;
}
/**
* The Groovy script that is run instead of the policy, if the policy type allows the policy
* to be a Groovy script.
*
*
*SCIM++ Properties:** - idcsSearchable: false - multiValued: false - mutability:
* readWrite - required: false - returned: default - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("policyGroovy")
private String policyGroovy;
/**
* The Groovy script that is run instead of the policy, if the policy type allows the policy
* to be a Groovy script.
*
*
*SCIM++ Properties:** - idcsSearchable: false - multiValued: false - mutability:
* readWrite - required: false - returned: default - type: string - uniqueness: none
*
* @param policyGroovy the value to set
* @return this builder
*/
public Builder policyGroovy(String policyGroovy) {
this.policyGroovy = policyGroovy;
this.__explicitlySet__.add("policyGroovy");
return this;
}
/**
* Rules assigned to this policy
*
*
*SCIM++ Properties:** - idcsCompositeKey: [value] - idcsSearchable: true -
* multiValued: true - mutability: readWrite - required: false - returned: request - type:
* complex - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("rules")
private java.util.List rules;
/**
* Rules assigned to this policy
*
* *SCIM++ Properties:** - idcsCompositeKey: [value] - idcsSearchable: true -
* multiValued: true - mutability: readWrite - required: false - returned: request - type:
* complex - uniqueness: none
*
* @param rules the value to set
* @return this builder
*/
public Builder rules(java.util.List rules) {
this.rules = rules;
this.__explicitlySet__.add("rules");
return this;
}
@com.fasterxml.jackson.annotation.JsonProperty("policyType")
private PolicyPolicyType policyType;
public Builder policyType(PolicyPolicyType policyType) {
this.policyType = policyType;
this.__explicitlySet__.add("policyType");
return this;
}
@com.fasterxml.jackson.annotation.JsonIgnore
private final java.util.Set __explicitlySet__ = new java.util.HashSet();
public Policy build() {
Policy model =
new Policy(
this.id,
this.ocid,
this.schemas,
this.meta,
this.idcsCreatedBy,
this.idcsLastModifiedBy,
this.idcsPreventedOperations,
this.tags,
this.deleteInProgress,
this.idcsLastUpgradedInRelease,
this.domainOcid,
this.compartmentOcid,
this.tenancyOcid,
this.externalId,
this.name,
this.description,
this.active,
this.policyGroovy,
this.rules,
this.policyType);
for (String explicitlySetProperty : this.__explicitlySet__) {
model.markPropertyAsExplicitlySet(explicitlySetProperty);
}
return model;
}
@com.fasterxml.jackson.annotation.JsonIgnore
public Builder copy(Policy model) {
if (model.wasPropertyExplicitlySet("id")) {
this.id(model.getId());
}
if (model.wasPropertyExplicitlySet("ocid")) {
this.ocid(model.getOcid());
}
if (model.wasPropertyExplicitlySet("schemas")) {
this.schemas(model.getSchemas());
}
if (model.wasPropertyExplicitlySet("meta")) {
this.meta(model.getMeta());
}
if (model.wasPropertyExplicitlySet("idcsCreatedBy")) {
this.idcsCreatedBy(model.getIdcsCreatedBy());
}
if (model.wasPropertyExplicitlySet("idcsLastModifiedBy")) {
this.idcsLastModifiedBy(model.getIdcsLastModifiedBy());
}
if (model.wasPropertyExplicitlySet("idcsPreventedOperations")) {
this.idcsPreventedOperations(model.getIdcsPreventedOperations());
}
if (model.wasPropertyExplicitlySet("tags")) {
this.tags(model.getTags());
}
if (model.wasPropertyExplicitlySet("deleteInProgress")) {
this.deleteInProgress(model.getDeleteInProgress());
}
if (model.wasPropertyExplicitlySet("idcsLastUpgradedInRelease")) {
this.idcsLastUpgradedInRelease(model.getIdcsLastUpgradedInRelease());
}
if (model.wasPropertyExplicitlySet("domainOcid")) {
this.domainOcid(model.getDomainOcid());
}
if (model.wasPropertyExplicitlySet("compartmentOcid")) {
this.compartmentOcid(model.getCompartmentOcid());
}
if (model.wasPropertyExplicitlySet("tenancyOcid")) {
this.tenancyOcid(model.getTenancyOcid());
}
if (model.wasPropertyExplicitlySet("externalId")) {
this.externalId(model.getExternalId());
}
if (model.wasPropertyExplicitlySet("name")) {
this.name(model.getName());
}
if (model.wasPropertyExplicitlySet("description")) {
this.description(model.getDescription());
}
if (model.wasPropertyExplicitlySet("active")) {
this.active(model.getActive());
}
if (model.wasPropertyExplicitlySet("policyGroovy")) {
this.policyGroovy(model.getPolicyGroovy());
}
if (model.wasPropertyExplicitlySet("rules")) {
this.rules(model.getRules());
}
if (model.wasPropertyExplicitlySet("policyType")) {
this.policyType(model.getPolicyType());
}
return this;
}
}
/** Create a new builder. */
public static Builder builder() {
return new Builder();
}
public Builder toBuilder() {
return new Builder().copy(this);
}
/**
* Unique identifier for the SCIM Resource as defined by the Service Provider. Each
* representation of the Resource MUST include a non-empty id value. This identifier MUST be
* unique across the Service Provider's entire set of Resources. It MUST be a stable,
* non-reassignable identifier that does not change when the same Resource is returned in
* subsequent requests. The value of the id attribute is always issued by the Service Provider
* and MUST never be specified by the Service Consumer. bulkId: is a reserved keyword and MUST
* NOT be used in the unique identifier.
*
* *SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readOnly - required: false - returned: always - type: string - uniqueness: global
*/
@com.fasterxml.jackson.annotation.JsonProperty("id")
private final String id;
/**
* Unique identifier for the SCIM Resource as defined by the Service Provider. Each
* representation of the Resource MUST include a non-empty id value. This identifier MUST be
* unique across the Service Provider's entire set of Resources. It MUST be a stable,
* non-reassignable identifier that does not change when the same Resource is returned in
* subsequent requests. The value of the id attribute is always issued by the Service Provider
* and MUST never be specified by the Service Consumer. bulkId: is a reserved keyword and MUST
* NOT be used in the unique identifier.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readOnly - required: false - returned: always - type: string - uniqueness: global
*
* @return the value
*/
public String getId() {
return id;
}
/**
* Unique OCI identifier for the SCIM Resource.
*
*
*SCIM++ Properties:** - caseExact: true - idcsSearchable: true - multiValued: false -
* mutability: immutable - required: false - returned: default - type: string - uniqueness:
* global
*/
@com.fasterxml.jackson.annotation.JsonProperty("ocid")
private final String ocid;
/**
* Unique OCI identifier for the SCIM Resource.
*
*
*SCIM++ Properties:** - caseExact: true - idcsSearchable: true - multiValued: false -
* mutability: immutable - required: false - returned: default - type: string - uniqueness:
* global
*
* @return the value
*/
public String getOcid() {
return ocid;
}
/**
* REQUIRED. The schemas attribute is an array of Strings which allows introspection of the
* supported schema version for a SCIM representation as well any schema extensions supported by
* that representation. Each String value must be a unique URI. This specification defines URIs
* for User, Group, and a standard \\"enterprise\\" extension. All representations of SCIM
* schema MUST include a non-zero value array with value(s) of the URIs supported by that
* representation. Duplicate values MUST NOT be included. Value order is not specified and MUST
* not impact behavior.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: true -
* mutability: readWrite - required: true - returned: default - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("schemas")
private final java.util.List schemas;
/**
* REQUIRED. The schemas attribute is an array of Strings which allows introspection of the
* supported schema version for a SCIM representation as well any schema extensions supported by
* that representation. Each String value must be a unique URI. This specification defines URIs
* for User, Group, and a standard \\"enterprise\\" extension. All representations of SCIM
* schema MUST include a non-zero value array with value(s) of the URIs supported by that
* representation. Duplicate values MUST NOT be included. Value order is not specified and MUST
* not impact behavior.
*
* *SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: true -
* mutability: readWrite - required: true - returned: default - type: string - uniqueness: none
*
* @return the value
*/
public java.util.List getSchemas() {
return schemas;
}
@com.fasterxml.jackson.annotation.JsonProperty("meta")
private final Meta meta;
public Meta getMeta() {
return meta;
}
@com.fasterxml.jackson.annotation.JsonProperty("idcsCreatedBy")
private final IdcsCreatedBy idcsCreatedBy;
public IdcsCreatedBy getIdcsCreatedBy() {
return idcsCreatedBy;
}
@com.fasterxml.jackson.annotation.JsonProperty("idcsLastModifiedBy")
private final IdcsLastModifiedBy idcsLastModifiedBy;
public IdcsLastModifiedBy getIdcsLastModifiedBy() {
return idcsLastModifiedBy;
}
/**
* Each value of this attribute specifies an operation that only an internal client may perform
* on this particular resource.
*
* *SCIM++ Properties:** - idcsSearchable: false - multiValued: true - mutability: readOnly -
* required: false - returned: request - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("idcsPreventedOperations")
private final java.util.List idcsPreventedOperations;
/**
* Each value of this attribute specifies an operation that only an internal client may perform
* on this particular resource.
*
* *SCIM++ Properties:** - idcsSearchable: false - multiValued: true - mutability: readOnly -
* required: false - returned: request - type: string - uniqueness: none
*
* @return the value
*/
public java.util.List getIdcsPreventedOperations() {
return idcsPreventedOperations;
}
/**
* A list of tags on this resource.
*
* *SCIM++ Properties:** - idcsCompositeKey: [key, value] - idcsSearchable: true -
* multiValued: true - mutability: readWrite - required: false - returned: request - type:
* complex - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("tags")
private final java.util.List tags;
/**
* A list of tags on this resource.
*
* *SCIM++ Properties:** - idcsCompositeKey: [key, value] - idcsSearchable: true -
* multiValued: true - mutability: readWrite - required: false - returned: request - type:
* complex - uniqueness: none
*
* @return the value
*/
public java.util.List getTags() {
return tags;
}
/**
* A boolean flag indicating this resource in the process of being deleted. Usually set to true
* when synchronous deletion of the resource would take too long.
*
* *SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readOnly - required: false - returned: default - type: boolean - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("deleteInProgress")
private final Boolean deleteInProgress;
/**
* A boolean flag indicating this resource in the process of being deleted. Usually set to true
* when synchronous deletion of the resource would take too long.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readOnly - required: false - returned: default - type: boolean - uniqueness: none
*
* @return the value
*/
public Boolean getDeleteInProgress() {
return deleteInProgress;
}
/**
* The release number when the resource was upgraded.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false -
* mutability: readOnly - required: false - returned: request - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("idcsLastUpgradedInRelease")
private final String idcsLastUpgradedInRelease;
/**
* The release number when the resource was upgraded.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false -
* mutability: readOnly - required: false - returned: request - type: string - uniqueness: none
*
* @return the value
*/
public String getIdcsLastUpgradedInRelease() {
return idcsLastUpgradedInRelease;
}
/**
* OCI Domain Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false -
* mutability: readOnly - required: false - returned: default - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("domainOcid")
private final String domainOcid;
/**
* OCI Domain Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false -
* mutability: readOnly - required: false - returned: default - type: string - uniqueness: none
*
* @return the value
*/
public String getDomainOcid() {
return domainOcid;
}
/**
* OCI Compartment Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false -
* mutability: readOnly - required: false - returned: default - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("compartmentOcid")
private final String compartmentOcid;
/**
* OCI Compartment Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false -
* mutability: readOnly - required: false - returned: default - type: string - uniqueness: none
*
* @return the value
*/
public String getCompartmentOcid() {
return compartmentOcid;
}
/**
* OCI Tenant Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false -
* mutability: readOnly - required: false - returned: default - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("tenancyOcid")
private final String tenancyOcid;
/**
* OCI Tenant Id (ocid) in which the resource lives.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: false -
* mutability: readOnly - required: false - returned: default - type: string - uniqueness: none
*
* @return the value
*/
public String getTenancyOcid() {
return tenancyOcid;
}
/**
* An identifier for the Resource as defined by the Service Consumer. The externalId may
* simplify identification of the Resource between Service Consumer and Service provider by
* allowing the Consumer to refer to the Resource with its own identifier, obviating the need to
* store a local mapping between the local identifier of the Resource and the identifier used by
* the Service Provider. Each Resource MAY include a non-empty externalId value. The value of
* the externalId attribute is always issued be the Service Consumer and can never be specified
* by the Service Provider. The Service Provider MUST always interpret the externalId as scoped
* to the Service Consumer's tenant.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: false - returned: default - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("externalId")
private final String externalId;
/**
* An identifier for the Resource as defined by the Service Consumer. The externalId may
* simplify identification of the Resource between Service Consumer and Service provider by
* allowing the Consumer to refer to the Resource with its own identifier, obviating the need to
* store a local mapping between the local identifier of the Resource and the identifier used by
* the Service Provider. Each Resource MAY include a non-empty externalId value. The value of
* the externalId attribute is always issued be the Service Consumer and can never be specified
* by the Service Provider. The Service Provider MUST always interpret the externalId as scoped
* to the Service Consumer's tenant.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: false - returned: default - type: string - uniqueness: none
*
* @return the value
*/
public String getExternalId() {
return externalId;
}
/**
* Policy name
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: true - returned: always - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("name")
private final String name;
/**
* Policy name
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: true - returned: always - type: string - uniqueness: none
*
* @return the value
*/
public String getName() {
return name;
}
/**
* Policy Description
*
*
*SCIM++ Properties:** - idcsSearchable: false - multiValued: false - mutability: readWrite
* - required: false - returned: default - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("description")
private final String description;
/**
* Policy Description
*
*
*SCIM++ Properties:** - idcsSearchable: false - multiValued: false - mutability: readWrite
* - required: false - returned: default - type: string - uniqueness: none
*
* @return the value
*/
public String getDescription() {
return description;
}
/**
* If true, Policy is active.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: false - returned: default - type: boolean - uniqueness:
* none
*/
@com.fasterxml.jackson.annotation.JsonProperty("active")
private final Boolean active;
/**
* If true, Policy is active.
*
*
*SCIM++ Properties:** - caseExact: false - idcsSearchable: true - multiValued: false -
* mutability: readWrite - required: false - returned: default - type: boolean - uniqueness:
* none
*
* @return the value
*/
public Boolean getActive() {
return active;
}
/**
* The Groovy script that is run instead of the policy, if the policy type allows the policy to
* be a Groovy script.
*
*
*SCIM++ Properties:** - idcsSearchable: false - multiValued: false - mutability: readWrite
* - required: false - returned: default - type: string - uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("policyGroovy")
private final String policyGroovy;
/**
* The Groovy script that is run instead of the policy, if the policy type allows the policy to
* be a Groovy script.
*
*
*SCIM++ Properties:** - idcsSearchable: false - multiValued: false - mutability: readWrite
* - required: false - returned: default - type: string - uniqueness: none
*
* @return the value
*/
public String getPolicyGroovy() {
return policyGroovy;
}
/**
* Rules assigned to this policy
*
*
*SCIM++ Properties:** - idcsCompositeKey: [value] - idcsSearchable: true - multiValued:
* true - mutability: readWrite - required: false - returned: request - type: complex -
* uniqueness: none
*/
@com.fasterxml.jackson.annotation.JsonProperty("rules")
private final java.util.List rules;
/**
* Rules assigned to this policy
*
* *SCIM++ Properties:** - idcsCompositeKey: [value] - idcsSearchable: true - multiValued:
* true - mutability: readWrite - required: false - returned: request - type: complex -
* uniqueness: none
*
* @return the value
*/
public java.util.List getRules() {
return rules;
}
@com.fasterxml.jackson.annotation.JsonProperty("policyType")
private final PolicyPolicyType policyType;
public PolicyPolicyType getPolicyType() {
return policyType;
}
@Override
public String toString() {
return this.toString(true);
}
/**
* Return a string representation of the object.
*
* @param includeByteArrayContents true to include the full contents of byte arrays
* @return string representation
*/
public String toString(boolean includeByteArrayContents) {
java.lang.StringBuilder sb = new java.lang.StringBuilder();
sb.append("Policy(");
sb.append("super=").append(super.toString());
sb.append("id=").append(String.valueOf(this.id));
sb.append(", ocid=").append(String.valueOf(this.ocid));
sb.append(", schemas=").append(String.valueOf(this.schemas));
sb.append(", meta=").append(String.valueOf(this.meta));
sb.append(", idcsCreatedBy=").append(String.valueOf(this.idcsCreatedBy));
sb.append(", idcsLastModifiedBy=").append(String.valueOf(this.idcsLastModifiedBy));
sb.append(", idcsPreventedOperations=")
.append(String.valueOf(this.idcsPreventedOperations));
sb.append(", tags=").append(String.valueOf(this.tags));
sb.append(", deleteInProgress=").append(String.valueOf(this.deleteInProgress));
sb.append(", idcsLastUpgradedInRelease=")
.append(String.valueOf(this.idcsLastUpgradedInRelease));
sb.append(", domainOcid=").append(String.valueOf(this.domainOcid));
sb.append(", compartmentOcid=").append(String.valueOf(this.compartmentOcid));
sb.append(", tenancyOcid=").append(String.valueOf(this.tenancyOcid));
sb.append(", externalId=").append(String.valueOf(this.externalId));
sb.append(", name=").append(String.valueOf(this.name));
sb.append(", description=").append(String.valueOf(this.description));
sb.append(", active=").append(String.valueOf(this.active));
sb.append(", policyGroovy=").append(String.valueOf(this.policyGroovy));
sb.append(", rules=").append(String.valueOf(this.rules));
sb.append(", policyType=").append(String.valueOf(this.policyType));
sb.append(")");
return sb.toString();
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Policy)) {
return false;
}
Policy other = (Policy) o;
return java.util.Objects.equals(this.id, other.id)
&& java.util.Objects.equals(this.ocid, other.ocid)
&& java.util.Objects.equals(this.schemas, other.schemas)
&& java.util.Objects.equals(this.meta, other.meta)
&& java.util.Objects.equals(this.idcsCreatedBy, other.idcsCreatedBy)
&& java.util.Objects.equals(this.idcsLastModifiedBy, other.idcsLastModifiedBy)
&& java.util.Objects.equals(
this.idcsPreventedOperations, other.idcsPreventedOperations)
&& java.util.Objects.equals(this.tags, other.tags)
&& java.util.Objects.equals(this.deleteInProgress, other.deleteInProgress)
&& java.util.Objects.equals(
this.idcsLastUpgradedInRelease, other.idcsLastUpgradedInRelease)
&& java.util.Objects.equals(this.domainOcid, other.domainOcid)
&& java.util.Objects.equals(this.compartmentOcid, other.compartmentOcid)
&& java.util.Objects.equals(this.tenancyOcid, other.tenancyOcid)
&& java.util.Objects.equals(this.externalId, other.externalId)
&& java.util.Objects.equals(this.name, other.name)
&& java.util.Objects.equals(this.description, other.description)
&& java.util.Objects.equals(this.active, other.active)
&& java.util.Objects.equals(this.policyGroovy, other.policyGroovy)
&& java.util.Objects.equals(this.rules, other.rules)
&& java.util.Objects.equals(this.policyType, other.policyType)
&& super.equals(other);
}
@Override
public int hashCode() {
final int PRIME = 59;
int result = 1;
result = (result * PRIME) + (this.id == null ? 43 : this.id.hashCode());
result = (result * PRIME) + (this.ocid == null ? 43 : this.ocid.hashCode());
result = (result * PRIME) + (this.schemas == null ? 43 : this.schemas.hashCode());
result = (result * PRIME) + (this.meta == null ? 43 : this.meta.hashCode());
result =
(result * PRIME)
+ (this.idcsCreatedBy == null ? 43 : this.idcsCreatedBy.hashCode());
result =
(result * PRIME)
+ (this.idcsLastModifiedBy == null
? 43
: this.idcsLastModifiedBy.hashCode());
result =
(result * PRIME)
+ (this.idcsPreventedOperations == null
? 43
: this.idcsPreventedOperations.hashCode());
result = (result * PRIME) + (this.tags == null ? 43 : this.tags.hashCode());
result =
(result * PRIME)
+ (this.deleteInProgress == null ? 43 : this.deleteInProgress.hashCode());
result =
(result * PRIME)
+ (this.idcsLastUpgradedInRelease == null
? 43
: this.idcsLastUpgradedInRelease.hashCode());
result = (result * PRIME) + (this.domainOcid == null ? 43 : this.domainOcid.hashCode());
result =
(result * PRIME)
+ (this.compartmentOcid == null ? 43 : this.compartmentOcid.hashCode());
result = (result * PRIME) + (this.tenancyOcid == null ? 43 : this.tenancyOcid.hashCode());
result = (result * PRIME) + (this.externalId == null ? 43 : this.externalId.hashCode());
result = (result * PRIME) + (this.name == null ? 43 : this.name.hashCode());
result = (result * PRIME) + (this.description == null ? 43 : this.description.hashCode());
result = (result * PRIME) + (this.active == null ? 43 : this.active.hashCode());
result = (result * PRIME) + (this.policyGroovy == null ? 43 : this.policyGroovy.hashCode());
result = (result * PRIME) + (this.rules == null ? 43 : this.rules.hashCode());
result = (result * PRIME) + (this.policyType == null ? 43 : this.policyType.hashCode());
result = (result * PRIME) + super.hashCode();
return result;
}
}