diff --git a/services/CHANGELOG.md b/services/CHANGELOG.md new file mode 100644 index 0000000000..bf25044058 --- /dev/null +++ b/services/CHANGELOG.md @@ -0,0 +1,8 @@ +# 0.2 (2022-03) + +- generated from azure-rest-api-specs [commit from 2022-03-02](https://github.com/Azure/azure-rest-api-specs/commit/c56b44b794ff17caad4d31c6ab64b07e28253504) + +# 0.1 (2022-01) + +- initial publish to crates.io +- generated from azure-rest-api-specs [commit from 2022-01-07](https://github.com/Azure/azure-rest-api-specs/commit/068f1ecdf3abb35a6a329a7b270c45df4d9c57a4) diff --git a/services/autorust/codegen/examples/gen_mgmt.rs b/services/autorust/codegen/examples/gen_mgmt.rs index 38eabc63c0..e41aed4895 100644 --- a/services/autorust/codegen/examples/gen_mgmt.rs +++ b/services/autorust/codegen/examples/gen_mgmt.rs @@ -63,6 +63,7 @@ const SKIP_SERVICE_TAGS: &[(&str, &str)] = &[ ("resources", "package-policy-2020-09"), // SchemaNotFound { ref_key: RefKey { file_path: "../../../azure-rest-api-specs/specification/resources/resource-manager/Microsoft.Authorization/stable/2020-09-01/dataPolicyManifests.json", name: "CloudError" ("security", "package-2020-01-preview-only"), // duplicate tag https://github.com/Azure/azure-rest-api-specs/pull/13828 ("security", "package-2019-08-only"), // defines `start_time_utc` param twice. + ("securityinsights", "package-2021-10"), // invalid unicode code point https://github.com/Azure/azure-rest-api-specs/pull/18068 ]; // because of a bug in compute specs, some properties need to be forced to be optional @@ -191,6 +192,7 @@ const BOX_PROPERTIES: &[(&str, &str, &str)] = &[ ("../../../azure-rest-api-specs/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-06-01-preview/dataprotection.json", "InnerError", "embeddedInnerError"), ("../../../azure-rest-api-specs/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-10-01-preview/dataprotection.json", "InnerError", "embeddedInnerError"), ("../../../azure-rest-api-specs/specification/dataprotection/resource-manager/Microsoft.DataProtection/preview/2021-12-01-preview/dataprotection.json", "InnerError", "embeddedInnerError"), + ("../../../azure-rest-api-specs/specification/dataprotection/resource-manager/Microsoft.DataProtection/stable/2022-01-01/dataprotection.json", "InnerError", "embeddedInnerError"), // hardwaresecuritymodels ("../../../azure-rest-api-specs/specification/hardwaresecuritymodules/resource-manager/Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json", "Error", "innererror"), // logic diff --git a/services/autorust/codegen/src/cargo_toml.rs b/services/autorust/codegen/src/cargo_toml.rs index ee12e4c4a6..9d78bfd4ba 100644 --- a/services/autorust/codegen/src/cargo_toml.rs +++ b/services/autorust/codegen/src/cargo_toml.rs @@ -20,7 +20,7 @@ pub fn create(crate_name: &str, feature_mod_names: &[(String, String)], path: &P r#"# generated by AutoRust [package] name = "{}" -version = "0.1.0" +version = "0.2.0" edition = "2018" license = "MIT" description = "generated REST API bindings" diff --git a/services/mgmt/activedirectory/Cargo.toml b/services/mgmt/activedirectory/Cargo.toml index 2475c8aac9..449c5d3689 100644 --- a/services/mgmt/activedirectory/Cargo.toml +++ b/services/mgmt/activedirectory/Cargo.toml @@ -1,7 +1,7 @@ # generated by AutoRust [package] name = "azure_mgmt_activedirectory" -version = "0.1.0" +version = "0.2.0" edition = "2018" license = "MIT" description = "generated REST API bindings" diff --git a/services/mgmt/addons/Cargo.toml b/services/mgmt/addons/Cargo.toml index 298e065790..bfd666dd7e 100644 --- a/services/mgmt/addons/Cargo.toml +++ b/services/mgmt/addons/Cargo.toml @@ -1,7 +1,7 @@ # generated by AutoRust [package] name = "azure_mgmt_addons" -version = "0.1.0" +version = "0.2.0" edition = "2018" license = "MIT" description = "generated REST API bindings" diff --git a/services/mgmt/adhybridhealthservice/Cargo.toml b/services/mgmt/adhybridhealthservice/Cargo.toml index b21461ada3..94f56fae7d 100644 --- a/services/mgmt/adhybridhealthservice/Cargo.toml +++ b/services/mgmt/adhybridhealthservice/Cargo.toml @@ -1,7 +1,7 @@ # generated by AutoRust [package] name = "azure_mgmt_adhybridhealthservice" -version = "0.1.0" +version = "0.2.0" edition = "2018" license = "MIT" description = "generated REST API bindings" diff --git a/services/mgmt/adp/Cargo.toml b/services/mgmt/adp/Cargo.toml index e5f2e612d6..0e47a83dcd 100644 --- a/services/mgmt/adp/Cargo.toml +++ b/services/mgmt/adp/Cargo.toml @@ -1,7 +1,7 @@ # generated by AutoRust [package] name = "azure_mgmt_adp" -version = "0.1.0" +version = "0.2.0" edition = "2018" license = "MIT" description = "generated REST API bindings" diff --git a/services/mgmt/advisor/Cargo.toml b/services/mgmt/advisor/Cargo.toml index 226213283f..ef3f915e8d 100644 --- a/services/mgmt/advisor/Cargo.toml +++ b/services/mgmt/advisor/Cargo.toml @@ -1,7 +1,7 @@ # generated by AutoRust [package] name = "azure_mgmt_advisor" -version = "0.1.0" +version = "0.2.0" edition = "2018" license = "MIT" description = "generated REST API bindings" diff --git a/services/mgmt/agrifood/Cargo.toml b/services/mgmt/agrifood/Cargo.toml index 9e09820855..c0c4daebf7 100644 --- a/services/mgmt/agrifood/Cargo.toml +++ b/services/mgmt/agrifood/Cargo.toml @@ -1,7 +1,7 @@ # generated by AutoRust [package] name = "azure_mgmt_agrifood" -version = "0.1.0" +version = "0.2.0" edition = "2018" license = "MIT" description = "generated REST API bindings" diff --git a/services/mgmt/alertsmanagement/Cargo.toml b/services/mgmt/alertsmanagement/Cargo.toml index 89c35d0f87..4f7f58d250 100644 --- a/services/mgmt/alertsmanagement/Cargo.toml +++ b/services/mgmt/alertsmanagement/Cargo.toml @@ -1,7 +1,7 @@ # generated by AutoRust [package] name = "azure_mgmt_alertsmanagement" -version = "0.1.0" +version = "0.2.0" edition = "2018" license = "MIT" description = "generated REST API bindings" diff --git a/services/mgmt/alertsmanagement/src/package_2018_05/models.rs b/services/mgmt/alertsmanagement/src/package_2018_05/models.rs index 3bc921b86f..12ba9f5b9c 100644 --- a/services/mgmt/alertsmanagement/src/package_2018_05/models.rs +++ b/services/mgmt/alertsmanagement/src/package_2018_05/models.rs @@ -32,6 +32,18 @@ impl Resource { Self::default() } } +#[doc = "Action status"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct ActionStatus { + #[doc = "Value indicating whether alert is suppressed."] + #[serde(rename = "isSuppressed", default, skip_serializing_if = "Option::is_none")] + pub is_suppressed: Option, +} +impl ActionStatus { + pub fn new() -> Self { + Self::default() + } +} #[doc = "An alert created in alert management service."] #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Alert { @@ -295,6 +307,12 @@ pub struct Essentials { #[doc = "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user."] #[serde(rename = "lastModifiedUserName", default, skip_serializing_if = "Option::is_none")] pub last_modified_user_name: Option, + #[doc = "Action status"] + #[serde(rename = "actionStatus", default, skip_serializing_if = "Option::is_none")] + pub action_status: Option, + #[doc = "Alert description."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub description: Option, } impl Essentials { pub fn new() -> Self { diff --git a/services/mgmt/alertsmanagement/src/package_2018_05_preview/models.rs b/services/mgmt/alertsmanagement/src/package_2018_05_preview/models.rs index 8321cf06a7..4130462ab5 100644 --- a/services/mgmt/alertsmanagement/src/package_2018_05_preview/models.rs +++ b/services/mgmt/alertsmanagement/src/package_2018_05_preview/models.rs @@ -32,6 +32,18 @@ impl Resource { Self::default() } } +#[doc = "Action status"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct ActionStatus { + #[doc = "Value indicating whether alert is suppressed."] + #[serde(rename = "isSuppressed", default, skip_serializing_if = "Option::is_none")] + pub is_suppressed: Option, +} +impl ActionStatus { + pub fn new() -> Self { + Self::default() + } +} #[doc = "An alert created in alert management service."] #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Alert { @@ -145,6 +157,9 @@ pub struct AlertProperties { #[doc = "Monitor service which is the source of the alert object."] #[serde(rename = "monitorService", default, skip_serializing_if = "Option::is_none")] pub monitor_service: Option, + #[doc = "Rule(monitor) which fired alert instance. Depending on the monitor service, this would be ARM id or name of the rule."] + #[serde(rename = "alertRule", default, skip_serializing_if = "Option::is_none")] + pub alert_rule: Option, #[doc = "Unique Id created by monitor service"] #[serde(rename = "sourceCreatedId", default, skip_serializing_if = "Option::is_none")] pub source_created_id: Option, @@ -166,6 +181,12 @@ pub struct AlertProperties { #[doc = "More details which are contextual to the monitor service."] #[serde(default, skip_serializing_if = "Option::is_none")] pub payload: Option, + #[doc = "Action status"] + #[serde(rename = "actionStatus", default, skip_serializing_if = "Option::is_none")] + pub action_status: Option, + #[doc = "Alert description."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub description: Option, } impl AlertProperties { pub fn new() -> Self { diff --git a/services/mgmt/alertsmanagement/src/package_2019_03/models.rs b/services/mgmt/alertsmanagement/src/package_2019_03/models.rs index 5e6393e4d1..9317990421 100644 --- a/services/mgmt/alertsmanagement/src/package_2019_03/models.rs +++ b/services/mgmt/alertsmanagement/src/package_2019_03/models.rs @@ -323,6 +323,18 @@ impl ThrottlingInformation { Self::default() } } +#[doc = "Action status"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct ActionStatus { + #[doc = "Value indicating whether alert is suppressed."] + #[serde(rename = "isSuppressed", default, skip_serializing_if = "Option::is_none")] + pub is_suppressed: Option, +} +impl ActionStatus { + pub fn new() -> Self { + Self::default() + } +} #[doc = "An alert created in alert management service."] #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Alert { @@ -618,6 +630,12 @@ pub struct Essentials { #[doc = "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user."] #[serde(rename = "lastModifiedUserName", default, skip_serializing_if = "Option::is_none")] pub last_modified_user_name: Option, + #[doc = "Action status"] + #[serde(rename = "actionStatus", default, skip_serializing_if = "Option::is_none")] + pub action_status: Option, + #[doc = "Alert description."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub description: Option, } impl Essentials { pub fn new() -> Self { diff --git a/services/mgmt/alertsmanagement/src/package_2019_06_preview/models.rs b/services/mgmt/alertsmanagement/src/package_2019_06_preview/models.rs index 503479d0a3..181228a525 100644 --- a/services/mgmt/alertsmanagement/src/package_2019_06_preview/models.rs +++ b/services/mgmt/alertsmanagement/src/package_2019_06_preview/models.rs @@ -647,6 +647,18 @@ impl ThrottlingInformation { Self::default() } } +#[doc = "Action status"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct ActionStatus { + #[doc = "Value indicating whether alert is suppressed."] + #[serde(rename = "isSuppressed", default, skip_serializing_if = "Option::is_none")] + pub is_suppressed: Option, +} +impl ActionStatus { + pub fn new() -> Self { + Self::default() + } +} #[doc = "An alert created in alert management service."] #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Alert { @@ -960,6 +972,12 @@ pub struct Essentials { #[doc = "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user."] #[serde(rename = "lastModifiedUserName", default, skip_serializing_if = "Option::is_none")] pub last_modified_user_name: Option, + #[doc = "Action status"] + #[serde(rename = "actionStatus", default, skip_serializing_if = "Option::is_none")] + pub action_status: Option, + #[doc = "Alert description."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub description: Option, } impl Essentials { pub fn new() -> Self { diff --git a/services/mgmt/alertsmanagement/src/package_2021_04_only/models.rs b/services/mgmt/alertsmanagement/src/package_2021_04_only/models.rs index de2f8ad6ba..9d2e44b152 100644 --- a/services/mgmt/alertsmanagement/src/package_2021_04_only/models.rs +++ b/services/mgmt/alertsmanagement/src/package_2021_04_only/models.rs @@ -385,6 +385,18 @@ impl ThrottlingInformation { Self::default() } } +#[doc = "Action status"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct ActionStatus { + #[doc = "Value indicating whether alert is suppressed."] + #[serde(rename = "isSuppressed", default, skip_serializing_if = "Option::is_none")] + pub is_suppressed: Option, +} +impl ActionStatus { + pub fn new() -> Self { + Self::default() + } +} #[doc = "An alert created in alert management service."] #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Alert { @@ -680,6 +692,12 @@ pub struct Essentials { #[doc = "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user."] #[serde(rename = "lastModifiedUserName", default, skip_serializing_if = "Option::is_none")] pub last_modified_user_name: Option, + #[doc = "Action status"] + #[serde(rename = "actionStatus", default, skip_serializing_if = "Option::is_none")] + pub action_status: Option, + #[doc = "Alert description."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub description: Option, } impl Essentials { pub fn new() -> Self { diff --git a/services/mgmt/alertsmanagement/src/package_2021_08/models.rs b/services/mgmt/alertsmanagement/src/package_2021_08/models.rs index eec5aecd41..c2f8f0a824 100644 --- a/services/mgmt/alertsmanagement/src/package_2021_08/models.rs +++ b/services/mgmt/alertsmanagement/src/package_2021_08/models.rs @@ -361,6 +361,18 @@ impl WeeklyRecurrence { Self { recurrence, days_of_week } } } +#[doc = "Action status"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct ActionStatus { + #[doc = "Value indicating whether alert is suppressed."] + #[serde(rename = "isSuppressed", default, skip_serializing_if = "Option::is_none")] + pub is_suppressed: Option, +} +impl ActionStatus { + pub fn new() -> Self { + Self::default() + } +} #[doc = "An alert created in alert management service."] #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Alert { @@ -674,6 +686,12 @@ pub struct Essentials { #[doc = "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user."] #[serde(rename = "lastModifiedUserName", default, skip_serializing_if = "Option::is_none")] pub last_modified_user_name: Option, + #[doc = "Action status"] + #[serde(rename = "actionStatus", default, skip_serializing_if = "Option::is_none")] + pub action_status: Option, + #[doc = "Alert description."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub description: Option, } impl Essentials { pub fn new() -> Self { diff --git a/services/mgmt/alertsmanagement/src/package_preview_2019_05/models.rs b/services/mgmt/alertsmanagement/src/package_preview_2019_05/models.rs index 806f1aaedb..c9b82d3570 100644 --- a/services/mgmt/alertsmanagement/src/package_preview_2019_05/models.rs +++ b/services/mgmt/alertsmanagement/src/package_preview_2019_05/models.rs @@ -381,6 +381,18 @@ impl SuppressionSchedule { Self::default() } } +#[doc = "Action status"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct ActionStatus { + #[doc = "Value indicating whether alert is suppressed."] + #[serde(rename = "isSuppressed", default, skip_serializing_if = "Option::is_none")] + pub is_suppressed: Option, +} +impl ActionStatus { + pub fn new() -> Self { + Self::default() + } +} #[doc = "An alert created in alert management service."] #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Alert { @@ -694,6 +706,12 @@ pub struct Essentials { #[doc = "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user."] #[serde(rename = "lastModifiedUserName", default, skip_serializing_if = "Option::is_none")] pub last_modified_user_name: Option, + #[doc = "Action status"] + #[serde(rename = "actionStatus", default, skip_serializing_if = "Option::is_none")] + pub action_status: Option, + #[doc = "Alert description."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub description: Option, } impl Essentials { pub fn new() -> Self { diff --git a/services/mgmt/alertsmanagement/src/package_preview_2021_08/models.rs b/services/mgmt/alertsmanagement/src/package_preview_2021_08/models.rs index eec5aecd41..c2f8f0a824 100644 --- a/services/mgmt/alertsmanagement/src/package_preview_2021_08/models.rs +++ b/services/mgmt/alertsmanagement/src/package_preview_2021_08/models.rs @@ -361,6 +361,18 @@ impl WeeklyRecurrence { Self { recurrence, days_of_week } } } +#[doc = "Action status"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct ActionStatus { + #[doc = "Value indicating whether alert is suppressed."] + #[serde(rename = "isSuppressed", default, skip_serializing_if = "Option::is_none")] + pub is_suppressed: Option, +} +impl ActionStatus { + pub fn new() -> Self { + Self::default() + } +} #[doc = "An alert created in alert management service."] #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] pub struct Alert { @@ -674,6 +686,12 @@ pub struct Essentials { #[doc = "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user."] #[serde(rename = "lastModifiedUserName", default, skip_serializing_if = "Option::is_none")] pub last_modified_user_name: Option, + #[doc = "Action status"] + #[serde(rename = "actionStatus", default, skip_serializing_if = "Option::is_none")] + pub action_status: Option, + #[doc = "Alert description."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub description: Option, } impl Essentials { pub fn new() -> Self { diff --git a/services/mgmt/analysisservices/Cargo.toml b/services/mgmt/analysisservices/Cargo.toml index 1705f01252..90d5b8fe2a 100644 --- a/services/mgmt/analysisservices/Cargo.toml +++ b/services/mgmt/analysisservices/Cargo.toml @@ -1,7 +1,7 @@ # generated by AutoRust [package] name = "azure_mgmt_analysisservices" -version = "0.1.0" +version = "0.2.0" edition = "2018" license = "MIT" description = "generated REST API bindings" diff --git a/services/mgmt/apimanagement/Cargo.toml b/services/mgmt/apimanagement/Cargo.toml index 26e0d792ab..701b07e1bd 100644 --- a/services/mgmt/apimanagement/Cargo.toml +++ b/services/mgmt/apimanagement/Cargo.toml @@ -1,7 +1,7 @@ # generated by AutoRust [package] name = "azure_mgmt_apimanagement" -version = "0.1.0" +version = "0.2.0" edition = "2018" license = "MIT" description = "generated REST API bindings" diff --git a/services/mgmt/apimanagement/src/package_2020_12/operations.rs b/services/mgmt/apimanagement/src/package_2020_12/operations.rs index 63ecefb381..4a611a4b96 100644 --- a/services/mgmt/apimanagement/src/package_2020_12/operations.rs +++ b/services/mgmt/apimanagement/src/package_2020_12/operations.rs @@ -6718,8 +6718,8 @@ pub mod api_management_service { use super::models; #[derive(Debug)] pub enum Response { - Accepted202, Ok200(models::ApiManagementServiceResource), + Accepted202, } #[derive(Debug, thiserror :: Error)] pub enum Error { @@ -6780,13 +6780,13 @@ pub mod api_management_service { let rsp = self.client.send(req).await.map_err(Error::SendRequest)?; let (rsp_status, rsp_headers, rsp_stream) = rsp.deconstruct(); match rsp_status { - http::StatusCode::ACCEPTED => Ok(Response::Accepted202), http::StatusCode::OK => { let rsp_body = azure_core::collect_pinned_stream(rsp_stream).await.map_err(Error::ResponseBytes)?; let rsp_value: models::ApiManagementServiceResource = serde_json::from_slice(&rsp_body).map_err(|source| Error::Deserialize(source, rsp_body.clone()))?; Ok(Response::Ok200(rsp_value)) } + http::StatusCode::ACCEPTED => Ok(Response::Accepted202), status_code => { let rsp_body = azure_core::collect_pinned_stream(rsp_stream).await.map_err(Error::ResponseBytes)?; let rsp_value: models::ErrorResponse = diff --git a/services/mgmt/apimanagement/src/package_2021_08/operations.rs b/services/mgmt/apimanagement/src/package_2021_08/operations.rs index 9440d0ed43..73f9455d20 100644 --- a/services/mgmt/apimanagement/src/package_2021_08/operations.rs +++ b/services/mgmt/apimanagement/src/package_2021_08/operations.rs @@ -6855,8 +6855,8 @@ pub mod api_management_service { use super::models; #[derive(Debug)] pub enum Response { - Accepted202, Ok200(models::ApiManagementServiceResource), + Accepted202, } #[derive(Debug, thiserror :: Error)] pub enum Error { @@ -6917,13 +6917,13 @@ pub mod api_management_service { let rsp = self.client.send(req).await.map_err(Error::SendRequest)?; let (rsp_status, rsp_headers, rsp_stream) = rsp.deconstruct(); match rsp_status { - http::StatusCode::ACCEPTED => Ok(Response::Accepted202), http::StatusCode::OK => { let rsp_body = azure_core::collect_pinned_stream(rsp_stream).await.map_err(Error::ResponseBytes)?; let rsp_value: models::ApiManagementServiceResource = serde_json::from_slice(&rsp_body).map_err(|source| Error::Deserialize(source, rsp_body.clone()))?; Ok(Response::Ok200(rsp_value)) } + http::StatusCode::ACCEPTED => Ok(Response::Accepted202), status_code => { let rsp_body = azure_core::collect_pinned_stream(rsp_stream).await.map_err(Error::ResponseBytes)?; let rsp_value: models::ErrorResponse = @@ -18739,7 +18739,7 @@ pub mod private_endpoint_connection { use super::models; #[derive(Debug)] pub enum Response { - Created201, + Accepted202, Ok200(models::PrivateEndpointConnection), } #[derive(Debug, thiserror :: Error)] @@ -18801,7 +18801,7 @@ pub mod private_endpoint_connection { let rsp = self.client.send(req).await.map_err(Error::SendRequest)?; let (rsp_status, rsp_headers, rsp_stream) = rsp.deconstruct(); match rsp_status { - http::StatusCode::CREATED => Ok(Response::Created201), + http::StatusCode::ACCEPTED => Ok(Response::Accepted202), http::StatusCode::OK => { let rsp_body = azure_core::collect_pinned_stream(rsp_stream).await.map_err(Error::ResponseBytes)?; let rsp_value: models::PrivateEndpointConnection = diff --git a/services/mgmt/app/Cargo.toml b/services/mgmt/app/Cargo.toml new file mode 100644 index 0000000000..12ab5be80d --- /dev/null +++ b/services/mgmt/app/Cargo.toml @@ -0,0 +1,31 @@ +# generated by AutoRust +[package] +name = "azure_mgmt_app" +version = "0.2.0" +edition = "2018" +license = "MIT" +description = "generated REST API bindings" + +[dependencies] +azure_core = { path = "../../../sdk/core", version = "0.1", default-features = false } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +bytes = "1.0" +thiserror = "1.0" +http = "0.2" +url = "2.2" +futures = "0.3" + +[dev-dependencies] +azure_identity = { path = "../../../sdk/identity", version = "0.1" } +tokio = { version = "1.0", features = ["macros"] } + +[package.metadata.docs.rs] +all-features = true + +[features] +default = ["package-2022-01-01-preview", "enable_reqwest"] +enable_reqwest = ["azure_core/enable_reqwest"] +enable_reqwest_rustls = ["azure_core/enable_reqwest_rustls"] +no-default-version = [] +"package-2022-01-01-preview" = [] diff --git a/services/mgmt/app/src/lib.rs b/services/mgmt/app/src/lib.rs new file mode 100644 index 0000000000..d2594f1a5d --- /dev/null +++ b/services/mgmt/app/src/lib.rs @@ -0,0 +1,9 @@ +#![allow(clippy::module_inception)] +#![allow(clippy::too_many_arguments)] +#![allow(clippy::ptr_arg)] +#![allow(clippy::large_enum_variant)] +#![doc = "generated by AutoRust"] +#[cfg(feature = "package-2022-01-01-preview")] +pub mod package_2022_01_01_preview; +#[cfg(all(feature = "package-2022-01-01-preview", not(feature = "no-default-version")))] +pub use package_2022_01_01_preview::{models, operations, operations::Client, operations::ClientBuilder, operations::Error}; diff --git a/services/mgmt/appplatform/src/package_2019_05_01_preview/mod.rs b/services/mgmt/app/src/package_2022_01_01_preview/mod.rs similarity index 100% rename from services/mgmt/appplatform/src/package_2019_05_01_preview/mod.rs rename to services/mgmt/app/src/package_2022_01_01_preview/mod.rs diff --git a/services/mgmt/app/src/package_2022_01_01_preview/models.rs b/services/mgmt/app/src/package_2022_01_01_preview/models.rs new file mode 100644 index 0000000000..d284ef2843 --- /dev/null +++ b/services/mgmt/app/src/package_2022_01_01_preview/models.rs @@ -0,0 +1,2225 @@ +#![doc = "generated by AutoRust"] +#![allow(non_camel_case_types)] +#![allow(unused_imports)] +use serde::{Deserialize, Serialize}; +#[doc = "The configuration settings of the Allowed Audiences validation flow."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AllowedAudiencesValidation { + #[doc = "The configuration settings of the allowed list of audiences from which to validate the JWT token."] + #[serde(rename = "allowedAudiences", default, skip_serializing_if = "Vec::is_empty")] + pub allowed_audiences: Vec, +} +impl AllowedAudiencesValidation { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "Configuration of application logs"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AppLogsConfiguration { + #[doc = "Logs destination"] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub destination: Option, + #[doc = "Log analytics configuration"] + #[serde(rename = "logAnalyticsConfiguration", default, skip_serializing_if = "Option::is_none")] + pub log_analytics_configuration: Option, +} +impl AppLogsConfiguration { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "The configuration settings of the app registration for providers that have app ids and app secrets"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AppRegistration { + #[doc = "The App ID of the app used for login."] + #[serde(rename = "appId", default, skip_serializing_if = "Option::is_none")] + pub app_id: Option, + #[doc = "The app secret ref name that contains the app secret."] + #[serde(rename = "appSecretRefName", default, skip_serializing_if = "Option::is_none")] + pub app_secret_ref_name: Option, +} +impl AppRegistration { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "The configuration settings of the Apple provider."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct Apple { + #[doc = "Indicate whether identity provider is enabled or disabled."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub state: Option, + #[doc = "The configuration settings of the registration for the Apple provider"] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub registration: Option, + #[doc = "The configuration settings of the login flow, including the scopes that should be requested."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub login: Option, +} +impl Apple { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "The configuration settings of the registration for the Apple provider"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AppleRegistration { + #[doc = "The Client ID of the app used for login."] + #[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")] + pub client_id: Option, + #[doc = "The app secret ref name that contains the client secret."] + #[serde(rename = "clientSecretRefName", default, skip_serializing_if = "Option::is_none")] + pub client_secret_ref_name: Option, +} +impl AppleRegistration { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "Configuration settings for the Azure ContainerApp Authentication / Authorization feature."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AuthConfig { + #[serde(flatten)] + pub proxy_resource: ProxyResource, + #[doc = "Auth configuration resource specific properties"] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub properties: Option, +} +impl AuthConfig { + pub fn new() -> Self { + Self::default() + } +} +pub mod auth_config { + use super::*; + #[doc = "Auth configuration resource specific properties"] + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] + pub struct Properties { + #[doc = "Enabled if the Authentication / Authorization feature is enabled for the current app; otherwise, Disabled."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub state: Option, + #[doc = "The configuration settings that determines the validation flow of users using ContainerApp Authentication/Authorization."] + #[serde(rename = "globalValidation", default, skip_serializing_if = "Option::is_none")] + pub global_validation: Option, + #[doc = "The configuration settings of each of the identity providers used to configure ContainerApp Authentication/Authorization."] + #[serde(rename = "identityProviders", default, skip_serializing_if = "Option::is_none")] + pub identity_providers: Option, + #[doc = "The configuration settings of the login flow of users using ContainerApp Authentication/Authorization."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub login: Option, + #[doc = "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Authentication/Authorization."] + #[serde(rename = "httpSettings", default, skip_serializing_if = "Option::is_none")] + pub http_settings: Option, + } + impl Properties { + pub fn new() -> Self { + Self::default() + } + } + pub mod properties { + use super::*; + #[doc = "Enabled if the Authentication / Authorization feature is enabled for the current app; otherwise, Disabled."] + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] + pub enum State { + Enabled, + Disabled, + } + } +} +#[doc = "AuthConfig collection ARM resource."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +pub struct AuthConfigCollection { + #[doc = "Collection of resources."] + pub value: Vec, + #[doc = "Link to next page of resources."] + #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] + pub next_link: Option, +} +impl AuthConfigCollection { + pub fn new(value: Vec) -> Self { + Self { value, next_link: None } + } +} +#[doc = "Available operations of the service"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AvailableOperations { + #[doc = "Collection of available operation details"] + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub value: Vec, + #[doc = "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use."] + #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] + pub next_link: Option, +} +impl AvailableOperations { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "The configuration settings of the Azure Active directory provider."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AzureActiveDirectory { + #[doc = "Indicate whether identity provider is enabled or disabled."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub state: Option, + #[doc = "The configuration settings of the Azure Active Directory app registration."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub registration: Option, + #[doc = "The configuration settings of the Azure Active Directory login flow."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub login: Option, + #[doc = "The configuration settings of the Azure Active Directory token validation flow."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub validation: Option, +} +impl AzureActiveDirectory { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "The configuration settings of the Azure Active Directory login flow."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AzureActiveDirectoryLogin { + #[doc = "Login parameters to send to the OpenID Connect authorization endpoint when\na user logs in. Each parameter must be in the form \"key=value\"."] + #[serde(rename = "loginParameters", default, skip_serializing_if = "Vec::is_empty")] + pub login_parameters: Vec, + #[doc = "true if the www-authenticate provider should be omitted from the request; otherwise, false."] + #[serde(rename = "disableWwwAuthenticate", default, skip_serializing_if = "Option::is_none")] + pub disable_www_authenticate: Option, +} +impl AzureActiveDirectoryLogin { + pub fn new() -> Self { + Self::default() + } +} +pub mod azure_active_directory_login { + use super::*; + #[doc = "true if the www-authenticate provider should be omitted from the request; otherwise, false."] + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] + pub enum DisableWwwAuthenticate { + True, + False, + } +} +#[doc = "The configuration settings of the Azure Active Directory app registration."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AzureActiveDirectoryRegistration { + #[doc = "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html"] + #[serde(rename = "openIdIssuer", default, skip_serializing_if = "Option::is_none")] + pub open_id_issuer: Option, + #[doc = "The Client ID of this relying party application, known as the client_id.\nThis setting is required for enabling OpenID Connection authentication with Azure Active Directory or \nother 3rd party OpenID Connect providers.\nMore information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html"] + #[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")] + pub client_id: Option, + #[doc = "The app secret ref name that contains the client secret of the relying party application."] + #[serde(rename = "clientSecretRefName", default, skip_serializing_if = "Option::is_none")] + pub client_secret_ref_name: Option, + #[doc = "An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret. It is also optional."] + #[serde(rename = "clientSecretCertificateThumbprint", default, skip_serializing_if = "Option::is_none")] + pub client_secret_certificate_thumbprint: Option, + #[doc = "An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional."] + #[serde( + rename = "clientSecretCertificateSubjectAlternativeName", + default, + skip_serializing_if = "Option::is_none" + )] + pub client_secret_certificate_subject_alternative_name: Option, + #[doc = "An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional."] + #[serde(rename = "clientSecretCertificateIssuer", default, skip_serializing_if = "Option::is_none")] + pub client_secret_certificate_issuer: Option, +} +impl AzureActiveDirectoryRegistration { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "The configuration settings of the Azure Active Directory token validation flow."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AzureActiveDirectoryValidation { + #[doc = "The list of audiences that can make successful authentication/authorization requests."] + #[serde(rename = "allowedAudiences", default, skip_serializing_if = "Vec::is_empty")] + pub allowed_audiences: Vec, +} +impl AzureActiveDirectoryValidation { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "Container App credentials."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AzureCredentials { + #[doc = "Client Id."] + #[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")] + pub client_id: Option, + #[doc = "Client Secret."] + #[serde(rename = "clientSecret", default, skip_serializing_if = "Option::is_none")] + pub client_secret: Option, + #[doc = "Tenant Id."] + #[serde(rename = "tenantId", default, skip_serializing_if = "Option::is_none")] + pub tenant_id: Option, + #[doc = "Subscription Id."] + #[serde(rename = "subscriptionId", default, skip_serializing_if = "Option::is_none")] + pub subscription_id: Option, +} +impl AzureCredentials { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "Azure File Properties."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AzureFileProperties { + #[doc = "Storage account name for azure file."] + #[serde(rename = "accountName", default, skip_serializing_if = "Option::is_none")] + pub account_name: Option, + #[doc = "Storage account key for azure file."] + #[serde(rename = "accountKey", default, skip_serializing_if = "Option::is_none")] + pub account_key: Option, + #[doc = "Access mode for storage"] + #[serde(rename = "accessMode", default, skip_serializing_if = "Option::is_none")] + pub access_mode: Option, + #[doc = "Azure file share name."] + #[serde(rename = "shareName", default, skip_serializing_if = "Option::is_none")] + pub share_name: Option, +} +impl AzureFileProperties { + pub fn new() -> Self { + Self::default() + } +} +pub mod azure_file_properties { + use super::*; + #[doc = "Access mode for storage"] + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] + pub enum AccessMode { + ReadOnly, + ReadWrite, + } +} +#[doc = "The configuration settings of the Azure Static Web Apps provider."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AzureStaticWebApp { + #[doc = "Indicate whether identity provider is enabled or disabled."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub state: Option, + #[doc = "The configuration settings of the registration for the Azure Static Web Apps provider"] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub registration: Option, +} +impl AzureStaticWebApp { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "The configuration settings of the registration for the Azure Static Web Apps provider"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct AzureStaticWebAppRegistration { + #[doc = "The Client ID of the app used for login."] + #[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")] + pub client_id: Option, +} +impl AzureStaticWebAppRegistration { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "Certificate used for Custom Domain bindings of Container Apps in a Managed Environment"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +pub struct Certificate { + #[serde(flatten)] + pub tracked_resource: TrackedResource, + #[doc = "Certificate resource specific properties"] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub properties: Option, +} +impl Certificate { + pub fn new(tracked_resource: TrackedResource) -> Self { + Self { + tracked_resource, + properties: None, + } + } +} +pub mod certificate { + use super::*; + #[doc = "Certificate resource specific properties"] + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] + pub struct Properties { + #[doc = "Provisioning state of the certificate."] + #[serde(rename = "provisioningState", default, skip_serializing_if = "Option::is_none")] + pub provisioning_state: Option, + #[doc = "Certificate password."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub password: Option, + #[doc = "Subject name of the certificate."] + #[serde(rename = "subjectName", default, skip_serializing_if = "Option::is_none")] + pub subject_name: Option, + #[doc = "PFX or PEM blob"] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub value: Option, + #[doc = "Certificate issuer."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub issuer: Option, + #[doc = "Certificate issue Date."] + #[serde(rename = "issueDate", default, skip_serializing_if = "Option::is_none")] + pub issue_date: Option, + #[doc = "Certificate expiration date."] + #[serde(rename = "expirationDate", default, skip_serializing_if = "Option::is_none")] + pub expiration_date: Option, + #[doc = "Certificate thumbprint."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub thumbprint: Option, + #[doc = "Is the certificate valid?."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub valid: Option, + #[doc = "Public key hash."] + #[serde(rename = "publicKeyHash", default, skip_serializing_if = "Option::is_none")] + pub public_key_hash: Option, + } + impl Properties { + pub fn new() -> Self { + Self::default() + } + } + pub mod properties { + use super::*; + #[doc = "Provisioning state of the certificate."] + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] + pub enum ProvisioningState { + Succeeded, + Failed, + Canceled, + DeleteFailed, + } + } +} +#[doc = "Collection of Certificates."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +pub struct CertificateCollection { + #[doc = "Collection of resources."] + pub value: Vec, + #[doc = "Link to next page of resources."] + #[serde(rename = "nextLink", default, skip_serializing_if = "Option::is_none")] + pub next_link: Option, +} +impl CertificateCollection { + pub fn new(value: Vec) -> Self { + Self { value, next_link: None } + } +} +#[doc = "A certificate to update"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct CertificatePatch { + #[doc = "Application-specific metadata in the form of key-value pairs."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub tags: Option, +} +impl CertificatePatch { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "The configuration settings of the app registration for providers that have client ids and client secrets"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct ClientRegistration { + #[doc = "The Client ID of the app used for login."] + #[serde(rename = "clientId", default, skip_serializing_if = "Option::is_none")] + pub client_id: Option, + #[doc = "The app secret ref name that contains the client secret."] + #[serde(rename = "clientSecretRefName", default, skip_serializing_if = "Option::is_none")] + pub client_secret_ref_name: Option, +} +impl ClientRegistration { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "Non versioned Container App configuration properties that define the mutable settings of a Container app"] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct Configuration { + #[doc = "Collection of secrets used by a Container app"] + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub secrets: Vec, + #[doc = "ActiveRevisionsMode controls how active revisions are handled for the Container app:\nMultiple: multiple revisions can be active. If no value if provided, this is the defaultSingle: Only one revision can be active at a time. Revision weights can not be used in this mode"] + #[serde(rename = "activeRevisionsMode", default, skip_serializing_if = "Option::is_none")] + pub active_revisions_mode: Option, + #[doc = "Container App Ingress configuration."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub ingress: Option, + #[doc = "Collection of private container registry credentials for containers used by the Container app"] + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub registries: Vec, +} +impl Configuration { + pub fn new() -> Self { + Self::default() + } +} +pub mod configuration { + use super::*; + #[doc = "ActiveRevisionsMode controls how active revisions are handled for the Container app:\nMultiple: multiple revisions can be active. If no value if provided, this is the defaultSingle: Only one revision can be active at a time. Revision weights can not be used in this mode"] + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] + pub enum ActiveRevisionsMode { + #[serde(rename = "multiple")] + Multiple, + #[serde(rename = "single")] + Single, + } +} +#[doc = "Container App container definition."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] +pub struct Container { + #[doc = "Container image tag."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub image: Option, + #[doc = "Custom container name."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub name: Option, + #[doc = "Container start command."] + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub command: Vec, + #[doc = "Container start command arguments."] + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub args: Vec, + #[doc = "Container environment variables."] + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub env: Vec, + #[doc = "Container App container resource requirements."] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub resources: Option, + #[doc = "List of probes for the container."] + #[serde(default, skip_serializing_if = "Vec::is_empty")] + pub probes: Vec, + #[doc = "Container volume mounts."] + #[serde(rename = "volumeMounts", default, skip_serializing_if = "Vec::is_empty")] + pub volume_mounts: Vec, +} +impl Container { + pub fn new() -> Self { + Self::default() + } +} +#[doc = "Container App."] +#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] +pub struct ContainerApp { + #[serde(flatten)] + pub tracked_resource: TrackedResource, + #[doc = "Managed service identity (system assigned and/or user assigned identities)"] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub identity: Option, + #[doc = "ContainerApp resource specific properties"] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub properties: Option, +} +impl ContainerApp { + pub fn new(tracked_resource: TrackedResource) -> Self { + Self { + tracked_resource, + identity: None, + properties: None, + } + } +} +pub mod container_app { + use super::*; + #[doc = "ContainerApp resource specific properties"] + #[derive(Clone, Debug, PartialEq, Serialize, Deserialize, Default)] + pub struct Properties { + #[doc = "Provisioning state of the Container App."] + #[serde(rename = "provisioningState", default, skip_serializing_if = "Option::is_none")] + pub provisioning_state: Option, + #[doc = "Resource ID of the Container App's environment."] + #[serde(rename = "managedEnvironmentId", default, skip_serializing_if = "Option::is_none")] + pub managed_environment_id: Option, + #[doc = "Name of the latest revision of the Container App."] + #[serde(rename = "latestRevisionName", default, skip_serializing_if = "Option::is_none")] + pub latest_revision_name: Option, + #[doc = "Fully Qualified Domain Name of the latest revision of the Container App."] + #[serde(rename = "latestRevisionFqdn", default, skip_serializing_if = "Option::is_none")] + pub latest_revision_fqdn: Option, + #[doc = "Id used to verify domain name ownership"] + #[serde(rename = "customDomainVerificationId", default, skip_serializing_if = "Option::is_none")] + pub custom_domain_verification_id: Option, + #[doc = "Non versioned Container App configuration properties that define the mutable settings of a Container app"] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub configuration: Option, + #[doc = "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created"] + #[serde(default, skip_serializing_if = "Option::is_none")] + pub template: Option