use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum SqlBackendType {
SqlBackendTypeUnspecified,
FirstGen,
SecondGen,
External,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum SqlInstanceType {
SqlInstanceTypeUnspecified,
CloudSqlInstance,
OnPremisesInstance,
ReadReplicaInstance,
ReadPoolInstance,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum InstanceState {
SqlInstanceStateUnspecified,
Runnable,
Suspended,
PendingDelete,
PendingCreate,
Maintenance,
Failed,
OnlineMaintenance,
Repairing,
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DatabaseInstance {
#[serde(skip_serializing_if = "Option::is_none")]
pub backend_type: Option<SqlBackendType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub connection_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub create_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub current_disk_size: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub database_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub disk_encryption_configuration: Option<DiskEncryptionConfiguration>,
#[serde(skip_serializing_if = "Option::is_none")]
pub disk_encryption_status: Option<DiskEncryptionStatus>,
#[serde(skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub failover_replica: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub gce_zone: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub instance_type: Option<SqlInstanceType>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub ip_addresses: Vec<IpMapping>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ipv6_address: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub master_instance_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_disk_size: Option<String>,
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub project: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub region: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub replica_configuration: Option<ReplicaConfiguration>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub replica_names: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub root_password: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub secondary_gce_zone: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub self_link: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub server_ca_cert: Option<SslCert>,
#[serde(skip_serializing_if = "Option::is_none")]
pub service_account_email_address: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub settings: Option<Settings>,
#[serde(skip_serializing_if = "Option::is_none")]
pub state: Option<InstanceState>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub suspension_reason: Vec<String>,
}
impl DatabaseInstance {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
backend_type: Some(SqlBackendType::SqlBackendTypeUnspecified),
connection_name: Some("test-connection_name".into()),
create_time: Some("test-create_time".into()),
current_disk_size: Some("test-current_disk_size".into()),
database_version: Some("test-database_version".into()),
disk_encryption_configuration: Some(DiskEncryptionConfiguration::fixture()),
disk_encryption_status: Some(DiskEncryptionStatus::fixture()),
etag: Some("test-etag".into()),
failover_replica: Default::default(),
gce_zone: Some("test-gce_zone".into()),
instance_type: Some(SqlInstanceType::SqlInstanceTypeUnspecified),
ip_addresses: vec![],
ipv6_address: Some("test-ipv6_address".into()),
kind: Some("test-kind".into()),
master_instance_name: Some("test-master_instance_name".into()),
max_disk_size: Some("test-max_disk_size".into()),
name: "test-database_instance".into(),
project: Some("test-project".into()),
region: Some("test-region".into()),
replica_configuration: Some(ReplicaConfiguration::fixture()),
replica_names: vec![],
root_password: Some("test-root_password".into()),
secondary_gce_zone: Some("test-secondary_gce_zone".into()),
self_link: Some("test-self_link".into()),
server_ca_cert: Some(SslCert::fixture()),
service_account_email_address: Some("test-service_account_email_address".into()),
settings: Some(Settings::fixture()),
state: Some(InstanceState::SqlInstanceStateUnspecified),
suspension_reason: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Settings {
#[serde(skip_serializing_if = "Option::is_none")]
pub activation_policy: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub authorized_gae_applications: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub availability_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub backup_configuration: Option<BackupConfiguration>,
#[serde(skip_serializing_if = "Option::is_none")]
pub collation: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub connector_enforcement: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub crash_safe_replication_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub data_disk_size_gb: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub data_disk_type: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub database_flags: Vec<DatabaseFlags>,
#[serde(skip_serializing_if = "Option::is_none")]
pub database_replication_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub deletion_protection_enabled: Option<bool>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub deny_maintenance_periods: Vec<DenyMaintenancePeriod>,
#[serde(skip_serializing_if = "Option::is_none")]
pub edition: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub insights_config: Option<InsightsConfig>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ip_configuration: Option<IpConfiguration>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub location_preference: Option<LocationPreference>,
#[serde(skip_serializing_if = "Option::is_none")]
pub maintenance_window: Option<MaintenanceWindow>,
#[serde(skip_serializing_if = "Option::is_none")]
pub password_validation_policy: Option<PasswordValidationPolicy>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pricing_plan: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub replication_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub settings_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sql_server_audit_config: Option<SqlServerAuditConfig>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storage_auto_resize: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub storage_auto_resize_limit: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tier: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub user_labels: HashMap<String, String>,
}
impl Settings {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
activation_policy: Some("test-activation_policy".into()),
authorized_gae_applications: vec![],
availability_type: Some("test-availability_type".into()),
backup_configuration: Some(BackupConfiguration::fixture()),
collation: Some("test-collation".into()),
connector_enforcement: Some("test-connector_enforcement".into()),
crash_safe_replication_enabled: Some(false),
data_disk_size_gb: Some("test-data_disk_size_gb".into()),
data_disk_type: Some("test-data_disk_type".into()),
database_flags: vec![],
database_replication_enabled: Some(false),
deletion_protection_enabled: Some(false),
deny_maintenance_periods: vec![],
edition: Some("test-edition".into()),
insights_config: Some(InsightsConfig::fixture()),
ip_configuration: Some(IpConfiguration::fixture()),
kind: Some("test-kind".into()),
location_preference: Some(LocationPreference::fixture()),
maintenance_window: Some(MaintenanceWindow::fixture()),
password_validation_policy: Some(PasswordValidationPolicy::fixture()),
pricing_plan: Some("test-pricing_plan".into()),
replication_type: Some("test-replication_type".into()),
settings_version: Some("test-settings_version".into()),
sql_server_audit_config: Some(SqlServerAuditConfig::fixture()),
storage_auto_resize: Some(false),
storage_auto_resize_limit: Some("test-storage_auto_resize_limit".into()),
tier: Some("test-tier".into()),
user_labels: Default::default(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct IpConfiguration {
#[serde(skip_serializing_if = "Option::is_none")]
pub allocated_ip_range: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub authorized_networks: Vec<AclEntry>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_private_path_for_google_cloud_services: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ipv4_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub private_network: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub require_ssl: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ssl_mode: Option<String>,
}
impl IpConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
allocated_ip_range: Some("test-allocated_ip_range".into()),
authorized_networks: vec![],
enable_private_path_for_google_cloud_services: Some(false),
ipv4_enabled: Some(false),
private_network: Some("test-private_network".into()),
require_ssl: Some(false),
ssl_mode: Some("test-ssl_mode".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AclEntry {
#[serde(skip_serializing_if = "Option::is_none")]
pub expiration_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl AclEntry {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
expiration_time: Some("test-expiration_time".into()),
kind: Some("test-kind".into()),
name: Some("test-acl_entry".into()),
value: Some("test-value".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LocationPreference {
#[serde(skip_serializing_if = "Option::is_none")]
pub follow_gae_application: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub secondary_zone: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub zone: Option<String>,
}
impl LocationPreference {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
follow_gae_application: Some("test-follow_gae_application".into()),
kind: Some("test-kind".into()),
secondary_zone: Some("test-secondary_zone".into()),
zone: Some("test-zone".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MaintenanceWindow {
#[serde(skip_serializing_if = "Option::is_none")]
pub day: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub hour: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub update_track: Option<String>,
}
impl MaintenanceWindow {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
day: Some(100),
hour: Some(100),
kind: Some("test-kind".into()),
update_track: Some("test-update_track".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BackupConfiguration {
#[serde(skip_serializing_if = "Option::is_none")]
pub backup_retention_settings: Option<BackupRetentionSettings>,
#[serde(skip_serializing_if = "Option::is_none")]
pub binary_log_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub point_in_time_recovery_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub replication_log_archiving_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub start_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub transaction_log_retention_days: Option<i32>,
}
impl BackupConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
backup_retention_settings: Some(BackupRetentionSettings::fixture()),
binary_log_enabled: Some(false),
enabled: Some(false),
kind: Some("test-kind".into()),
location: Some("test-location".into()),
point_in_time_recovery_enabled: Some(false),
replication_log_archiving_enabled: Some(false),
start_time: Some("test-start_time".into()),
transaction_log_retention_days: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BackupRetentionSettings {
#[serde(skip_serializing_if = "Option::is_none")]
pub retained_backups: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub retention_unit: Option<String>,
}
impl BackupRetentionSettings {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
retained_backups: Some(100),
retention_unit: Some("test-retention_unit".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DiskEncryptionConfiguration {
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kms_key_name: Option<String>,
}
impl DiskEncryptionConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
kind: Some("test-kind".into()),
kms_key_name: Some("test-kms_key_name".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DiskEncryptionStatus {
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kms_key_version_name: Option<String>,
}
impl DiskEncryptionStatus {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
kind: Some("test-kind".into()),
kms_key_version_name: Some("test-kms_key_version_name".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct IpMapping {
#[serde(skip_serializing_if = "Option::is_none")]
pub ip_address: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub time_to_retire: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub type_value: Option<String>,
}
impl IpMapping {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
ip_address: Some("test-ip_address".into()),
time_to_retire: Some("test-time_to_retire".into()),
type_value: Some("test-type".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ReplicaConfiguration {
#[serde(skip_serializing_if = "Option::is_none")]
pub failover_target: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mysql_replica_configuration: Option<MySqlReplicaConfiguration>,
}
impl ReplicaConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
failover_target: Some(false),
kind: Some("test-kind".into()),
mysql_replica_configuration: Some(MySqlReplicaConfiguration::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MySqlReplicaConfiguration {
#[serde(skip_serializing_if = "Option::is_none")]
pub ca_certificate: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub client_certificate: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub client_key: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub dump_file_path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub master_heartbeat_period: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub ssl_cipher: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub username: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub verify_server_certificate: Option<bool>,
}
impl MySqlReplicaConfiguration {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
ca_certificate: Some("test-ca_certificate".into()),
client_certificate: Some("test-client_certificate".into()),
client_key: Some("test-client_key".into()),
dump_file_path: Some("test-dump_file_path".into()),
kind: Some("test-kind".into()),
master_heartbeat_period: Some("test-master_heartbeat_period".into()),
password: Some("test-password".into()),
ssl_cipher: Some("test-ssl_cipher".into()),
username: Some("test-username".into()),
verify_server_certificate: Some(false),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DatabaseFlags {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl DatabaseFlags {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: Some("test-database_flags".into()),
value: Some("test-value".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct InstancesListResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub items: Vec<DatabaseInstance>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_page_token: Option<String>,
}
impl InstancesListResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
items: vec![],
kind: Some("test-kind".into()),
next_page_token: Some("test-next_page_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Database {
#[serde(skip_serializing_if = "Option::is_none")]
pub charset: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub collation: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub instance: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub project: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub self_link: Option<String>,
}
impl Database {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
charset: Some("test-charset".into()),
collation: Some("test-collation".into()),
etag: Some("test-etag".into()),
instance: Some("test-instance".into()),
kind: Some("test-kind".into()),
name: "test-database".into(),
project: Some("test-project".into()),
self_link: Some("test-self_link".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DatabasesListResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub items: Vec<Database>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
}
impl DatabasesListResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
items: vec![],
kind: Some("test-kind".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct User {
#[serde(skip_serializing_if = "Option::is_none")]
pub etag: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub instance: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub password: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub project: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub type_value: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub dual_password_type: Option<String>,
}
impl User {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
etag: Some("test-etag".into()),
host: Some("test-host".into()),
instance: Some("test-instance".into()),
kind: Some("test-kind".into()),
name: "test-user".into(),
password: Some("test-password".into()),
project: Some("test-project".into()),
type_value: Some("test-type".into()),
dual_password_type: Some("test-dual_password_type".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UsersListResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub items: Vec<User>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_page_token: Option<String>,
}
impl UsersListResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
items: vec![],
kind: Some("test-kind".into()),
next_page_token: Some("test-next_page_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OperationResponse {
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub operation_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub target_link: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub self_link: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub error: Option<OperationErrors>,
#[serde(skip_serializing_if = "Option::is_none")]
pub start_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub end_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user: Option<String>,
}
impl OperationResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self::fixture_done()
}
#[cfg(any(test, feature = "test-support"))]
pub fn fixture_pending() -> Self {
Self {
name: "operation-pending".into(),
status: Some("PENDING".into()),
self_link: Some(
"https://compute.googleapis.com/compute/v1/projects/test-project/operations/op-123"
.into(),
),
..Default::default()
}
}
#[cfg(any(test, feature = "test-support"))]
pub fn fixture_done() -> Self {
Self {
name: "operation-done".into(),
status: Some("DONE".into()),
self_link: Some(
"https://compute.googleapis.com/compute/v1/projects/test-project/operations/op-123"
.into(),
),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OperationErrors {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub errors: Vec<OperationError>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
}
impl OperationErrors {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
errors: vec![],
kind: Some("test-kind".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OperationError {
#[serde(skip_serializing_if = "Option::is_none")]
pub code: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub message: Option<String>,
}
impl OperationError {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
code: Some("test-code".into()),
kind: Some("test-kind".into()),
message: Some("test-message".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct OperationsListResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub items: Vec<OperationResponse>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_page_token: Option<String>,
}
impl OperationsListResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
items: vec![],
kind: Some("test-kind".into()),
next_page_token: Some("test-next_page_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct InstancesRotateServerCaRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub rotate_server_ca_context: Option<RotateServerCaContext>,
}
impl InstancesRotateServerCaRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
rotate_server_ca_context: Some(RotateServerCaContext::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RotateServerCaContext {
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_version: Option<String>,
}
impl RotateServerCaContext {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
kind: Some("test-kind".into()),
next_version: Some("test-next_version".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct InstancesCloneRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub clone_context: Option<CloneContext>,
}
impl InstancesCloneRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
clone_context: Some(CloneContext::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CloneContext {
#[serde(skip_serializing_if = "Option::is_none")]
pub bin_log_coordinates: Option<BinLogCoordinates>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub database_names: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub destination_instance_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub pitr_timestamp_ms: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub point_in_time: Option<String>,
}
impl CloneContext {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
bin_log_coordinates: Some(BinLogCoordinates::fixture()),
database_names: vec![],
destination_instance_name: Some("test-destination_instance_name".into()),
kind: Some("test-kind".into()),
pitr_timestamp_ms: Some("test-pitr_timestamp_ms".into()),
point_in_time: Some("test-point_in_time".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BinLogCoordinates {
#[serde(skip_serializing_if = "Option::is_none")]
pub bin_log_file_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bin_log_position: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
}
impl BinLogCoordinates {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
bin_log_file_name: Some("test-bin_log_file_name".into()),
bin_log_position: Some("test-bin_log_position".into()),
kind: Some("test-kind".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct InstancesFailoverRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub failover_context: Option<FailoverContext>,
}
impl InstancesFailoverRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
failover_context: Some(FailoverContext::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct FailoverContext {
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub settings_version: Option<String>,
}
impl FailoverContext {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
kind: Some("test-kind".into()),
settings_version: Some("test-settings_version".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct InstancesExportRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub export_context: Option<ExportContext>,
}
impl InstancesExportRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
export_context: Some(ExportContext::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ExportContext {
#[serde(skip_serializing_if = "Option::is_none")]
pub csv_export_options: Option<serde_json::Value>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub databases: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub file_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offload: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sql_export_options: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
}
impl ExportContext {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
csv_export_options: Default::default(),
databases: vec![],
file_type: Some("test-file_type".into()),
kind: Some("test-kind".into()),
offload: Some(false),
sql_export_options: Default::default(),
uri: Some("test-uri".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct InstancesImportRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub import_context: Option<ImportContext>,
}
impl InstancesImportRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
import_context: Some(ImportContext::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ImportContext {
#[serde(skip_serializing_if = "Option::is_none")]
pub bak_import_options: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub csv_import_options: Option<serde_json::Value>,
#[serde(skip_serializing_if = "Option::is_none")]
pub database: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub file_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub import_user: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub uri: Option<String>,
}
impl ImportContext {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
bak_import_options: Default::default(),
csv_import_options: Default::default(),
database: Some("test-database".into()),
file_type: Some("test-file_type".into()),
import_user: Some("test-import_user".into()),
kind: Some("test-kind".into()),
uri: Some("test-uri".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BackupRun {
#[serde(skip_serializing_if = "Option::is_none")]
pub backup_kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub end_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enqueued_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub error: Option<OperationError>,
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub instance: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub self_link: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub start_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub type_value: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub window_start_time: Option<String>,
}
impl BackupRun {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
backup_kind: Some("test-backup_kind".into()),
description: Some("test-description".into()),
end_time: Some("test-end_time".into()),
enqueued_time: Some("test-enqueued_time".into()),
error: Some(OperationError::fixture()),
id: Some("test-id".into()),
instance: Some("test-instance".into()),
kind: Some("test-kind".into()),
location: Some("test-location".into()),
self_link: Some("test-self_link".into()),
start_time: Some("test-start_time".into()),
status: Some("test-status".into()),
type_value: Some("test-type".into()),
window_start_time: Some("test-window_start_time".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DenyMaintenancePeriod {
#[serde(skip_serializing_if = "Option::is_none")]
pub end_date: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub start_date: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub time: Option<String>,
}
impl DenyMaintenancePeriod {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
end_date: Some("test-end_date".into()),
start_date: Some("test-start_date".into()),
time: Some("test-time".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct InsightsConfig {
#[serde(skip_serializing_if = "Option::is_none")]
pub enhanced_query_insights_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub query_insights_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub record_client_address: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub record_application_tags: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub query_plans_per_minute: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub query_string_length: Option<i32>,
}
impl InsightsConfig {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
enhanced_query_insights_enabled: Some(false),
query_insights_enabled: Some(false),
record_client_address: Some(false),
record_application_tags: Some(false),
query_plans_per_minute: Some(100),
query_string_length: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PasswordValidationPolicy {
#[serde(skip_serializing_if = "Option::is_none")]
pub complexity: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reuse_interval: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub disallow_compromised_credentials: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub password_change_interval: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub min_length: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_password_policy: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub disallow_username_substring: Option<bool>,
}
impl PasswordValidationPolicy {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
complexity: Some("test-complexity".into()),
reuse_interval: Some(100),
disallow_compromised_credentials: Some(false),
password_change_interval: Some("test-password_change_interval".into()),
min_length: Some(100),
enable_password_policy: Some(false),
disallow_username_substring: Some(false),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SqlServerAuditConfig {
#[serde(skip_serializing_if = "Option::is_none")]
pub retention_interval: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub upload_interval: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub bucket: Option<String>,
}
impl SqlServerAuditConfig {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
retention_interval: Some("test-retention_interval".into()),
upload_interval: Some("test-upload_interval".into()),
kind: Some("test-kind".into()),
bucket: Some("test-bucket".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SslCert {
#[serde(skip_serializing_if = "Option::is_none")]
pub common_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub expiration_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub self_link: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub sha1_fingerprint: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub create_time: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cert_serial_number: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub instance: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cert: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub kind: Option<String>,
}
impl SslCert {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
common_name: Some("test-common_name".into()),
expiration_time: Some("test-expiration_time".into()),
self_link: Some("test-self_link".into()),
sha1_fingerprint: Some("test-sha1_fingerprint".into()),
create_time: Some("test-create_time".into()),
cert_serial_number: Some("test-cert_serial_number".into()),
instance: Some("test-instance".into()),
cert: Some("test-cert".into()),
kind: Some("test-kind".into()),
}
}
}