#![allow(rustdoc::broken_intra_doc_links)]
use gax::error::Error;
pub(crate) mod dynamic;
pub trait AlertPolicyService: std::fmt::Debug + Send + Sync {
    fn list_alert_policies(
        &self,
        _req: crate::model::ListAlertPoliciesRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ListAlertPoliciesResponse>> + Send
    {
        std::future::ready::<crate::Result<crate::model::ListAlertPoliciesResponse>>(Err(
            Error::other("unimplemented"),
        ))
    }
    fn get_alert_policy(
        &self,
        _req: crate::model::GetAlertPolicyRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::AlertPolicy>> + Send {
        std::future::ready::<crate::Result<crate::model::AlertPolicy>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn create_alert_policy(
        &self,
        _req: crate::model::CreateAlertPolicyRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::AlertPolicy>> + Send {
        std::future::ready::<crate::Result<crate::model::AlertPolicy>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn delete_alert_policy(
        &self,
        _req: crate::model::DeleteAlertPolicyRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<wkt::Empty>> + Send {
        std::future::ready::<crate::Result<wkt::Empty>>(Err(Error::other("unimplemented")))
    }
    fn update_alert_policy(
        &self,
        _req: crate::model::UpdateAlertPolicyRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::AlertPolicy>> + Send {
        std::future::ready::<crate::Result<crate::model::AlertPolicy>>(Err(Error::other(
            "unimplemented",
        )))
    }
}
pub trait GroupService: std::fmt::Debug + Send + Sync {
    fn list_groups(
        &self,
        _req: crate::model::ListGroupsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ListGroupsResponse>> + Send
    {
        std::future::ready::<crate::Result<crate::model::ListGroupsResponse>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn get_group(
        &self,
        _req: crate::model::GetGroupRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::Group>> + Send {
        std::future::ready::<crate::Result<crate::model::Group>>(Err(Error::other("unimplemented")))
    }
    fn create_group(
        &self,
        _req: crate::model::CreateGroupRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::Group>> + Send {
        std::future::ready::<crate::Result<crate::model::Group>>(Err(Error::other("unimplemented")))
    }
    fn update_group(
        &self,
        _req: crate::model::UpdateGroupRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::Group>> + Send {
        std::future::ready::<crate::Result<crate::model::Group>>(Err(Error::other("unimplemented")))
    }
    fn delete_group(
        &self,
        _req: crate::model::DeleteGroupRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<wkt::Empty>> + Send {
        std::future::ready::<crate::Result<wkt::Empty>>(Err(Error::other("unimplemented")))
    }
    fn list_group_members(
        &self,
        _req: crate::model::ListGroupMembersRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ListGroupMembersResponse>> + Send
    {
        std::future::ready::<crate::Result<crate::model::ListGroupMembersResponse>>(Err(
            Error::other("unimplemented"),
        ))
    }
}
pub trait MetricService: std::fmt::Debug + Send + Sync {
    fn list_monitored_resource_descriptors(
        &self,
        _req: crate::model::ListMonitoredResourceDescriptorsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::model::ListMonitoredResourceDescriptorsResponse>,
    > + Send {
        std::future::ready::<crate::Result<crate::model::ListMonitoredResourceDescriptorsResponse>>(
            Err(Error::other("unimplemented")),
        )
    }
    fn get_monitored_resource_descriptor(
        &self,
        _req: crate::model::GetMonitoredResourceDescriptorRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<api::model::MonitoredResourceDescriptor>> + Send
    {
        std::future::ready::<crate::Result<api::model::MonitoredResourceDescriptor>>(Err(
            Error::other("unimplemented"),
        ))
    }
    fn list_metric_descriptors(
        &self,
        _req: crate::model::ListMetricDescriptorsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ListMetricDescriptorsResponse>>
           + Send {
        std::future::ready::<crate::Result<crate::model::ListMetricDescriptorsResponse>>(Err(
            Error::other("unimplemented"),
        ))
    }
    fn get_metric_descriptor(
        &self,
        _req: crate::model::GetMetricDescriptorRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<api::model::MetricDescriptor>> + Send {
        std::future::ready::<crate::Result<api::model::MetricDescriptor>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn create_metric_descriptor(
        &self,
        _req: crate::model::CreateMetricDescriptorRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<api::model::MetricDescriptor>> + Send {
        std::future::ready::<crate::Result<api::model::MetricDescriptor>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn delete_metric_descriptor(
        &self,
        _req: crate::model::DeleteMetricDescriptorRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<wkt::Empty>> + Send {
        std::future::ready::<crate::Result<wkt::Empty>>(Err(Error::other("unimplemented")))
    }
    fn list_time_series(
        &self,
        _req: crate::model::ListTimeSeriesRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ListTimeSeriesResponse>> + Send
    {
        std::future::ready::<crate::Result<crate::model::ListTimeSeriesResponse>>(Err(
            Error::other("unimplemented"),
        ))
    }
    fn create_time_series(
        &self,
        _req: crate::model::CreateTimeSeriesRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<wkt::Empty>> + Send {
        std::future::ready::<crate::Result<wkt::Empty>>(Err(Error::other("unimplemented")))
    }
    fn create_service_time_series(
        &self,
        _req: crate::model::CreateTimeSeriesRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<wkt::Empty>> + Send {
        std::future::ready::<crate::Result<wkt::Empty>>(Err(Error::other("unimplemented")))
    }
}
pub trait NotificationChannelService: std::fmt::Debug + Send + Sync {
    fn list_notification_channel_descriptors(
        &self,
        _req: crate::model::ListNotificationChannelDescriptorsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::model::ListNotificationChannelDescriptorsResponse>,
    > + Send {
        std::future::ready::<crate::Result<crate::model::ListNotificationChannelDescriptorsResponse>>(
            Err(Error::other("unimplemented")),
        )
    }
    fn get_notification_channel_descriptor(
        &self,
        _req: crate::model::GetNotificationChannelDescriptorRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::NotificationChannelDescriptor>>
           + Send {
        std::future::ready::<crate::Result<crate::model::NotificationChannelDescriptor>>(Err(
            Error::other("unimplemented"),
        ))
    }
    fn list_notification_channels(
        &self,
        _req: crate::model::ListNotificationChannelsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::model::ListNotificationChannelsResponse>,
    > + Send {
        std::future::ready::<crate::Result<crate::model::ListNotificationChannelsResponse>>(Err(
            Error::other("unimplemented"),
        ))
    }
    fn get_notification_channel(
        &self,
        _req: crate::model::GetNotificationChannelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::NotificationChannel>> + Send
    {
        std::future::ready::<crate::Result<crate::model::NotificationChannel>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn create_notification_channel(
        &self,
        _req: crate::model::CreateNotificationChannelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::NotificationChannel>> + Send
    {
        std::future::ready::<crate::Result<crate::model::NotificationChannel>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn update_notification_channel(
        &self,
        _req: crate::model::UpdateNotificationChannelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::NotificationChannel>> + Send
    {
        std::future::ready::<crate::Result<crate::model::NotificationChannel>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn delete_notification_channel(
        &self,
        _req: crate::model::DeleteNotificationChannelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<wkt::Empty>> + Send {
        std::future::ready::<crate::Result<wkt::Empty>>(Err(Error::other("unimplemented")))
    }
    fn send_notification_channel_verification_code(
        &self,
        _req: crate::model::SendNotificationChannelVerificationCodeRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<wkt::Empty>> + Send {
        std::future::ready::<crate::Result<wkt::Empty>>(Err(Error::other("unimplemented")))
    }
    fn get_notification_channel_verification_code(
        &self,
        _req: crate::model::GetNotificationChannelVerificationCodeRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::model::GetNotificationChannelVerificationCodeResponse>,
    > + Send {
        std::future::ready::<
            crate::Result<crate::model::GetNotificationChannelVerificationCodeResponse>,
        >(Err(Error::other("unimplemented")))
    }
    fn verify_notification_channel(
        &self,
        _req: crate::model::VerifyNotificationChannelRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::NotificationChannel>> + Send
    {
        std::future::ready::<crate::Result<crate::model::NotificationChannel>>(Err(Error::other(
            "unimplemented",
        )))
    }
}
pub trait QueryService: std::fmt::Debug + Send + Sync {
    fn query_time_series(
        &self,
        _req: crate::model::QueryTimeSeriesRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::QueryTimeSeriesResponse>> + Send
    {
        std::future::ready::<crate::Result<crate::model::QueryTimeSeriesResponse>>(Err(
            Error::other("unimplemented"),
        ))
    }
}
pub trait ServiceMonitoringService: std::fmt::Debug + Send + Sync {
    fn create_service(
        &self,
        _req: crate::model::CreateServiceRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::Service>> + Send {
        std::future::ready::<crate::Result<crate::model::Service>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn get_service(
        &self,
        _req: crate::model::GetServiceRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::Service>> + Send {
        std::future::ready::<crate::Result<crate::model::Service>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn list_services(
        &self,
        _req: crate::model::ListServicesRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ListServicesResponse>> + Send
    {
        std::future::ready::<crate::Result<crate::model::ListServicesResponse>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn update_service(
        &self,
        _req: crate::model::UpdateServiceRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::Service>> + Send {
        std::future::ready::<crate::Result<crate::model::Service>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn delete_service(
        &self,
        _req: crate::model::DeleteServiceRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<wkt::Empty>> + Send {
        std::future::ready::<crate::Result<wkt::Empty>>(Err(Error::other("unimplemented")))
    }
    fn create_service_level_objective(
        &self,
        _req: crate::model::CreateServiceLevelObjectiveRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ServiceLevelObjective>> + Send
    {
        std::future::ready::<crate::Result<crate::model::ServiceLevelObjective>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn get_service_level_objective(
        &self,
        _req: crate::model::GetServiceLevelObjectiveRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ServiceLevelObjective>> + Send
    {
        std::future::ready::<crate::Result<crate::model::ServiceLevelObjective>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn list_service_level_objectives(
        &self,
        _req: crate::model::ListServiceLevelObjectivesRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<
        Output = crate::Result<crate::model::ListServiceLevelObjectivesResponse>,
    > + Send {
        std::future::ready::<crate::Result<crate::model::ListServiceLevelObjectivesResponse>>(Err(
            Error::other("unimplemented"),
        ))
    }
    fn update_service_level_objective(
        &self,
        _req: crate::model::UpdateServiceLevelObjectiveRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ServiceLevelObjective>> + Send
    {
        std::future::ready::<crate::Result<crate::model::ServiceLevelObjective>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn delete_service_level_objective(
        &self,
        _req: crate::model::DeleteServiceLevelObjectiveRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<wkt::Empty>> + Send {
        std::future::ready::<crate::Result<wkt::Empty>>(Err(Error::other("unimplemented")))
    }
}
pub trait SnoozeService: std::fmt::Debug + Send + Sync {
    fn create_snooze(
        &self,
        _req: crate::model::CreateSnoozeRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::Snooze>> + Send {
        std::future::ready::<crate::Result<crate::model::Snooze>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn list_snoozes(
        &self,
        _req: crate::model::ListSnoozesRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ListSnoozesResponse>> + Send
    {
        std::future::ready::<crate::Result<crate::model::ListSnoozesResponse>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn get_snooze(
        &self,
        _req: crate::model::GetSnoozeRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::Snooze>> + Send {
        std::future::ready::<crate::Result<crate::model::Snooze>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn update_snooze(
        &self,
        _req: crate::model::UpdateSnoozeRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::Snooze>> + Send {
        std::future::ready::<crate::Result<crate::model::Snooze>>(Err(Error::other(
            "unimplemented",
        )))
    }
}
pub trait UptimeCheckService: std::fmt::Debug + Send + Sync {
    fn list_uptime_check_configs(
        &self,
        _req: crate::model::ListUptimeCheckConfigsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ListUptimeCheckConfigsResponse>>
           + Send {
        std::future::ready::<crate::Result<crate::model::ListUptimeCheckConfigsResponse>>(Err(
            Error::other("unimplemented"),
        ))
    }
    fn get_uptime_check_config(
        &self,
        _req: crate::model::GetUptimeCheckConfigRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::UptimeCheckConfig>> + Send
    {
        std::future::ready::<crate::Result<crate::model::UptimeCheckConfig>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn create_uptime_check_config(
        &self,
        _req: crate::model::CreateUptimeCheckConfigRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::UptimeCheckConfig>> + Send
    {
        std::future::ready::<crate::Result<crate::model::UptimeCheckConfig>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn update_uptime_check_config(
        &self,
        _req: crate::model::UpdateUptimeCheckConfigRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::UptimeCheckConfig>> + Send
    {
        std::future::ready::<crate::Result<crate::model::UptimeCheckConfig>>(Err(Error::other(
            "unimplemented",
        )))
    }
    fn delete_uptime_check_config(
        &self,
        _req: crate::model::DeleteUptimeCheckConfigRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<wkt::Empty>> + Send {
        std::future::ready::<crate::Result<wkt::Empty>>(Err(Error::other("unimplemented")))
    }
    fn list_uptime_check_ips(
        &self,
        _req: crate::model::ListUptimeCheckIpsRequest,
        _options: gax::options::RequestOptions,
    ) -> impl std::future::Future<Output = crate::Result<crate::model::ListUptimeCheckIpsResponse>> + Send
    {
        std::future::ready::<crate::Result<crate::model::ListUptimeCheckIpsResponse>>(Err(
            Error::other("unimplemented"),
        ))
    }
}