use crate::JsonSchema; use crate::TS; use serde::Deserialize; use serde::Serialize; #[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq, JsonSchema, TS)] #[serde(rename_all = "camelCase")] #[ts(export_to = "v2/")] pub struct BedrockDiscoverParams {} #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema, TS)] #[serde(rename_all = "camelCase")] #[ts(export_to = "v2/")] pub struct BedrockDiscoverResponse { pub profiles: Vec, pub environment_credentials: Vec, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema, TS)] #[serde(rename_all = "camelCase")] #[ts(export_to = "v2/")] pub struct BedrockAwsProfile { pub name: String, pub region: Option, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema, TS)] #[serde(rename_all = "camelCase")] #[ts(export_to = "v2/")] pub struct BedrockEnvironmentCredential { #[serde(rename = "type")] #[ts(rename = "type")] pub credential_type: AwsCredentialType, pub region: Option, } #[derive(Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq, JsonSchema, TS)] #[serde(rename_all = "camelCase")] #[ts(rename_all = "camelCase")] #[ts(export_to = "v2/")] pub enum AwsCredentialType { AccessKeys, BedrockApiKey, } #[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, JsonSchema, TS)] #[serde(tag = "type", rename_all = "camelCase")] #[ts(tag = "type", rename_all = "camelCase")] #[ts(export_to = "v2/")] pub enum BedrockSetupParams { #[serde(rename_all = "camelCase")] #[ts(rename_all = "camelCase")] Profile { profile: String, region: String }, #[serde(rename_all = "camelCase")] #[ts(rename_all = "camelCase")] Environment { region: String }, } #[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq, JsonSchema, TS)] #[serde(rename_all = "camelCase")] #[ts(export_to = "v2/")] pub struct BedrockSetupResponse {}