#![allow(non_camel_case_types)]
#![allow(unused_imports)]
use serde::de::{value, Deserializer, IntoDeserializer};
use serde::{Deserialize, Serialize, Serializer};
use std::str::FromStr;
#[doc = "Credential type that uses Account Key for authentication."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AccountKeyAuthAzureKeyVaultCredential {
#[serde(flatten)]
pub credential: Credential,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AccountKeyAuthAzureKeyVaultCredential {
pub fn new(credential: Credential) -> Self {
Self {
credential,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AccountKeyCredentialProperties {
#[serde(rename = "typeProperties", default, skip_serializing_if = "Option::is_none")]
pub type_properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl AccountKeyCredentialProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdlsGen1CredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AdlsGen1CredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AdlsGen1CredentialScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
}
impl AdlsGen1CredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdlsGen1DataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AdlsGen1DataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdlsGen1MsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AdlsGen1MsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AdlsGen1MsiScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
}
impl AdlsGen1MsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AdlsGen1Properties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
}
impl AdlsGen1Properties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdlsGen1ScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AdlsGen1ScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AdlsGen1ScanRulesetProperties {
#[serde(flatten)]
pub scanning_rule_scan_ruleset_properties: ScanningRuleScanRulesetProperties,
}
impl AdlsGen1ScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdlsGen1SystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AdlsGen1SystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdlsGen2CredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AdlsGen2CredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AdlsGen2CredentialScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
}
impl AdlsGen2CredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdlsGen2DataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AdlsGen2DataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdlsGen2MsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AdlsGen2MsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AdlsGen2MsiScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
}
impl AdlsGen2MsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AdlsGen2Properties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
}
impl AdlsGen2Properties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdlsGen2ScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AdlsGen2ScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AdlsGen2ScanRulesetProperties {
#[serde(flatten)]
pub scanning_rule_scan_ruleset_properties: ScanningRuleScanRulesetProperties,
}
impl AdlsGen2ScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AdlsGen2SystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AdlsGen2SystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonAccountCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonAccountCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonAccountCredentialScanProperties {
#[serde(flatten)]
pub expanding_resource_scan_properties: ExpandingResourceScanProperties,
}
impl AmazonAccountCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonAccountDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonAccountDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonAccountProperties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(rename = "awsAccountId", default, skip_serializing_if = "Option::is_none")]
pub aws_account_id: Option<String>,
#[serde(rename = "roleARN", default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
}
impl AmazonAccountProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonAccountScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonAccountScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonAccountScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AmazonAccountScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonAccountSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonAccountSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonPostgreSqlCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonPostgreSqlCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonPostgreSqlCredentialScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
#[serde(rename = "databaseName", default, skip_serializing_if = "Option::is_none")]
pub database_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
#[serde(rename = "vpcEndpointServiceName", default, skip_serializing_if = "Option::is_none")]
pub vpc_endpoint_service_name: Option<String>,
}
impl AmazonPostgreSqlCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonPostgreSqlDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonPostgreSqlDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonPostgreSqlProperties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
#[serde(rename = "vpcEndpointServiceName", default, skip_serializing_if = "Option::is_none")]
pub vpc_endpoint_service_name: Option<String>,
}
impl AmazonPostgreSqlProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonPostgreSqlScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonPostgreSqlScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonPostgreSqlScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AmazonPostgreSqlScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonPostgreSqlSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonPostgreSqlSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonS3CredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonS3CredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonS3CredentialScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(rename = "roleARN", default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "isMauiScan", default, skip_serializing_if = "Option::is_none")]
pub is_maui_scan: Option<bool>,
}
impl AmazonS3CredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonS3DataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonS3DataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonS3Properties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(rename = "serviceUrl", default, skip_serializing_if = "Option::is_none")]
pub service_url: Option<String>,
#[serde(rename = "roleARN", default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
}
impl AmazonS3Properties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonS3RoleArnScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonS3RoleArnScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonS3RoleArnScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(rename = "roleARN", default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
#[serde(rename = "isMauiScan", default, skip_serializing_if = "Option::is_none")]
pub is_maui_scan: Option<bool>,
}
impl AmazonS3RoleArnScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonS3ScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonS3ScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonS3ScanRulesetProperties {
#[serde(flatten)]
pub scanning_rule_scan_ruleset_properties: ScanningRuleScanRulesetProperties,
}
impl AmazonS3ScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonS3SystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonS3SystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonSqlCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonSqlCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonSqlCredentialScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
#[serde(rename = "databaseName", default, skip_serializing_if = "Option::is_none")]
pub database_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
#[serde(rename = "vpcEndpointServiceName", default, skip_serializing_if = "Option::is_none")]
pub vpc_endpoint_service_name: Option<String>,
}
impl AmazonSqlCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonSqlDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonSqlDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonSqlProperties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
#[serde(rename = "vpcEndpointServiceName", default, skip_serializing_if = "Option::is_none")]
pub vpc_endpoint_service_name: Option<String>,
}
impl AmazonSqlProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonSqlScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonSqlScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AmazonSqlScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AmazonSqlScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AmazonSqlSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AmazonSqlSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureCosmosDbCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureCosmosDbCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureCosmosDbCredentialScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(rename = "databaseName", default, skip_serializing_if = "Option::is_none")]
pub database_name: Option<String>,
}
impl AzureCosmosDbCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureCosmosDbDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureCosmosDbDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureCosmosDbProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(rename = "accountUri", default, skip_serializing_if = "Option::is_none")]
pub account_uri: Option<String>,
}
impl AzureCosmosDbProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureCosmosDbScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureCosmosDbScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureCosmosDbScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AzureCosmosDbScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureCosmosDbSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureCosmosDbSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureDataExplorerCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureDataExplorerCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureDataExplorerCredentialScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub database: Option<String>,
}
impl AzureDataExplorerCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureDataExplorerDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureDataExplorerDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureDataExplorerMsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureDataExplorerMsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureDataExplorerMsiScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub database: Option<String>,
}
impl AzureDataExplorerMsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureDataExplorerProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
}
impl AzureDataExplorerProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureDataExplorerScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureDataExplorerScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureDataExplorerScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AzureDataExplorerScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureDataExplorerSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureDataExplorerSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureDataSourceProperties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(rename = "resourceGroup", default, skip_serializing_if = "Option::is_none")]
pub resource_group: Option<String>,
#[serde(rename = "subscriptionId", default, skip_serializing_if = "Option::is_none")]
pub subscription_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(rename = "resourceName", default, skip_serializing_if = "Option::is_none")]
pub resource_name: Option<String>,
#[serde(rename = "resourceId", default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<String>,
#[serde(rename = "dataUseGovernance", default, skip_serializing_if = "Option::is_none")]
pub data_use_governance: Option<azure_data_source_properties::DataUseGovernance>,
}
impl AzureDataSourceProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod azure_data_source_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "DataUseGovernance")]
pub enum DataUseGovernance {
Disabled,
DisabledByAnotherAccount,
Enabled,
EnabledAtAncestorScope,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for DataUseGovernance {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for DataUseGovernance {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for DataUseGovernance {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Disabled => serializer.serialize_unit_variant("DataUseGovernance", 0u32, "Disabled"),
Self::DisabledByAnotherAccount => serializer.serialize_unit_variant("DataUseGovernance", 1u32, "DisabledByAnotherAccount"),
Self::Enabled => serializer.serialize_unit_variant("DataUseGovernance", 2u32, "Enabled"),
Self::EnabledAtAncestorScope => serializer.serialize_unit_variant("DataUseGovernance", 3u32, "EnabledAtAncestorScope"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureFileServiceCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureFileServiceCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureFileServiceCredentialScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(rename = "shareName", default, skip_serializing_if = "Option::is_none")]
pub share_name: Option<String>,
}
impl AzureFileServiceCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureFileServiceDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureFileServiceDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureFileServiceProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
}
impl AzureFileServiceProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureFileServiceScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureFileServiceScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureFileServiceScanRulesetProperties {
#[serde(flatten)]
pub scanning_rule_scan_ruleset_properties: ScanningRuleScanRulesetProperties,
}
impl AzureFileServiceScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureFileServiceSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureFileServiceSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureKeyVault {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureKeyVault {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureKeyVaultList {
pub value: Vec<AzureKeyVault>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for AzureKeyVaultList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl AzureKeyVaultList {
pub fn new(value: Vec<AzureKeyVault>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureKeyVaultProperties {
#[serde(rename = "baseUrl", default, skip_serializing_if = "Option::is_none")]
pub base_url: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl AzureKeyVaultProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureMySqlCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureMySqlCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureMySqlCredentialScanProperties {
#[serde(flatten)]
pub azure_my_sql_scan_properties: AzureMySqlScanProperties,
}
impl AzureMySqlCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureMySqlDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureMySqlDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureMySqlProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
}
impl AzureMySqlProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureMySqlScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
#[serde(rename = "databaseName", default, skip_serializing_if = "Option::is_none")]
pub database_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
}
impl AzureMySqlScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureMySqlScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureMySqlScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureMySqlScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AzureMySqlScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureMySqlSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureMySqlSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzurePostgreSqlCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzurePostgreSqlCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzurePostgreSqlCredentialScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
#[serde(rename = "databaseName", default, skip_serializing_if = "Option::is_none")]
pub database_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
#[serde(rename = "sslMode", default, skip_serializing_if = "Option::is_none")]
pub ssl_mode: Option<i32>,
}
impl AzurePostgreSqlCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzurePostgreSqlDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzurePostgreSqlDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzurePostgreSqlProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
}
impl AzurePostgreSqlProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzurePostgreSqlScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzurePostgreSqlScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzurePostgreSqlScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AzurePostgreSqlScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzurePostgreSqlSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzurePostgreSqlSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureResourceGroupCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureResourceGroupCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureResourceGroupCredentialScanProperties {
#[serde(flatten)]
pub expanding_resource_scan_properties: ExpandingResourceScanProperties,
}
impl AzureResourceGroupCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureResourceGroupDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureResourceGroupDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureResourceGroupMsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureResourceGroupMsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureResourceGroupMsiScanProperties {
#[serde(flatten)]
pub expanding_resource_scan_properties: ExpandingResourceScanProperties,
}
impl AzureResourceGroupMsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureResourceGroupProperties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(rename = "subscriptionId", default, skip_serializing_if = "Option::is_none")]
pub subscription_id: Option<String>,
#[serde(rename = "resourceGroup", default, skip_serializing_if = "Option::is_none")]
pub resource_group: Option<String>,
#[serde(rename = "resourceId", default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<String>,
#[serde(rename = "dataUseGovernance", default, skip_serializing_if = "Option::is_none")]
pub data_use_governance: Option<azure_resource_group_properties::DataUseGovernance>,
}
impl AzureResourceGroupProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod azure_resource_group_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "DataUseGovernance")]
pub enum DataUseGovernance {
Disabled,
DisabledByAnotherAccount,
Enabled,
EnabledAtAncestorScope,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for DataUseGovernance {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for DataUseGovernance {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for DataUseGovernance {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Disabled => serializer.serialize_unit_variant("DataUseGovernance", 0u32, "Disabled"),
Self::DisabledByAnotherAccount => serializer.serialize_unit_variant("DataUseGovernance", 1u32, "DisabledByAnotherAccount"),
Self::Enabled => serializer.serialize_unit_variant("DataUseGovernance", 2u32, "Enabled"),
Self::EnabledAtAncestorScope => serializer.serialize_unit_variant("DataUseGovernance", 3u32, "EnabledAtAncestorScope"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureResourceGroupScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureResourceGroupScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureResourceGroupScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AzureResourceGroupScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureResourceGroupSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureResourceGroupSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlCredentialScanProperties {
#[serde(flatten)]
pub azure_sql_scan_properties: AzureSqlScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
}
impl AzureSqlCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDataWarehouseCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDataWarehouseCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDataWarehouseCredentialScanProperties {
#[serde(flatten)]
pub azure_sql_credential_scan_properties: AzureSqlCredentialScanProperties,
}
impl AzureSqlDataWarehouseCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDataWarehouseDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDataWarehouseDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDataWarehouseMsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDataWarehouseMsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDataWarehouseMsiScanProperties {
#[serde(flatten)]
pub azure_sql_scan_properties: AzureSqlScanProperties,
}
impl AzureSqlDataWarehouseMsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDataWarehouseProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
}
impl AzureSqlDataWarehouseProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDataWarehouseScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDataWarehouseScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDataWarehouseScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AzureSqlDataWarehouseScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDataWarehouseSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDataWarehouseSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDatabaseCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDatabaseCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDatabaseCredentialScanProperties {
#[serde(flatten)]
pub azure_sql_credential_scan_properties: AzureSqlCredentialScanProperties,
}
impl AzureSqlDatabaseCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDatabaseDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDatabaseDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDatabaseManagedInstanceCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDatabaseManagedInstanceCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDatabaseManagedInstanceCredentialScanProperties {
#[serde(flatten)]
pub azure_sql_credential_scan_properties: AzureSqlCredentialScanProperties,
}
impl AzureSqlDatabaseManagedInstanceCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDatabaseManagedInstanceDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDatabaseManagedInstanceDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDatabaseManagedInstanceMsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDatabaseManagedInstanceMsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDatabaseManagedInstanceMsiScanProperties {
#[serde(flatten)]
pub azure_sql_scan_properties: AzureSqlScanProperties,
}
impl AzureSqlDatabaseManagedInstanceMsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDatabaseManagedInstanceProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
}
impl AzureSqlDatabaseManagedInstanceProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDatabaseManagedInstanceScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDatabaseManagedInstanceScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDatabaseManagedInstanceScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AzureSqlDatabaseManagedInstanceScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDatabaseManagedInstanceSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDatabaseManagedInstanceSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDatabaseMsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDatabaseMsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDatabaseMsiScanProperties {
#[serde(flatten)]
pub azure_sql_scan_properties: AzureSqlScanProperties,
}
impl AzureSqlDatabaseMsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDatabaseProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
}
impl AzureSqlDatabaseProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDatabaseScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDatabaseScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlDatabaseScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AzureSqlDatabaseScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSqlDatabaseSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSqlDatabaseSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSqlScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
#[serde(rename = "databaseName", default, skip_serializing_if = "Option::is_none")]
pub database_name: Option<String>,
}
impl AzureSqlScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureStorageCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureStorageCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureStorageCredentialScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
}
impl AzureStorageCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureStorageDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureStorageDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureStorageMsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureStorageMsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureStorageMsiScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
}
impl AzureStorageMsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureStorageProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub endpoint: Option<String>,
}
impl AzureStorageProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureStorageScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureStorageScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureStorageScanRulesetProperties {
#[serde(flatten)]
pub scanning_rule_scan_ruleset_properties: ScanningRuleScanRulesetProperties,
}
impl AzureStorageScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureStorageSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureStorageSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSubscriptionCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSubscriptionCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSubscriptionCredentialScanProperties {
#[serde(flatten)]
pub expanding_resource_scan_properties: ExpandingResourceScanProperties,
}
impl AzureSubscriptionCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSubscriptionDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSubscriptionDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSubscriptionMsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSubscriptionMsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSubscriptionMsiScanProperties {
#[serde(flatten)]
pub expanding_resource_scan_properties: ExpandingResourceScanProperties,
}
impl AzureSubscriptionMsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSubscriptionProperties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(rename = "subscriptionId", default, skip_serializing_if = "Option::is_none")]
pub subscription_id: Option<String>,
#[serde(rename = "resourceId", default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<String>,
#[serde(rename = "dataUseGovernance", default, skip_serializing_if = "Option::is_none")]
pub data_use_governance: Option<azure_subscription_properties::DataUseGovernance>,
}
impl AzureSubscriptionProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod azure_subscription_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "DataUseGovernance")]
pub enum DataUseGovernance {
Disabled,
DisabledByAnotherAccount,
Enabled,
EnabledAtAncestorScope,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for DataUseGovernance {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for DataUseGovernance {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for DataUseGovernance {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Disabled => serializer.serialize_unit_variant("DataUseGovernance", 0u32, "Disabled"),
Self::DisabledByAnotherAccount => serializer.serialize_unit_variant("DataUseGovernance", 1u32, "DisabledByAnotherAccount"),
Self::Enabled => serializer.serialize_unit_variant("DataUseGovernance", 2u32, "Enabled"),
Self::EnabledAtAncestorScope => serializer.serialize_unit_variant("DataUseGovernance", 3u32, "EnabledAtAncestorScope"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSubscriptionScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSubscriptionScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSubscriptionScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AzureSubscriptionScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSubscriptionSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSubscriptionSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSynapseCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSynapseCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSynapseCredentialScanProperties {
#[serde(flatten)]
pub expanding_resource_scan_properties: ExpandingResourceScanProperties,
}
impl AzureSynapseCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSynapseDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSynapseDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSynapseMsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSynapseMsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSynapseMsiScanProperties {
#[serde(flatten)]
pub expanding_resource_scan_properties: ExpandingResourceScanProperties,
}
impl AzureSynapseMsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSynapseProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(rename = "sqlEndpoint", default, skip_serializing_if = "Option::is_none")]
pub sql_endpoint: Option<String>,
#[serde(rename = "sqlOnDemandEndpoint", default, skip_serializing_if = "Option::is_none")]
pub sql_on_demand_endpoint: Option<String>,
}
impl AzureSynapseProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSynapseScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSynapseScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSynapseScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AzureSynapseScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSynapseSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSynapseSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSynapseWorkspaceCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSynapseWorkspaceCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSynapseWorkspaceCredentialScanProperties {
#[serde(flatten)]
pub expanding_resource_scan_properties: ExpandingResourceScanProperties,
}
impl AzureSynapseWorkspaceCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSynapseWorkspaceDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSynapseWorkspaceDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSynapseWorkspaceMsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSynapseWorkspaceMsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSynapseWorkspaceMsiScanProperties {
#[serde(flatten)]
pub expanding_resource_scan_properties: ExpandingResourceScanProperties,
}
impl AzureSynapseWorkspaceMsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSynapseWorkspaceProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(rename = "dedicatedSqlEndpoint", default, skip_serializing_if = "Option::is_none")]
pub dedicated_sql_endpoint: Option<String>,
#[serde(rename = "serverlessSqlEndpoint", default, skip_serializing_if = "Option::is_none")]
pub serverless_sql_endpoint: Option<String>,
}
impl AzureSynapseWorkspaceProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSynapseWorkspaceScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSynapseWorkspaceScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct AzureSynapseWorkspaceScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl AzureSynapseWorkspaceScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AzureSynapseWorkspaceSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl AzureSynapseWorkspaceSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[doc = "Credential type that uses Basic authentication."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct BasicAuthAzureKeyVaultCredential {
#[serde(flatten)]
pub credential: Credential,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl BasicAuthAzureKeyVaultCredential {
pub fn new(credential: Credential) -> Self {
Self {
credential,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClassificationRule {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
pub kind: classification_rule::Kind,
}
impl ClassificationRule {
pub fn new(kind: classification_rule::Kind) -> Self {
Self {
proxy_resource: ProxyResource::default(),
kind,
}
}
}
pub mod classification_rule {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Kind")]
pub enum Kind {
System,
Custom,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Kind {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Kind {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Kind {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::System => serializer.serialize_unit_variant("Kind", 0u32, "System"),
Self::Custom => serializer.serialize_unit_variant("Kind", 1u32, "Custom"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClassificationRuleList {
pub value: Vec<ClassificationRule>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for ClassificationRuleList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl ClassificationRuleList {
pub fn new(value: Vec<ClassificationRule>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ClassificationRulePattern {
pub kind: classification_rule_pattern::Kind,
}
impl ClassificationRulePattern {
pub fn new(kind: classification_rule_pattern::Kind) -> Self {
Self { kind }
}
}
pub mod classification_rule_pattern {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Kind")]
pub enum Kind {
Regex,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Kind {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Kind {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Kind {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Regex => serializer.serialize_unit_variant("Kind", 0u32, "Regex"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct CollectionReference {
#[serde(rename = "lastModifiedAt", default, with = "azure_core::date::rfc3339::option")]
pub last_modified_at: Option<time::OffsetDateTime>,
#[serde(rename = "referenceName", default, skip_serializing_if = "Option::is_none")]
pub reference_name: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
impl CollectionReference {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ConnectedVia {
#[serde(rename = "referenceName", default, skip_serializing_if = "Option::is_none")]
pub reference_name: Option<String>,
#[serde(rename = "integrationRuntimeType", default, skip_serializing_if = "Option::is_none")]
pub integration_runtime_type: Option<String>,
}
impl ConnectedVia {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ConnectionStateProperties {
#[serde(rename = "actionsRequired", default, skip_serializing_if = "Option::is_none")]
pub actions_required: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
impl ConnectionStateProperties {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Credential type that uses consumer provided key and secret for authentication."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ConsumerKeyAuthAzureKeyVaultCredential {
#[serde(flatten)]
pub credential: Credential,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl ConsumerKeyAuthAzureKeyVaultCredential {
pub fn new(credential: Credential) -> Self {
Self {
credential,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ConsumerKeyCredentialProperties {
#[serde(rename = "typeProperties", default, skip_serializing_if = "Option::is_none")]
pub type_properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl ConsumerKeyCredentialProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Credential {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
pub kind: credential::Kind,
}
impl Credential {
pub fn new(kind: credential::Kind) -> Self {
Self {
proxy_resource: ProxyResource::default(),
kind,
}
}
}
pub mod credential {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Kind")]
pub enum Kind {
AccountKey,
ServicePrincipal,
BasicAuth,
SqlAuth,
#[serde(rename = "AmazonARN")]
AmazonArn,
ConsumerKeyAuth,
DelegatedAuth,
ManagedIdentity,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Kind {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Kind {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Kind {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::AccountKey => serializer.serialize_unit_variant("Kind", 0u32, "AccountKey"),
Self::ServicePrincipal => serializer.serialize_unit_variant("Kind", 1u32, "ServicePrincipal"),
Self::BasicAuth => serializer.serialize_unit_variant("Kind", 2u32, "BasicAuth"),
Self::SqlAuth => serializer.serialize_unit_variant("Kind", 3u32, "SqlAuth"),
Self::AmazonArn => serializer.serialize_unit_variant("Kind", 4u32, "AmazonARN"),
Self::ConsumerKeyAuth => serializer.serialize_unit_variant("Kind", 5u32, "ConsumerKeyAuth"),
Self::DelegatedAuth => serializer.serialize_unit_variant("Kind", 6u32, "DelegatedAuth"),
Self::ManagedIdentity => serializer.serialize_unit_variant("Kind", 7u32, "ManagedIdentity"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CredentialList {
pub value: Vec<Credential>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for CredentialList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl CredentialList {
pub fn new(value: Vec<Credential>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct CredentialReference {
#[serde(rename = "referenceName", default, skip_serializing_if = "Option::is_none")]
pub reference_name: Option<String>,
#[serde(rename = "credentialType", default, skip_serializing_if = "Option::is_none")]
pub credential_type: Option<credential_reference::CredentialType>,
}
impl CredentialReference {
pub fn new() -> Self {
Self::default()
}
}
pub mod credential_reference {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "CredentialType")]
pub enum CredentialType {
AccountKey,
ServicePrincipal,
BasicAuth,
SqlAuth,
#[serde(rename = "AmazonARN")]
AmazonArn,
ConsumerKeyAuth,
DelegatedAuth,
ManagedIdentity,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for CredentialType {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for CredentialType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for CredentialType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::AccountKey => serializer.serialize_unit_variant("CredentialType", 0u32, "AccountKey"),
Self::ServicePrincipal => serializer.serialize_unit_variant("CredentialType", 1u32, "ServicePrincipal"),
Self::BasicAuth => serializer.serialize_unit_variant("CredentialType", 2u32, "BasicAuth"),
Self::SqlAuth => serializer.serialize_unit_variant("CredentialType", 3u32, "SqlAuth"),
Self::AmazonArn => serializer.serialize_unit_variant("CredentialType", 4u32, "AmazonARN"),
Self::ConsumerKeyAuth => serializer.serialize_unit_variant("CredentialType", 5u32, "ConsumerKeyAuth"),
Self::DelegatedAuth => serializer.serialize_unit_variant("CredentialType", 6u32, "DelegatedAuth"),
Self::ManagedIdentity => serializer.serialize_unit_variant("CredentialType", 7u32, "ManagedIdentity"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CustomClassificationRule {
#[serde(flatten)]
pub classification_rule: ClassificationRule,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl CustomClassificationRule {
pub fn new(classification_rule: ClassificationRule) -> Self {
Self {
classification_rule,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct CustomClassificationRuleProperties {
#[serde(rename = "minimumPercentageMatch", default, skip_serializing_if = "Option::is_none")]
pub minimum_percentage_match: Option<f64>,
#[serde(rename = "classificationAction", default, skip_serializing_if = "Option::is_none")]
pub classification_action: Option<custom_classification_rule_properties::ClassificationAction>,
#[serde(
rename = "dataPatterns",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub data_patterns: Vec<ClassificationRulePattern>,
#[serde(
rename = "columnPatterns",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub column_patterns: Vec<ClassificationRulePattern>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i32>,
#[serde(rename = "classificationName", default, skip_serializing_if = "Option::is_none")]
pub classification_name: Option<String>,
#[serde(rename = "ruleStatus", default, skip_serializing_if = "Option::is_none")]
pub rule_status: Option<custom_classification_rule_properties::RuleStatus>,
#[serde(rename = "createdAt", default, with = "azure_core::date::rfc3339::option")]
pub created_at: Option<time::OffsetDateTime>,
#[serde(rename = "lastModifiedAt", default, with = "azure_core::date::rfc3339::option")]
pub last_modified_at: Option<time::OffsetDateTime>,
}
impl CustomClassificationRuleProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod custom_classification_rule_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "ClassificationAction")]
pub enum ClassificationAction {
Keep,
Delete,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for ClassificationAction {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for ClassificationAction {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for ClassificationAction {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Keep => serializer.serialize_unit_variant("ClassificationAction", 0u32, "Keep"),
Self::Delete => serializer.serialize_unit_variant("ClassificationAction", 1u32, "Delete"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "RuleStatus")]
pub enum RuleStatus {
Enabled,
Disabled,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for RuleStatus {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for RuleStatus {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for RuleStatus {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Enabled => serializer.serialize_unit_variant("RuleStatus", 0u32, "Enabled"),
Self::Disabled => serializer.serialize_unit_variant("RuleStatus", 1u32, "Disabled"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct CustomFileExtension {
#[serde(rename = "customFileType", default, skip_serializing_if = "Option::is_none")]
pub custom_file_type: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(rename = "fileExtension", default, skip_serializing_if = "Option::is_none")]
pub file_extension: Option<String>,
}
impl CustomFileExtension {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct CustomFileType {
#[serde(rename = "builtInType", default, skip_serializing_if = "Option::is_none")]
pub built_in_type: Option<custom_file_type::BuiltInType>,
#[serde(rename = "customDelimiter", default, skip_serializing_if = "Option::is_none")]
pub custom_delimiter: Option<String>,
}
impl CustomFileType {
pub fn new() -> Self {
Self::default()
}
}
pub mod custom_file_type {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "BuiltInType")]
pub enum BuiltInType {
#[serde(rename = "AVRO")]
Avro,
#[serde(rename = "ORC")]
Orc,
#[serde(rename = "PARQUET")]
Parquet,
#[serde(rename = "JSON")]
Json,
#[serde(rename = "TXT")]
Txt,
#[serde(rename = "XML")]
Xml,
Documents,
#[serde(rename = "CSV")]
Csv,
#[serde(rename = "PSV")]
Psv,
#[serde(rename = "SSV")]
Ssv,
#[serde(rename = "TSV")]
Tsv,
#[serde(rename = "GZ")]
Gz,
#[serde(rename = "DOC")]
Doc,
#[serde(rename = "DOCM")]
Docm,
#[serde(rename = "DOCX")]
Docx,
#[serde(rename = "DOT")]
Dot,
#[serde(rename = "ODP")]
Odp,
#[serde(rename = "ODS")]
Ods,
#[serde(rename = "ODT")]
Odt,
#[serde(rename = "PDF")]
Pdf,
#[serde(rename = "POT")]
Pot,
#[serde(rename = "PPS")]
Pps,
#[serde(rename = "PPSX")]
Ppsx,
#[serde(rename = "PPT")]
Ppt,
#[serde(rename = "PPTM")]
Pptm,
#[serde(rename = "PPTX")]
Pptx,
#[serde(rename = "XLC")]
Xlc,
#[serde(rename = "XLS")]
Xls,
#[serde(rename = "XLSB")]
Xlsb,
#[serde(rename = "XLSM")]
Xlsm,
#[serde(rename = "XLSX")]
Xlsx,
#[serde(rename = "XLT")]
Xlt,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for BuiltInType {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for BuiltInType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for BuiltInType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Avro => serializer.serialize_unit_variant("BuiltInType", 0u32, "AVRO"),
Self::Orc => serializer.serialize_unit_variant("BuiltInType", 1u32, "ORC"),
Self::Parquet => serializer.serialize_unit_variant("BuiltInType", 2u32, "PARQUET"),
Self::Json => serializer.serialize_unit_variant("BuiltInType", 3u32, "JSON"),
Self::Txt => serializer.serialize_unit_variant("BuiltInType", 4u32, "TXT"),
Self::Xml => serializer.serialize_unit_variant("BuiltInType", 5u32, "XML"),
Self::Documents => serializer.serialize_unit_variant("BuiltInType", 6u32, "Documents"),
Self::Csv => serializer.serialize_unit_variant("BuiltInType", 7u32, "CSV"),
Self::Psv => serializer.serialize_unit_variant("BuiltInType", 8u32, "PSV"),
Self::Ssv => serializer.serialize_unit_variant("BuiltInType", 9u32, "SSV"),
Self::Tsv => serializer.serialize_unit_variant("BuiltInType", 10u32, "TSV"),
Self::Gz => serializer.serialize_unit_variant("BuiltInType", 11u32, "GZ"),
Self::Doc => serializer.serialize_unit_variant("BuiltInType", 12u32, "DOC"),
Self::Docm => serializer.serialize_unit_variant("BuiltInType", 13u32, "DOCM"),
Self::Docx => serializer.serialize_unit_variant("BuiltInType", 14u32, "DOCX"),
Self::Dot => serializer.serialize_unit_variant("BuiltInType", 15u32, "DOT"),
Self::Odp => serializer.serialize_unit_variant("BuiltInType", 16u32, "ODP"),
Self::Ods => serializer.serialize_unit_variant("BuiltInType", 17u32, "ODS"),
Self::Odt => serializer.serialize_unit_variant("BuiltInType", 18u32, "ODT"),
Self::Pdf => serializer.serialize_unit_variant("BuiltInType", 19u32, "PDF"),
Self::Pot => serializer.serialize_unit_variant("BuiltInType", 20u32, "POT"),
Self::Pps => serializer.serialize_unit_variant("BuiltInType", 21u32, "PPS"),
Self::Ppsx => serializer.serialize_unit_variant("BuiltInType", 22u32, "PPSX"),
Self::Ppt => serializer.serialize_unit_variant("BuiltInType", 23u32, "PPT"),
Self::Pptm => serializer.serialize_unit_variant("BuiltInType", 24u32, "PPTM"),
Self::Pptx => serializer.serialize_unit_variant("BuiltInType", 25u32, "PPTX"),
Self::Xlc => serializer.serialize_unit_variant("BuiltInType", 26u32, "XLC"),
Self::Xls => serializer.serialize_unit_variant("BuiltInType", 27u32, "XLS"),
Self::Xlsb => serializer.serialize_unit_variant("BuiltInType", 28u32, "XLSB"),
Self::Xlsm => serializer.serialize_unit_variant("BuiltInType", 29u32, "XLSM"),
Self::Xlsx => serializer.serialize_unit_variant("BuiltInType", 30u32, "XLSX"),
Self::Xlt => serializer.serialize_unit_variant("BuiltInType", 31u32, "XLT"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DataSource {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
pub kind: data_source::Kind,
#[serde(
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub scans: Vec<Scan>,
}
impl DataSource {
pub fn new(kind: data_source::Kind) -> Self {
Self {
proxy_resource: ProxyResource::default(),
kind,
scans: Vec::new(),
}
}
}
pub mod data_source {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Kind")]
pub enum Kind {
None,
AzureSubscription,
AzureResourceGroup,
AzureSynapseWorkspace,
AzureSynapse,
AdlsGen1,
AdlsGen2,
AmazonAccount,
AmazonS3,
AmazonSql,
AzureCosmosDb,
AzureDataExplorer,
AzureFileService,
AzureSqlDatabase,
AmazonPostgreSql,
AzurePostgreSql,
SqlServerDatabase,
AzureSqlDatabaseManagedInstance,
AzureSqlDataWarehouse,
AzureMySql,
AzureStorage,
Teradata,
Oracle,
SapS4Hana,
SapEcc,
#[serde(rename = "PowerBI")]
PowerBi,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Kind {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Kind {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Kind {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::None => serializer.serialize_unit_variant("Kind", 0u32, "None"),
Self::AzureSubscription => serializer.serialize_unit_variant("Kind", 1u32, "AzureSubscription"),
Self::AzureResourceGroup => serializer.serialize_unit_variant("Kind", 2u32, "AzureResourceGroup"),
Self::AzureSynapseWorkspace => serializer.serialize_unit_variant("Kind", 3u32, "AzureSynapseWorkspace"),
Self::AzureSynapse => serializer.serialize_unit_variant("Kind", 4u32, "AzureSynapse"),
Self::AdlsGen1 => serializer.serialize_unit_variant("Kind", 5u32, "AdlsGen1"),
Self::AdlsGen2 => serializer.serialize_unit_variant("Kind", 6u32, "AdlsGen2"),
Self::AmazonAccount => serializer.serialize_unit_variant("Kind", 7u32, "AmazonAccount"),
Self::AmazonS3 => serializer.serialize_unit_variant("Kind", 8u32, "AmazonS3"),
Self::AmazonSql => serializer.serialize_unit_variant("Kind", 9u32, "AmazonSql"),
Self::AzureCosmosDb => serializer.serialize_unit_variant("Kind", 10u32, "AzureCosmosDb"),
Self::AzureDataExplorer => serializer.serialize_unit_variant("Kind", 11u32, "AzureDataExplorer"),
Self::AzureFileService => serializer.serialize_unit_variant("Kind", 12u32, "AzureFileService"),
Self::AzureSqlDatabase => serializer.serialize_unit_variant("Kind", 13u32, "AzureSqlDatabase"),
Self::AmazonPostgreSql => serializer.serialize_unit_variant("Kind", 14u32, "AmazonPostgreSql"),
Self::AzurePostgreSql => serializer.serialize_unit_variant("Kind", 15u32, "AzurePostgreSql"),
Self::SqlServerDatabase => serializer.serialize_unit_variant("Kind", 16u32, "SqlServerDatabase"),
Self::AzureSqlDatabaseManagedInstance => {
serializer.serialize_unit_variant("Kind", 17u32, "AzureSqlDatabaseManagedInstance")
}
Self::AzureSqlDataWarehouse => serializer.serialize_unit_variant("Kind", 18u32, "AzureSqlDataWarehouse"),
Self::AzureMySql => serializer.serialize_unit_variant("Kind", 19u32, "AzureMySql"),
Self::AzureStorage => serializer.serialize_unit_variant("Kind", 20u32, "AzureStorage"),
Self::Teradata => serializer.serialize_unit_variant("Kind", 21u32, "Teradata"),
Self::Oracle => serializer.serialize_unit_variant("Kind", 22u32, "Oracle"),
Self::SapS4Hana => serializer.serialize_unit_variant("Kind", 23u32, "SapS4Hana"),
Self::SapEcc => serializer.serialize_unit_variant("Kind", 24u32, "SapEcc"),
Self::PowerBi => serializer.serialize_unit_variant("Kind", 25u32, "PowerBI"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DataSourceList {
pub value: Vec<DataSource>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for DataSourceList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl DataSourceList {
pub fn new(value: Vec<DataSource>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DataSourceProperties {
#[serde(rename = "createdAt", default, with = "azure_core::date::rfc3339::option")]
pub created_at: Option<time::OffsetDateTime>,
#[serde(rename = "lastModifiedAt", default, with = "azure_core::date::rfc3339::option")]
pub last_modified_at: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub collection: Option<serde_json::Value>,
#[serde(rename = "dataSourceCollectionMovingState", default, skip_serializing_if = "Option::is_none")]
pub data_source_collection_moving_state: Option<data_source_properties::DataSourceCollectionMovingState>,
}
impl DataSourceProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod data_source_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "DataSourceCollectionMovingState")]
pub enum DataSourceCollectionMovingState {
Active,
Moving,
Failed,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for DataSourceCollectionMovingState {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for DataSourceCollectionMovingState {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for DataSourceCollectionMovingState {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Active => serializer.serialize_unit_variant("DataSourceCollectionMovingState", 0u32, "Active"),
Self::Moving => serializer.serialize_unit_variant("DataSourceCollectionMovingState", 1u32, "Moving"),
Self::Failed => serializer.serialize_unit_variant("DataSourceCollectionMovingState", 2u32, "Failed"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[doc = "Credential type that uses Client ID for authentication."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct DelegatedAuthAzureKeyVaultCredential {
#[serde(flatten)]
pub credential: Credential,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl DelegatedAuthAzureKeyVaultCredential {
pub fn new(credential: Credential) -> Self {
Self {
credential,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct DelegatedAuthCredentialProperties {
#[serde(rename = "typeProperties", default, skip_serializing_if = "Option::is_none")]
pub type_properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl DelegatedAuthCredentialProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct EnableInteractiveQueryForIntegrationRuntimeRequest {
#[serde(rename = "autoTerminationMinutes", default, skip_serializing_if = "Option::is_none")]
pub auto_termination_minutes: Option<i32>,
}
impl EnableInteractiveQueryForIntegrationRuntimeRequest {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ErrorInfo {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<String>,
#[serde(
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub details: Vec<ErrorInfo>,
}
impl ErrorInfo {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ErrorModel {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub target: Option<String>,
#[serde(
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub details: Vec<ErrorModel>,
}
impl ErrorModel {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ErrorResponseModel {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<serde_json::Value>,
}
impl azure_core::Continuable for ErrorResponseModel {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
None
}
}
impl ErrorResponseModel {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ExpandingResourceScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(rename = "resourceTypes", default, skip_serializing_if = "Option::is_none")]
pub resource_types: Option<expanding_resource_scan_properties::ResourceTypes>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
}
impl ExpandingResourceScanProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod expanding_resource_scan_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceTypes {
#[serde(rename = "None", default, skip_serializing_if = "Option::is_none")]
pub none: Option<ResourceTypeFilter>,
#[serde(rename = "AzureSubscription", default, skip_serializing_if = "Option::is_none")]
pub azure_subscription: Option<ResourceTypeFilter>,
#[serde(rename = "AzureResourceGroup", default, skip_serializing_if = "Option::is_none")]
pub azure_resource_group: Option<ResourceTypeFilter>,
#[serde(rename = "AzureSynapseWorkspace", default, skip_serializing_if = "Option::is_none")]
pub azure_synapse_workspace: Option<ResourceTypeFilter>,
#[serde(rename = "AzureSynapse", default, skip_serializing_if = "Option::is_none")]
pub azure_synapse: Option<ResourceTypeFilter>,
#[serde(rename = "AdlsGen1", default, skip_serializing_if = "Option::is_none")]
pub adls_gen1: Option<ResourceTypeFilter>,
#[serde(rename = "AdlsGen2", default, skip_serializing_if = "Option::is_none")]
pub adls_gen2: Option<ResourceTypeFilter>,
#[serde(rename = "AmazonAccount", default, skip_serializing_if = "Option::is_none")]
pub amazon_account: Option<ResourceTypeFilter>,
#[serde(rename = "AmazonS3", default, skip_serializing_if = "Option::is_none")]
pub amazon_s3: Option<ResourceTypeFilter>,
#[serde(rename = "AmazonSql", default, skip_serializing_if = "Option::is_none")]
pub amazon_sql: Option<ResourceTypeFilter>,
#[serde(rename = "AzureCosmosDb", default, skip_serializing_if = "Option::is_none")]
pub azure_cosmos_db: Option<ResourceTypeFilter>,
#[serde(rename = "AzureDataExplorer", default, skip_serializing_if = "Option::is_none")]
pub azure_data_explorer: Option<ResourceTypeFilter>,
#[serde(rename = "AzureFileService", default, skip_serializing_if = "Option::is_none")]
pub azure_file_service: Option<ResourceTypeFilter>,
#[serde(rename = "AzureSqlDatabase", default, skip_serializing_if = "Option::is_none")]
pub azure_sql_database: Option<ResourceTypeFilter>,
#[serde(rename = "AmazonPostgreSql", default, skip_serializing_if = "Option::is_none")]
pub amazon_postgre_sql: Option<ResourceTypeFilter>,
#[serde(rename = "AzurePostgreSql", default, skip_serializing_if = "Option::is_none")]
pub azure_postgre_sql: Option<ResourceTypeFilter>,
#[serde(rename = "SqlServerDatabase", default, skip_serializing_if = "Option::is_none")]
pub sql_server_database: Option<ResourceTypeFilter>,
#[serde(rename = "AzureSqlDatabaseManagedInstance", default, skip_serializing_if = "Option::is_none")]
pub azure_sql_database_managed_instance: Option<ResourceTypeFilter>,
#[serde(rename = "AzureSqlDataWarehouse", default, skip_serializing_if = "Option::is_none")]
pub azure_sql_data_warehouse: Option<ResourceTypeFilter>,
#[serde(rename = "AzureMySql", default, skip_serializing_if = "Option::is_none")]
pub azure_my_sql: Option<ResourceTypeFilter>,
#[serde(rename = "AzureStorage", default, skip_serializing_if = "Option::is_none")]
pub azure_storage: Option<ResourceTypeFilter>,
#[serde(rename = "Teradata", default, skip_serializing_if = "Option::is_none")]
pub teradata: Option<ResourceTypeFilter>,
#[serde(rename = "Oracle", default, skip_serializing_if = "Option::is_none")]
pub oracle: Option<ResourceTypeFilter>,
#[serde(rename = "SapS4Hana", default, skip_serializing_if = "Option::is_none")]
pub sap_s4_hana: Option<ResourceTypeFilter>,
#[serde(rename = "SapEcc", default, skip_serializing_if = "Option::is_none")]
pub sap_ecc: Option<ResourceTypeFilter>,
#[serde(rename = "PowerBI", default, skip_serializing_if = "Option::is_none")]
pub power_bi: Option<ResourceTypeFilter>,
}
impl ResourceTypes {
pub fn new() -> Self {
Self::default()
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Filter {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl Filter {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct FilterProperties {
#[serde(rename = "excludeUriPrefixes")]
pub exclude_uri_prefixes: Vec<String>,
#[serde(rename = "includeUriPrefixes")]
pub include_uri_prefixes: Vec<String>,
#[serde(
rename = "excludeRegexes",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub exclude_regexes: Vec<String>,
#[serde(
rename = "includeRegexes",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub include_regexes: Vec<String>,
}
impl FilterProperties {
pub fn new(exclude_uri_prefixes: Vec<String>, include_uri_prefixes: Vec<String>) -> Self {
Self {
exclude_uri_prefixes,
include_uri_prefixes,
exclude_regexes: Vec::new(),
include_regexes: Vec::new(),
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct IActionResult {}
impl IActionResult {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct IntegrationRuntime {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
pub kind: integration_runtime::Kind,
}
impl IntegrationRuntime {
pub fn new(kind: integration_runtime::Kind) -> Self {
Self {
proxy_resource: ProxyResource::default(),
kind,
}
}
}
pub mod integration_runtime {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Kind")]
pub enum Kind {
SelfHosted,
Managed,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Kind {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Kind {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Kind {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::SelfHosted => serializer.serialize_unit_variant("Kind", 0u32, "SelfHosted"),
Self::Managed => serializer.serialize_unit_variant("Kind", 1u32, "Managed"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct IntegrationRuntimeAuthKeys {
#[serde(rename = "authKey1", default, skip_serializing_if = "Option::is_none")]
pub auth_key1: Option<String>,
#[serde(rename = "authKey2", default, skip_serializing_if = "Option::is_none")]
pub auth_key2: Option<String>,
}
impl IntegrationRuntimeAuthKeys {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct IntegrationRuntimeList {
pub value: Vec<IntegrationRuntime>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for IntegrationRuntimeList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl IntegrationRuntimeList {
pub fn new(value: Vec<IntegrationRuntime>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct IntegrationRuntimeRegenerateKeyParameters {
#[serde(rename = "keyName", default, skip_serializing_if = "Option::is_none")]
pub key_name: Option<String>,
}
impl IntegrationRuntimeRegenerateKeyParameters {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct IntegrationRuntimeStatus {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
pub kind: integration_runtime_status::Kind,
}
impl IntegrationRuntimeStatus {
pub fn new(kind: integration_runtime_status::Kind) -> Self {
Self {
proxy_resource: ProxyResource::default(),
kind,
}
}
}
pub mod integration_runtime_status {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Kind")]
pub enum Kind {
SelfHosted,
Managed,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Kind {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Kind {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Kind {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::SelfHosted => serializer.serialize_unit_variant("Kind", 0u32, "SelfHosted"),
Self::Managed => serializer.serialize_unit_variant("Kind", 1u32, "Managed"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct InteractiveQuery {
#[serde(rename = "autoTerminationMinutes", default, skip_serializing_if = "Option::is_none")]
pub auto_termination_minutes: Option<i32>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
}
impl InteractiveQuery {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KeyVaultSecret {
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
#[serde(rename = "secretName", default, skip_serializing_if = "Option::is_none")]
pub secret_name: Option<String>,
#[serde(rename = "secretVersion", default, skip_serializing_if = "Option::is_none")]
pub secret_version: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub store: Option<serde_json::Value>,
}
impl KeyVaultSecret {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KeyVaultSecretAccountKeyCredentialTypeProperties {
#[serde(rename = "accountKey", default, skip_serializing_if = "Option::is_none")]
pub account_key: Option<serde_json::Value>,
}
impl KeyVaultSecretAccountKeyCredentialTypeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KeyVaultSecretConsumerKeyCredentialTypeProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<serde_json::Value>,
#[serde(rename = "consumerKey", default, skip_serializing_if = "Option::is_none")]
pub consumer_key: Option<String>,
#[serde(rename = "consumerSecret", default, skip_serializing_if = "Option::is_none")]
pub consumer_secret: Option<serde_json::Value>,
}
impl KeyVaultSecretConsumerKeyCredentialTypeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KeyVaultSecretDelegatedAuthCredentialTypeProperties {
#[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<serde_json::Value>,
}
impl KeyVaultSecretDelegatedAuthCredentialTypeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KeyVaultSecretManagedIdentityAzureKeyVaultCredentialTypeProperties {
#[serde(rename = "principalId", default, skip_serializing_if = "Option::is_none")]
pub principal_id: Option<String>,
#[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
#[serde(rename = "resourceId", default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<String>,
}
impl KeyVaultSecretManagedIdentityAzureKeyVaultCredentialTypeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KeyVaultSecretServicePrinipalCredentialTypeProperties {
#[serde(rename = "servicePrincipalId", default, skip_serializing_if = "Option::is_none")]
pub service_principal_id: Option<String>,
#[serde(rename = "servicePrincipalKey", default, skip_serializing_if = "Option::is_none")]
pub service_principal_key: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant: Option<String>,
}
impl KeyVaultSecretServicePrinipalCredentialTypeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct KeyVaultSecretUserPassCredentialTypeProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<serde_json::Value>,
}
impl KeyVaultSecretUserPassCredentialTypeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Credential type that uses User assigned managed identities for authentication."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ManagedIdentityAzureKeyVaultCredential {
#[serde(flatten)]
pub credential: Credential,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl ManagedIdentityAzureKeyVaultCredential {
pub fn new(credential: Credential) -> Self {
Self {
credential,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagedIdentityAzureKeyVaultCredentialProperties {
#[serde(rename = "typeProperties", default, skip_serializing_if = "Option::is_none")]
pub type_properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl ManagedIdentityAzureKeyVaultCredentialProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ManagedIntegrationRuntime {
#[serde(flatten)]
pub integration_runtime: IntegrationRuntime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl ManagedIntegrationRuntime {
pub fn new(integration_runtime: IntegrationRuntime) -> Self {
Self {
integration_runtime,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagedIntegrationRuntimeComputeProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
}
impl ManagedIntegrationRuntimeComputeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagedIntegrationRuntimeProperties {
#[serde(rename = "typeProperties", default, skip_serializing_if = "Option::is_none")]
pub type_properties: Option<serde_json::Value>,
#[serde(rename = "managedVirtualNetworkReference", default, skip_serializing_if = "Option::is_none")]
pub managed_virtual_network_reference: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl ManagedIntegrationRuntimeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ManagedIntegrationRuntimeStatus {
#[serde(flatten)]
pub integration_runtime_status: IntegrationRuntimeStatus,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl ManagedIntegrationRuntimeStatus {
pub fn new(integration_runtime_status: IntegrationRuntimeStatus) -> Self {
Self {
integration_runtime_status,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagedIntegrationRuntimeStatusProperties {
#[serde(rename = "typeProperties", default, skip_serializing_if = "Option::is_none")]
pub type_properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
}
impl ManagedIntegrationRuntimeStatusProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagedIntegrationRuntimeStatusTypeProperties {
#[serde(rename = "createTime", default, with = "azure_core::date::rfc3339::option")]
pub create_time: Option<time::OffsetDateTime>,
#[serde(rename = "dataMovementState", default, skip_serializing_if = "Option::is_none")]
pub data_movement_state: Option<String>,
#[serde(rename = "dataFlowState", default, skip_serializing_if = "Option::is_none")]
pub data_flow_state: Option<String>,
#[serde(rename = "dualStandbyPairRole", default, skip_serializing_if = "Option::is_none")]
pub dual_standby_pair_role: Option<String>,
#[serde(rename = "interactiveQuery", default, skip_serializing_if = "Option::is_none")]
pub interactive_query: Option<serde_json::Value>,
}
impl ManagedIntegrationRuntimeStatusTypeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagedIntegrationRuntimeTypeProperties {
#[serde(rename = "computeProperties", default, skip_serializing_if = "Option::is_none")]
pub compute_properties: Option<serde_json::Value>,
}
impl ManagedIntegrationRuntimeTypeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagedPrivateEndpoint {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl ManagedPrivateEndpoint {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ManagedPrivateEndpointList {
pub value: Vec<ManagedPrivateEndpoint>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for ManagedPrivateEndpointList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl ManagedPrivateEndpointList {
pub fn new(value: Vec<ManagedPrivateEndpoint>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagedPrivateEndpointProperties {
#[serde(rename = "connectionState", default, skip_serializing_if = "Option::is_none")]
pub connection_state: Option<serde_json::Value>,
#[serde(
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub fqdns: Vec<String>,
#[serde(rename = "groupId", default, skip_serializing_if = "Option::is_none")]
pub group_id: Option<String>,
#[serde(rename = "privateLinkResourceId", default, skip_serializing_if = "Option::is_none")]
pub private_link_resource_id: Option<String>,
#[serde(rename = "provisioningState", default, skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
}
impl ManagedPrivateEndpointProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagedVirtualNetwork {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl ManagedVirtualNetwork {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ManagedVirtualNetworkList {
pub value: Vec<ManagedVirtualNetwork>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for ManagedVirtualNetworkList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl ManagedVirtualNetworkList {
pub fn new(value: Vec<ManagedVirtualNetwork>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagedVirtualNetworkProperties {
#[serde(rename = "vNetId", default, skip_serializing_if = "Option::is_none")]
pub v_net_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alias: Option<String>,
}
impl ManagedVirtualNetworkProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ManagedVirtualNetworkReference {
#[serde(rename = "referenceName", default, skip_serializing_if = "Option::is_none")]
pub reference_name: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
impl ManagedVirtualNetworkReference {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct MitiScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(rename = "maximumMemoryAllowedInGb", default, skip_serializing_if = "Option::is_none")]
pub maximum_memory_allowed_in_gb: Option<String>,
#[serde(rename = "mitiCache", default, skip_serializing_if = "Option::is_none")]
pub miti_cache: Option<String>,
}
impl MitiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Notification {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub code: Option<i32>,
}
impl Notification {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct OperationResponse {
#[serde(rename = "scanResultId", default, skip_serializing_if = "Option::is_none")]
pub scan_result_id: Option<String>,
#[serde(rename = "startTime", default, with = "azure_core::date::rfc3339::option")]
pub start_time: Option<time::OffsetDateTime>,
#[serde(rename = "endTime", default, with = "azure_core::date::rfc3339::option")]
pub end_time: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<operation_response::Status>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<serde_json::Value>,
}
impl OperationResponse {
pub fn new() -> Self {
Self::default()
}
}
pub mod operation_response {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Status")]
pub enum Status {
Accepted,
InProgress,
TransientFailure,
Succeeded,
Failed,
Canceled,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Status {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Status {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Status {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Accepted => serializer.serialize_unit_variant("Status", 0u32, "Accepted"),
Self::InProgress => serializer.serialize_unit_variant("Status", 1u32, "InProgress"),
Self::TransientFailure => serializer.serialize_unit_variant("Status", 2u32, "TransientFailure"),
Self::Succeeded => serializer.serialize_unit_variant("Status", 3u32, "Succeeded"),
Self::Failed => serializer.serialize_unit_variant("Status", 4u32, "Failed"),
Self::Canceled => serializer.serialize_unit_variant("Status", 5u32, "Canceled"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct OracleDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl OracleDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct OracleOracleCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl OracleOracleCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct OracleOracleCredentialScanProperties {
#[serde(flatten)]
pub miti_scan_properties: MitiScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schema: Option<String>,
#[serde(rename = "driverLocation", default, skip_serializing_if = "Option::is_none")]
pub driver_location: Option<String>,
#[serde(rename = "storedProcedureDetails", default, skip_serializing_if = "Option::is_none")]
pub stored_procedure_details: Option<String>,
}
impl OracleOracleCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct OracleOracleUserPassScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl OracleOracleUserPassScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct OracleOracleUserPassScanProperties {
#[serde(flatten)]
pub miti_scan_properties: MitiScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schema: Option<String>,
#[serde(rename = "driverLocation", default, skip_serializing_if = "Option::is_none")]
pub driver_location: Option<String>,
}
impl OracleOracleUserPassScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct OracleProperties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub port: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub service: Option<String>,
}
impl OracleProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct OracleScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl OracleScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct OracleScanRulesetProperties {
#[serde(flatten)]
pub scanning_rule_scan_ruleset_properties: ScanningRuleScanRulesetProperties,
}
impl OracleScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct OracleSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl OracleSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PowerBiDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl PowerBiDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PowerBiDelegatedScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl PowerBiDelegatedScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct PowerBiDelegatedScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant: Option<String>,
#[serde(rename = "authenticationType", default, skip_serializing_if = "Option::is_none")]
pub authentication_type: Option<String>,
#[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(rename = "userName", default, skip_serializing_if = "Option::is_none")]
pub user_name: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(rename = "includePersonalWorkspaces", default, skip_serializing_if = "Option::is_none")]
pub include_personal_workspaces: Option<bool>,
}
impl PowerBiDelegatedScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PowerBiMsiScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl PowerBiMsiScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct PowerBiMsiScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(rename = "includePersonalWorkspaces", default, skip_serializing_if = "Option::is_none")]
pub include_personal_workspaces: Option<bool>,
}
impl PowerBiMsiScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct PowerBiProperties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub tenant: Option<String>,
}
impl PowerBiProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PowerBiScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl PowerBiScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct PowerBiScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl PowerBiScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct PowerBiSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl PowerBiSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ProxyResource {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl ProxyResource {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct RecurrenceSchedule {
#[serde(rename = "additionalProperties", default, skip_serializing_if = "Option::is_none")]
pub additional_properties: Option<serde_json::Value>,
#[serde(
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub minutes: Vec<i32>,
#[serde(
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub hours: Vec<i32>,
#[serde(
rename = "weekDays",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub week_days: Vec<String>,
#[serde(
rename = "monthDays",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub month_days: Vec<i32>,
#[serde(
rename = "monthlyOccurrences",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub monthly_occurrences: Vec<RecurrenceScheduleOccurrence>,
}
impl RecurrenceSchedule {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct RecurrenceScheduleOccurrence {
#[serde(rename = "additionalProperties", default, skip_serializing_if = "Option::is_none")]
pub additional_properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub day: Option<recurrence_schedule_occurrence::Day>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub occurrence: Option<i32>,
}
impl RecurrenceScheduleOccurrence {
pub fn new() -> Self {
Self::default()
}
}
pub mod recurrence_schedule_occurrence {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Day")]
pub enum Day {
Sunday,
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Day {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Day {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Day {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Sunday => serializer.serialize_unit_variant("Day", 0u32, "Sunday"),
Self::Monday => serializer.serialize_unit_variant("Day", 1u32, "Monday"),
Self::Tuesday => serializer.serialize_unit_variant("Day", 2u32, "Tuesday"),
Self::Wednesday => serializer.serialize_unit_variant("Day", 3u32, "Wednesday"),
Self::Thursday => serializer.serialize_unit_variant("Day", 4u32, "Thursday"),
Self::Friday => serializer.serialize_unit_variant("Day", 5u32, "Friday"),
Self::Saturday => serializer.serialize_unit_variant("Day", 6u32, "Saturday"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct RegexClassificationRulePattern {
#[serde(flatten)]
pub classification_rule_pattern: ClassificationRulePattern,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pattern: Option<String>,
}
impl RegexClassificationRulePattern {
pub fn new(classification_rule_pattern: ClassificationRulePattern) -> Self {
Self {
classification_rule_pattern,
pattern: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceNameFilter {
#[serde(
rename = "excludePrefixes",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub exclude_prefixes: Vec<String>,
#[serde(
rename = "includePrefixes",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub include_prefixes: Vec<String>,
#[serde(
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub resources: Vec<String>,
}
impl ResourceNameFilter {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ResourceTypeFilter {
#[serde(rename = "scanRulesetName", default, skip_serializing_if = "Option::is_none")]
pub scan_ruleset_name: Option<String>,
#[serde(rename = "scanRulesetType", default, skip_serializing_if = "Option::is_none")]
pub scan_ruleset_type: Option<resource_type_filter::ScanRulesetType>,
#[serde(rename = "resourceNameFilter", default, skip_serializing_if = "Option::is_none")]
pub resource_name_filter: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
}
impl ResourceTypeFilter {
pub fn new() -> Self {
Self::default()
}
}
pub mod resource_type_filter {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "ScanRulesetType")]
pub enum ScanRulesetType {
Custom,
System,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for ScanRulesetType {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for ScanRulesetType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for ScanRulesetType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Custom => serializer.serialize_unit_variant("ScanRulesetType", 0u32, "Custom"),
Self::System => serializer.serialize_unit_variant("ScanRulesetType", 1u32, "System"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[doc = "Credential type that uses Account ID, External ID and Role ARN for authentication."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct RoleArnCredential {
#[serde(flatten)]
pub credential: Credential,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl RoleArnCredential {
pub fn new(credential: Credential) -> Self {
Self {
credential,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct RoleArnCredentialProperties {
#[serde(rename = "typeProperties", default, skip_serializing_if = "Option::is_none")]
pub type_properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl RoleArnCredentialProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct RoleArnCredentialTypeProperties {
#[serde(rename = "roleARN", default, skip_serializing_if = "Option::is_none")]
pub role_arn: Option<String>,
}
impl RoleArnCredentialTypeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SapEccDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SapEccDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SapEccProperties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(rename = "applicationServer", default, skip_serializing_if = "Option::is_none")]
pub application_server: Option<String>,
#[serde(rename = "systemNumber", default, skip_serializing_if = "Option::is_none")]
pub system_number: Option<String>,
}
impl SapEccProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SapEccSapEccCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SapEccSapEccCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SapEccSapEccCredentialScanProperties {
#[serde(flatten)]
pub miti_scan_properties: MitiScanProperties,
#[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(rename = "jCoLibraryPath", default, skip_serializing_if = "Option::is_none")]
pub j_co_library_path: Option<String>,
}
impl SapEccSapEccCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SapEccSapEccUserPassScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SapEccSapEccUserPassScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SapEccSapEccUserPassScanProperties {
#[serde(flatten)]
pub miti_scan_properties: MitiScanProperties,
#[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(rename = "jCoLibraryPath", default, skip_serializing_if = "Option::is_none")]
pub j_co_library_path: Option<String>,
}
impl SapEccSapEccUserPassScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SapEccScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SapEccScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SapEccScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl SapEccScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SapEccSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SapEccSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SapS4HanaDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SapS4HanaDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SapS4HanaProperties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(rename = "applicationServer", default, skip_serializing_if = "Option::is_none")]
pub application_server: Option<String>,
#[serde(rename = "systemNumber", default, skip_serializing_if = "Option::is_none")]
pub system_number: Option<String>,
}
impl SapS4HanaProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SapS4HanaSapS4HanaCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SapS4HanaSapS4HanaCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SapS4HanaSapS4HanaCredentialScanProperties {
#[serde(flatten)]
pub miti_scan_properties: MitiScanProperties,
#[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(rename = "jCoLibraryPath", default, skip_serializing_if = "Option::is_none")]
pub j_co_library_path: Option<String>,
}
impl SapS4HanaSapS4HanaCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SapS4HanaSapS4HanaUserPassScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SapS4HanaSapS4HanaUserPassScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SapS4HanaSapS4HanaUserPassScanProperties {
#[serde(flatten)]
pub miti_scan_properties: MitiScanProperties,
#[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")]
pub client_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(rename = "jCoLibraryPath", default, skip_serializing_if = "Option::is_none")]
pub j_co_library_path: Option<String>,
}
impl SapS4HanaSapS4HanaUserPassScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SapS4HanaScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SapS4HanaScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SapS4HanaScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl SapS4HanaScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SapS4HanaSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SapS4HanaSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct Scan {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
pub kind: scan::Kind,
#[serde(
rename = "scanResults",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub scan_results: Vec<ScanResult>,
}
impl Scan {
pub fn new(kind: scan::Kind) -> Self {
Self {
proxy_resource: ProxyResource::default(),
kind,
scan_results: Vec::new(),
}
}
}
pub mod scan {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Kind")]
pub enum Kind {
AzureSubscriptionCredential,
AzureSubscriptionMsi,
AzureResourceGroupCredential,
AzureResourceGroupMsi,
AzureSynapseWorkspaceCredential,
AzureSynapseWorkspaceMsi,
AzureSynapseCredential,
AzureSynapseMsi,
AdlsGen1Credential,
AdlsGen1Msi,
AdlsGen2Credential,
AdlsGen2Msi,
AmazonAccountCredential,
AmazonS3Credential,
#[serde(rename = "AmazonS3RoleARN")]
AmazonS3RoleArn,
AmazonSqlCredential,
AzureCosmosDbCredential,
AzureDataExplorerCredential,
AzureDataExplorerMsi,
AzureFileServiceCredential,
AzureSqlDatabaseCredential,
AzureSqlDatabaseMsi,
AmazonPostgreSqlCredential,
AzurePostgreSqlCredential,
SqlServerDatabaseCredential,
AzureSqlDatabaseManagedInstanceCredential,
AzureSqlDatabaseManagedInstanceMsi,
AzureSqlDataWarehouseCredential,
AzureSqlDataWarehouseMsi,
AzureMySqlCredential,
AzureStorageCredential,
AzureStorageMsi,
TeradataTeradataCredential,
TeradataTeradataUserPass,
TeradataUserPass,
OracleOracleCredential,
OracleOracleUserPass,
SapS4HanaSapS4HanaCredential,
SapS4HanaSapS4HanaUserPass,
SapEccSapEccCredential,
SapEccSapEccUserPass,
#[serde(rename = "PowerBIDelegated")]
PowerBiDelegated,
#[serde(rename = "PowerBIMsi")]
PowerBiMsi,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Kind {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Kind {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Kind {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::AzureSubscriptionCredential => serializer.serialize_unit_variant("Kind", 0u32, "AzureSubscriptionCredential"),
Self::AzureSubscriptionMsi => serializer.serialize_unit_variant("Kind", 1u32, "AzureSubscriptionMsi"),
Self::AzureResourceGroupCredential => serializer.serialize_unit_variant("Kind", 2u32, "AzureResourceGroupCredential"),
Self::AzureResourceGroupMsi => serializer.serialize_unit_variant("Kind", 3u32, "AzureResourceGroupMsi"),
Self::AzureSynapseWorkspaceCredential => serializer.serialize_unit_variant("Kind", 4u32, "AzureSynapseWorkspaceCredential"),
Self::AzureSynapseWorkspaceMsi => serializer.serialize_unit_variant("Kind", 5u32, "AzureSynapseWorkspaceMsi"),
Self::AzureSynapseCredential => serializer.serialize_unit_variant("Kind", 6u32, "AzureSynapseCredential"),
Self::AzureSynapseMsi => serializer.serialize_unit_variant("Kind", 7u32, "AzureSynapseMsi"),
Self::AdlsGen1Credential => serializer.serialize_unit_variant("Kind", 8u32, "AdlsGen1Credential"),
Self::AdlsGen1Msi => serializer.serialize_unit_variant("Kind", 9u32, "AdlsGen1Msi"),
Self::AdlsGen2Credential => serializer.serialize_unit_variant("Kind", 10u32, "AdlsGen2Credential"),
Self::AdlsGen2Msi => serializer.serialize_unit_variant("Kind", 11u32, "AdlsGen2Msi"),
Self::AmazonAccountCredential => serializer.serialize_unit_variant("Kind", 12u32, "AmazonAccountCredential"),
Self::AmazonS3Credential => serializer.serialize_unit_variant("Kind", 13u32, "AmazonS3Credential"),
Self::AmazonS3RoleArn => serializer.serialize_unit_variant("Kind", 14u32, "AmazonS3RoleARN"),
Self::AmazonSqlCredential => serializer.serialize_unit_variant("Kind", 15u32, "AmazonSqlCredential"),
Self::AzureCosmosDbCredential => serializer.serialize_unit_variant("Kind", 16u32, "AzureCosmosDbCredential"),
Self::AzureDataExplorerCredential => serializer.serialize_unit_variant("Kind", 17u32, "AzureDataExplorerCredential"),
Self::AzureDataExplorerMsi => serializer.serialize_unit_variant("Kind", 18u32, "AzureDataExplorerMsi"),
Self::AzureFileServiceCredential => serializer.serialize_unit_variant("Kind", 19u32, "AzureFileServiceCredential"),
Self::AzureSqlDatabaseCredential => serializer.serialize_unit_variant("Kind", 20u32, "AzureSqlDatabaseCredential"),
Self::AzureSqlDatabaseMsi => serializer.serialize_unit_variant("Kind", 21u32, "AzureSqlDatabaseMsi"),
Self::AmazonPostgreSqlCredential => serializer.serialize_unit_variant("Kind", 22u32, "AmazonPostgreSqlCredential"),
Self::AzurePostgreSqlCredential => serializer.serialize_unit_variant("Kind", 23u32, "AzurePostgreSqlCredential"),
Self::SqlServerDatabaseCredential => serializer.serialize_unit_variant("Kind", 24u32, "SqlServerDatabaseCredential"),
Self::AzureSqlDatabaseManagedInstanceCredential => {
serializer.serialize_unit_variant("Kind", 25u32, "AzureSqlDatabaseManagedInstanceCredential")
}
Self::AzureSqlDatabaseManagedInstanceMsi => {
serializer.serialize_unit_variant("Kind", 26u32, "AzureSqlDatabaseManagedInstanceMsi")
}
Self::AzureSqlDataWarehouseCredential => {
serializer.serialize_unit_variant("Kind", 27u32, "AzureSqlDataWarehouseCredential")
}
Self::AzureSqlDataWarehouseMsi => serializer.serialize_unit_variant("Kind", 28u32, "AzureSqlDataWarehouseMsi"),
Self::AzureMySqlCredential => serializer.serialize_unit_variant("Kind", 29u32, "AzureMySqlCredential"),
Self::AzureStorageCredential => serializer.serialize_unit_variant("Kind", 30u32, "AzureStorageCredential"),
Self::AzureStorageMsi => serializer.serialize_unit_variant("Kind", 31u32, "AzureStorageMsi"),
Self::TeradataTeradataCredential => serializer.serialize_unit_variant("Kind", 32u32, "TeradataTeradataCredential"),
Self::TeradataTeradataUserPass => serializer.serialize_unit_variant("Kind", 33u32, "TeradataTeradataUserPass"),
Self::TeradataUserPass => serializer.serialize_unit_variant("Kind", 34u32, "TeradataUserPass"),
Self::OracleOracleCredential => serializer.serialize_unit_variant("Kind", 35u32, "OracleOracleCredential"),
Self::OracleOracleUserPass => serializer.serialize_unit_variant("Kind", 36u32, "OracleOracleUserPass"),
Self::SapS4HanaSapS4HanaCredential => serializer.serialize_unit_variant("Kind", 37u32, "SapS4HanaSapS4HanaCredential"),
Self::SapS4HanaSapS4HanaUserPass => serializer.serialize_unit_variant("Kind", 38u32, "SapS4HanaSapS4HanaUserPass"),
Self::SapEccSapEccCredential => serializer.serialize_unit_variant("Kind", 39u32, "SapEccSapEccCredential"),
Self::SapEccSapEccUserPass => serializer.serialize_unit_variant("Kind", 40u32, "SapEccSapEccUserPass"),
Self::PowerBiDelegated => serializer.serialize_unit_variant("Kind", 41u32, "PowerBIDelegated"),
Self::PowerBiMsi => serializer.serialize_unit_variant("Kind", 42u32, "PowerBIMsi"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScanByCollection {
#[serde(rename = "collectionName", default, skip_serializing_if = "Option::is_none")]
pub collection_name: Option<String>,
#[serde(rename = "dataSourceName", default, skip_serializing_if = "Option::is_none")]
pub data_source_name: Option<String>,
#[serde(rename = "dataSourceType", default, skip_serializing_if = "Option::is_none")]
pub data_source_type: Option<scan_by_collection::DataSourceType>,
#[serde(rename = "scanName", default, skip_serializing_if = "Option::is_none")]
pub scan_name: Option<String>,
}
impl ScanByCollection {
pub fn new() -> Self {
Self::default()
}
}
pub mod scan_by_collection {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "DataSourceType")]
pub enum DataSourceType {
None,
AzureSubscription,
AzureResourceGroup,
AzureSynapseWorkspace,
AzureSynapse,
AdlsGen1,
AdlsGen2,
AmazonAccount,
AmazonS3,
AmazonSql,
AzureCosmosDb,
AzureDataExplorer,
AzureFileService,
AzureSqlDatabase,
AmazonPostgreSql,
AzurePostgreSql,
SqlServerDatabase,
AzureSqlDatabaseManagedInstance,
AzureSqlDataWarehouse,
AzureMySql,
AzureStorage,
Teradata,
Oracle,
SapS4Hana,
SapEcc,
#[serde(rename = "PowerBI")]
PowerBi,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for DataSourceType {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for DataSourceType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for DataSourceType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::None => serializer.serialize_unit_variant("DataSourceType", 0u32, "None"),
Self::AzureSubscription => serializer.serialize_unit_variant("DataSourceType", 1u32, "AzureSubscription"),
Self::AzureResourceGroup => serializer.serialize_unit_variant("DataSourceType", 2u32, "AzureResourceGroup"),
Self::AzureSynapseWorkspace => serializer.serialize_unit_variant("DataSourceType", 3u32, "AzureSynapseWorkspace"),
Self::AzureSynapse => serializer.serialize_unit_variant("DataSourceType", 4u32, "AzureSynapse"),
Self::AdlsGen1 => serializer.serialize_unit_variant("DataSourceType", 5u32, "AdlsGen1"),
Self::AdlsGen2 => serializer.serialize_unit_variant("DataSourceType", 6u32, "AdlsGen2"),
Self::AmazonAccount => serializer.serialize_unit_variant("DataSourceType", 7u32, "AmazonAccount"),
Self::AmazonS3 => serializer.serialize_unit_variant("DataSourceType", 8u32, "AmazonS3"),
Self::AmazonSql => serializer.serialize_unit_variant("DataSourceType", 9u32, "AmazonSql"),
Self::AzureCosmosDb => serializer.serialize_unit_variant("DataSourceType", 10u32, "AzureCosmosDb"),
Self::AzureDataExplorer => serializer.serialize_unit_variant("DataSourceType", 11u32, "AzureDataExplorer"),
Self::AzureFileService => serializer.serialize_unit_variant("DataSourceType", 12u32, "AzureFileService"),
Self::AzureSqlDatabase => serializer.serialize_unit_variant("DataSourceType", 13u32, "AzureSqlDatabase"),
Self::AmazonPostgreSql => serializer.serialize_unit_variant("DataSourceType", 14u32, "AmazonPostgreSql"),
Self::AzurePostgreSql => serializer.serialize_unit_variant("DataSourceType", 15u32, "AzurePostgreSql"),
Self::SqlServerDatabase => serializer.serialize_unit_variant("DataSourceType", 16u32, "SqlServerDatabase"),
Self::AzureSqlDatabaseManagedInstance => {
serializer.serialize_unit_variant("DataSourceType", 17u32, "AzureSqlDatabaseManagedInstance")
}
Self::AzureSqlDataWarehouse => serializer.serialize_unit_variant("DataSourceType", 18u32, "AzureSqlDataWarehouse"),
Self::AzureMySql => serializer.serialize_unit_variant("DataSourceType", 19u32, "AzureMySql"),
Self::AzureStorage => serializer.serialize_unit_variant("DataSourceType", 20u32, "AzureStorage"),
Self::Teradata => serializer.serialize_unit_variant("DataSourceType", 21u32, "Teradata"),
Self::Oracle => serializer.serialize_unit_variant("DataSourceType", 22u32, "Oracle"),
Self::SapS4Hana => serializer.serialize_unit_variant("DataSourceType", 23u32, "SapS4Hana"),
Self::SapEcc => serializer.serialize_unit_variant("DataSourceType", 24u32, "SapEcc"),
Self::PowerBi => serializer.serialize_unit_variant("DataSourceType", 25u32, "PowerBI"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ScanByCollectionList {
pub value: Vec<ScanByCollection>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for ScanByCollectionList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl ScanByCollectionList {
pub fn new(value: Vec<ScanByCollection>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScanDiagnostics {
#[serde(
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub notifications: Vec<Notification>,
#[serde(rename = "exceptionCountMap", default, skip_serializing_if = "Option::is_none")]
pub exception_count_map: Option<serde_json::Value>,
}
impl ScanDiagnostics {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ScanHistoryList {
pub value: Vec<ScanResult>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for ScanHistoryList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl ScanHistoryList {
pub fn new(value: Vec<ScanResult>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ScanList {
pub value: Vec<Scan>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for ScanList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl ScanList {
pub fn new(value: Vec<Scan>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScanProperties {
#[serde(rename = "scanRulesetName", default, skip_serializing_if = "Option::is_none")]
pub scan_ruleset_name: Option<String>,
#[serde(rename = "scanRulesetType", default, skip_serializing_if = "Option::is_none")]
pub scan_ruleset_type: Option<scan_properties::ScanRulesetType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub collection: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub workers: Option<i32>,
#[serde(rename = "createdAt", default, with = "azure_core::date::rfc3339::option")]
pub created_at: Option<time::OffsetDateTime>,
#[serde(rename = "lastModifiedAt", default, with = "azure_core::date::rfc3339::option")]
pub last_modified_at: Option<time::OffsetDateTime>,
#[serde(rename = "connectedVia", default, skip_serializing_if = "Option::is_none")]
pub connected_via: Option<serde_json::Value>,
}
impl ScanProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod scan_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "ScanRulesetType")]
pub enum ScanRulesetType {
Custom,
System,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for ScanRulesetType {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for ScanRulesetType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for ScanRulesetType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Custom => serializer.serialize_unit_variant("ScanRulesetType", 0u32, "Custom"),
Self::System => serializer.serialize_unit_variant("ScanRulesetType", 1u32, "System"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScanResult {
#[serde(rename = "parentId", default, skip_serializing_if = "Option::is_none")]
pub parent_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "resourceId", default, skip_serializing_if = "Option::is_none")]
pub resource_id: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(rename = "assetsDiscovered", default, skip_serializing_if = "Option::is_none")]
pub assets_discovered: Option<i64>,
#[serde(rename = "assetsClassified", default, skip_serializing_if = "Option::is_none")]
pub assets_classified: Option<i64>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub diagnostics: Option<serde_json::Value>,
#[serde(rename = "startTime", default, with = "azure_core::date::rfc3339::option")]
pub start_time: Option<time::OffsetDateTime>,
#[serde(rename = "queuedTime", default, with = "azure_core::date::rfc3339::option")]
pub queued_time: Option<time::OffsetDateTime>,
#[serde(rename = "pipelineStartTime", default, with = "azure_core::date::rfc3339::option")]
pub pipeline_start_time: Option<time::OffsetDateTime>,
#[serde(rename = "endTime", default, with = "azure_core::date::rfc3339::option")]
pub end_time: Option<time::OffsetDateTime>,
#[serde(rename = "scanRulesetVersion", default, skip_serializing_if = "Option::is_none")]
pub scan_ruleset_version: Option<i32>,
#[serde(rename = "scanRulesetType", default, skip_serializing_if = "Option::is_none")]
pub scan_ruleset_type: Option<scan_result::ScanRulesetType>,
#[serde(rename = "scanLevelType", default, skip_serializing_if = "Option::is_none")]
pub scan_level_type: Option<scan_result::ScanLevelType>,
#[serde(rename = "errorMessage", default, skip_serializing_if = "Option::is_none")]
pub error_message: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub error: Option<serde_json::Value>,
#[serde(rename = "runType", default, skip_serializing_if = "Option::is_none")]
pub run_type: Option<String>,
#[serde(rename = "dataSourceType", default, skip_serializing_if = "Option::is_none")]
pub data_source_type: Option<scan_result::DataSourceType>,
}
impl ScanResult {
pub fn new() -> Self {
Self::default()
}
}
pub mod scan_result {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "ScanRulesetType")]
pub enum ScanRulesetType {
Custom,
System,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for ScanRulesetType {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for ScanRulesetType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for ScanRulesetType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Custom => serializer.serialize_unit_variant("ScanRulesetType", 0u32, "Custom"),
Self::System => serializer.serialize_unit_variant("ScanRulesetType", 1u32, "System"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "ScanLevelType")]
pub enum ScanLevelType {
Full,
Incremental,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for ScanLevelType {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for ScanLevelType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for ScanLevelType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Full => serializer.serialize_unit_variant("ScanLevelType", 0u32, "Full"),
Self::Incremental => serializer.serialize_unit_variant("ScanLevelType", 1u32, "Incremental"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "DataSourceType")]
pub enum DataSourceType {
None,
AzureSubscription,
AzureResourceGroup,
AzureSynapseWorkspace,
AzureSynapse,
AdlsGen1,
AdlsGen2,
AmazonAccount,
AmazonS3,
AmazonSql,
AzureCosmosDb,
AzureDataExplorer,
AzureFileService,
AzureSqlDatabase,
AmazonPostgreSql,
AzurePostgreSql,
SqlServerDatabase,
AzureSqlDatabaseManagedInstance,
AzureSqlDataWarehouse,
AzureMySql,
AzureStorage,
Teradata,
Oracle,
SapS4Hana,
SapEcc,
#[serde(rename = "PowerBI")]
PowerBi,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for DataSourceType {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for DataSourceType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for DataSourceType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::None => serializer.serialize_unit_variant("DataSourceType", 0u32, "None"),
Self::AzureSubscription => serializer.serialize_unit_variant("DataSourceType", 1u32, "AzureSubscription"),
Self::AzureResourceGroup => serializer.serialize_unit_variant("DataSourceType", 2u32, "AzureResourceGroup"),
Self::AzureSynapseWorkspace => serializer.serialize_unit_variant("DataSourceType", 3u32, "AzureSynapseWorkspace"),
Self::AzureSynapse => serializer.serialize_unit_variant("DataSourceType", 4u32, "AzureSynapse"),
Self::AdlsGen1 => serializer.serialize_unit_variant("DataSourceType", 5u32, "AdlsGen1"),
Self::AdlsGen2 => serializer.serialize_unit_variant("DataSourceType", 6u32, "AdlsGen2"),
Self::AmazonAccount => serializer.serialize_unit_variant("DataSourceType", 7u32, "AmazonAccount"),
Self::AmazonS3 => serializer.serialize_unit_variant("DataSourceType", 8u32, "AmazonS3"),
Self::AmazonSql => serializer.serialize_unit_variant("DataSourceType", 9u32, "AmazonSql"),
Self::AzureCosmosDb => serializer.serialize_unit_variant("DataSourceType", 10u32, "AzureCosmosDb"),
Self::AzureDataExplorer => serializer.serialize_unit_variant("DataSourceType", 11u32, "AzureDataExplorer"),
Self::AzureFileService => serializer.serialize_unit_variant("DataSourceType", 12u32, "AzureFileService"),
Self::AzureSqlDatabase => serializer.serialize_unit_variant("DataSourceType", 13u32, "AzureSqlDatabase"),
Self::AmazonPostgreSql => serializer.serialize_unit_variant("DataSourceType", 14u32, "AmazonPostgreSql"),
Self::AzurePostgreSql => serializer.serialize_unit_variant("DataSourceType", 15u32, "AzurePostgreSql"),
Self::SqlServerDatabase => serializer.serialize_unit_variant("DataSourceType", 16u32, "SqlServerDatabase"),
Self::AzureSqlDatabaseManagedInstance => {
serializer.serialize_unit_variant("DataSourceType", 17u32, "AzureSqlDatabaseManagedInstance")
}
Self::AzureSqlDataWarehouse => serializer.serialize_unit_variant("DataSourceType", 18u32, "AzureSqlDataWarehouse"),
Self::AzureMySql => serializer.serialize_unit_variant("DataSourceType", 19u32, "AzureMySql"),
Self::AzureStorage => serializer.serialize_unit_variant("DataSourceType", 20u32, "AzureStorage"),
Self::Teradata => serializer.serialize_unit_variant("DataSourceType", 21u32, "Teradata"),
Self::Oracle => serializer.serialize_unit_variant("DataSourceType", 22u32, "Oracle"),
Self::SapS4Hana => serializer.serialize_unit_variant("DataSourceType", 23u32, "SapS4Hana"),
Self::SapEcc => serializer.serialize_unit_variant("DataSourceType", 24u32, "SapEcc"),
Self::PowerBi => serializer.serialize_unit_variant("DataSourceType", 25u32, "PowerBI"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ScanRuleset {
#[serde(flatten)]
pub versioned_scan_ruleset: VersionedScanRuleset,
pub kind: scan_ruleset::Kind,
}
impl ScanRuleset {
pub fn new(kind: scan_ruleset::Kind) -> Self {
Self {
versioned_scan_ruleset: VersionedScanRuleset::default(),
kind,
}
}
}
pub mod scan_ruleset {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Kind")]
pub enum Kind {
None,
AzureSubscription,
AzureResourceGroup,
AzureSynapseWorkspace,
AzureSynapse,
AdlsGen1,
AdlsGen2,
AmazonAccount,
AmazonS3,
AmazonSql,
AzureCosmosDb,
AzureDataExplorer,
AzureFileService,
AzureSqlDatabase,
AmazonPostgreSql,
AzurePostgreSql,
SqlServerDatabase,
AzureSqlDatabaseManagedInstance,
AzureSqlDataWarehouse,
AzureMySql,
AzureStorage,
Teradata,
Oracle,
SapS4Hana,
SapEcc,
#[serde(rename = "PowerBI")]
PowerBi,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Kind {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Kind {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Kind {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::None => serializer.serialize_unit_variant("Kind", 0u32, "None"),
Self::AzureSubscription => serializer.serialize_unit_variant("Kind", 1u32, "AzureSubscription"),
Self::AzureResourceGroup => serializer.serialize_unit_variant("Kind", 2u32, "AzureResourceGroup"),
Self::AzureSynapseWorkspace => serializer.serialize_unit_variant("Kind", 3u32, "AzureSynapseWorkspace"),
Self::AzureSynapse => serializer.serialize_unit_variant("Kind", 4u32, "AzureSynapse"),
Self::AdlsGen1 => serializer.serialize_unit_variant("Kind", 5u32, "AdlsGen1"),
Self::AdlsGen2 => serializer.serialize_unit_variant("Kind", 6u32, "AdlsGen2"),
Self::AmazonAccount => serializer.serialize_unit_variant("Kind", 7u32, "AmazonAccount"),
Self::AmazonS3 => serializer.serialize_unit_variant("Kind", 8u32, "AmazonS3"),
Self::AmazonSql => serializer.serialize_unit_variant("Kind", 9u32, "AmazonSql"),
Self::AzureCosmosDb => serializer.serialize_unit_variant("Kind", 10u32, "AzureCosmosDb"),
Self::AzureDataExplorer => serializer.serialize_unit_variant("Kind", 11u32, "AzureDataExplorer"),
Self::AzureFileService => serializer.serialize_unit_variant("Kind", 12u32, "AzureFileService"),
Self::AzureSqlDatabase => serializer.serialize_unit_variant("Kind", 13u32, "AzureSqlDatabase"),
Self::AmazonPostgreSql => serializer.serialize_unit_variant("Kind", 14u32, "AmazonPostgreSql"),
Self::AzurePostgreSql => serializer.serialize_unit_variant("Kind", 15u32, "AzurePostgreSql"),
Self::SqlServerDatabase => serializer.serialize_unit_variant("Kind", 16u32, "SqlServerDatabase"),
Self::AzureSqlDatabaseManagedInstance => {
serializer.serialize_unit_variant("Kind", 17u32, "AzureSqlDatabaseManagedInstance")
}
Self::AzureSqlDataWarehouse => serializer.serialize_unit_variant("Kind", 18u32, "AzureSqlDataWarehouse"),
Self::AzureMySql => serializer.serialize_unit_variant("Kind", 19u32, "AzureMySql"),
Self::AzureStorage => serializer.serialize_unit_variant("Kind", 20u32, "AzureStorage"),
Self::Teradata => serializer.serialize_unit_variant("Kind", 21u32, "Teradata"),
Self::Oracle => serializer.serialize_unit_variant("Kind", 22u32, "Oracle"),
Self::SapS4Hana => serializer.serialize_unit_variant("Kind", 23u32, "SapS4Hana"),
Self::SapEcc => serializer.serialize_unit_variant("Kind", 24u32, "SapEcc"),
Self::PowerBi => serializer.serialize_unit_variant("Kind", 25u32, "PowerBI"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ScanRulesetList {
pub value: Vec<ScanRuleset>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for ScanRulesetList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl ScanRulesetList {
pub fn new(value: Vec<ScanRuleset>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScanRulesetProperties {
#[serde(rename = "createdAt", default, with = "azure_core::date::rfc3339::option")]
pub created_at: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(
rename = "excludedSystemClassifications",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub excluded_system_classifications: Vec<String>,
#[serde(
rename = "includedCustomClassificationRuleNames",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub included_custom_classification_rule_names: Vec<String>,
#[serde(rename = "lastModifiedAt", default, with = "azure_core::date::rfc3339::option")]
pub last_modified_at: Option<time::OffsetDateTime>,
}
impl ScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScanningRule {
#[serde(
rename = "fileExtensions",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub file_extensions: Vec<String>,
#[serde(
rename = "customFileExtensions",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub custom_file_extensions: Vec<CustomFileExtension>,
}
impl ScanningRule {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ScanningRuleScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
#[serde(rename = "scanningRule", default, skip_serializing_if = "Option::is_none")]
pub scanning_rule: Option<serde_json::Value>,
}
impl ScanningRuleScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SelfHostedIntegrationRuntime {
#[serde(flatten)]
pub integration_runtime: IntegrationRuntime,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SelfHostedIntegrationRuntime {
pub fn new(integration_runtime: IntegrationRuntime) -> Self {
Self {
integration_runtime,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SelfHostedIntegrationRuntimeNode {
#[serde(rename = "nodeName", default, skip_serializing_if = "Option::is_none")]
pub node_name: Option<String>,
#[serde(rename = "machineName", default, skip_serializing_if = "Option::is_none")]
pub machine_name: Option<String>,
#[serde(rename = "hostServiceUri", default, skip_serializing_if = "Option::is_none")]
pub host_service_uri: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<serde_json::Value>,
#[serde(rename = "versionStatus", default, skip_serializing_if = "Option::is_none")]
pub version_status: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(rename = "registerTime", default, with = "azure_core::date::rfc3339::option")]
pub register_time: Option<time::OffsetDateTime>,
#[serde(rename = "lastConnectTime", default, with = "azure_core::date::rfc3339::option")]
pub last_connect_time: Option<time::OffsetDateTime>,
#[serde(rename = "expiryTime", default, with = "azure_core::date::rfc3339::option")]
pub expiry_time: Option<time::OffsetDateTime>,
#[serde(rename = "lastStartTime", default, with = "azure_core::date::rfc3339::option")]
pub last_start_time: Option<time::OffsetDateTime>,
#[serde(rename = "lastStopTime", default, with = "azure_core::date::rfc3339::option")]
pub last_stop_time: Option<time::OffsetDateTime>,
#[serde(rename = "lastUpdateResult", default, skip_serializing_if = "Option::is_none")]
pub last_update_result: Option<String>,
#[serde(rename = "lastStartUpdateTime", default, with = "azure_core::date::rfc3339::option")]
pub last_start_update_time: Option<time::OffsetDateTime>,
#[serde(rename = "lastEndUpdateTime", default, with = "azure_core::date::rfc3339::option")]
pub last_end_update_time: Option<time::OffsetDateTime>,
#[serde(rename = "isActiveDispatcher", default, skip_serializing_if = "Option::is_none")]
pub is_active_dispatcher: Option<bool>,
#[serde(rename = "concurrentJobsLimit", default, skip_serializing_if = "Option::is_none")]
pub concurrent_jobs_limit: Option<i32>,
#[serde(rename = "maxConcurrentJobs", default, skip_serializing_if = "Option::is_none")]
pub max_concurrent_jobs: Option<i32>,
}
impl SelfHostedIntegrationRuntimeNode {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SelfHostedIntegrationRuntimeProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl SelfHostedIntegrationRuntimeProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SelfHostedIntegrationRuntimeStatus {
#[serde(flatten)]
pub integration_runtime_status: IntegrationRuntimeStatus,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SelfHostedIntegrationRuntimeStatus {
pub fn new(integration_runtime_status: IntegrationRuntimeStatus) -> Self {
Self {
integration_runtime_status,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SelfHostedIntegrationRuntimeStatusProperties {
#[serde(rename = "typeProperties", default, skip_serializing_if = "Option::is_none")]
pub type_properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub state: Option<String>,
}
impl SelfHostedIntegrationRuntimeStatusProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SelfHostedIntegrationRuntimeStatusTypeProperties {
#[serde(rename = "createTime", default, with = "azure_core::date::rfc3339::option")]
pub create_time: Option<time::OffsetDateTime>,
#[serde(rename = "taskQueueId", default, skip_serializing_if = "Option::is_none")]
pub task_queue_id: Option<String>,
#[serde(rename = "internalChannelEncryption", default, skip_serializing_if = "Option::is_none")]
pub internal_channel_encryption: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub nodes: Vec<SelfHostedIntegrationRuntimeNode>,
#[serde(rename = "scheduledUpdateDate", default, with = "azure_core::date::rfc3339::option")]
pub scheduled_update_date: Option<time::OffsetDateTime>,
#[serde(rename = "updateDelayOffset", default, skip_serializing_if = "Option::is_none")]
pub update_delay_offset: Option<String>,
#[serde(rename = "localTimeZoneOffset", default, skip_serializing_if = "Option::is_none")]
pub local_time_zone_offset: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub capabilities: Option<serde_json::Value>,
#[serde(
rename = "serviceUrls",
default,
deserialize_with = "azure_core::util::deserialize_null_as_default",
skip_serializing_if = "Vec::is_empty"
)]
pub service_urls: Vec<String>,
#[serde(rename = "autoUpdate", default, skip_serializing_if = "Option::is_none")]
pub auto_update: Option<self_hosted_integration_runtime_status_type_properties::AutoUpdate>,
#[serde(rename = "versionStatus", default, skip_serializing_if = "Option::is_none")]
pub version_status: Option<String>,
#[serde(rename = "pushedVersion", default, skip_serializing_if = "Option::is_none")]
pub pushed_version: Option<String>,
#[serde(rename = "latestVersion", default, skip_serializing_if = "Option::is_none")]
pub latest_version: Option<String>,
#[serde(rename = "autoUpdateETA", default, with = "azure_core::date::rfc3339::option")]
pub auto_update_eta: Option<time::OffsetDateTime>,
}
impl SelfHostedIntegrationRuntimeStatusTypeProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod self_hosted_integration_runtime_status_type_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "AutoUpdate")]
pub enum AutoUpdate {
On,
Off,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for AutoUpdate {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for AutoUpdate {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for AutoUpdate {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::On => serializer.serialize_unit_variant("AutoUpdate", 0u32, "On"),
Self::Off => serializer.serialize_unit_variant("AutoUpdate", 1u32, "Off"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[doc = "Credential type that uses Tenant ID and Service principal ID for authentication."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ServicePrincipalAzureKeyVaultCredential {
#[serde(flatten)]
pub credential: Credential,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl ServicePrincipalAzureKeyVaultCredential {
pub fn new(credential: Credential) -> Self {
Self {
credential,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct ServicePrincipalAzureKeyVaultCredentialProperties {
#[serde(rename = "typeProperties", default, skip_serializing_if = "Option::is_none")]
pub type_properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl ServicePrincipalAzureKeyVaultCredentialProperties {
pub fn new() -> Self {
Self::default()
}
}
#[doc = "Credential type that uses Sql for authentication."]
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SqlAuthAzureKeyVaultCredential {
#[serde(flatten)]
pub credential: Credential,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SqlAuthAzureKeyVaultCredential {
pub fn new(credential: Credential) -> Self {
Self {
credential,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SqlServerDatabaseCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SqlServerDatabaseCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SqlServerDatabaseCredentialScanProperties {
#[serde(flatten)]
pub azure_sql_credential_scan_properties: AzureSqlCredentialScanProperties,
}
impl SqlServerDatabaseCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SqlServerDatabaseDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SqlServerDatabaseDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SqlServerDatabaseProperties {
#[serde(flatten)]
pub azure_data_source_properties: AzureDataSourceProperties,
#[serde(rename = "serverEndpoint", default, skip_serializing_if = "Option::is_none")]
pub server_endpoint: Option<String>,
}
impl SqlServerDatabaseProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SqlServerDatabaseScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SqlServerDatabaseScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SqlServerDatabaseScanRulesetProperties {
#[serde(flatten)]
pub scan_ruleset_properties: ScanRulesetProperties,
}
impl SqlServerDatabaseScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SqlServerDatabaseSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SqlServerDatabaseSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Store {
#[serde(rename = "referenceName", default, skip_serializing_if = "Option::is_none")]
pub reference_name: Option<String>,
#[serde(rename = "type", default, skip_serializing_if = "Option::is_none")]
pub type_: Option<String>,
}
impl Store {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SystemClassificationRule {
#[serde(flatten)]
pub classification_rule: ClassificationRule,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl SystemClassificationRule {
pub fn new(classification_rule: ClassificationRule) -> Self {
Self {
classification_rule,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct SystemClassificationRuleProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i32>,
#[serde(rename = "classificationName", default, skip_serializing_if = "Option::is_none")]
pub classification_name: Option<String>,
#[serde(rename = "ruleStatus", default, skip_serializing_if = "Option::is_none")]
pub rule_status: Option<system_classification_rule_properties::RuleStatus>,
#[serde(rename = "createdAt", default, with = "azure_core::date::rfc3339::option")]
pub created_at: Option<time::OffsetDateTime>,
#[serde(rename = "lastModifiedAt", default, with = "azure_core::date::rfc3339::option")]
pub last_modified_at: Option<time::OffsetDateTime>,
}
impl SystemClassificationRuleProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod system_classification_rule_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "RuleStatus")]
pub enum RuleStatus {
Enabled,
Disabled,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for RuleStatus {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for RuleStatus {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for RuleStatus {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Enabled => serializer.serialize_unit_variant("RuleStatus", 0u32, "Enabled"),
Self::Disabled => serializer.serialize_unit_variant("RuleStatus", 1u32, "Disabled"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SystemScanRuleset {
#[serde(flatten)]
pub versioned_scan_ruleset: VersionedScanRuleset,
pub kind: system_scan_ruleset::Kind,
}
impl SystemScanRuleset {
pub fn new(kind: system_scan_ruleset::Kind) -> Self {
Self {
versioned_scan_ruleset: VersionedScanRuleset::default(),
kind,
}
}
}
pub mod system_scan_ruleset {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Kind")]
pub enum Kind {
None,
AzureSubscription,
AzureResourceGroup,
AzureSynapseWorkspace,
AzureSynapse,
AdlsGen1,
AdlsGen2,
AmazonAccount,
AmazonS3,
AmazonSql,
AzureCosmosDb,
AzureDataExplorer,
AzureFileService,
AzureSqlDatabase,
AmazonPostgreSql,
AzurePostgreSql,
SqlServerDatabase,
AzureSqlDatabaseManagedInstance,
AzureSqlDataWarehouse,
AzureMySql,
AzureStorage,
Teradata,
Oracle,
SapS4Hana,
SapEcc,
#[serde(rename = "PowerBI")]
PowerBi,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Kind {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Kind {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Kind {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::None => serializer.serialize_unit_variant("Kind", 0u32, "None"),
Self::AzureSubscription => serializer.serialize_unit_variant("Kind", 1u32, "AzureSubscription"),
Self::AzureResourceGroup => serializer.serialize_unit_variant("Kind", 2u32, "AzureResourceGroup"),
Self::AzureSynapseWorkspace => serializer.serialize_unit_variant("Kind", 3u32, "AzureSynapseWorkspace"),
Self::AzureSynapse => serializer.serialize_unit_variant("Kind", 4u32, "AzureSynapse"),
Self::AdlsGen1 => serializer.serialize_unit_variant("Kind", 5u32, "AdlsGen1"),
Self::AdlsGen2 => serializer.serialize_unit_variant("Kind", 6u32, "AdlsGen2"),
Self::AmazonAccount => serializer.serialize_unit_variant("Kind", 7u32, "AmazonAccount"),
Self::AmazonS3 => serializer.serialize_unit_variant("Kind", 8u32, "AmazonS3"),
Self::AmazonSql => serializer.serialize_unit_variant("Kind", 9u32, "AmazonSql"),
Self::AzureCosmosDb => serializer.serialize_unit_variant("Kind", 10u32, "AzureCosmosDb"),
Self::AzureDataExplorer => serializer.serialize_unit_variant("Kind", 11u32, "AzureDataExplorer"),
Self::AzureFileService => serializer.serialize_unit_variant("Kind", 12u32, "AzureFileService"),
Self::AzureSqlDatabase => serializer.serialize_unit_variant("Kind", 13u32, "AzureSqlDatabase"),
Self::AmazonPostgreSql => serializer.serialize_unit_variant("Kind", 14u32, "AmazonPostgreSql"),
Self::AzurePostgreSql => serializer.serialize_unit_variant("Kind", 15u32, "AzurePostgreSql"),
Self::SqlServerDatabase => serializer.serialize_unit_variant("Kind", 16u32, "SqlServerDatabase"),
Self::AzureSqlDatabaseManagedInstance => {
serializer.serialize_unit_variant("Kind", 17u32, "AzureSqlDatabaseManagedInstance")
}
Self::AzureSqlDataWarehouse => serializer.serialize_unit_variant("Kind", 18u32, "AzureSqlDataWarehouse"),
Self::AzureMySql => serializer.serialize_unit_variant("Kind", 19u32, "AzureMySql"),
Self::AzureStorage => serializer.serialize_unit_variant("Kind", 20u32, "AzureStorage"),
Self::Teradata => serializer.serialize_unit_variant("Kind", 21u32, "Teradata"),
Self::Oracle => serializer.serialize_unit_variant("Kind", 22u32, "Oracle"),
Self::SapS4Hana => serializer.serialize_unit_variant("Kind", 23u32, "SapS4Hana"),
Self::SapEcc => serializer.serialize_unit_variant("Kind", 24u32, "SapEcc"),
Self::PowerBi => serializer.serialize_unit_variant("Kind", 25u32, "PowerBI"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct SystemScanRulesetList {
pub value: Vec<SystemScanRuleset>,
#[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub count: Option<i64>,
}
impl azure_core::Continuable for SystemScanRulesetList {
type Continuation = String;
fn continuation(&self) -> Option<Self::Continuation> {
self.next_link.clone()
}
}
impl SystemScanRulesetList {
pub fn new(value: Vec<SystemScanRuleset>) -> Self {
Self {
value,
next_link: None,
count: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct TeradataDataSource {
#[serde(flatten)]
pub data_source: DataSource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl TeradataDataSource {
pub fn new(data_source: DataSource) -> Self {
Self {
data_source,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TeradataProperties {
#[serde(flatten)]
pub data_source_properties: DataSourceProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
}
impl TeradataProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct TeradataScanRuleset {
#[serde(flatten)]
pub scan_ruleset: ScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl TeradataScanRuleset {
pub fn new(scan_ruleset: ScanRuleset) -> Self {
Self {
scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TeradataScanRulesetProperties {
#[serde(flatten)]
pub scanning_rule_scan_ruleset_properties: ScanningRuleScanRulesetProperties,
}
impl TeradataScanRulesetProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct TeradataSystemScanRuleset {
#[serde(flatten)]
pub system_scan_ruleset: SystemScanRuleset,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl TeradataSystemScanRuleset {
pub fn new(system_scan_ruleset: SystemScanRuleset) -> Self {
Self {
system_scan_ruleset,
properties: None,
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct TeradataTeradataCredentialScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl TeradataTeradataCredentialScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TeradataTeradataCredentialScanProperties {
#[serde(flatten)]
pub miti_scan_properties: MitiScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub credential: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schema: Option<String>,
#[serde(rename = "driverLocation", default, skip_serializing_if = "Option::is_none")]
pub driver_location: Option<String>,
#[serde(rename = "storedProcedureDetails", default, skip_serializing_if = "Option::is_none")]
pub stored_procedure_details: Option<String>,
}
impl TeradataTeradataCredentialScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct TeradataTeradataUserPassScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl TeradataTeradataUserPassScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TeradataTeradataUserPassScanProperties {
#[serde(flatten)]
pub miti_scan_properties: MitiScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schema: Option<String>,
#[serde(rename = "driverLocation", default, skip_serializing_if = "Option::is_none")]
pub driver_location: Option<String>,
}
impl TeradataTeradataUserPassScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct TeradataUserPassScan {
#[serde(flatten)]
pub scan: Scan,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl TeradataUserPassScan {
pub fn new(scan: Scan) -> Self {
Self { scan, properties: None }
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TeradataUserPassScanProperties {
#[serde(flatten)]
pub scan_properties: ScanProperties,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
}
impl TeradataUserPassScanProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct Trigger {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub properties: Option<serde_json::Value>,
}
impl Trigger {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TriggerProperties {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub recurrence: Option<serde_json::Value>,
#[serde(rename = "recurrenceInterval", default, skip_serializing_if = "Option::is_none")]
pub recurrence_interval: Option<String>,
#[serde(rename = "createdAt", default, with = "azure_core::date::rfc3339::option")]
pub created_at: Option<time::OffsetDateTime>,
#[serde(rename = "lastModifiedAt", default, with = "azure_core::date::rfc3339::option")]
pub last_modified_at: Option<time::OffsetDateTime>,
#[serde(rename = "lastScheduled", default, with = "azure_core::date::rfc3339::option")]
pub last_scheduled: Option<time::OffsetDateTime>,
#[serde(rename = "scanLevel", default, skip_serializing_if = "Option::is_none")]
pub scan_level: Option<trigger_properties::ScanLevel>,
#[serde(rename = "incrementalScanStartTime", default, with = "azure_core::date::rfc3339::option")]
pub incremental_scan_start_time: Option<time::OffsetDateTime>,
}
impl TriggerProperties {
pub fn new() -> Self {
Self::default()
}
}
pub mod trigger_properties {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "ScanLevel")]
pub enum ScanLevel {
Full,
Incremental,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for ScanLevel {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for ScanLevel {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for ScanLevel {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Full => serializer.serialize_unit_variant("ScanLevel", 0u32, "Full"),
Self::Incremental => serializer.serialize_unit_variant("ScanLevel", 1u32, "Incremental"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct TriggerRecurrence {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub frequency: Option<trigger_recurrence::Frequency>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub interval: Option<i32>,
#[serde(rename = "startTime", default, with = "azure_core::date::rfc3339::option")]
pub start_time: Option<time::OffsetDateTime>,
#[serde(rename = "endTime", default, with = "azure_core::date::rfc3339::option")]
pub end_time: Option<time::OffsetDateTime>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schedule: Option<serde_json::Value>,
#[serde(rename = "timeZone", default, skip_serializing_if = "Option::is_none")]
pub time_zone: Option<String>,
}
impl TriggerRecurrence {
pub fn new() -> Self {
Self::default()
}
}
pub mod trigger_recurrence {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Frequency")]
pub enum Frequency {
Week,
Month,
Day,
Hour,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Frequency {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Frequency {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Frequency {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Week => serializer.serialize_unit_variant("Frequency", 0u32, "Week"),
Self::Month => serializer.serialize_unit_variant("Frequency", 1u32, "Month"),
Self::Day => serializer.serialize_unit_variant("Frequency", 2u32, "Day"),
Self::Hour => serializer.serialize_unit_variant("Frequency", 3u32, "Hour"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct UserPassCredentialProperties {
#[serde(rename = "typeProperties", default, skip_serializing_if = "Option::is_none")]
pub type_properties: Option<serde_json::Value>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl UserPassCredentialProperties {
pub fn new() -> Self {
Self::default()
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)]
pub struct VersionedScanRuleset {
#[serde(flatten)]
pub proxy_resource: ProxyResource,
#[serde(rename = "scanRulesetType", default, skip_serializing_if = "Option::is_none")]
pub scan_ruleset_type: Option<versioned_scan_ruleset::ScanRulesetType>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<versioned_scan_ruleset::Status>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub version: Option<i32>,
}
impl VersionedScanRuleset {
pub fn new() -> Self {
Self::default()
}
}
pub mod versioned_scan_ruleset {
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "ScanRulesetType")]
pub enum ScanRulesetType {
Custom,
System,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for ScanRulesetType {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for ScanRulesetType {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for ScanRulesetType {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Custom => serializer.serialize_unit_variant("ScanRulesetType", 0u32, "Custom"),
Self::System => serializer.serialize_unit_variant("ScanRulesetType", 1u32, "System"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(remote = "Status")]
pub enum Status {
Enabled,
Disabled,
#[serde(skip_deserializing)]
UnknownValue(String),
}
impl FromStr for Status {
type Err = value::Error;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Self::deserialize(s.into_deserializer())
}
}
impl<'de> Deserialize<'de> for Status {
fn deserialize<D>(deserializer: D) -> std::result::Result<Self, D::Error>
where
D: Deserializer<'de>,
{
let s = String::deserialize(deserializer)?;
let deserialized = Self::from_str(&s).unwrap_or(Self::UnknownValue(s));
Ok(deserialized)
}
}
impl Serialize for Status {
fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::Error>
where
S: Serializer,
{
match self {
Self::Enabled => serializer.serialize_unit_variant("Status", 0u32, "Enabled"),
Self::Disabled => serializer.serialize_unit_variant("Status", 1u32, "Disabled"),
Self::UnknownValue(s) => serializer.serialize_str(s.as_str()),
}
}
}
}