use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DescribeRepositoriesRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub registry_id: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub repository_names: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_results: Option<i32>,
}
impl DescribeRepositoriesRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
registry_id: Some("test-registry_id".into()),
repository_names: vec![],
next_token: Some("test-next_token".into()),
max_results: Some(100),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DescribeRepositoriesResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub repositories: Vec<Repository>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
impl DescribeRepositoriesResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
repositories: vec![],
next_token: Some("test-next_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct Repository {
#[serde(skip_serializing_if = "Option::is_none")]
pub repository_arn: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub registry_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub repository_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub repository_uri: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub created_at: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub image_tag_mutability: Option<String>,
}
impl Repository {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
repository_arn: Some("test-repository_arn".into()),
registry_id: Some("test-registry_id".into()),
repository_name: Some("test-repository_name".into()),
repository_uri: Some("test-repository_uri".into()),
image_tag_mutability: Some("test-image_tag_mutability".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DescribeImagesRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub registry_id: Option<String>,
pub repository_name: String,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub image_ids: Vec<ImageIdentifier>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_results: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub filter: Option<DescribeImagesFilter>,
}
impl DescribeImagesRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
registry_id: Some("test-registry_id".into()),
repository_name: "test-repository_name".into(),
image_ids: vec![],
next_token: Some("test-next_token".into()),
max_results: Some(100),
filter: Some(DescribeImagesFilter::fixture()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DescribeImagesResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub image_details: Vec<ImageDetail>,
#[serde(skip_serializing_if = "Option::is_none")]
pub next_token: Option<String>,
}
impl DescribeImagesResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
image_details: vec![],
next_token: Some("test-next_token".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ImageDetail {
#[serde(skip_serializing_if = "Option::is_none")]
pub registry_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub repository_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub image_digest: Option<String>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub image_tags: Vec<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub image_size_in_bytes: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub image_pushed_at: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub image_manifest_media_type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub last_recorded_pull_time: Option<f64>,
}
impl ImageDetail {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
registry_id: Some("test-registry_id".into()),
repository_name: Some("test-repository_name".into()),
image_digest: Some("test-image_digest".into()),
image_tags: vec![],
image_size_in_bytes: Some(100),
image_manifest_media_type: Some("test-image_manifest_media_type".into()),
..Default::default()
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct DescribeImagesFilter {
#[serde(skip_serializing_if = "Option::is_none")]
pub tag_status: Option<String>,
}
impl DescribeImagesFilter {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
tag_status: Some("test-tag_status".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ImageIdentifier {
#[serde(skip_serializing_if = "Option::is_none")]
pub image_digest: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub image_tag: Option<String>,
}
impl ImageIdentifier {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
image_digest: Some("test-image_digest".into()),
image_tag: Some("test-image_tag".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PutLifecyclePolicyRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub registry_id: Option<String>,
pub repository_name: String,
pub lifecycle_policy_text: String,
}
impl PutLifecyclePolicyRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
registry_id: Some("test-registry_id".into()),
repository_name: "test-repository_name".into(),
lifecycle_policy_text: "test-lifecycle_policy_text".into(),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PutLifecyclePolicyResponse {
#[serde(skip_serializing_if = "Option::is_none")]
pub registry_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub repository_name: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub lifecycle_policy_text: Option<String>,
}
impl PutLifecyclePolicyResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
registry_id: Some("test-registry_id".into()),
repository_name: Some("test-repository_name".into()),
lifecycle_policy_text: Some("test-lifecycle_policy_text".into()),
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BatchDeleteImageRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub registry_id: Option<String>,
pub repository_name: String,
#[serde(default)]
pub image_ids: Vec<ImageIdentifier>,
}
impl BatchDeleteImageRequest {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
registry_id: Some("test-registry_id".into()),
repository_name: "test-repository_name".into(),
image_ids: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct BatchDeleteImageResponse {
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub image_ids: Vec<ImageIdentifier>,
#[serde(default)]
#[serde(skip_serializing_if = "Vec::is_empty")]
pub failures: Vec<ImageFailure>,
}
impl BatchDeleteImageResponse {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
image_ids: vec![],
failures: vec![],
}
}
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ImageFailure {
#[serde(skip_serializing_if = "Option::is_none")]
pub image_id: Option<ImageIdentifier>,
#[serde(skip_serializing_if = "Option::is_none")]
pub failure_code: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub failure_reason: Option<String>,
}
impl ImageFailure {
#[cfg(any(test, feature = "test-support"))]
pub fn fixture() -> Self {
Self {
image_id: Some(ImageIdentifier::fixture()),
failure_code: Some("test-failure_code".into()),
failure_reason: Some("test-failure_reason".into()),
}
}
}