use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetRestApisRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub position: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i32>,
}
impl GetRestApisRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
position: Some("test-position".into()),
limit: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RestApis {
#[serde(skip_serializing_if = "Option::is_none")]
pub position: Option<String>,
#[serde(rename = "item")]
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub items: Vec<RestApi>,
}
impl RestApis {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
position: Some("test-position".into()),
items: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RestApi {
#[serde(skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
}
impl RestApi {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
id: Some("test-id".into()),
name: Some("test-rest_api".into()),
description: Some("test-description".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct GetStagesRequest {
pub rest_api_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub deployment_id: Option<String>,
}
impl GetStagesRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
rest_api_id: "test-rest_api_id".into(),
deployment_id: Some("test-deployment_id".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Stages {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub item: Vec<Stage>,
}
impl Stages {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self { item: vec![] }
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Stage {
#[serde(skip_serializing_if = "Option::is_none")]
pub stage_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub deployment_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster_size: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_cluster_status: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "HashMap::is_empty")]
pub method_settings: std::collections::HashMap<String, MethodSetting>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tracing_enabled: Option<bool>,
}
impl Stage {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
stage_name: Some("test-stage_name".into()),
deployment_id: Some("test-deployment_id".into()),
description: Some("test-description".into()),
cache_cluster_enabled: Some(false),
cache_cluster_size: Some("test-cache_cluster_size".into()),
cache_cluster_status: Some("test-cache_cluster_status".into()),
tracing_enabled: Some(false),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MethodSetting {
#[serde(skip_serializing_if = "Option::is_none")]
pub metrics_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub logging_level: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub data_trace_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub throttling_burst_limit: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub throttling_rate_limit: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub caching_enabled: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_ttl_in_seconds: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub cache_data_encrypted: Option<bool>,
}
impl MethodSetting {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
metrics_enabled: Some(false),
logging_level: Some("test-logging_level".into()),
data_trace_enabled: Some(false),
throttling_burst_limit: Some(100),
caching_enabled: Some(false),
cache_ttl_in_seconds: Some(100),
cache_data_encrypted: Some(false),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UpdateStageRequest {
pub rest_api_id: String,
pub stage_name: String,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub patch_operations: Vec<PatchOperation>,
}
impl UpdateStageRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
rest_api_id: "test-rest_api_id".into(),
stage_name: "test-stage_name".into(),
patch_operations: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PatchOperation {
#[serde(skip_serializing_if = "Option::is_none")]
pub op: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub value: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub from: Option<String>,
}
impl PatchOperation {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
op: Some("test-op".into()),
path: Some("test-path".into()),
value: Some("test-value".into()),
from: Some("test-from".into()),
}
}
}