pub use foundation_deployment::providers::common::{
read_error_body, send_bytes, send_checked, send_json, send_json_lines, send_without_body,
with_raw_body, ApiClient, BodyLimits, ByteStream, JsonLinesStream,
};
pub use foundation_deployment::providers::common::{
ApiError, ApiPending, ApiResponse, BoxedSendExecutionAction, Empty, Operation,
};
use foundation_macros::JsonHash;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BuildInfo {
pub aux: Option<ImageID>,
#[serde(rename = "errorDetail")]
pub error_detail: Option<ErrorDetail>,
pub id: Option<String>,
#[serde(rename = "progressDetail")]
pub progress_detail: Option<ProgressDetail>,
pub status: Option<String>,
pub stream: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct IDResponse {
#[serde(rename = "Id")]
pub id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct Plugin {
#[serde(rename = "Config")]
pub config: std::collections::HashMap<String, serde_json::Value>,
#[serde(rename = "Enabled")]
pub enabled: bool,
#[serde(rename = "Id")]
pub id: Option<String>,
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "PluginReference")]
pub plugin_reference: Option<String>,
#[serde(rename = "Settings")]
pub settings: std::collections::HashMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct Volume {
#[serde(rename = "ClusterVolume")]
pub cluster_volume: Option<ClusterVolume>,
#[serde(rename = "CreatedAt")]
pub created_at: Option<String>,
#[serde(rename = "Driver")]
pub driver: String,
#[serde(rename = "Labels")]
pub labels: serde_json::Value,
#[serde(rename = "Mountpoint")]
pub mountpoint: String,
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "Options")]
pub options: serde_json::Value,
#[serde(rename = "Scope")]
pub scope: String,
#[serde(rename = "Status")]
pub status: Option<serde_json::Value>,
#[serde(rename = "UsageData")]
pub usage_data: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ClusterVolume {
#[serde(rename = "CreatedAt")]
pub created_at: Option<String>,
#[serde(rename = "ID")]
pub id: Option<String>,
#[serde(rename = "Info")]
pub info: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "PublishStatus")]
pub publish_status: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
#[serde(rename = "Spec")]
pub spec: Option<ClusterVolumeSpec>,
#[serde(rename = "UpdatedAt")]
pub updated_at: Option<String>,
#[serde(rename = "Version")]
pub version: Option<ObjectVersion>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ClusterVolumeSpec {
#[serde(rename = "AccessMode")]
pub access_mode: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "Group")]
pub group: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ErrorDetail {
pub code: Option<i64>,
pub message: Option<String>,
}
pub type ImageID = IdObject;
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ObjectVersion {
#[serde(rename = "Index")]
pub index: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PluginDevice {
#[serde(rename = "Description")]
pub description: String,
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "Path")]
pub path: String,
#[serde(rename = "Settable")]
pub settable: Vec<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PluginEnv {
#[serde(rename = "Description")]
pub description: String,
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "Settable")]
pub settable: Vec<String>,
#[serde(rename = "Value")]
pub value: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PluginMount {
#[serde(rename = "Description")]
pub description: String,
#[serde(rename = "Destination")]
pub destination: String,
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "Options")]
pub options: Vec<String>,
#[serde(rename = "Settable")]
pub settable: Vec<String>,
#[serde(rename = "Source")]
pub source: String,
#[serde(rename = "Type")]
pub r#type: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ProgressDetail {
pub current: Option<i64>,
pub total: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct Topology {
#[serde(rename = "Segments")]
pub segments: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct AliasesDriverOptsTargetObject {
#[serde(rename = "Aliases")]
pub aliases: Option<Vec<String>>,
#[serde(rename = "DriverOpts")]
pub driver_opts: Option<serde_json::Value>,
#[serde(rename = "Target")]
pub target: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct ArchitectureOsObject {
#[serde(rename = "Architecture")]
pub architecture: Option<String>,
#[serde(rename = "OS")]
pub os: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct BuildCacheDiskUsageShape {
#[serde(rename = "ActiveCount")]
pub active_count: Option<i64>,
#[serde(rename = "Items")]
pub items: Option<Vec<serde_json::Value>>,
#[serde(rename = "Reclaimable")]
pub reclaimable: Option<i64>,
#[serde(rename = "TotalCount")]
pub total_count: Option<i64>,
#[serde(rename = "TotalSize")]
pub total_size: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct CertIssuerPublicKeyCertIssuerSubjectTrustRootObject {
#[serde(rename = "CertIssuerPublicKey")]
pub cert_issuer_public_key: Option<String>,
#[serde(rename = "CertIssuerSubject")]
pub cert_issuer_subject: Option<String>,
#[serde(rename = "TrustRoot")]
pub trust_root: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct CgroupPermissionsPathInContainerPathOnHostObject {
#[serde(rename = "CgroupPermissions")]
pub cgroup_permissions: Option<String>,
#[serde(rename = "PathInContainer")]
pub path_in_container: Option<String>,
#[serde(rename = "PathOnHost")]
pub path_on_host: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ContainerAttachArgsShape {
pub id: String,
pub detach_keys: Option<String>,
pub logs: Option<String>,
pub stream: Option<String>,
pub stdin: Option<String>,
pub stdout: Option<String>,
pub stderr: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DescriptionNameValueObject {
#[serde(rename = "Description")]
pub description: Option<String>,
#[serde(rename = "Name")]
pub name: Option<String>,
#[serde(rename = "Value")]
pub value: Option<Vec<String>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct DeviceRequestShape {
#[serde(rename = "Capabilities")]
pub capabilities: Option<Vec<Vec<String>>>,
#[serde(rename = "Count")]
pub count: Option<i64>,
#[serde(rename = "DeviceIDs")]
pub device_i_ds: Option<Vec<String>>,
#[serde(rename = "Driver")]
pub driver: Option<String>,
#[serde(rename = "Options")]
pub options: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct EmptyArgs {}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct EndpointPortConfigShape {
#[serde(rename = "Name")]
pub name: Option<String>,
#[serde(rename = "Protocol")]
pub protocol: Option<String>,
#[serde(rename = "PublishMode")]
pub publish_mode: Option<String>,
#[serde(rename = "PublishedPort")]
pub published_port: Option<i64>,
#[serde(rename = "TargetPort")]
pub target_port: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct FiltersArgs {
pub filters: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct GenericResourcesMemoryBytesNanoCpUsObject {
#[serde(rename = "GenericResources")]
pub generic_resources: Option<Vec<std::collections::HashMap<String, serde_json::Value>>>,
#[serde(rename = "MemoryBytes")]
pub memory_bytes: Option<i64>,
#[serde(rename = "NanoCPUs")]
pub nano_cp_us: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct HealthConfigShape {
#[serde(rename = "Interval")]
pub interval: Option<i64>,
#[serde(rename = "Retries")]
pub retries: Option<i64>,
#[serde(rename = "StartInterval")]
pub start_interval: Option<i64>,
#[serde(rename = "StartPeriod")]
pub start_period: Option<i64>,
#[serde(rename = "Test")]
pub test: Option<Vec<String>>,
#[serde(rename = "Timeout")]
pub timeout: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct IPAMConfigShape {
#[serde(rename = "AuxiliaryAddresses")]
pub auxiliary_addresses: Option<serde_json::Value>,
#[serde(rename = "Gateway")]
pub gateway: Option<String>,
#[serde(rename = "IPRange")]
pub ip_range: Option<String>,
#[serde(rename = "Subnet")]
pub subnet: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IdArgs {
pub id: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IdHWArgs {
pub id: String,
pub h: Option<String>,
pub w: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct IdObject {
#[serde(rename = "ID")]
pub id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct IdSignalTArgs {
pub id: String,
pub signal: Option<String>,
pub t: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MaximumRetryCountNameObject {
#[serde(rename = "MaximumRetryCount")]
pub maximum_retry_count: Option<i64>,
#[serde(rename = "Name")]
pub name: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MemoryBytesNanoCpUsPidsObject {
#[serde(rename = "MemoryBytes")]
pub memory_bytes: Option<i64>,
#[serde(rename = "NanoCPUs")]
pub nano_cp_us: Option<i64>,
#[serde(rename = "Pids")]
pub pids: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct MountShape {
#[serde(rename = "BindOptions")]
pub bind_options: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "Consistency")]
pub consistency: Option<String>,
#[serde(rename = "ImageOptions")]
pub image_options: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "ReadOnly")]
pub read_only: Option<bool>,
#[serde(rename = "Source")]
pub source: Option<String>,
#[serde(rename = "Target")]
pub target: Option<String>,
#[serde(rename = "TmpfsOptions")]
pub tmpfs_options: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "Type")]
pub r#type: Option<serde_json::Value>,
#[serde(rename = "VolumeOptions")]
pub volume_options: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct NameArgs {
pub name: String,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct NameForceArgs {
pub name: String,
pub force: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NameOptionsObject {
#[serde(rename = "Name")]
pub name: String,
#[serde(rename = "Options")]
pub options: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NetworkObject {
#[serde(rename = "Network")]
pub network: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct NodeSpecShape {
#[serde(rename = "Availability")]
pub availability: Option<String>,
#[serde(rename = "Labels")]
pub labels: Option<serde_json::Value>,
#[serde(rename = "Name")]
pub name: Option<String>,
#[serde(rename = "Role")]
pub role: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct PathRateObject {
#[serde(rename = "Path")]
pub path: Option<String>,
#[serde(rename = "Rate")]
pub rate: Option<i64>,
}
#[derive(Debug, Clone, Default, Serialize, JsonHash)]
pub struct ServiceLogsArgsShape {
pub id: String,
pub details: Option<String>,
pub follow: Option<String>,
pub stdout: Option<String>,
pub stderr: Option<String>,
pub since: Option<String>,
pub timestamps: Option<String>,
pub tail: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct SwarmSpecShape {
#[serde(rename = "CAConfig")]
pub ca_config: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "Dispatcher")]
pub dispatcher: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "EncryptionConfig")]
pub encryption_config: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "Labels")]
pub labels: Option<serde_json::Value>,
#[serde(rename = "Name")]
pub name: Option<String>,
#[serde(rename = "Orchestration")]
pub orchestration: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "Raft")]
pub raft: Option<std::collections::HashMap<String, serde_json::Value>>,
#[serde(rename = "TaskDefaults")]
pub task_defaults: Option<std::collections::HashMap<String, serde_json::Value>>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct UnlockKeyObject {
#[serde(rename = "UnlockKey")]
pub unlock_key: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonHash)]
pub struct WarningsObject {
#[serde(rename = "Warnings")]
pub warnings: Option<Vec<String>>,
}