antimatter_api 2.0.13

Interact with the Antimatter Cloud API
Documentation
/*
 * Antimatter Public API
 *
 * Interact with the Antimatter Cloud API
 *
 * The version of the OpenAPI document: 2.0.13
 * Contact: support@antimatter.io
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// CreatePeerDomain : Configuration options for creating a new subdomain. 
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreatePeerDomain {
    /// a list of names for this domain. These can be used to look up this domain later by using domainFromNickname. All nicknames for peer domains must be unique within a domain 
    #[serde(rename = "nicknames", skip_serializing_if = "Option::is_none")]
    pub nicknames: Option<Vec<String>>,
    /// An alias for a peer domain. It must be unique within a domain. The alias is used to refer to the peer domain in policies. A peer may have only one alias 
    #[serde(rename = "importAliasForParent", skip_serializing_if = "Option::is_none")]
    pub import_alias_for_parent: Option<String>,
    /// An alias for a peer domain. It must be unique within a domain. The alias is used to refer to the peer domain in policies. A peer may have only one alias 
    #[serde(rename = "importAliasForChild")]
    pub import_alias_for_child: String,
    /// The default display name used for this domain. The display name is also treated as a nickname and so can be used from domainFromNickname. 
    #[serde(rename = "displayNameForParent", skip_serializing_if = "Option::is_none")]
    pub display_name_for_parent: Option<String>,
    /// The default display name used for this domain. The display name is also treated as a nickname and so can be used from domainFromNickname. 
    #[serde(rename = "displayNameForChild")]
    pub display_name_for_child: String,
    #[serde(rename = "linkAll", skip_serializing_if = "Option::is_none")]
    pub link_all: Option<bool>,
    #[serde(rename = "linkIdentityProviders", skip_serializing_if = "Option::is_none")]
    pub link_identity_providers: Option<bool>,
    #[serde(rename = "linkFacts", skip_serializing_if = "Option::is_none")]
    pub link_facts: Option<bool>,
    #[serde(rename = "linkReadContexts", skip_serializing_if = "Option::is_none")]
    pub link_read_contexts: Option<bool>,
    #[serde(rename = "linkWriteContexts", skip_serializing_if = "Option::is_none")]
    pub link_write_contexts: Option<bool>,
    #[serde(rename = "linkCapabilities", skip_serializing_if = "Option::is_none")]
    pub link_capabilities: Option<bool>,
    #[serde(rename = "linkDomainPolicy", skip_serializing_if = "Option::is_none")]
    pub link_domain_policy: Option<bool>,
    #[serde(rename = "linkDataPolicy", skip_serializing_if = "Option::is_none")]
    pub link_data_policy: Option<bool>,
    #[serde(rename = "linkRootEncryptionKeys", skip_serializing_if = "Option::is_none")]
    pub link_root_encryption_keys: Option<bool>,
    #[serde(rename = "linkCapsuleAccessLog", skip_serializing_if = "Option::is_none")]
    pub link_capsule_access_log: Option<bool>,
    #[serde(rename = "linkControlLog", skip_serializing_if = "Option::is_none")]
    pub link_control_log: Option<bool>,
    #[serde(rename = "linkCapsuleManifest", skip_serializing_if = "Option::is_none")]
    pub link_capsule_manifest: Option<bool>,
}

impl CreatePeerDomain {
    /// Configuration options for creating a new subdomain. 
    pub fn new(import_alias_for_child: String, display_name_for_child: String) -> CreatePeerDomain {
        CreatePeerDomain {
            nicknames: None,
            import_alias_for_parent: None,
            import_alias_for_child,
            display_name_for_parent: None,
            display_name_for_child,
            link_all: None,
            link_identity_providers: None,
            link_facts: None,
            link_read_contexts: None,
            link_write_contexts: None,
            link_capabilities: None,
            link_domain_policy: None,
            link_data_policy: None,
            link_root_encryption_keys: None,
            link_capsule_access_log: None,
            link_control_log: None,
            link_capsule_manifest: None,
        }
    }
}