bitwarden_api_api/models/register_target_system_request_model.rs
1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15/// RegisterTargetSystemRequestModel : Registers a target system, automatic or manual (spec
16/// `RegisterAutomaticTargetSystem` / `RegisterManualTargetSystem`) -- method-discriminated on
17/// Bit.Services.Pam.AccessConnector.Rotation.Api.Models.Request.RegisterTargetSystemRequestModel.
18/// Method: an Bit.Pam.Enums.PamTargetSystemMethod.Automatic target carries
19/// Bit.Services.Pam.AccessConnector.Rotation.Api.Models.Request.RegisterTargetSystemRequestModel.
20/// Kind, Bit.Services.Pam.AccessConnector.Rotation.Api.Models.Request.
21/// RegisterTargetSystemRequestModel.PasswordPolicy, and
22/// Bit.Services.Pam.AccessConnector.Rotation.Api.Models.Request.RegisterTargetSystemRequestModel.
23/// SupportsSessionTermination; a Bit.Pam.Enums.PamTargetSystemMethod.Manual target carries none of
24/// the three.
25#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
26pub struct RegisterTargetSystemRequestModel {
27 /// The target system's display name, shown wherever targets are listed and managed.
28 #[serde(rename = "name", alias = "Name")]
29 pub name: String,
30 #[serde(rename = "method", alias = "Method")]
31 pub method: models::PamTargetSystemMethod,
32 #[serde(
33 rename = "kind",
34 alias = "Kind",
35 skip_serializing_if = "Option::is_none"
36 )]
37 pub kind: Option<models::PamTargetSystemKind>,
38 #[serde(
39 rename = "passwordPolicy",
40 alias = "PasswordPolicy",
41 skip_serializing_if = "Option::is_none"
42 )]
43 pub password_policy: Option<Box<models::PamPasswordPolicyRequestModel>>,
44 /// Whether the integration can terminate the account's live sessions after a rotation; gates
45 /// whether rotation configs on this target may request session termination.
46 #[serde(
47 rename = "supportsSessionTermination",
48 alias = "SupportsSessionTermination",
49 skip_serializing_if = "Option::is_none"
50 )]
51 pub supports_session_termination: Option<bool>,
52}
53
54impl RegisterTargetSystemRequestModel {
55 /// Registers a target system, automatic or manual (spec `RegisterAutomaticTargetSystem` /
56 /// `RegisterManualTargetSystem`) -- method-discriminated on
57 /// Bit.Services.Pam.AccessConnector.Rotation.Api.Models.Request.
58 /// RegisterTargetSystemRequestModel.Method: an Bit.Pam.Enums.PamTargetSystemMethod.Automatic
59 /// target carries
60 /// Bit.Services.Pam.AccessConnector.Rotation.Api.Models.Request.
61 /// RegisterTargetSystemRequestModel.Kind,
62 /// Bit.Services.Pam.AccessConnector.Rotation.Api.Models.Request.
63 /// RegisterTargetSystemRequestModel.PasswordPolicy, and
64 /// Bit.Services.Pam.AccessConnector.Rotation.Api.Models.Request.
65 /// RegisterTargetSystemRequestModel.SupportsSessionTermination; a
66 /// Bit.Pam.Enums.PamTargetSystemMethod.Manual target carries none of the three.
67 pub fn new(
68 name: String,
69 method: models::PamTargetSystemMethod,
70 ) -> RegisterTargetSystemRequestModel {
71 RegisterTargetSystemRequestModel {
72 name,
73 method,
74 kind: None,
75 password_policy: None,
76 supports_session_termination: None,
77 }
78 }
79}