You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: _instance_patch_state.rs
    path of file: ./repos/aws-sdk-rust/sdk/ssm/src/types
    
    the code of the file until where you have to start completion: // Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>Defines the high-level patch compliance state for a managed node, providing information about the number of installed, missing, not applicable, and failed patches along with metadata about the operation when this information was gathered for the managed node.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct InstancePatchState {
    /// <p>The ID of the managed node the high-level patch compliance information was collected for.</p>
    pub instance_id: ::std::string::String,
    /// <p>The name of the patch group the managed node belongs to.</p>
    pub patch_group: ::std::string::String,
    /// <p>The ID of the patch baseline used to patch the managed node.</p>
    pub baseline_id: ::std::string::String,
    /// <p>The ID of the patch baseline snapshot used during the patching operation when this compliance data was collected.</p>
    pub snapshot_id: ::std::option::Option<::std::string::String>,
    /// <p>An https URL or an Amazon Simple Storage Service (Amazon S3) path-style URL to a list of patches to be installed. This patch installation list, which you maintain in an S3 bucket in YAML format and specify in the SSM document <code>AWS-RunPatchBaseline</code>, overrides the p
    
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("InstancePatchStateBuilder");
        formatter.field("instance_id", &self.instance_id);
        formatter.field("patch_group", &self.patch_group);
        formatter.field("baseline_id", &self.baseline_id);
        formatter.field("snapshot_id", &self.snapshot_id);
        formatter.field("install_override_list", &self.install_override_list);
        formatter.field("owner_information", &"*** Sensitive Data Redacted ***");
        formatter.field("installed_count", &self.installed_count);
        formatter.field("installed_other_count", &self.installed_other_count);
        formatter.field("installed_pending_reboot_count", &self.installed_pending_reboot_count);
        formatter.field("installed_rejected_count", &self.installed_rejected_count);
        formatter.field("missing_count", &self.missing_count);
        formatter.field("failed_count", &self.failed_count);
        formatter.field("unreported_not_applicable_count", &self.unreported_not_applicable_count);
        formatter.field("not_applicable_count", &self.not_applicable_count);
        formatter.field("operation_start_time", &self.operation_start_time);
        formatter.field("operation_end_time", &self.operation_end_time);
        formatter.field("operation", &self.operation);
        formatter.field("last_no_reboot_install_operation_time", &self.last_no_reboot_install_operation_time);
        formatter.field("reboot_option", &self.reboot_option);
        formatter.field("critical_non_compliant_count", &self.critical_non_compliant_count);
        formatter.field("security_non_compliant_count", &self.security_non_compliant_count);
        formatter.field("other_non_compliant_count", &self.other_non_compliant_count);
        formatter.finish()
    }