use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagedClusterAgentPoolProfile {
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub vm_size: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mode: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_pods: Option<i32>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub availability_zones: Vec<String>,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub node_labels: HashMap<String, String>,
}
impl ManagedClusterAgentPoolProfile {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: "test-managed_cluster_agent_pool_profile".into(),
count: Some(100),
vm_size: Some("test-vm_size".into()),
os_type: Some("test-os_type".into()),
mode: Some("test-mode".into()),
r#type: Some("test-type".into()),
max_pods: Some(100),
availability_zones: vec![],
node_labels: Default::default(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagedClusterProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub kubernetes_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub current_kubernetes_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub dns_prefix: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fqdn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub node_resource_group: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_rbac: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_agent_pools: Option<i32>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub agent_pool_profiles: Vec<ManagedClusterAgentPoolProfile>,
}
impl ManagedClusterProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
kubernetes_version: Some("test-kubernetes_version".into()),
current_kubernetes_version: Some("test-current_kubernetes_version".into()),
provisioning_state: Some("test-provisioning_state".into()),
dns_prefix: Some("test-dns_prefix".into()),
fqdn: Some("test-fqdn".into()),
node_resource_group: Some("test-node_resource_group".into()),
enable_rbac: Some(false),
max_agent_pools: Some(100),
agent_pool_profiles: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagedClusterIdentity {
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub principal_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tenant_id: Option<String>,
}
impl ManagedClusterIdentity {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
r#type: Some("test-type".into()),
principal_id: Some("test-principal_id".into()),
tenant_id: Some("test-tenant_id".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagedCluster {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub location: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub identity: Option<ManagedClusterIdentity>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<ManagedClusterProperties>,
}
impl ManagedCluster {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-managed_cluster".into()),
r#type: Some("test-type".into()),
location: Some("test-location".into()),
tags: Default::default(),
identity: Some(ManagedClusterIdentity::fixture()),
properties: Some(ManagedClusterProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagedClusterListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<ManagedCluster>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl ManagedClusterListResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
value: vec![],
next_link: Some("test-next_link".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagedClusterCreateOrUpdateProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub kubernetes_version: Option<String>,
pub dns_prefix: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub enable_rbac: Option<bool>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub agent_pool_profiles: Vec<ManagedClusterAgentPoolProfile>,
}
impl ManagedClusterCreateOrUpdateProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
kubernetes_version: Some("test-kubernetes_version".into()),
dns_prefix: "test-dns_prefix".into(),
enable_rbac: Some(false),
agent_pool_profiles: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagedClusterCreateRequest {
pub location: String,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub tags: HashMap<String, String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub identity: Option<ManagedClusterIdentity>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<ManagedClusterCreateOrUpdateProperties>,
}
impl ManagedClusterCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
location: "test-location".into(),
tags: Default::default(),
identity: Some(ManagedClusterIdentity::fixture()),
properties: Some(ManagedClusterCreateOrUpdateProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AgentPoolProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub count: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub vm_size: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mode: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_pods: Option<i32>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub availability_zones: Vec<String>,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub node_labels: HashMap<String, String>,
}
impl AgentPoolProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
provisioning_state: Some("test-provisioning_state".into()),
count: Some(100),
vm_size: Some("test-vm_size".into()),
os_type: Some("test-os_type".into()),
mode: Some("test-mode".into()),
r#type: Some("test-type".into()),
max_pods: Some(100),
availability_zones: vec![],
node_labels: Default::default(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AgentPool {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<AgentPoolProperties>,
}
impl AgentPool {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-agent_pool".into()),
r#type: Some("test-type".into()),
properties: Some(AgentPoolProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AgentPoolListResult {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub value: Vec<AgentPool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_link: Option<String>,
}
impl AgentPoolListResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
value: vec![],
next_link: Some("test-next_link".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AgentPoolCreateOrUpdateProperties {
pub count: i32,
pub vm_size: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mode: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_pods: Option<i32>,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub node_labels: HashMap<String, String>,
}
impl AgentPoolCreateOrUpdateProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
count: 100,
vm_size: "test-vm_size".into(),
os_type: Some("test-os_type".into()),
mode: Some("test-mode".into()),
max_pods: Some(100),
node_labels: Default::default(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct AgentPoolCreateRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<AgentPoolCreateOrUpdateProperties>,
}
impl AgentPoolCreateRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
properties: Some(AgentPoolCreateOrUpdateProperties::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CredentialResult {
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
}
impl CredentialResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
name: Some("test-credential_result".into()),
value: Some("test-value".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CredentialResults {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub kubeconfigs: Vec<CredentialResult>,
}
impl CredentialResults {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
kubeconfigs: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RunCommandRequest {
pub command: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub context: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cluster_token: Option<String>,
}
impl RunCommandRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
command: "test-command".into(),
context: Some("test-context".into()),
cluster_token: Some("test-cluster_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RunCommandResultProperties {
#[serde(skip_serializing_if = "Option::is_none")]
pub provisioning_state: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub exit_code: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub started_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub finished_at: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub logs: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reason: Option<String>,
}
impl RunCommandResultProperties {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
provisioning_state: Some("test-provisioning_state".into()),
exit_code: Some(100),
started_at: Some("test-started_at".into()),
finished_at: Some("test-finished_at".into()),
logs: Some("test-logs".into()),
reason: Some("test-reason".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RunCommandResult {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub properties: Option<RunCommandResultProperties>,
}
impl RunCommandResult {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
properties: Some(RunCommandResultProperties::fixture()),
}
}
}