Skip to main content

winterbaume_appsync/
types.rs

1use std::collections::HashMap;
2
3/// A GraphQL API resource (v1).
4#[derive(Debug, Clone)]
5pub struct GraphqlApi {
6    pub api_id: String,
7    pub name: String,
8    pub authentication_type: String,
9    pub arn: String,
10    pub uris: HashMap<String, String>,
11    pub tags: HashMap<String, String>,
12    pub xray_enabled: bool,
13    pub additional_authentication_provider: Option<serde_json::Value>,
14    pub lambda_authorizer_config: Option<serde_json::Value>,
15    pub user_pool_config: Option<serde_json::Value>,
16    pub enhanced_metrics_config: Option<serde_json::Value>,
17}
18
19/// An Event API resource (v2).
20#[derive(Debug, Clone)]
21pub struct Api {
22    pub api_id: String,
23    pub name: String,
24    pub api_arn: String,
25    pub created: f64,
26    pub tags: HashMap<String, String>,
27    pub owner_contact: Option<String>,
28}
29
30/// An API cache resource.
31#[derive(Debug, Clone)]
32pub struct ApiCacheEntry {
33    pub api_id: String,
34    pub api_caching_behavior: String,
35    pub r#type: String,
36    pub ttl: i64,
37    pub at_rest_encryption_enabled: bool,
38    pub transit_encryption_enabled: bool,
39    pub status: String,
40    pub health_metrics_config: Option<String>,
41}
42
43/// An API key resource.
44#[derive(Debug, Clone)]
45pub struct ApiKeyEntry {
46    pub id: String,
47    pub api_id: String,
48    pub description: Option<String>,
49    pub expires: i64,
50    pub deletes: i64,
51}
52
53/// A channel namespace resource (v2).
54#[derive(Debug, Clone)]
55pub struct ChannelNamespaceEntry {
56    pub api_id: String,
57    pub name: String,
58    pub channel_namespace_arn: String,
59    pub created: f64,
60    pub last_modified: f64,
61    pub tags: HashMap<String, String>,
62}
63
64/// A GraphQL type resource.
65#[derive(Debug, Clone)]
66pub struct TypeEntry {
67    pub api_id: String,
68    pub name: String,
69    pub definition: Option<String>,
70    pub format: String,
71    pub arn: String,
72}
73
74/// Schema creation status for a GraphQL API.
75#[derive(Debug, Clone)]
76pub struct SchemaStatus {
77    pub status: String,
78    pub details: Option<String>,
79}