#[non_exhaustive]pub struct IssuancePolicy {
pub allowed_key_types: Vec<AllowedKeyType>,
pub backdate_duration: Option<Duration>,
pub maximum_lifetime: Option<Duration>,
pub allowed_issuance_modes: Option<IssuanceModes>,
pub baseline_values: Option<X509Parameters>,
pub identity_constraints: Option<CertificateIdentityConstraints>,
pub passthrough_extensions: Option<CertificateExtensionConstraints>,
/* private fields */
}Expand description
Defines controls over all certificate issuance within a CaPool.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.allowed_key_types: Vec<AllowedKeyType>Optional. If any AllowedKeyType is specified, then the certificate request’s public key must match one of the key types listed here. Otherwise, any key may be used.
backdate_duration: Option<Duration>Optional. The duration to backdate all certificates issued from this CaPool. If not set, the certificates will be issued with a not_before_time of the issuance time (i.e. the current time). If set, the certificates will be issued with a not_before_time of the issuance time minus the backdate_duration. The not_after_time will be adjusted to preserve the requested lifetime. The backdate_duration must be less than or equal to 48 hours.
maximum_lifetime: Option<Duration>Optional. The maximum lifetime allowed for issued Certificates. Note that if the issuing CertificateAuthority expires before a Certificate resource’s requested maximum_lifetime, the effective lifetime will be explicitly truncated to match it.
allowed_issuance_modes: Option<IssuanceModes>Optional. If specified, then only methods allowed in the IssuanceModes may be used to issue Certificates.
baseline_values: Option<X509Parameters>Optional. A set of X.509 values that will be applied to all certificates issued through this CaPool. If a certificate request includes conflicting values for the same properties, they will be overwritten by the values defined here. If a certificate request uses a CertificateTemplate that defines conflicting predefined_values for the same properties, the certificate issuance request will fail.
identity_constraints: Option<CertificateIdentityConstraints>Optional. Describes constraints on identities that may appear in Certificates issued through this CaPool. If this is omitted, then this CaPool will not add restrictions on a certificate’s identity.
passthrough_extensions: Option<CertificateExtensionConstraints>Optional. Describes the set of X.509 extensions that may appear in a Certificate issued through this CaPool. If a certificate request sets extensions that don’t appear in the passthrough_extensions, those extensions will be dropped. If a certificate request uses a CertificateTemplate with predefined_values that don’t appear here, the certificate issuance request will fail. If this is omitted, then this CaPool will not add restrictions on a certificate’s X.509 extensions. These constraints do not apply to X.509 extensions set in this CaPool’s baseline_values.
Implementations§
Source§impl IssuancePolicy
impl IssuancePolicy
pub fn new() -> Self
Sourcepub fn set_allowed_key_types<T, V>(self, v: T) -> Self
pub fn set_allowed_key_types<T, V>(self, v: T) -> Self
Sets the value of allowed_key_types.
§Example
use google_cloud_security_privateca_v1::model::ca_pool::issuance_policy::AllowedKeyType;
let x = IssuancePolicy::new()
.set_allowed_key_types([
AllowedKeyType::default()/* use setters */,
AllowedKeyType::default()/* use (different) setters */,
]);Sourcepub fn set_backdate_duration<T>(self, v: T) -> Self
pub fn set_backdate_duration<T>(self, v: T) -> Self
Sets the value of backdate_duration.
§Example
use wkt::Duration;
let x = IssuancePolicy::new().set_backdate_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_backdate_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_backdate_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of backdate_duration.
§Example
use wkt::Duration;
let x = IssuancePolicy::new().set_or_clear_backdate_duration(Some(Duration::default()/* use setters */));
let x = IssuancePolicy::new().set_or_clear_backdate_duration(None::<Duration>);Sourcepub fn set_maximum_lifetime<T>(self, v: T) -> Self
pub fn set_maximum_lifetime<T>(self, v: T) -> Self
Sets the value of maximum_lifetime.
§Example
use wkt::Duration;
let x = IssuancePolicy::new().set_maximum_lifetime(Duration::default()/* use setters */);Sourcepub fn set_or_clear_maximum_lifetime<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_maximum_lifetime<T>(self, v: Option<T>) -> Self
Sets or clears the value of maximum_lifetime.
§Example
use wkt::Duration;
let x = IssuancePolicy::new().set_or_clear_maximum_lifetime(Some(Duration::default()/* use setters */));
let x = IssuancePolicy::new().set_or_clear_maximum_lifetime(None::<Duration>);Sourcepub fn set_allowed_issuance_modes<T>(self, v: T) -> Selfwhere
T: Into<IssuanceModes>,
pub fn set_allowed_issuance_modes<T>(self, v: T) -> Selfwhere
T: Into<IssuanceModes>,
Sets the value of allowed_issuance_modes.
§Example
use google_cloud_security_privateca_v1::model::ca_pool::issuance_policy::IssuanceModes;
let x = IssuancePolicy::new().set_allowed_issuance_modes(IssuanceModes::default()/* use setters */);Sourcepub fn set_or_clear_allowed_issuance_modes<T>(self, v: Option<T>) -> Selfwhere
T: Into<IssuanceModes>,
pub fn set_or_clear_allowed_issuance_modes<T>(self, v: Option<T>) -> Selfwhere
T: Into<IssuanceModes>,
Sets or clears the value of allowed_issuance_modes.
§Example
use google_cloud_security_privateca_v1::model::ca_pool::issuance_policy::IssuanceModes;
let x = IssuancePolicy::new().set_or_clear_allowed_issuance_modes(Some(IssuanceModes::default()/* use setters */));
let x = IssuancePolicy::new().set_or_clear_allowed_issuance_modes(None::<IssuanceModes>);Sourcepub fn set_baseline_values<T>(self, v: T) -> Selfwhere
T: Into<X509Parameters>,
pub fn set_baseline_values<T>(self, v: T) -> Selfwhere
T: Into<X509Parameters>,
Sets the value of baseline_values.
§Example
use google_cloud_security_privateca_v1::model::X509Parameters;
let x = IssuancePolicy::new().set_baseline_values(X509Parameters::default()/* use setters */);Sourcepub fn set_or_clear_baseline_values<T>(self, v: Option<T>) -> Selfwhere
T: Into<X509Parameters>,
pub fn set_or_clear_baseline_values<T>(self, v: Option<T>) -> Selfwhere
T: Into<X509Parameters>,
Sets or clears the value of baseline_values.
§Example
use google_cloud_security_privateca_v1::model::X509Parameters;
let x = IssuancePolicy::new().set_or_clear_baseline_values(Some(X509Parameters::default()/* use setters */));
let x = IssuancePolicy::new().set_or_clear_baseline_values(None::<X509Parameters>);Sourcepub fn set_identity_constraints<T>(self, v: T) -> Selfwhere
T: Into<CertificateIdentityConstraints>,
pub fn set_identity_constraints<T>(self, v: T) -> Selfwhere
T: Into<CertificateIdentityConstraints>,
Sets the value of identity_constraints.
§Example
use google_cloud_security_privateca_v1::model::CertificateIdentityConstraints;
let x = IssuancePolicy::new().set_identity_constraints(CertificateIdentityConstraints::default()/* use setters */);Sourcepub fn set_or_clear_identity_constraints<T>(self, v: Option<T>) -> Selfwhere
T: Into<CertificateIdentityConstraints>,
pub fn set_or_clear_identity_constraints<T>(self, v: Option<T>) -> Selfwhere
T: Into<CertificateIdentityConstraints>,
Sets or clears the value of identity_constraints.
§Example
use google_cloud_security_privateca_v1::model::CertificateIdentityConstraints;
let x = IssuancePolicy::new().set_or_clear_identity_constraints(Some(CertificateIdentityConstraints::default()/* use setters */));
let x = IssuancePolicy::new().set_or_clear_identity_constraints(None::<CertificateIdentityConstraints>);Sourcepub fn set_passthrough_extensions<T>(self, v: T) -> Selfwhere
T: Into<CertificateExtensionConstraints>,
pub fn set_passthrough_extensions<T>(self, v: T) -> Selfwhere
T: Into<CertificateExtensionConstraints>,
Sets the value of passthrough_extensions.
§Example
use google_cloud_security_privateca_v1::model::CertificateExtensionConstraints;
let x = IssuancePolicy::new().set_passthrough_extensions(CertificateExtensionConstraints::default()/* use setters */);Sourcepub fn set_or_clear_passthrough_extensions<T>(self, v: Option<T>) -> Selfwhere
T: Into<CertificateExtensionConstraints>,
pub fn set_or_clear_passthrough_extensions<T>(self, v: Option<T>) -> Selfwhere
T: Into<CertificateExtensionConstraints>,
Sets or clears the value of passthrough_extensions.
§Example
use google_cloud_security_privateca_v1::model::CertificateExtensionConstraints;
let x = IssuancePolicy::new().set_or_clear_passthrough_extensions(Some(CertificateExtensionConstraints::default()/* use setters */));
let x = IssuancePolicy::new().set_or_clear_passthrough_extensions(None::<CertificateExtensionConstraints>);Trait Implementations§
Source§impl Clone for IssuancePolicy
impl Clone for IssuancePolicy
Source§fn clone(&self) -> IssuancePolicy
fn clone(&self) -> IssuancePolicy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more