#[non_exhaustive]pub struct Entitlement {
pub name: String,
pub create_time: Option<Timestamp>,
pub update_time: Option<Timestamp>,
pub eligible_users: Vec<AccessControlEntry>,
pub approval_workflow: Option<ApprovalWorkflow>,
pub privileged_access: Option<PrivilegedAccess>,
pub max_request_duration: Option<Duration>,
pub state: State,
pub requester_justification_config: Option<RequesterJustificationConfig>,
pub additional_notification_targets: Option<AdditionalNotificationTargets>,
pub etag: String,
/* private fields */
}Expand description
An entitlement defines the eligibility of a set of users to obtain predefined access for some time possibly after going through an approval workflow.
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.name: StringIdentifier. Name of the entitlement. Possible formats:
organizations/{organization-number}/locations/{region}/entitlements/{entitlement-id}folders/{folder-number}/locations/{region}/entitlements/{entitlement-id}projects/{project-id|project-number}/locations/{region}/entitlements/{entitlement-id}
create_time: Option<Timestamp>Output only. Create time stamp.
update_time: Option<Timestamp>Output only. Update time stamp.
eligible_users: Vec<AccessControlEntry>Optional. Who can create grants using this entitlement. This list should contain at most one entry.
approval_workflow: Option<ApprovalWorkflow>Optional. The approvals needed before access are granted to a requester. No approvals are needed if this field is null.
privileged_access: Option<PrivilegedAccess>The access granted to a requester on successful approval.
max_request_duration: Option<Duration>Required. The maximum amount of time that access is granted for a request. A requester can ask for a duration less than this, but never more.
state: StateOutput only. Current state of this entitlement.
requester_justification_config: Option<RequesterJustificationConfig>Required. The manner in which the requester should provide a justification for requesting access.
additional_notification_targets: Option<AdditionalNotificationTargets>Optional. Additional email addresses to be notified based on actions taken.
etag: StringAn etag is used for optimistic concurrency control as a way to prevent
simultaneous updates to the same entitlement. An etag is returned in the
response to GetEntitlement and the caller should put the etag in the
request to UpdateEntitlement so that their change is applied on
the same version. If this field is omitted or if there is a mismatch while
updating an entitlement, then the server rejects the request.
Implementations§
Source§impl Entitlement
impl Entitlement
Sourcepub fn set_create_time<T>(self, v: T) -> Self
pub fn set_create_time<T>(self, v: T) -> Self
Sets the value of create_time.
§Example
use wkt::Timestamp;
let x = Entitlement::new().set_create_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_create_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of create_time.
§Example
use wkt::Timestamp;
let x = Entitlement::new().set_or_clear_create_time(Some(Timestamp::default()/* use setters */));
let x = Entitlement::new().set_or_clear_create_time(None::<Timestamp>);Sourcepub fn set_update_time<T>(self, v: T) -> Self
pub fn set_update_time<T>(self, v: T) -> Self
Sets the value of update_time.
§Example
use wkt::Timestamp;
let x = Entitlement::new().set_update_time(Timestamp::default()/* use setters */);Sourcepub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_update_time<T>(self, v: Option<T>) -> Self
Sets or clears the value of update_time.
§Example
use wkt::Timestamp;
let x = Entitlement::new().set_or_clear_update_time(Some(Timestamp::default()/* use setters */));
let x = Entitlement::new().set_or_clear_update_time(None::<Timestamp>);Sourcepub fn set_eligible_users<T, V>(self, v: T) -> Self
pub fn set_eligible_users<T, V>(self, v: T) -> Self
Sets the value of eligible_users.
§Example
use google_cloud_privilegedaccessmanager_v1::model::AccessControlEntry;
let x = Entitlement::new()
.set_eligible_users([
AccessControlEntry::default()/* use setters */,
AccessControlEntry::default()/* use (different) setters */,
]);Sourcepub fn set_approval_workflow<T>(self, v: T) -> Selfwhere
T: Into<ApprovalWorkflow>,
pub fn set_approval_workflow<T>(self, v: T) -> Selfwhere
T: Into<ApprovalWorkflow>,
Sets the value of approval_workflow.
§Example
use google_cloud_privilegedaccessmanager_v1::model::ApprovalWorkflow;
let x = Entitlement::new().set_approval_workflow(ApprovalWorkflow::default()/* use setters */);Sourcepub fn set_or_clear_approval_workflow<T>(self, v: Option<T>) -> Selfwhere
T: Into<ApprovalWorkflow>,
pub fn set_or_clear_approval_workflow<T>(self, v: Option<T>) -> Selfwhere
T: Into<ApprovalWorkflow>,
Sets or clears the value of approval_workflow.
§Example
use google_cloud_privilegedaccessmanager_v1::model::ApprovalWorkflow;
let x = Entitlement::new().set_or_clear_approval_workflow(Some(ApprovalWorkflow::default()/* use setters */));
let x = Entitlement::new().set_or_clear_approval_workflow(None::<ApprovalWorkflow>);Sourcepub fn set_privileged_access<T>(self, v: T) -> Selfwhere
T: Into<PrivilegedAccess>,
pub fn set_privileged_access<T>(self, v: T) -> Selfwhere
T: Into<PrivilegedAccess>,
Sets the value of privileged_access.
§Example
use google_cloud_privilegedaccessmanager_v1::model::PrivilegedAccess;
let x = Entitlement::new().set_privileged_access(PrivilegedAccess::default()/* use setters */);Sourcepub fn set_or_clear_privileged_access<T>(self, v: Option<T>) -> Selfwhere
T: Into<PrivilegedAccess>,
pub fn set_or_clear_privileged_access<T>(self, v: Option<T>) -> Selfwhere
T: Into<PrivilegedAccess>,
Sets or clears the value of privileged_access.
§Example
use google_cloud_privilegedaccessmanager_v1::model::PrivilegedAccess;
let x = Entitlement::new().set_or_clear_privileged_access(Some(PrivilegedAccess::default()/* use setters */));
let x = Entitlement::new().set_or_clear_privileged_access(None::<PrivilegedAccess>);Sourcepub fn set_max_request_duration<T>(self, v: T) -> Self
pub fn set_max_request_duration<T>(self, v: T) -> Self
Sets the value of max_request_duration.
§Example
use wkt::Duration;
let x = Entitlement::new().set_max_request_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_max_request_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_max_request_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of max_request_duration.
§Example
use wkt::Duration;
let x = Entitlement::new().set_or_clear_max_request_duration(Some(Duration::default()/* use setters */));
let x = Entitlement::new().set_or_clear_max_request_duration(None::<Duration>);Sourcepub fn set_requester_justification_config<T>(self, v: T) -> Selfwhere
T: Into<RequesterJustificationConfig>,
pub fn set_requester_justification_config<T>(self, v: T) -> Selfwhere
T: Into<RequesterJustificationConfig>,
Sets the value of requester_justification_config.
§Example
use google_cloud_privilegedaccessmanager_v1::model::entitlement::RequesterJustificationConfig;
let x = Entitlement::new().set_requester_justification_config(RequesterJustificationConfig::default()/* use setters */);Sourcepub fn set_or_clear_requester_justification_config<T>(
self,
v: Option<T>,
) -> Selfwhere
T: Into<RequesterJustificationConfig>,
pub fn set_or_clear_requester_justification_config<T>(
self,
v: Option<T>,
) -> Selfwhere
T: Into<RequesterJustificationConfig>,
Sets or clears the value of requester_justification_config.
§Example
use google_cloud_privilegedaccessmanager_v1::model::entitlement::RequesterJustificationConfig;
let x = Entitlement::new().set_or_clear_requester_justification_config(Some(RequesterJustificationConfig::default()/* use setters */));
let x = Entitlement::new().set_or_clear_requester_justification_config(None::<RequesterJustificationConfig>);Sourcepub fn set_additional_notification_targets<T>(self, v: T) -> Selfwhere
T: Into<AdditionalNotificationTargets>,
pub fn set_additional_notification_targets<T>(self, v: T) -> Selfwhere
T: Into<AdditionalNotificationTargets>,
Sets the value of additional_notification_targets.
§Example
use google_cloud_privilegedaccessmanager_v1::model::entitlement::AdditionalNotificationTargets;
let x = Entitlement::new().set_additional_notification_targets(AdditionalNotificationTargets::default()/* use setters */);Sourcepub fn set_or_clear_additional_notification_targets<T>(
self,
v: Option<T>,
) -> Selfwhere
T: Into<AdditionalNotificationTargets>,
pub fn set_or_clear_additional_notification_targets<T>(
self,
v: Option<T>,
) -> Selfwhere
T: Into<AdditionalNotificationTargets>,
Sets or clears the value of additional_notification_targets.
§Example
use google_cloud_privilegedaccessmanager_v1::model::entitlement::AdditionalNotificationTargets;
let x = Entitlement::new().set_or_clear_additional_notification_targets(Some(AdditionalNotificationTargets::default()/* use setters */));
let x = Entitlement::new().set_or_clear_additional_notification_targets(None::<AdditionalNotificationTargets>);Trait Implementations§
Source§impl Clone for Entitlement
impl Clone for Entitlement
Source§fn clone(&self) -> Entitlement
fn clone(&self) -> Entitlement
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more