/// A service that is available for use by the consumer. #[derive(Clone, PartialEq, ::prost::Message)] pub struct Service { /// The resource name of the consumer and service. /// /// A valid name would be: /// - `projects/123/services/serviceusage.googleapis.com` #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// The resource name of the consumer. /// /// A valid name would be: /// - `projects/123` #[prost(string, tag = "5")] pub parent: ::prost::alloc::string::String, /// The service configuration of the available service. /// Some fields may be filtered out of the configuration in responses to /// the `ListServices` method. These fields are present only in responses to /// the `GetService` method. #[prost(message, optional, tag = "2")] pub config: ::core::option::Option, /// Whether or not the service has been enabled for use by the consumer. #[prost(enumeration = "State", tag = "4")] pub state: i32, } /// The configuration of the service. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ServiceConfig { /// The DNS address at which this service is available. /// /// An example DNS address would be: /// `calendar.googleapis.com`. #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// The product title for this service. #[prost(string, tag = "2")] pub title: ::prost::alloc::string::String, /// A list of API interfaces exported by this service. Contains only the names, /// versions, and method names of the interfaces. #[prost(message, repeated, tag = "3")] pub apis: ::prost::alloc::vec::Vec<::prost_types::Api>, /// Additional API documentation. Contains only the summary and the /// documentation URL. #[prost(message, optional, tag = "6")] pub documentation: ::core::option::Option, /// Quota configuration. #[prost(message, optional, tag = "10")] pub quota: ::core::option::Option, /// Auth configuration. Contains only the OAuth rules. #[prost(message, optional, tag = "11")] pub authentication: ::core::option::Option, /// Configuration controlling usage of this service. #[prost(message, optional, tag = "15")] pub usage: ::core::option::Option, /// Configuration for network endpoints. Contains only the names and aliases /// of the endpoints. #[prost(message, repeated, tag = "18")] pub endpoints: ::prost::alloc::vec::Vec, /// Defines the monitored resources used by this service. This is required /// by the \[Service.monitoring][google.api.Service.monitoring\] and \[Service.logging][google.api.Service.logging\] configurations. #[prost(message, repeated, tag = "25")] pub monitored_resources: ::prost::alloc::vec::Vec, /// Monitoring configuration. /// This should not include the 'producer_destinations' field. #[prost(message, optional, tag = "28")] pub monitoring: ::core::option::Option, } /// The operation metadata returned for the batchend services operation. #[derive(Clone, PartialEq, ::prost::Message)] pub struct OperationMetadata { /// The full name of the resources that this operation is directly /// associated with. #[prost(string, repeated, tag = "2")] pub resource_names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } /// Consumer quota settings for a quota metric. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ConsumerQuotaMetric { /// The resource name of the quota settings on this metric for this consumer. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus` /// /// The resource name is intended to be opaque and should not be parsed for /// its component strings, since its representation could change in the future. #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// The name of the metric. /// /// An example name would be: /// `compute.googleapis.com/cpus` #[prost(string, tag = "4")] pub metric: ::prost::alloc::string::String, /// The display name of the metric. /// /// An example name would be: /// `CPUs` #[prost(string, tag = "2")] pub display_name: ::prost::alloc::string::String, /// The consumer quota for each quota limit defined on the metric. #[prost(message, repeated, tag = "3")] pub consumer_quota_limits: ::prost::alloc::vec::Vec, /// The quota limits targeting the descendant containers of the /// consumer in request. /// /// If the consumer in request is of type `organizations` /// or `folders`, the field will list per-project limits in the metric; if the /// consumer in request is of type `project`, the field will be empty. /// /// The `quota_buckets` field of each descendant consumer quota limit will not /// be populated. #[prost(message, repeated, tag = "6")] pub descendant_consumer_quota_limits: ::prost::alloc::vec::Vec, /// The units in which the metric value is reported. #[prost(string, tag = "5")] pub unit: ::prost::alloc::string::String, } /// Consumer quota settings for a quota limit. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ConsumerQuotaLimit { /// The resource name of the quota limit. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` /// /// The resource name is intended to be opaque and should not be parsed for /// its component strings, since its representation could change in the future. #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// The name of the parent metric of this limit. /// /// An example name would be: /// `compute.googleapis.com/cpus` #[prost(string, tag = "8")] pub metric: ::prost::alloc::string::String, /// The limit unit. /// /// An example unit would be /// `1/{project}/{region}` /// Note that `{project}` and `{region}` are not placeholders in this example; /// the literal characters `{` and `}` occur in the string. #[prost(string, tag = "2")] pub unit: ::prost::alloc::string::String, /// Whether this limit is precise or imprecise. #[prost(bool, tag = "3")] pub is_precise: bool, /// Whether admin overrides are allowed on this limit #[prost(bool, tag = "7")] pub allows_admin_overrides: bool, /// Summary of the enforced quota buckets, organized by quota dimension, /// ordered from least specific to most specific (for example, the global /// default bucket, with no quota dimensions, will always appear first). #[prost(message, repeated, tag = "9")] pub quota_buckets: ::prost::alloc::vec::Vec, } /// A quota bucket is a quota provisioning unit for a specific set of dimensions. #[derive(Clone, PartialEq, ::prost::Message)] pub struct QuotaBucket { /// The effective limit of this quota bucket. Equal to default_limit if there /// are no overrides. #[prost(int64, tag = "1")] pub effective_limit: i64, /// The default limit of this quota bucket, as specified by the service /// configuration. #[prost(int64, tag = "2")] pub default_limit: i64, /// Producer override on this quota bucket. #[prost(message, optional, tag = "3")] pub producer_override: ::core::option::Option, /// Consumer override on this quota bucket. #[prost(message, optional, tag = "4")] pub consumer_override: ::core::option::Option, /// Admin override on this quota bucket. #[prost(message, optional, tag = "5")] pub admin_override: ::core::option::Option, /// The dimensions of this quota bucket. /// /// If this map is empty, this is the global bucket, which is the default quota /// value applied to all requests that do not have a more specific override. /// /// If this map is nonempty, the default limit, effective limit, and quota /// overrides apply only to requests that have the dimensions given in the map. /// /// For example, if the map has key `region` and value `us-east-1`, then the /// specified effective limit is only effective in that region, and the /// specified overrides apply only in that region. #[prost(map = "string, string", tag = "6")] pub dimensions: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, } /// A quota override #[derive(Clone, PartialEq, ::prost::Message)] pub struct QuotaOverride { /// The resource name of the override. /// This name is generated by the server when the override is created. /// /// Example names would be: /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` /// /// The resource name is intended to be opaque and should not be parsed for /// its component strings, since its representation could change in the future. #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// The overriding quota limit value. /// Can be any nonnegative integer, or -1 (unlimited quota). #[prost(int64, tag = "2")] pub override_value: i64, /// If this map is nonempty, then this override applies only to specific values /// for dimensions defined in the limit unit. /// /// For example, an override on a limit with the unit `1/{project}/{region}` /// could contain an entry with the key `region` and the value `us-east-1`; /// the override is only applied to quota consumed in that region. /// /// This map has the following restrictions: /// /// * Keys that are not defined in the limit's unit are not valid keys. /// Any string appearing in `{brackets}` in the unit (besides `{project}` /// or /// `{user}`) is a defined key. /// * `project` is not a valid key; the project is already specified in /// the parent resource name. /// * `user` is not a valid key; the API does not support quota overrides /// that apply only to a specific user. /// * If `region` appears as a key, its value must be a valid Cloud region. /// * If `zone` appears as a key, its value must be a valid Cloud zone. /// * If any valid key other than `region` or `zone` appears in the map, then /// all valid keys other than `region` or `zone` must also appear in the /// map. #[prost(map = "string, string", tag = "3")] pub dimensions: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, /// The name of the metric to which this override applies. /// /// An example name would be: /// `compute.googleapis.com/cpus` #[prost(string, tag = "4")] pub metric: ::prost::alloc::string::String, /// The limit unit of the limit to which this override applies. /// /// An example unit would be: /// `1/{project}/{region}` /// Note that `{project}` and `{region}` are not placeholders in this example; /// the literal characters `{` and `}` occur in the string. #[prost(string, tag = "5")] pub unit: ::prost::alloc::string::String, /// The resource name of the ancestor that requested the override. For example: /// `organizations/12345` or `folders/67890`. /// Used by admin overrides only. #[prost(string, tag = "6")] pub admin_override_ancestor: ::prost::alloc::string::String, } /// Import data embedded in the request message #[derive(Clone, PartialEq, ::prost::Message)] pub struct OverrideInlineSource { /// The overrides to create. /// Each override must have a value for 'metric' and 'unit', to specify /// which metric and which limit the override should be applied to. /// The 'name' field of the override does not need to be set; it is ignored. #[prost(message, repeated, tag = "1")] pub overrides: ::prost::alloc::vec::Vec, } /// Quota policy created by quota administrator. #[derive(Clone, PartialEq, ::prost::Message)] pub struct AdminQuotaPolicy { /// The resource name of the policy. /// This name is generated by the server when the policy is created. /// /// Example names would be: /// `organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminQuotaPolicies/4a3f2c1d` #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// The quota policy value. /// Can be any nonnegative integer, or -1 (unlimited quota). #[prost(int64, tag = "2")] pub policy_value: i64, /// /// If this map is nonempty, then this policy applies only to specific values /// for dimensions defined in the limit unit. /// /// For example, an policy on a limit with the unit `1/{project}/{region}` /// could contain an entry with the key `region` and the value `us-east-1`; /// the policy is only applied to quota consumed in that region. /// /// This map has the following restrictions: /// /// * If `region` appears as a key, its value must be a valid Cloud region. /// * If `zone` appears as a key, its value must be a valid Cloud zone. /// * Keys other than `region` or `zone` are not valid. #[prost(map = "string, string", tag = "3")] pub dimensions: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, /// The name of the metric to which this policy applies. /// /// An example name would be: /// `compute.googleapis.com/cpus` #[prost(string, tag = "4")] pub metric: ::prost::alloc::string::String, /// The limit unit of the limit to which this policy applies. /// /// An example unit would be: /// `1/{project}/{region}` /// Note that `{project}` and `{region}` are not placeholders in this example; /// the literal characters `{` and `}` occur in the string. #[prost(string, tag = "5")] pub unit: ::prost::alloc::string::String, /// The cloud resource container at which the quota policy is created. The /// format is `{container_type}/{container_number}` #[prost(string, tag = "6")] pub container: ::prost::alloc::string::String, } /// Service identity for a service. This is the identity that service producer /// should use to access consumer resources. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ServiceIdentity { /// The email address of the service account that a service producer would use /// to access consumer resources. #[prost(string, tag = "1")] pub email: ::prost::alloc::string::String, /// The unique and stable id of the service account. /// #[prost(string, tag = "2")] pub unique_id: ::prost::alloc::string::String, } /// Whether or not a service has been enabled for use by a consumer. #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum State { /// The default value, which indicates that the enabled state of the service /// is unspecified or not meaningful. Currently, all consumers other than /// projects (such as folders and organizations) are always in this state. Unspecified = 0, /// The service cannot be used by this consumer. It has either been explicitly /// disabled, or has never been enabled. Disabled = 1, /// The service has been explicitly enabled for use by this consumer. Enabled = 2, } /// Selected view of quota. Can be used to request more detailed quota /// information when retrieving quota metrics and limits. #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum QuotaView { /// No quota view specified. Requests that do not specify a quota view will /// typically default to the BASIC view. Unspecified = 0, /// Only buckets with overrides are shown in the response. Basic = 1, /// Include per-location buckets even if they do not have overrides. /// When the view is FULL, and a limit has regional or zonal quota, the limit /// will include buckets for all regions or zones that could support /// overrides, even if none are currently present. In some cases this will /// cause the response to become very large; callers that do not need this /// extra information should use the BASIC view instead. Full = 2, } /// Enumerations of quota safety checks. #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum QuotaSafetyCheck { /// Unspecified quota safety check. Unspecified = 0, /// Validates that a quota mutation would not cause the consumer's effective /// limit to be lower than the consumer's quota usage. LimitDecreaseBelowUsage = 1, /// Validates that a quota mutation would not cause the consumer's effective /// limit to decrease by more than 10 percent. LimitDecreasePercentageTooHigh = 2, } /// Request message for the `EnableService` method. #[derive(Clone, PartialEq, ::prost::Message)] pub struct EnableServiceRequest { /// Name of the consumer and service to enable the service on. /// /// The `EnableService` and `DisableService` methods currently only support /// projects. /// /// Enabling a service requires that the service is public or is shared with /// the user enabling the service. /// /// An example name would be: /// `projects/123/services/serviceusage.googleapis.com` /// where `123` is the project number (not project ID). #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, } /// Request message for the `DisableService` method. #[derive(Clone, PartialEq, ::prost::Message)] pub struct DisableServiceRequest { /// Name of the consumer and service to disable the service on. /// /// The enable and disable methods currently only support projects. /// /// An example name would be: /// `projects/123/services/serviceusage.googleapis.com` /// where `123` is the project number (not project ID). #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, } /// Request message for the `GetService` method. #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetServiceRequest { /// Name of the consumer and service to get the `ConsumerState` for. /// /// An example name would be: /// `projects/123/services/serviceusage.googleapis.com` /// where `123` is the project number (not project ID). #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, } /// Request message for the `ListServices` method. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListServicesRequest { /// Parent to search for services on. /// /// An example name would be: /// `projects/123` /// where `123` is the project number (not project ID). #[prost(string, tag = "1")] pub parent: ::prost::alloc::string::String, /// Requested size of the next page of data. /// Requested page size cannot exceed 200. /// If not set, the default page size is 50. #[prost(int32, tag = "2")] pub page_size: i32, /// Token identifying which result to start with, which is returned by a /// previous list call. #[prost(string, tag = "3")] pub page_token: ::prost::alloc::string::String, /// Only list services that conform to the given filter. /// The allowed filter strings are `state:ENABLED` and `state:DISABLED`. #[prost(string, tag = "4")] pub filter: ::prost::alloc::string::String, } /// Response message for the `ListServices` method. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListServicesResponse { /// The available services for the requested project. #[prost(message, repeated, tag = "1")] pub services: ::prost::alloc::vec::Vec, /// Token that can be passed to `ListServices` to resume a paginated /// query. #[prost(string, tag = "2")] pub next_page_token: ::prost::alloc::string::String, } /// Request message for the `BatchEnableServices` method. #[derive(Clone, PartialEq, ::prost::Message)] pub struct BatchEnableServicesRequest { /// Parent to enable services on. /// /// An example name would be: /// `projects/123` /// where `123` is the project number (not project ID). /// /// The `BatchEnableServices` method currently only supports projects. #[prost(string, tag = "1")] pub parent: ::prost::alloc::string::String, /// The identifiers of the services to enable on the project. /// /// A valid identifier would be: /// serviceusage.googleapis.com /// /// Enabling services requires that each service is public or is shared with /// the user enabling the service. /// /// Two or more services must be specified. To enable a single service, /// use the `EnableService` method instead. /// /// A single request can enable a maximum of 20 services at a time. If more /// than 20 services are specified, the request will fail, and no state changes /// will occur. #[prost(string, repeated, tag = "2")] pub service_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } /// Request message for ListConsumerQuotaMetrics #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListConsumerQuotaMetricsRequest { /// Parent of the quotas resource. /// /// Some example names would be: /// `projects/123/services/serviceconsumermanagement.googleapis.com` /// `folders/345/services/serviceconsumermanagement.googleapis.com` /// `organizations/456/services/serviceconsumermanagement.googleapis.com` #[prost(string, tag = "1")] pub parent: ::prost::alloc::string::String, /// Requested size of the next page of data. #[prost(int32, tag = "2")] pub page_size: i32, /// Token identifying which result to start with; returned by a previous list /// call. #[prost(string, tag = "3")] pub page_token: ::prost::alloc::string::String, /// Specifies the level of detail for quota information in the response. #[prost(enumeration = "QuotaView", tag = "4")] pub view: i32, } /// Response message for ListConsumerQuotaMetrics #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListConsumerQuotaMetricsResponse { /// Quota settings for the consumer, organized by quota metric. #[prost(message, repeated, tag = "1")] pub metrics: ::prost::alloc::vec::Vec, /// Token identifying which result to start with; returned by a previous list /// call. #[prost(string, tag = "2")] pub next_page_token: ::prost::alloc::string::String, } /// Request message for GetConsumerQuotaMetric #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetConsumerQuotaMetricRequest { /// The resource name of the quota limit. /// /// An example name would be: /// `projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests` #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// Specifies the level of detail for quota information in the response. #[prost(enumeration = "QuotaView", tag = "2")] pub view: i32, } /// Request message for GetConsumerQuotaLimit #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetConsumerQuotaLimitRequest { /// The resource name of the quota limit. /// /// Use the quota limit resource name returned by previous /// ListConsumerQuotaMetrics and GetConsumerQuotaMetric API calls. #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// Specifies the level of detail for quota information in the response. #[prost(enumeration = "QuotaView", tag = "2")] pub view: i32, } /// Request message for CreateAdminOverride. #[derive(Clone, PartialEq, ::prost::Message)] pub struct CreateAdminOverrideRequest { /// The resource name of the parent quota limit, returned by a /// ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` #[prost(string, tag = "1")] pub parent: ::prost::alloc::string::String, /// The admin override to create. #[prost(message, optional, tag = "2")] pub r#override: ::core::option::Option, /// Whether to force the creation of the quota override. /// Setting the force parameter to 'true' ignores all quota safety checks that /// would fail the request. QuotaSafetyCheck lists all such validations. #[prost(bool, tag = "3")] pub force: bool, /// The list of quota safety checks to ignore before the override mutation. /// Unlike 'force' field that ignores all the quota safety checks, the /// 'force_only' field ignores only the specified checks; other checks are /// still enforced. The 'force' and 'force_only' fields cannot both be set. #[prost(enumeration = "QuotaSafetyCheck", repeated, tag = "4")] pub force_only: ::prost::alloc::vec::Vec, } /// Request message for UpdateAdminOverride. #[derive(Clone, PartialEq, ::prost::Message)] pub struct UpdateAdminOverrideRequest { /// The resource name of the override to update. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// The new override. /// Only the override_value is updated; all other fields are ignored. #[prost(message, optional, tag = "2")] pub r#override: ::core::option::Option, /// Whether to force the update of the quota override. /// Setting the force parameter to 'true' ignores all quota safety checks that /// would fail the request. QuotaSafetyCheck lists all such validations. #[prost(bool, tag = "3")] pub force: bool, /// Update only the specified fields of the override. /// If unset, all fields will be updated. #[prost(message, optional, tag = "4")] pub update_mask: ::core::option::Option<::prost_types::FieldMask>, /// The list of quota safety checks to ignore before the override mutation. /// Unlike 'force' field that ignores all the quota safety checks, the /// 'force_only' field ignores only the specified checks; other checks are /// still enforced. The 'force' and 'force_only' fields cannot both be set. #[prost(enumeration = "QuotaSafetyCheck", repeated, tag = "5")] pub force_only: ::prost::alloc::vec::Vec, } /// Request message for DeleteAdminOverride. #[derive(Clone, PartialEq, ::prost::Message)] pub struct DeleteAdminOverrideRequest { /// The resource name of the override to delete. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// Whether to force the deletion of the quota override. /// Setting the force parameter to 'true' ignores all quota safety checks that /// would fail the request. QuotaSafetyCheck lists all such validations. #[prost(bool, tag = "2")] pub force: bool, /// The list of quota safety checks to ignore before the override mutation. /// Unlike 'force' field that ignores all the quota safety checks, the /// 'force_only' field ignores only the specified checks; other checks are /// still enforced. The 'force' and 'force_only' fields cannot both be set. #[prost(enumeration = "QuotaSafetyCheck", repeated, tag = "3")] pub force_only: ::prost::alloc::vec::Vec, } /// Request message for ListAdminOverrides #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListAdminOverridesRequest { /// The resource name of the parent quota limit, returned by a /// ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` #[prost(string, tag = "1")] pub parent: ::prost::alloc::string::String, /// Requested size of the next page of data. #[prost(int32, tag = "2")] pub page_size: i32, /// Token identifying which result to start with; returned by a previous list /// call. #[prost(string, tag = "3")] pub page_token: ::prost::alloc::string::String, } /// Response message for ListAdminOverrides. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListAdminOverridesResponse { /// Admin overrides on this limit. #[prost(message, repeated, tag = "1")] pub overrides: ::prost::alloc::vec::Vec, /// Token identifying which result to start with; returned by a previous list /// call. #[prost(string, tag = "2")] pub next_page_token: ::prost::alloc::string::String, } /// Response message for BatchCreateAdminOverrides #[derive(Clone, PartialEq, ::prost::Message)] pub struct BatchCreateAdminOverridesResponse { /// The overrides that were created. #[prost(message, repeated, tag = "1")] pub overrides: ::prost::alloc::vec::Vec, } /// Request message for ImportAdminOverrides #[derive(Clone, PartialEq, ::prost::Message)] pub struct ImportAdminOverridesRequest { /// The resource name of the consumer. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com` #[prost(string, tag = "1")] pub parent: ::prost::alloc::string::String, /// Whether to force the creation of the quota overrides. /// Setting the force parameter to 'true' ignores all quota safety checks that /// would fail the request. QuotaSafetyCheck lists all such validations. #[prost(bool, tag = "3")] pub force: bool, /// The list of quota safety checks to ignore before the override mutation. /// Unlike 'force' field that ignores all the quota safety checks, the /// 'force_only' field ignores only the specified checks; other checks are /// still enforced. The 'force' and 'force_only' fields cannot both be set. #[prost(enumeration = "QuotaSafetyCheck", repeated, tag = "4")] pub force_only: ::prost::alloc::vec::Vec, /// Source of import data #[prost(oneof = "import_admin_overrides_request::Source", tags = "2")] pub source: ::core::option::Option, } /// Nested message and enum types in `ImportAdminOverridesRequest`. pub mod import_admin_overrides_request { /// Source of import data #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum Source { /// The import data is specified in the request message itself #[prost(message, tag = "2")] InlineSource(super::OverrideInlineSource), } } /// Response message for ImportAdminOverrides #[derive(Clone, PartialEq, ::prost::Message)] pub struct ImportAdminOverridesResponse { /// The overrides that were created from the imported data. #[prost(message, repeated, tag = "1")] pub overrides: ::prost::alloc::vec::Vec, } /// Metadata message that provides information such as progress, /// partial failures, and similar information on each GetOperation call /// of LRO returned by ImportAdminOverrides. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ImportAdminOverridesMetadata {} /// Request message for CreateConsumerOverride. #[derive(Clone, PartialEq, ::prost::Message)] pub struct CreateConsumerOverrideRequest { /// The resource name of the parent quota limit, returned by a /// ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` #[prost(string, tag = "1")] pub parent: ::prost::alloc::string::String, /// The override to create. #[prost(message, optional, tag = "2")] pub r#override: ::core::option::Option, /// Whether to force the creation of the quota override. /// Setting the force parameter to 'true' ignores all quota safety checks that /// would fail the request. QuotaSafetyCheck lists all such validations. #[prost(bool, tag = "3")] pub force: bool, /// The list of quota safety checks to ignore before the override mutation. /// Unlike 'force' field that ignores all the quota safety checks, the /// 'force_only' field ignores only the specified checks; other checks are /// still enforced. The 'force' and 'force_only' fields cannot both be set. #[prost(enumeration = "QuotaSafetyCheck", repeated, tag = "4")] pub force_only: ::prost::alloc::vec::Vec, } /// Request message for UpdateConsumerOverride. #[derive(Clone, PartialEq, ::prost::Message)] pub struct UpdateConsumerOverrideRequest { /// The resource name of the override to update. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// The new override. /// Only the override_value is updated; all other fields are ignored. #[prost(message, optional, tag = "2")] pub r#override: ::core::option::Option, /// Whether to force the update of the quota override. /// Setting the force parameter to 'true' ignores all quota safety checks that /// would fail the request. QuotaSafetyCheck lists all such validations. #[prost(bool, tag = "3")] pub force: bool, /// Update only the specified fields of the override. /// If unset, all fields will be updated. #[prost(message, optional, tag = "4")] pub update_mask: ::core::option::Option<::prost_types::FieldMask>, /// The list of quota safety checks to ignore before the override mutation. /// Unlike 'force' field that ignores all the quota safety checks, the /// 'force_only' field ignores only the specified checks; other checks are /// still enforced. The 'force' and 'force_only' fields cannot both be set. #[prost(enumeration = "QuotaSafetyCheck", repeated, tag = "5")] pub force_only: ::prost::alloc::vec::Vec, } /// Request message for DeleteConsumerOverride. #[derive(Clone, PartialEq, ::prost::Message)] pub struct DeleteConsumerOverrideRequest { /// The resource name of the override to delete. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` #[prost(string, tag = "1")] pub name: ::prost::alloc::string::String, /// Whether to force the deletion of the quota override. /// Setting the force parameter to 'true' ignores all quota safety checks that /// would fail the request. QuotaSafetyCheck lists all such validations. #[prost(bool, tag = "2")] pub force: bool, /// The list of quota safety checks to ignore before the override mutation. /// Unlike 'force' field that ignores all the quota safety checks, the /// 'force_only' field ignores only the specified checks; other checks are /// still enforced. The 'force' and 'force_only' fields cannot both be set. #[prost(enumeration = "QuotaSafetyCheck", repeated, tag = "3")] pub force_only: ::prost::alloc::vec::Vec, } /// Request message for ListConsumerOverrides #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListConsumerOverridesRequest { /// The resource name of the parent quota limit, returned by a /// ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` #[prost(string, tag = "1")] pub parent: ::prost::alloc::string::String, /// Requested size of the next page of data. #[prost(int32, tag = "2")] pub page_size: i32, /// Token identifying which result to start with; returned by a previous list /// call. #[prost(string, tag = "3")] pub page_token: ::prost::alloc::string::String, } /// Response message for ListConsumerOverrides. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListConsumerOverridesResponse { /// Consumer overrides on this limit. #[prost(message, repeated, tag = "1")] pub overrides: ::prost::alloc::vec::Vec, /// Token identifying which result to start with; returned by a previous list /// call. #[prost(string, tag = "2")] pub next_page_token: ::prost::alloc::string::String, } /// Response message for BatchCreateConsumerOverrides #[derive(Clone, PartialEq, ::prost::Message)] pub struct BatchCreateConsumerOverridesResponse { /// The overrides that were created. #[prost(message, repeated, tag = "1")] pub overrides: ::prost::alloc::vec::Vec, } /// Request message for ImportConsumerOverrides #[derive(Clone, PartialEq, ::prost::Message)] pub struct ImportConsumerOverridesRequest { /// The resource name of the consumer. /// /// An example name would be: /// `projects/123/services/compute.googleapis.com` #[prost(string, tag = "1")] pub parent: ::prost::alloc::string::String, /// Whether to force the creation of the quota overrides. /// Setting the force parameter to 'true' ignores all quota safety checks that /// would fail the request. QuotaSafetyCheck lists all such validations. #[prost(bool, tag = "3")] pub force: bool, /// The list of quota safety checks to ignore before the override mutation. /// Unlike 'force' field that ignores all the quota safety checks, the /// 'force_only' field ignores only the specified checks; other checks are /// still enforced. The 'force' and 'force_only' fields cannot both be set. #[prost(enumeration = "QuotaSafetyCheck", repeated, tag = "4")] pub force_only: ::prost::alloc::vec::Vec, /// Source of import data #[prost(oneof = "import_consumer_overrides_request::Source", tags = "2")] pub source: ::core::option::Option, } /// Nested message and enum types in `ImportConsumerOverridesRequest`. pub mod import_consumer_overrides_request { /// Source of import data #[derive(Clone, PartialEq, ::prost::Oneof)] pub enum Source { /// The import data is specified in the request message itself #[prost(message, tag = "2")] InlineSource(super::OverrideInlineSource), } } /// Response message for ImportConsumerOverrides #[derive(Clone, PartialEq, ::prost::Message)] pub struct ImportConsumerOverridesResponse { /// The overrides that were created from the imported data. #[prost(message, repeated, tag = "1")] pub overrides: ::prost::alloc::vec::Vec, } /// Metadata message that provides information such as progress, /// partial failures, and similar information on each GetOperation call /// of LRO returned by ImportConsumerOverrides. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ImportConsumerOverridesMetadata {} /// Response message for ImportAdminQuotaPolicies #[derive(Clone, PartialEq, ::prost::Message)] pub struct ImportAdminQuotaPoliciesResponse { /// The policies that were created from the imported data. #[prost(message, repeated, tag = "1")] pub policies: ::prost::alloc::vec::Vec, } /// Metadata message that provides information such as progress, /// partial failures, and similar information on each GetOperation call /// of LRO returned by ImportAdminQuotaPolicies. #[derive(Clone, PartialEq, ::prost::Message)] pub struct ImportAdminQuotaPoliciesMetadata {} /// Metadata message that provides information such as progress, /// partial failures, and similar information on each GetOperation call /// of LRO returned by CreateAdminQuotaPolicy. #[derive(Clone, PartialEq, ::prost::Message)] pub struct CreateAdminQuotaPolicyMetadata {} /// Metadata message that provides information such as progress, /// partial failures, and similar information on each GetOperation call /// of LRO returned by UpdateAdminQuotaPolicy. #[derive(Clone, PartialEq, ::prost::Message)] pub struct UpdateAdminQuotaPolicyMetadata {} /// Metadata message that provides information such as progress, /// partial failures, and similar information on each GetOperation call /// of LRO returned by DeleteAdminQuotaPolicy. #[derive(Clone, PartialEq, ::prost::Message)] pub struct DeleteAdminQuotaPolicyMetadata {} /// Request message for generating service identity. #[derive(Clone, PartialEq, ::prost::Message)] pub struct GenerateServiceIdentityRequest { /// Name of the consumer and service to generate an identity for. /// /// The `GenerateServiceIdentity` methods currently only support projects. /// /// An example name would be: /// `projects/123/services/example.googleapis.com` where `123` is the /// project number. #[prost(string, tag = "1")] pub parent: ::prost::alloc::string::String, } /// Response message for getting service identity. #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetServiceIdentityResponse { /// Service identity that service producer can use to access consumer /// resources. If exists is true, it contains email and unique_id. If exists is /// false, it contains pre-constructed email and empty unique_id. #[prost(message, optional, tag = "1")] pub identity: ::core::option::Option, /// Service identity state. #[prost(enumeration = "get_service_identity_response::IdentityState", tag = "2")] pub state: i32, } /// Nested message and enum types in `GetServiceIdentityResponse`. pub mod get_service_identity_response { /// Enum for service identity state. #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] pub enum IdentityState { /// Default service identity state. This value is used if the state is /// omitted. Unspecified = 0, /// Service identity has been created and can be used. Active = 1, } } /// Metadata for the `GetServiceIdentity` method. #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetServiceIdentityMetadata {} #[doc = r" Generated client implementations."] pub mod service_usage_client { #![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)] use tonic::codegen::*; #[doc = " [Service Usage API](https://cloud.google.com/service-usage/docs/overview)"] #[derive(Debug, Clone)] pub struct ServiceUsageClient { inner: tonic::client::Grpc, } impl ServiceUsageClient where T: tonic::client::GrpcService, T::ResponseBody: Body + Send + 'static, T::Error: Into, ::Error: Into + Send, { pub fn new(inner: T) -> Self { let inner = tonic::client::Grpc::new(inner); Self { inner } } pub fn with_interceptor( inner: T, interceptor: F, ) -> ServiceUsageClient> where F: tonic::service::Interceptor, T: tonic::codegen::Service< http::Request, Response = http::Response< >::ResponseBody, >, >, >>::Error: Into + Send + Sync, { ServiceUsageClient::new(InterceptedService::new(inner, interceptor)) } #[doc = r" Compress requests with `gzip`."] #[doc = r""] #[doc = r" This requires the server to support it otherwise it might respond with an"] #[doc = r" error."] pub fn send_gzip(mut self) -> Self { self.inner = self.inner.send_gzip(); self } #[doc = r" Enable decompressing responses with `gzip`."] pub fn accept_gzip(mut self) -> Self { self.inner = self.inner.accept_gzip(); self } #[doc = " Enables a service so that it can be used with a project."] #[doc = ""] #[doc = " Operation response type: `google.protobuf.Empty`"] pub async fn enable_service( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/EnableService", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Disables a service so that it can no longer be used with a project."] #[doc = " This prevents unintended usage that may cause unexpected billing"] #[doc = " charges or security leaks."] #[doc = ""] #[doc = " It is not valid to call the disable method on a service that is not"] #[doc = " currently enabled. Callers will receive a `FAILED_PRECONDITION` status if"] #[doc = " the target service is not currently enabled."] #[doc = ""] #[doc = " Operation response type: `google.protobuf.Empty`"] pub async fn disable_service( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/DisableService", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Returns the service configuration and enabled state for a given service."] pub async fn get_service( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/GetService", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Lists all services available to the specified project, and the current"] #[doc = " state of those services with respect to the project. The list includes"] #[doc = " all public services, all services for which the calling user has the"] #[doc = " `servicemanagement.services.bind` permission, and all services that have"] #[doc = " already been enabled on the project. The list can be filtered to"] #[doc = " only include services in a specific state, for example to only include"] #[doc = " services enabled on the project."] pub async fn list_services( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/ListServices", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Enables multiple services on a project. The operation is atomic: if"] #[doc = " enabling any service fails, then the entire batch fails, and no state"] #[doc = " changes occur."] #[doc = ""] #[doc = " Operation response type: `google.protobuf.Empty`"] pub async fn batch_enable_services( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/BatchEnableServices", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Retrieves a summary of all quota information visible to the service"] #[doc = " consumer, organized by service metric. Each metric includes information"] #[doc = " about all of its defined limits. Each limit includes the limit"] #[doc = " configuration (quota unit, preciseness, default value), the current"] #[doc = " effective limit value, and all of the overrides applied to the limit."] pub async fn list_consumer_quota_metrics( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/ListConsumerQuotaMetrics", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Retrieves a summary of quota information for a specific quota metric"] pub async fn get_consumer_quota_metric( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/GetConsumerQuotaMetric", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Retrieves a summary of quota information for a specific quota limit."] pub async fn get_consumer_quota_limit( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/GetConsumerQuotaLimit", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Creates an admin override."] #[doc = " An admin override is applied by an administrator of a parent folder or"] #[doc = " parent organization of the consumer receiving the override. An admin"] #[doc = " override is intended to limit the amount of quota the consumer can use out"] #[doc = " of the total quota pool allocated to all children of the folder or"] #[doc = " organization."] pub async fn create_admin_override( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/CreateAdminOverride", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Updates an admin override."] pub async fn update_admin_override( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/UpdateAdminOverride", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Deletes an admin override."] pub async fn delete_admin_override( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/DeleteAdminOverride", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Lists all admin overrides on this limit."] pub async fn list_admin_overrides( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/ListAdminOverrides", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Creates or updates multiple admin overrides atomically, all on the"] #[doc = " same consumer, but on many different metrics or limits."] #[doc = " The name field in the quota override message should not be set."] pub async fn import_admin_overrides( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/ImportAdminOverrides", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Creates a consumer override."] #[doc = " A consumer override is applied to the consumer on its own authority to"] #[doc = " limit its own quota usage. Consumer overrides cannot be used to grant more"] #[doc = " quota than would be allowed by admin overrides, producer overrides, or the"] #[doc = " default limit of the service."] pub async fn create_consumer_override( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/CreateConsumerOverride", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Updates a consumer override."] pub async fn update_consumer_override( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/UpdateConsumerOverride", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Deletes a consumer override."] pub async fn delete_consumer_override( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/DeleteConsumerOverride", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Lists all consumer overrides on this limit."] pub async fn list_consumer_overrides( &mut self, request: impl tonic::IntoRequest, ) -> Result, tonic::Status> { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/ListConsumerOverrides", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Creates or updates multiple consumer overrides atomically, all on the"] #[doc = " same consumer, but on many different metrics or limits."] #[doc = " The name field in the quota override message should not be set."] pub async fn import_consumer_overrides( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/ImportConsumerOverrides", ); self.inner.unary(request.into_request(), path, codec).await } #[doc = " Generates service identity for service."] pub async fn generate_service_identity( &mut self, request: impl tonic::IntoRequest, ) -> Result< tonic::Response, tonic::Status, > { self.inner.ready().await.map_err(|e| { tonic::Status::new( tonic::Code::Unknown, format!("Service was not ready: {}", e.into()), ) })?; let codec = tonic::codec::ProstCodec::default(); let path = http::uri::PathAndQuery::from_static( "/google.api.serviceusage.v1beta1.ServiceUsage/GenerateServiceIdentity", ); self.inner.unary(request.into_request(), path, codec).await } } }