Skip to main content

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}