
com.oracle.bmc.certificatesmanagement.model.CertificateAuthorityRule Maven / Gradle / Ivy
/**
* Copyright (c) 2016, 2022, 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.certificatesmanagement.model;
/**
* A rule that you can apply to a certificate authority (CA) to enforce certain conditions on its usage and management.
*
* 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 #__explicitlySet__}. The {@link #hashCode()} and {@link #equals(Object)} methods are implemented to take
* {@link #__explicitlySet__} into account. The constructor, on the other hand, does not set {@link #__explicitlySet__}
* (since the constructor cannot distinguish explicit {@code null} from unset {@code null}).
**/
@javax.annotation.Generated(value = "OracleSDKGenerator", comments = "API Version: 20210224")
@lombok.AllArgsConstructor(
onConstructor = @__({@Deprecated}),
access = lombok.AccessLevel.PROTECTED
)
@lombok.Value
@lombok.experimental.NonFinal
@com.fasterxml.jackson.annotation.JsonTypeInfo(
use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME,
include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY,
property = "ruleType",
defaultImpl = CertificateAuthorityRule.class
)
@com.fasterxml.jackson.annotation.JsonSubTypes({
@com.fasterxml.jackson.annotation.JsonSubTypes.Type(
value = CertificateAuthorityIssuanceExpiryRule.class,
name = "CERTIFICATE_AUTHORITY_ISSUANCE_EXPIRY_RULE"
)
})
@com.fasterxml.jackson.annotation.JsonFilter(com.oracle.bmc.http.internal.ExplicitlySetFilter.NAME)
public class CertificateAuthorityRule {
/**
* The type of rule, whether a renewal rule regarding when to renew the CA or an issuance expiry rule that governs how long the certificates and CAs issued by the CA are valid. (For internal use only) An internal issuance rule defines the number and type of certificates that the CA can issue.
*
**/
@lombok.extern.slf4j.Slf4j
public enum RuleType {
CertificateAuthorityIssuanceExpiryRule("CERTIFICATE_AUTHORITY_ISSUANCE_EXPIRY_RULE"),
/**
* This value is used if a service returns a value for this enum that is not recognized by this
* version of the SDK.
*/
UnknownEnumValue(null);
private final String value;
private static java.util.Map map;
static {
map = new java.util.HashMap<>();
for (RuleType v : RuleType.values()) {
if (v != UnknownEnumValue) {
map.put(v.getValue(), v);
}
}
}
RuleType(String value) {
this.value = value;
}
@com.fasterxml.jackson.annotation.JsonValue
public String getValue() {
return value;
}
@com.fasterxml.jackson.annotation.JsonCreator
public static RuleType create(String key) {
if (map.containsKey(key)) {
return map.get(key);
}
LOG.warn(
"Received unknown value '{}' for enum 'RuleType', returning UnknownEnumValue",
key);
return UnknownEnumValue;
}
};
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy