# Copyright 2020 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

require 'date'
require 'google/apis/core/base_service'
require 'google/apis/core/json_representation'
require 'google/apis/core/hashable'
require 'google/apis/errors'

module Google
  module Apis
    module ServiceusageV1
      
      class AddEnableRulesMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AddEnableRulesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AdminQuotaPolicy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Analysis
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AnalysisResult
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AnalyzeConsumerPolicyMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AnalyzeConsumerPolicyResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Api
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Aspect
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AuthProvider
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AuthRequirement
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Authentication
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AuthenticationRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Backend
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BackendRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BatchCreateAdminOverridesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BatchCreateConsumerOverridesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BatchEnableServicesRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BatchEnableServicesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BatchGetServicesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BatchingConfigProto
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BatchingDescriptorProto
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BatchingSettingsProto
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Billing
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class BillingDestination
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CancelOperationRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ClientLibrarySettings
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CommonLanguageSettings
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ConsumerPolicy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ContentSecurity
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ContentSecurityProvider
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Context
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ContextRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Control
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CppSettings
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CreateAdminQuotaPolicyMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomError
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomErrorRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class CustomHttpPattern
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DeleteAdminQuotaPolicyMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DisableServiceRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DisableServiceResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Documentation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DocumentationRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class DotnetSettings
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Empty
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class EnableFailure
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class EnableRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class EnableServiceRequest
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class EnableServiceResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Endpoint
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Enum
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class EnumValue
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ExperimentalFeatures
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Field
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class FieldPolicy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GetServiceIdentityMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GetServiceIdentityResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoSettings
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiService
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV1OperationMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV1Service
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV1ServiceConfig
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV1beta1GetServiceIdentityResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV1beta1ServiceIdentity
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV2alphaConsumerPolicy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV2alphaEnableRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV2betaAnalysis
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV2betaAnalysisResult
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV2betaConsumerPolicy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV2betaEnableRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV2betaImpact
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Http
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class HttpRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Impact
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ImportAdminOverridesMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ImportAdminOverridesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ImportAdminQuotaPoliciesMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ImportAdminQuotaPoliciesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ImportConsumerOverridesMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ImportConsumerOverridesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class JavaSettings
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class JwtLocation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LabelDescriptor
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListOperationsResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ListServicesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LogDescriptor
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Logging
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LoggingDestination
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class LongRunning
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class McpEnableRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class McpPolicy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class McpService
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MethodProp
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MethodPolicy
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MethodSettings
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MetricDescriptor
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MetricDescriptorMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MetricRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Mixin
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MonitoredResourceDescriptor
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Monitoring
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class MonitoringDestination
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class NodeSettings
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class OAuthRequirements
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Operation
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class OperationMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Option
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Page
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PhpSettings
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Publishing
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class PythonSettings
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Quota
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class QuotaLimit
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class QuotaOverride
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RemoveEnableRulesMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RemoveEnableRulesResponse
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class RubySettings
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SelectiveGapicGeneration
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class ServiceIdentity
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SourceContext
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SourceInfo
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Status
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SystemParameter
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SystemParameterRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class SystemParameters
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Type
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class UpdateAdminQuotaPolicyMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class UpdateConsumerPolicyMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class UpdateMcpPolicyMetadata
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class Usage
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class UsageRule
        class Representation < Google::Apis::Core::JsonRepresentation; end
      
        include Google::Apis::Core::JsonObjectSupport
      end
      
      class AddEnableRulesMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class AddEnableRulesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :added_values, as: 'addedValues'
          property :parent, as: 'parent'
        end
      end
      
      class AdminQuotaPolicy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :container, as: 'container'
          hash :dimensions, as: 'dimensions'
          property :metric, as: 'metric'
          property :name, as: 'name'
          property :policy_value, :numeric_string => true, as: 'policyValue'
          property :unit, as: 'unit'
        end
      end
      
      class Analysis
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :analysis, as: 'analysis', class: Google::Apis::ServiceusageV1::AnalysisResult, decorator: Google::Apis::ServiceusageV1::AnalysisResult::Representation
      
          property :analysis_type, as: 'analysisType'
          property :display_name, as: 'displayName'
          property :service, as: 'service'
        end
      end
      
      class AnalysisResult
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :blockers, as: 'blockers', class: Google::Apis::ServiceusageV1::Impact, decorator: Google::Apis::ServiceusageV1::Impact::Representation
      
          collection :warnings, as: 'warnings', class: Google::Apis::ServiceusageV1::Impact, decorator: Google::Apis::ServiceusageV1::Impact::Representation
      
        end
      end
      
      class AnalyzeConsumerPolicyMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class AnalyzeConsumerPolicyResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :analysis, as: 'analysis', class: Google::Apis::ServiceusageV1::Analysis, decorator: Google::Apis::ServiceusageV1::Analysis::Representation
      
        end
      end
      
      class Api
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :edition, as: 'edition'
          collection :methods_prop, as: 'methods', class: Google::Apis::ServiceusageV1::MethodProp, decorator: Google::Apis::ServiceusageV1::MethodProp::Representation
      
          collection :mixins, as: 'mixins', class: Google::Apis::ServiceusageV1::Mixin, decorator: Google::Apis::ServiceusageV1::Mixin::Representation
      
          property :name, as: 'name'
          collection :options, as: 'options', class: Google::Apis::ServiceusageV1::Option, decorator: Google::Apis::ServiceusageV1::Option::Representation
      
          property :source_context, as: 'sourceContext', class: Google::Apis::ServiceusageV1::SourceContext, decorator: Google::Apis::ServiceusageV1::SourceContext::Representation
      
          property :syntax, as: 'syntax'
          property :version, as: 'version'
        end
      end
      
      class Aspect
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :kind, as: 'kind'
          hash :spec, as: 'spec'
        end
      end
      
      class AuthProvider
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :audiences, as: 'audiences'
          property :authorization_url, as: 'authorizationUrl'
          property :id, as: 'id'
          property :issuer, as: 'issuer'
          property :jwks_uri, as: 'jwksUri'
          collection :jwt_locations, as: 'jwtLocations', class: Google::Apis::ServiceusageV1::JwtLocation, decorator: Google::Apis::ServiceusageV1::JwtLocation::Representation
      
        end
      end
      
      class AuthRequirement
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :audiences, as: 'audiences'
          property :provider_id, as: 'providerId'
        end
      end
      
      class Authentication
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :providers, as: 'providers', class: Google::Apis::ServiceusageV1::AuthProvider, decorator: Google::Apis::ServiceusageV1::AuthProvider::Representation
      
          collection :rules, as: 'rules', class: Google::Apis::ServiceusageV1::AuthenticationRule, decorator: Google::Apis::ServiceusageV1::AuthenticationRule::Representation
      
        end
      end
      
      class AuthenticationRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :allow_without_credential, as: 'allowWithoutCredential'
          property :oauth, as: 'oauth', class: Google::Apis::ServiceusageV1::OAuthRequirements, decorator: Google::Apis::ServiceusageV1::OAuthRequirements::Representation
      
          collection :requirements, as: 'requirements', class: Google::Apis::ServiceusageV1::AuthRequirement, decorator: Google::Apis::ServiceusageV1::AuthRequirement::Representation
      
          property :selector, as: 'selector'
        end
      end
      
      class Backend
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :rules, as: 'rules', class: Google::Apis::ServiceusageV1::BackendRule, decorator: Google::Apis::ServiceusageV1::BackendRule::Representation
      
        end
      end
      
      class BackendRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :address, as: 'address'
          property :deadline, as: 'deadline'
          property :disable_auth, as: 'disableAuth'
          property :jwt_audience, as: 'jwtAudience'
          property :load_balancing_policy, as: 'loadBalancingPolicy'
          property :min_deadline, as: 'minDeadline'
          property :operation_deadline, as: 'operationDeadline'
          hash :overrides_by_request_protocol, as: 'overridesByRequestProtocol', class: Google::Apis::ServiceusageV1::BackendRule, decorator: Google::Apis::ServiceusageV1::BackendRule::Representation
      
          property :path_translation, as: 'pathTranslation'
          property :protocol, as: 'protocol'
          property :selector, as: 'selector'
        end
      end
      
      class BatchCreateAdminOverridesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :overrides, as: 'overrides', class: Google::Apis::ServiceusageV1::QuotaOverride, decorator: Google::Apis::ServiceusageV1::QuotaOverride::Representation
      
        end
      end
      
      class BatchCreateConsumerOverridesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :overrides, as: 'overrides', class: Google::Apis::ServiceusageV1::QuotaOverride, decorator: Google::Apis::ServiceusageV1::QuotaOverride::Representation
      
        end
      end
      
      class BatchEnableServicesRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :service_ids, as: 'serviceIds'
        end
      end
      
      class BatchEnableServicesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :failures, as: 'failures', class: Google::Apis::ServiceusageV1::EnableFailure, decorator: Google::Apis::ServiceusageV1::EnableFailure::Representation
      
          collection :services, as: 'services', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1Service, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1Service::Representation
      
        end
      end
      
      class BatchGetServicesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :services, as: 'services', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1Service, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1Service::Representation
      
        end
      end
      
      class BatchingConfigProto
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :batch_descriptor, as: 'batchDescriptor', class: Google::Apis::ServiceusageV1::BatchingDescriptorProto, decorator: Google::Apis::ServiceusageV1::BatchingDescriptorProto::Representation
      
          property :thresholds, as: 'thresholds', class: Google::Apis::ServiceusageV1::BatchingSettingsProto, decorator: Google::Apis::ServiceusageV1::BatchingSettingsProto::Representation
      
        end
      end
      
      class BatchingDescriptorProto
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :batched_field, as: 'batchedField'
          collection :discriminator_fields, as: 'discriminatorFields'
          property :subresponse_field, as: 'subresponseField'
        end
      end
      
      class BatchingSettingsProto
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :delay_threshold, as: 'delayThreshold'
          property :element_count_limit, as: 'elementCountLimit'
          property :element_count_threshold, as: 'elementCountThreshold'
          property :flow_control_byte_limit, as: 'flowControlByteLimit'
          property :flow_control_element_limit, as: 'flowControlElementLimit'
          property :flow_control_limit_exceeded_behavior, as: 'flowControlLimitExceededBehavior'
          property :request_byte_limit, as: 'requestByteLimit'
          property :request_byte_threshold, :numeric_string => true, as: 'requestByteThreshold'
        end
      end
      
      class Billing
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :consumer_destinations, as: 'consumerDestinations', class: Google::Apis::ServiceusageV1::BillingDestination, decorator: Google::Apis::ServiceusageV1::BillingDestination::Representation
      
        end
      end
      
      class BillingDestination
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :metrics, as: 'metrics'
          property :monitored_resource, as: 'monitoredResource'
        end
      end
      
      class CancelOperationRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class ClientLibrarySettings
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :cpp_settings, as: 'cppSettings', class: Google::Apis::ServiceusageV1::CppSettings, decorator: Google::Apis::ServiceusageV1::CppSettings::Representation
      
          property :dotnet_settings, as: 'dotnetSettings', class: Google::Apis::ServiceusageV1::DotnetSettings, decorator: Google::Apis::ServiceusageV1::DotnetSettings::Representation
      
          property :go_settings, as: 'goSettings', class: Google::Apis::ServiceusageV1::GoSettings, decorator: Google::Apis::ServiceusageV1::GoSettings::Representation
      
          property :java_settings, as: 'javaSettings', class: Google::Apis::ServiceusageV1::JavaSettings, decorator: Google::Apis::ServiceusageV1::JavaSettings::Representation
      
          property :launch_stage, as: 'launchStage'
          property :node_settings, as: 'nodeSettings', class: Google::Apis::ServiceusageV1::NodeSettings, decorator: Google::Apis::ServiceusageV1::NodeSettings::Representation
      
          property :php_settings, as: 'phpSettings', class: Google::Apis::ServiceusageV1::PhpSettings, decorator: Google::Apis::ServiceusageV1::PhpSettings::Representation
      
          property :python_settings, as: 'pythonSettings', class: Google::Apis::ServiceusageV1::PythonSettings, decorator: Google::Apis::ServiceusageV1::PythonSettings::Representation
      
          property :rest_numeric_enums, as: 'restNumericEnums'
          property :ruby_settings, as: 'rubySettings', class: Google::Apis::ServiceusageV1::RubySettings, decorator: Google::Apis::ServiceusageV1::RubySettings::Representation
      
          property :version, as: 'version'
        end
      end
      
      class CommonLanguageSettings
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :destinations, as: 'destinations'
          property :reference_docs_uri, as: 'referenceDocsUri'
          property :selective_gapic_generation, as: 'selectiveGapicGeneration', class: Google::Apis::ServiceusageV1::SelectiveGapicGeneration, decorator: Google::Apis::ServiceusageV1::SelectiveGapicGeneration::Representation
      
        end
      end
      
      class ConsumerPolicy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          hash :annotations, as: 'annotations'
          collection :enable_rules, as: 'enableRules', class: Google::Apis::ServiceusageV1::EnableRule, decorator: Google::Apis::ServiceusageV1::EnableRule::Representation
      
          property :etag, as: 'etag'
          property :name, as: 'name'
          property :update_time, as: 'updateTime'
        end
      end
      
      class ContentSecurity
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :content_security_providers, as: 'contentSecurityProviders', class: Google::Apis::ServiceusageV1::ContentSecurityProvider, decorator: Google::Apis::ServiceusageV1::ContentSecurityProvider::Representation
      
        end
      end
      
      class ContentSecurityProvider
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :name, as: 'name'
        end
      end
      
      class Context
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :rules, as: 'rules', class: Google::Apis::ServiceusageV1::ContextRule, decorator: Google::Apis::ServiceusageV1::ContextRule::Representation
      
        end
      end
      
      class ContextRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :allowed_request_extensions, as: 'allowedRequestExtensions'
          collection :allowed_response_extensions, as: 'allowedResponseExtensions'
          collection :provided, as: 'provided'
          collection :requested, as: 'requested'
          property :selector, as: 'selector'
        end
      end
      
      class Control
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :environment, as: 'environment'
          collection :method_policies, as: 'methodPolicies', class: Google::Apis::ServiceusageV1::MethodPolicy, decorator: Google::Apis::ServiceusageV1::MethodPolicy::Representation
      
        end
      end
      
      class CppSettings
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :common, as: 'common', class: Google::Apis::ServiceusageV1::CommonLanguageSettings, decorator: Google::Apis::ServiceusageV1::CommonLanguageSettings::Representation
      
        end
      end
      
      class CreateAdminQuotaPolicyMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class CustomError
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :rules, as: 'rules', class: Google::Apis::ServiceusageV1::CustomErrorRule, decorator: Google::Apis::ServiceusageV1::CustomErrorRule::Representation
      
          collection :types, as: 'types'
        end
      end
      
      class CustomErrorRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :is_error_type, as: 'isErrorType'
          property :selector, as: 'selector'
        end
      end
      
      class CustomHttpPattern
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :kind, as: 'kind'
          property :path, as: 'path'
        end
      end
      
      class DeleteAdminQuotaPolicyMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class DisableServiceRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :check_if_service_has_usage, as: 'checkIfServiceHasUsage'
          property :disable_dependent_services, as: 'disableDependentServices'
        end
      end
      
      class DisableServiceResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :service, as: 'service', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1Service, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1Service::Representation
      
        end
      end
      
      class Documentation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :additional_iam_info, as: 'additionalIamInfo'
          property :documentation_root_url, as: 'documentationRootUrl'
          property :overview, as: 'overview'
          collection :pages, as: 'pages', class: Google::Apis::ServiceusageV1::Page, decorator: Google::Apis::ServiceusageV1::Page::Representation
      
          collection :rules, as: 'rules', class: Google::Apis::ServiceusageV1::DocumentationRule, decorator: Google::Apis::ServiceusageV1::DocumentationRule::Representation
      
          collection :section_overrides, as: 'sectionOverrides', class: Google::Apis::ServiceusageV1::Page, decorator: Google::Apis::ServiceusageV1::Page::Representation
      
          property :service_root_url, as: 'serviceRootUrl'
          property :summary, as: 'summary'
        end
      end
      
      class DocumentationRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :deprecation_description, as: 'deprecationDescription'
          property :description, as: 'description'
          property :disable_replacement_words, as: 'disableReplacementWords'
          property :selector, as: 'selector'
        end
      end
      
      class DotnetSettings
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :common, as: 'common', class: Google::Apis::ServiceusageV1::CommonLanguageSettings, decorator: Google::Apis::ServiceusageV1::CommonLanguageSettings::Representation
      
          collection :forced_namespace_aliases, as: 'forcedNamespaceAliases'
          collection :handwritten_signatures, as: 'handwrittenSignatures'
          collection :ignored_resources, as: 'ignoredResources'
          hash :renamed_resources, as: 'renamedResources'
          hash :renamed_services, as: 'renamedServices'
        end
      end
      
      class Empty
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class EnableFailure
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :error_message, as: 'errorMessage'
          property :service_id, as: 'serviceId'
        end
      end
      
      class EnableRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :enable_type, as: 'enableType'
          collection :groups, as: 'groups'
          collection :services, as: 'services'
          collection :values, as: 'values'
        end
      end
      
      class EnableServiceRequest
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class EnableServiceResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :service, as: 'service', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1Service, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1Service::Representation
      
        end
      end
      
      class Endpoint
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :aliases, as: 'aliases'
          property :allow_cors, as: 'allowCors'
          property :name, as: 'name'
          property :target, as: 'target'
        end
      end
      
      class Enum
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :edition, as: 'edition'
          collection :enumvalue, as: 'enumvalue', class: Google::Apis::ServiceusageV1::EnumValue, decorator: Google::Apis::ServiceusageV1::EnumValue::Representation
      
          property :name, as: 'name'
          collection :options, as: 'options', class: Google::Apis::ServiceusageV1::Option, decorator: Google::Apis::ServiceusageV1::Option::Representation
      
          property :source_context, as: 'sourceContext', class: Google::Apis::ServiceusageV1::SourceContext, decorator: Google::Apis::ServiceusageV1::SourceContext::Representation
      
          property :syntax, as: 'syntax'
        end
      end
      
      class EnumValue
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :name, as: 'name'
          property :number, as: 'number'
          collection :options, as: 'options', class: Google::Apis::ServiceusageV1::Option, decorator: Google::Apis::ServiceusageV1::Option::Representation
      
        end
      end
      
      class ExperimentalFeatures
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :protobuf_pythonic_types_enabled, as: 'protobufPythonicTypesEnabled'
          property :rest_async_io_enabled, as: 'restAsyncIoEnabled'
          property :unversioned_package_disabled, as: 'unversionedPackageDisabled'
        end
      end
      
      class Field
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :cardinality, as: 'cardinality'
          property :default_value, as: 'defaultValue'
          property :json_name, as: 'jsonName'
          property :kind, as: 'kind'
          property :name, as: 'name'
          property :number, as: 'number'
          property :oneof_index, as: 'oneofIndex'
          collection :options, as: 'options', class: Google::Apis::ServiceusageV1::Option, decorator: Google::Apis::ServiceusageV1::Option::Representation
      
          property :packed, as: 'packed'
          property :type_url, as: 'typeUrl'
        end
      end
      
      class FieldPolicy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :resource_permission, as: 'resourcePermission'
          property :resource_type, as: 'resourceType'
          property :selector, as: 'selector'
        end
      end
      
      class GetServiceIdentityMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class GetServiceIdentityResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :identity, as: 'identity', class: Google::Apis::ServiceusageV1::ServiceIdentity, decorator: Google::Apis::ServiceusageV1::ServiceIdentity::Representation
      
          property :state, as: 'state'
        end
      end
      
      class GoSettings
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :common, as: 'common', class: Google::Apis::ServiceusageV1::CommonLanguageSettings, decorator: Google::Apis::ServiceusageV1::CommonLanguageSettings::Representation
      
          hash :renamed_services, as: 'renamedServices'
        end
      end
      
      class GoogleApiService
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :apis, as: 'apis', class: Google::Apis::ServiceusageV1::Api, decorator: Google::Apis::ServiceusageV1::Api::Representation
      
          collection :aspects, as: 'aspects', class: Google::Apis::ServiceusageV1::Aspect, decorator: Google::Apis::ServiceusageV1::Aspect::Representation
      
          property :authentication, as: 'authentication', class: Google::Apis::ServiceusageV1::Authentication, decorator: Google::Apis::ServiceusageV1::Authentication::Representation
      
          property :backend, as: 'backend', class: Google::Apis::ServiceusageV1::Backend, decorator: Google::Apis::ServiceusageV1::Backend::Representation
      
          property :billing, as: 'billing', class: Google::Apis::ServiceusageV1::Billing, decorator: Google::Apis::ServiceusageV1::Billing::Representation
      
          property :config_version, as: 'configVersion'
          property :context, as: 'context', class: Google::Apis::ServiceusageV1::Context, decorator: Google::Apis::ServiceusageV1::Context::Representation
      
          property :control, as: 'control', class: Google::Apis::ServiceusageV1::Control, decorator: Google::Apis::ServiceusageV1::Control::Representation
      
          property :custom_error, as: 'customError', class: Google::Apis::ServiceusageV1::CustomError, decorator: Google::Apis::ServiceusageV1::CustomError::Representation
      
          property :documentation, as: 'documentation', class: Google::Apis::ServiceusageV1::Documentation, decorator: Google::Apis::ServiceusageV1::Documentation::Representation
      
          collection :endpoints, as: 'endpoints', class: Google::Apis::ServiceusageV1::Endpoint, decorator: Google::Apis::ServiceusageV1::Endpoint::Representation
      
          collection :enums, as: 'enums', class: Google::Apis::ServiceusageV1::Enum, decorator: Google::Apis::ServiceusageV1::Enum::Representation
      
          property :http, as: 'http', class: Google::Apis::ServiceusageV1::Http, decorator: Google::Apis::ServiceusageV1::Http::Representation
      
          property :id, as: 'id'
          property :logging, as: 'logging', class: Google::Apis::ServiceusageV1::Logging, decorator: Google::Apis::ServiceusageV1::Logging::Representation
      
          collection :logs, as: 'logs', class: Google::Apis::ServiceusageV1::LogDescriptor, decorator: Google::Apis::ServiceusageV1::LogDescriptor::Representation
      
          collection :metrics, as: 'metrics', class: Google::Apis::ServiceusageV1::MetricDescriptor, decorator: Google::Apis::ServiceusageV1::MetricDescriptor::Representation
      
          collection :monitored_resources, as: 'monitoredResources', class: Google::Apis::ServiceusageV1::MonitoredResourceDescriptor, decorator: Google::Apis::ServiceusageV1::MonitoredResourceDescriptor::Representation
      
          property :monitoring, as: 'monitoring', class: Google::Apis::ServiceusageV1::Monitoring, decorator: Google::Apis::ServiceusageV1::Monitoring::Representation
      
          property :name, as: 'name'
          property :producer_project_id, as: 'producerProjectId'
          property :publishing, as: 'publishing', class: Google::Apis::ServiceusageV1::Publishing, decorator: Google::Apis::ServiceusageV1::Publishing::Representation
      
          property :quota, as: 'quota', class: Google::Apis::ServiceusageV1::Quota, decorator: Google::Apis::ServiceusageV1::Quota::Representation
      
          property :source_info, as: 'sourceInfo', class: Google::Apis::ServiceusageV1::SourceInfo, decorator: Google::Apis::ServiceusageV1::SourceInfo::Representation
      
          property :system_parameters, as: 'systemParameters', class: Google::Apis::ServiceusageV1::SystemParameters, decorator: Google::Apis::ServiceusageV1::SystemParameters::Representation
      
          collection :system_types, as: 'systemTypes', class: Google::Apis::ServiceusageV1::Type, decorator: Google::Apis::ServiceusageV1::Type::Representation
      
          property :title, as: 'title'
          collection :types, as: 'types', class: Google::Apis::ServiceusageV1::Type, decorator: Google::Apis::ServiceusageV1::Type::Representation
      
          property :usage, as: 'usage', class: Google::Apis::ServiceusageV1::Usage, decorator: Google::Apis::ServiceusageV1::Usage::Representation
      
        end
      end
      
      class GoogleApiServiceusageV1OperationMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :resource_names, as: 'resourceNames'
        end
      end
      
      class GoogleApiServiceusageV1Service
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :config, as: 'config', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1ServiceConfig, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1ServiceConfig::Representation
      
          property :name, as: 'name'
          property :parent, as: 'parent'
          property :state, as: 'state'
        end
      end
      
      class GoogleApiServiceusageV1ServiceConfig
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :apis, as: 'apis', class: Google::Apis::ServiceusageV1::Api, decorator: Google::Apis::ServiceusageV1::Api::Representation
      
          property :authentication, as: 'authentication', class: Google::Apis::ServiceusageV1::Authentication, decorator: Google::Apis::ServiceusageV1::Authentication::Representation
      
          property :documentation, as: 'documentation', class: Google::Apis::ServiceusageV1::Documentation, decorator: Google::Apis::ServiceusageV1::Documentation::Representation
      
          collection :endpoints, as: 'endpoints', class: Google::Apis::ServiceusageV1::Endpoint, decorator: Google::Apis::ServiceusageV1::Endpoint::Representation
      
          collection :monitored_resources, as: 'monitoredResources', class: Google::Apis::ServiceusageV1::MonitoredResourceDescriptor, decorator: Google::Apis::ServiceusageV1::MonitoredResourceDescriptor::Representation
      
          property :monitoring, as: 'monitoring', class: Google::Apis::ServiceusageV1::Monitoring, decorator: Google::Apis::ServiceusageV1::Monitoring::Representation
      
          property :name, as: 'name'
          property :quota, as: 'quota', class: Google::Apis::ServiceusageV1::Quota, decorator: Google::Apis::ServiceusageV1::Quota::Representation
      
          property :title, as: 'title'
          property :usage, as: 'usage', class: Google::Apis::ServiceusageV1::Usage, decorator: Google::Apis::ServiceusageV1::Usage::Representation
      
        end
      end
      
      class GoogleApiServiceusageV1beta1GetServiceIdentityResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :identity, as: 'identity', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1beta1ServiceIdentity, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1beta1ServiceIdentity::Representation
      
          property :state, as: 'state'
        end
      end
      
      class GoogleApiServiceusageV1beta1ServiceIdentity
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :email, as: 'email'
          property :unique_id, as: 'uniqueId'
        end
      end
      
      class GoogleApiServiceusageV2alphaConsumerPolicy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          hash :annotations, as: 'annotations'
          property :create_time, as: 'createTime'
          collection :enable_rules, as: 'enableRules', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2alphaEnableRule, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2alphaEnableRule::Representation
      
          property :etag, as: 'etag'
          property :name, as: 'name'
          property :update_time, as: 'updateTime'
        end
      end
      
      class GoogleApiServiceusageV2alphaEnableRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :services, as: 'services'
        end
      end
      
      class GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class GoogleApiServiceusageV2betaAnalysis
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :analysis_result, as: 'analysisResult', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysisResult, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysisResult::Representation
      
          property :analysis_type, as: 'analysisType'
          property :display_name, as: 'displayName'
          property :service, as: 'service'
        end
      end
      
      class GoogleApiServiceusageV2betaAnalysisResult
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :blockers, as: 'blockers', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact::Representation
      
          collection :warnings, as: 'warnings', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaImpact::Representation
      
        end
      end
      
      class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :analysis, as: 'analysis', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysis, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaAnalysis::Representation
      
        end
      end
      
      class GoogleApiServiceusageV2betaConsumerPolicy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          hash :annotations, as: 'annotations'
          property :create_time, as: 'createTime'
          collection :enable_rules, as: 'enableRules', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaEnableRule, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV2betaEnableRule::Representation
      
          property :etag, as: 'etag'
          property :name, as: 'name'
          property :update_time, as: 'updateTime'
        end
      end
      
      class GoogleApiServiceusageV2betaEnableRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :services, as: 'services'
        end
      end
      
      class GoogleApiServiceusageV2betaImpact
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :detail, as: 'detail'
          property :impact_type, as: 'impactType'
          property :missing_dependency, as: 'missingDependency'
        end
      end
      
      class GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class Http
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :fully_decode_reserved_expansion, as: 'fullyDecodeReservedExpansion'
          collection :rules, as: 'rules', class: Google::Apis::ServiceusageV1::HttpRule, decorator: Google::Apis::ServiceusageV1::HttpRule::Representation
      
        end
      end
      
      class HttpRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :additional_bindings, as: 'additionalBindings', class: Google::Apis::ServiceusageV1::HttpRule, decorator: Google::Apis::ServiceusageV1::HttpRule::Representation
      
          property :body, as: 'body'
          property :custom, as: 'custom', class: Google::Apis::ServiceusageV1::CustomHttpPattern, decorator: Google::Apis::ServiceusageV1::CustomHttpPattern::Representation
      
          property :delete, as: 'delete'
          property :get, as: 'get'
          property :patch, as: 'patch'
          property :post, as: 'post'
          property :put, as: 'put'
          property :response_body, as: 'responseBody'
          property :selector, as: 'selector'
        end
      end
      
      class Impact
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :detail, as: 'detail'
          property :impact_type, as: 'impactType'
          property :parent, as: 'parent'
        end
      end
      
      class ImportAdminOverridesMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class ImportAdminOverridesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :overrides, as: 'overrides', class: Google::Apis::ServiceusageV1::QuotaOverride, decorator: Google::Apis::ServiceusageV1::QuotaOverride::Representation
      
        end
      end
      
      class ImportAdminQuotaPoliciesMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class ImportAdminQuotaPoliciesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :policies, as: 'policies', class: Google::Apis::ServiceusageV1::AdminQuotaPolicy, decorator: Google::Apis::ServiceusageV1::AdminQuotaPolicy::Representation
      
        end
      end
      
      class ImportConsumerOverridesMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class ImportConsumerOverridesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :overrides, as: 'overrides', class: Google::Apis::ServiceusageV1::QuotaOverride, decorator: Google::Apis::ServiceusageV1::QuotaOverride::Representation
      
        end
      end
      
      class JavaSettings
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :common, as: 'common', class: Google::Apis::ServiceusageV1::CommonLanguageSettings, decorator: Google::Apis::ServiceusageV1::CommonLanguageSettings::Representation
      
          property :library_package, as: 'libraryPackage'
          hash :service_class_names, as: 'serviceClassNames'
        end
      end
      
      class JwtLocation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :cookie, as: 'cookie'
          property :header, as: 'header'
          property :query, as: 'query'
          property :value_prefix, as: 'valuePrefix'
        end
      end
      
      class LabelDescriptor
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :description, as: 'description'
          property :key, as: 'key'
          property :value_type, as: 'valueType'
        end
      end
      
      class ListOperationsResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :next_page_token, as: 'nextPageToken'
          collection :operations, as: 'operations', class: Google::Apis::ServiceusageV1::Operation, decorator: Google::Apis::ServiceusageV1::Operation::Representation
      
        end
      end
      
      class ListServicesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :next_page_token, as: 'nextPageToken'
          collection :services, as: 'services', class: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1Service, decorator: Google::Apis::ServiceusageV1::GoogleApiServiceusageV1Service::Representation
      
        end
      end
      
      class LogDescriptor
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :description, as: 'description'
          property :display_name, as: 'displayName'
          collection :labels, as: 'labels', class: Google::Apis::ServiceusageV1::LabelDescriptor, decorator: Google::Apis::ServiceusageV1::LabelDescriptor::Representation
      
          property :name, as: 'name'
        end
      end
      
      class Logging
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :consumer_destinations, as: 'consumerDestinations', class: Google::Apis::ServiceusageV1::LoggingDestination, decorator: Google::Apis::ServiceusageV1::LoggingDestination::Representation
      
          collection :producer_destinations, as: 'producerDestinations', class: Google::Apis::ServiceusageV1::LoggingDestination, decorator: Google::Apis::ServiceusageV1::LoggingDestination::Representation
      
        end
      end
      
      class LoggingDestination
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :logs, as: 'logs'
          property :monitored_resource, as: 'monitoredResource'
        end
      end
      
      class LongRunning
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :initial_poll_delay, as: 'initialPollDelay'
          property :max_poll_delay, as: 'maxPollDelay'
          property :poll_delay_multiplier, as: 'pollDelayMultiplier'
          property :total_poll_timeout, as: 'totalPollTimeout'
        end
      end
      
      class McpEnableRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :mcp_services, as: 'mcpServices', class: Google::Apis::ServiceusageV1::McpService, decorator: Google::Apis::ServiceusageV1::McpService::Representation
      
        end
      end
      
      class McpPolicy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :content_security, as: 'contentSecurity', class: Google::Apis::ServiceusageV1::ContentSecurity, decorator: Google::Apis::ServiceusageV1::ContentSecurity::Representation
      
          property :create_time, as: 'createTime'
          property :etag, as: 'etag'
          collection :mcp_enable_rules, as: 'mcpEnableRules', class: Google::Apis::ServiceusageV1::McpEnableRule, decorator: Google::Apis::ServiceusageV1::McpEnableRule::Representation
      
          property :name, as: 'name'
          property :update_time, as: 'updateTime'
        end
      end
      
      class McpService
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :service, as: 'service'
        end
      end
      
      class MethodProp
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :edition, as: 'edition'
          property :name, as: 'name'
          collection :options, as: 'options', class: Google::Apis::ServiceusageV1::Option, decorator: Google::Apis::ServiceusageV1::Option::Representation
      
          property :request_streaming, as: 'requestStreaming'
          property :request_type_url, as: 'requestTypeUrl'
          property :response_streaming, as: 'responseStreaming'
          property :response_type_url, as: 'responseTypeUrl'
          property :syntax, as: 'syntax'
        end
      end
      
      class MethodPolicy
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :request_policies, as: 'requestPolicies', class: Google::Apis::ServiceusageV1::FieldPolicy, decorator: Google::Apis::ServiceusageV1::FieldPolicy::Representation
      
          property :selector, as: 'selector'
        end
      end
      
      class MethodSettings
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :auto_populated_fields, as: 'autoPopulatedFields'
          property :batching, as: 'batching', class: Google::Apis::ServiceusageV1::BatchingConfigProto, decorator: Google::Apis::ServiceusageV1::BatchingConfigProto::Representation
      
          property :long_running, as: 'longRunning', class: Google::Apis::ServiceusageV1::LongRunning, decorator: Google::Apis::ServiceusageV1::LongRunning::Representation
      
          property :selector, as: 'selector'
        end
      end
      
      class MetricDescriptor
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :description, as: 'description'
          property :display_name, as: 'displayName'
          collection :labels, as: 'labels', class: Google::Apis::ServiceusageV1::LabelDescriptor, decorator: Google::Apis::ServiceusageV1::LabelDescriptor::Representation
      
          property :launch_stage, as: 'launchStage'
          property :metadata, as: 'metadata', class: Google::Apis::ServiceusageV1::MetricDescriptorMetadata, decorator: Google::Apis::ServiceusageV1::MetricDescriptorMetadata::Representation
      
          property :metric_kind, as: 'metricKind'
          collection :monitored_resource_types, as: 'monitoredResourceTypes'
          property :name, as: 'name'
          property :type, as: 'type'
          property :unit, as: 'unit'
          property :value_type, as: 'valueType'
        end
      end
      
      class MetricDescriptorMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :ingest_delay, as: 'ingestDelay'
          property :launch_stage, as: 'launchStage'
          property :sample_period, as: 'samplePeriod'
          collection :time_series_resource_hierarchy_level, as: 'timeSeriesResourceHierarchyLevel'
        end
      end
      
      class MetricRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          hash :metric_costs, as: 'metricCosts'
          property :selector, as: 'selector'
        end
      end
      
      class Mixin
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :name, as: 'name'
          property :root, as: 'root'
        end
      end
      
      class MonitoredResourceDescriptor
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :description, as: 'description'
          property :display_name, as: 'displayName'
          collection :labels, as: 'labels', class: Google::Apis::ServiceusageV1::LabelDescriptor, decorator: Google::Apis::ServiceusageV1::LabelDescriptor::Representation
      
          property :launch_stage, as: 'launchStage'
          property :name, as: 'name'
          property :type, as: 'type'
        end
      end
      
      class Monitoring
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :consumer_destinations, as: 'consumerDestinations', class: Google::Apis::ServiceusageV1::MonitoringDestination, decorator: Google::Apis::ServiceusageV1::MonitoringDestination::Representation
      
          collection :producer_destinations, as: 'producerDestinations', class: Google::Apis::ServiceusageV1::MonitoringDestination, decorator: Google::Apis::ServiceusageV1::MonitoringDestination::Representation
      
        end
      end
      
      class MonitoringDestination
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :metrics, as: 'metrics'
          property :monitored_resource, as: 'monitoredResource'
        end
      end
      
      class NodeSettings
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :common, as: 'common', class: Google::Apis::ServiceusageV1::CommonLanguageSettings, decorator: Google::Apis::ServiceusageV1::CommonLanguageSettings::Representation
      
        end
      end
      
      class OAuthRequirements
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :canonical_scopes, as: 'canonicalScopes'
        end
      end
      
      class Operation
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :done, as: 'done'
          property :error, as: 'error', class: Google::Apis::ServiceusageV1::Status, decorator: Google::Apis::ServiceusageV1::Status::Representation
      
          hash :metadata, as: 'metadata'
          property :name, as: 'name'
          hash :response, as: 'response'
        end
      end
      
      class OperationMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :resource_names, as: 'resourceNames'
        end
      end
      
      class Option
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :name, as: 'name'
          hash :value, as: 'value'
        end
      end
      
      class Page
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :content, as: 'content'
          property :name, as: 'name'
          collection :subpages, as: 'subpages', class: Google::Apis::ServiceusageV1::Page, decorator: Google::Apis::ServiceusageV1::Page::Representation
      
        end
      end
      
      class PhpSettings
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :common, as: 'common', class: Google::Apis::ServiceusageV1::CommonLanguageSettings, decorator: Google::Apis::ServiceusageV1::CommonLanguageSettings::Representation
      
          property :library_package, as: 'libraryPackage'
        end
      end
      
      class Publishing
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :api_short_name, as: 'apiShortName'
          collection :codeowner_github_teams, as: 'codeownerGithubTeams'
          property :doc_tag_prefix, as: 'docTagPrefix'
          property :documentation_uri, as: 'documentationUri'
          property :github_label, as: 'githubLabel'
          collection :library_settings, as: 'librarySettings', class: Google::Apis::ServiceusageV1::ClientLibrarySettings, decorator: Google::Apis::ServiceusageV1::ClientLibrarySettings::Representation
      
          collection :method_settings, as: 'methodSettings', class: Google::Apis::ServiceusageV1::MethodSettings, decorator: Google::Apis::ServiceusageV1::MethodSettings::Representation
      
          property :new_issue_uri, as: 'newIssueUri'
          property :organization, as: 'organization'
          property :proto_reference_documentation_uri, as: 'protoReferenceDocumentationUri'
          property :rest_reference_documentation_uri, as: 'restReferenceDocumentationUri'
        end
      end
      
      class PythonSettings
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :common, as: 'common', class: Google::Apis::ServiceusageV1::CommonLanguageSettings, decorator: Google::Apis::ServiceusageV1::CommonLanguageSettings::Representation
      
          property :experimental_features, as: 'experimentalFeatures', class: Google::Apis::ServiceusageV1::ExperimentalFeatures, decorator: Google::Apis::ServiceusageV1::ExperimentalFeatures::Representation
      
        end
      end
      
      class Quota
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :limits, as: 'limits', class: Google::Apis::ServiceusageV1::QuotaLimit, decorator: Google::Apis::ServiceusageV1::QuotaLimit::Representation
      
          collection :metric_rules, as: 'metricRules', class: Google::Apis::ServiceusageV1::MetricRule, decorator: Google::Apis::ServiceusageV1::MetricRule::Representation
      
        end
      end
      
      class QuotaLimit
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :default_limit, :numeric_string => true, as: 'defaultLimit'
          property :description, as: 'description'
          property :display_name, as: 'displayName'
          property :duration, as: 'duration'
          property :free_tier, :numeric_string => true, as: 'freeTier'
          property :max_limit, :numeric_string => true, as: 'maxLimit'
          property :metric, as: 'metric'
          property :name, as: 'name'
          property :unit, as: 'unit'
          hash :values, as: 'values'
        end
      end
      
      class QuotaOverride
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :admin_override_ancestor, as: 'adminOverrideAncestor'
          hash :dimensions, as: 'dimensions'
          property :metric, as: 'metric'
          property :name, as: 'name'
          property :override_value, :numeric_string => true, as: 'overrideValue'
          property :unit, as: 'unit'
        end
      end
      
      class RemoveEnableRulesMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class RemoveEnableRulesResponse
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :parent, as: 'parent'
          collection :removed_values, as: 'removedValues'
        end
      end
      
      class RubySettings
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :common, as: 'common', class: Google::Apis::ServiceusageV1::CommonLanguageSettings, decorator: Google::Apis::ServiceusageV1::CommonLanguageSettings::Representation
      
        end
      end
      
      class SelectiveGapicGeneration
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :generate_omitted_as_internal, as: 'generateOmittedAsInternal'
          collection :methods_prop, as: 'methods'
        end
      end
      
      class ServiceIdentity
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :email, as: 'email'
          property :unique_id, as: 'uniqueId'
        end
      end
      
      class SourceContext
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :file_name, as: 'fileName'
        end
      end
      
      class SourceInfo
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :source_files, as: 'sourceFiles'
        end
      end
      
      class Status
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :code, as: 'code'
          collection :details, as: 'details'
          property :message, as: 'message'
        end
      end
      
      class SystemParameter
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :http_header, as: 'httpHeader'
          property :name, as: 'name'
          property :url_query_parameter, as: 'urlQueryParameter'
        end
      end
      
      class SystemParameterRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :parameters, as: 'parameters', class: Google::Apis::ServiceusageV1::SystemParameter, decorator: Google::Apis::ServiceusageV1::SystemParameter::Representation
      
          property :selector, as: 'selector'
        end
      end
      
      class SystemParameters
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          collection :rules, as: 'rules', class: Google::Apis::ServiceusageV1::SystemParameterRule, decorator: Google::Apis::ServiceusageV1::SystemParameterRule::Representation
      
        end
      end
      
      class Type
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :edition, as: 'edition'
          collection :fields, as: 'fields', class: Google::Apis::ServiceusageV1::Field, decorator: Google::Apis::ServiceusageV1::Field::Representation
      
          property :name, as: 'name'
          collection :oneofs, as: 'oneofs'
          collection :options, as: 'options', class: Google::Apis::ServiceusageV1::Option, decorator: Google::Apis::ServiceusageV1::Option::Representation
      
          property :source_context, as: 'sourceContext', class: Google::Apis::ServiceusageV1::SourceContext, decorator: Google::Apis::ServiceusageV1::SourceContext::Representation
      
          property :syntax, as: 'syntax'
        end
      end
      
      class UpdateAdminQuotaPolicyMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class UpdateConsumerPolicyMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class UpdateMcpPolicyMetadata
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
        end
      end
      
      class Usage
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :producer_notification_channel, as: 'producerNotificationChannel'
          collection :requirements, as: 'requirements'
          collection :rules, as: 'rules', class: Google::Apis::ServiceusageV1::UsageRule, decorator: Google::Apis::ServiceusageV1::UsageRule::Representation
      
        end
      end
      
      class UsageRule
        # @private
        class Representation < Google::Apis::Core::JsonRepresentation
          property :allow_unregistered_calls, as: 'allowUnregisteredCalls'
          property :selector, as: 'selector'
          property :skip_service_control, as: 'skipServiceControl'
        end
      end
    end
  end
end
